:root{color-scheme:light dark;--bg:#f6f7f8;--card:#ffffff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--brand:#16a34a;--brand-text:#ffffff;--ok:#166534;--ok-bg:#dcfce7;--warn:#92400e;--warn-bg:#fef3c7;--bad:#991b1b;--bad-bg:#fee2e2;--muted-bg:#f3f4f6}@media (prefers-color-scheme:dark){:root{--bg:#0f1412;--card:#1a211e;--text:#f3f4f6;--muted:#9ca3af;--line:#2b3531;--ok:#86efac;--ok-bg:#14351f;--warn:#fcd34d;--warn-bg:#3b2f0e;--bad:#fca5a5;--bad-bg:#3f1515;--muted-bg:#252d29}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}a{color:var(--brand)}h1{font-size:1.5rem;margin:.5rem 0}h2{font-size:1.15rem;margin:.25rem 0}.page{max-width:640px;margin:0 auto;padding:16px 16px 96px}.narrow{padding-top:32px;padding-bottom:32px}.nav{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10}.nav a{flex:1 1;text-align:center;padding:16px 4px;color:var(--text);text-decoration:none;font-weight:600;font-size:.9rem}.stack{flex-direction:column;gap:12px}.row,.stack{display:flex}.row{gap:8px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}.link-card{display:flex;justify-content:space-between;gap:12px;align-items:center;color:inherit;text-decoration:none}.stack>.card,.stack>.note{margin-bottom:0}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--bad);margin:0}.ok-text{color:var(--ok);margin:0}.note{margin-bottom:12px}.note,.warning{background:var(--warn-bg);color:var(--warn);border-radius:12px;padding:12px 14px}.warning{margin:0;font-size:.9rem}.break{word-break:break-all}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:0;border-radius:12px;background:var(--brand);color:var(--brand-text);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--muted-bg);color:var(--text);border:1px solid var(--line)}.btn-danger{background:var(--bad-bg);color:var(--bad)}.btn-block{display:flex;width:100%}.btn-big{min-height:64px;font-size:1.3rem}.btn-small{min-height:40px;padding:0 12px;font-size:.85rem}.field{display:flex;flex-direction:column;gap:4px;font-weight:600}.field span{font-size:.9rem}input:not([type]),input[name=link],input[type=email],input[type=password],input[type=text]{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font:inherit}.check{display:flex;align-items:center;gap:12px;min-height:48px}.check input{width:24px;height:24px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--muted-bg);color:var(--muted);text-align:right}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge-btn{border:0;background:var(--muted-bg);cursor:pointer;font-weight:600}.badge-btn.ok{background:var(--ok-bg);color:var(--ok)}.ms{display:inline-block;font-size:.7rem;font-weight:700;padding:1px 6px;background:#dbeafe;color:#1e40af}.bar,.ms{border-radius:6px}.bar{height:12px;background:var(--muted-bg);overflow:hidden}.bar>div{height:100%;background:var(--brand);transition:width .3s}.kv{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 16px;gap:4px 16px;margin:8px 0 16px}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}.players{list-style:none;padding:0;margin:0 0 16px}.players li{justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.players li,.tabs{display:flex;gap:8px}.tabs{overflow-x:auto;margin-bottom:16px}.tabs a{white-space:nowrap;padding:8px 14px;border-radius:999px;background:var(--muted-bg);color:var(--text);text-decoration:none;font-weight:600;font-size:.9rem}.tabs a.active{background:var(--brand);color:var(--brand-text)}.steps{color:var(--muted);margin:0;font-size:.85rem}details summary{cursor:pointer;padding:8px 0}