@font-face{font-family:Onest;src:url(/fonts/onest-var-cyrillic.woff2)format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;src:url(/fonts/onest-var-latin.woff2)format("woff2");font-weight:400 700;font-display:swap}:root{--bg:#050506;--bg-deep:#000;--lamp:radial-gradient(900px 520px at 12% -10%, color-mix(in srgb, var(--brass) 8%, transparent), transparent 65%), radial-gradient(700px 500px at 105% 110%, #7c3aed14, transparent 60%);--surface:#0c0d10;--surface-up:#14151a;--line:#1d1f24;--ink:#f2f3f5;--ink-dim:#8b8f98;--ink-dead:#55585f;--brass:#ffc24b;--brass-dim:#c9993f;--gold:#ffc24b;--gold-dim:#c9993f;--bordo:#c03d33;--bordo-text:#df6058;--night:#a78bfa;--team-red:#8f3a31;--team-black:#050506;--line-up:#23252c;--line-strong:#2a2c33;--ink-on-brass:#1a1405;--font-display:"Onest", system-ui, sans-serif;--font-body:"Onest", system-ui, sans-serif;--tap-min:56px;--radius:16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%}body,#root{min-height:100%}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;line-height:1.5}body{overscroll-behavior:none;-webkit-font-smoothing:antialiased}body:before{content:"";z-index:-1;pointer-events:none;background:var(--lamp), var(--bg);position:fixed;inset:0}h1,h2,h3,.phase-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:600}.num{font-variant-numeric:tabular-nums}::selection{background:var(--brass);color:#0a0a0a}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.btn{min-height:var(--tap-min);background:linear-gradient(#ffffff0a, #fff0), var(--surface);border:1px solid var(--line-strong);color:var(--ink);letter-spacing:-.01em;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:16px;font-weight:600;transition:border-color .15s,background .15s,transform .12s,box-shadow .12s;display:inline-flex;box-shadow:inset 0 1px #ffffff0f,0 1px 2px #00000059}.btn:active{background:var(--surface-up);transform:scale(.98);box-shadow:inset 0 1px 3px #0006}.btn-danger{background:linear-gradient(#ffffff12, #fff0), var(--bordo);border-color:var(--bordo);color:#fff}.btn-danger:active{background:var(--bordo)}.btn-ghost{color:var(--ink-dim);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:active{box-shadow:none}.btn-wide{width:100%}.btn.selected{border-color:var(--brass);color:var(--brass);background:var(--surface-up)}.btn:disabled{opacity:.45;cursor:default}.topbar{z-index:20;height:calc(env(safe-area-inset-top,0px) + 50px);padding:env(safe-area-inset-top,0px) 8px 0;pointer-events:none;align-items:center;display:flex;position:sticky;top:0}.topbar-back{width:40px;height:40px;color:var(--ink-dim);pointer-events:auto;background:color-mix(in srgb, var(--surface) 75%, transparent);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb, var(--line) 70%, transparent);border-radius:50%;justify-content:center;align-items:center;transition:background .15s,opacity .15s;display:inline-flex}.topbar-back svg{width:9px;height:16px}.topbar-back:active{background:var(--surface-up);opacity:.7}@property --brass{syntax:"<color>";inherits:true;initial-value:#ffc24b}@property --brass-dim{syntax:"<color>";inherits:true;initial-value:#c9993f}body{transition:--brass .9s,--brass-dim .9s}body.night{--brass:#a78bfa;--brass-dim:#7f6ac2}@keyframes role-reveal{0%{opacity:0;filter:blur(4px);transform:scale(.85)}}.role-reveal{animation:.26s cubic-bezier(.16,1,.3,1) role-reveal}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}.rise-in{animation:.24s cubic-bezier(.16,1,.3,1) rise-in}@keyframes pop-in{0%{opacity:0;transform:scale(.7)}}.pop-in{animation:.18s cubic-bezier(.16,1,.3,1) pop-in}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.pulse{animation:1s ease-in-out infinite pulse}@keyframes daybreak{0%{filter:brightness(.4)}to{filter:brightness()}}.daybreak{animation:1.2s ease-out daybreak}@media (prefers-reduced-motion:reduce){@keyframes fade-only{0%{opacity:0}}.role-reveal,.rise-in,.pop-in,.sheet{animation:.15s ease-out fade-only}.pulse,.daybreak{animation:none}.btn:active{transform:none}body{transition:none}}.page{flex-direction:column;gap:16px;width:100%;max-width:480px;margin:0 auto;padding:4px 20px 32px;display:flex}.page-mid{max-width:520px}.roster-list{flex-direction:column;gap:8px;display:flex}.set-card{background:var(--surface-up);border:1px solid var(--line-up);border-radius:var(--radius);padding:16px 18px}@media (width>=700px) and (height>=600px){.page{max-width:760px;padding-bottom:48px}.page-mid{max-width:640px}.page-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.page-grid>.span{grid-column:1/-1}.page-grid>.tall{grid-row:span 2}.roster-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}}.game{min-height:100vh;padding:calc(max(10px, env(safe-area-inset-top)) + 40px) 14px max(14px, env(safe-area-inset-bottom));flex-direction:column;gap:12px;max-width:520px;margin:0 auto;display:flex}.game-table{flex-direction:column;gap:28px;display:flex}.game-players{grid-template-columns:1fr 1fr;align-content:start;gap:8px;display:grid}.game-panel{flex-direction:column;gap:16px;display:flex}.game-phase{flex-direction:column;flex:1;justify-content:center;display:flex}@media (width>=900px) and (height>=600px) and (orientation:landscape){.game{flex-direction:row;align-items:stretch;gap:28px;max-width:1100px;padding-left:24px;padding-right:24px}.game-table{flex:1.2;justify-content:center}.game-players{grid-template-columns:1fr 1fr;gap:10px}.game-panel{border-left:1px solid var(--line);flex:1;padding-left:28px;padding-right:28px}}@media (width>=700px) and (height>=600px) and (orientation:portrait){.game{gap:16px;max-width:640px}.game-players{gap:10px}}.tile{background:var(--surface-up);border:1px solid var(--line-up);border-radius:var(--radius);text-align:left;-webkit-user-select:none;user-select:none;box-sizing:border-box;align-items:center;gap:10px;width:100%;min-height:76px;padding:0 6px 0 0;display:flex;position:relative;overflow:hidden}.tile .seat{cursor:pointer;border:0;border-radius:0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:44px;margin:0;padding:0;font-family:inherit;font-size:20px;font-weight:700;line-height:1;transition:filter .1s ease-out;display:inline-flex;position:relative}.tile .seat:active{filter:brightness(1.35)}.tile.team-red .seat{background:var(--team-red);color:#fff}.tile.team-black .seat{background:var(--team-black);color:#fff}.tile .role-badge{display:flex;position:absolute;top:4px;right:4px}.tile .info{flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;display:flex}.tile .name{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.2;overflow:hidden}.tile .tags{gap:8px;min-width:0;display:flex;overflow:hidden}.tile .tag{letter-spacing:.09em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.2;overflow:hidden}.tile{container-type:inline-size}@container (width<=210px){.tile .tag-nom{display:none}}.tile .act{background:linear-gradient(#ffffff0d,#ffffff03);border-left:1px solid #ffffff14;flex-shrink:0;align-self:stretch;align-items:stretch;gap:0;margin-left:auto;margin-right:-6px;display:flex;box-shadow:inset 0 1px #ffffff12}.tile .act button{cursor:pointer;color:#ffffffd9;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;width:44px;min-height:0;padding:0;transition:background .1s ease-out,box-shadow .1s ease-out;display:inline-flex}.tile .act button+button{border-left:1px solid #ffffff0f}.tile .act button:active{background:#ffffff1a;box-shadow:inset 0 1px 3px #0006}.tile .act button[disabled]{color:var(--ink-dead);cursor:default}.tile .act .btn-foul{font-family:inherit;font-size:21px;font-weight:800}.foul-cards{align-items:center;display:inline-flex}.fcard{background:var(--gold);border:1px solid #0000008c;border-radius:2px;width:8px;height:12px;display:inline-block;transform:rotate(8deg)}.fcard:nth-child(2n){transform:rotate(-8deg)}.fcard+.fcard{margin-left:3px}.tile.speaking{border-color:color-mix(in srgb, var(--brass) 55%, transparent)}.tile.dead{opacity:.5}.tile.dead .name{text-decoration:line-through;-webkit-text-decoration-color:var(--ink-dead);text-decoration-color:var(--ink-dead)}.tile.picked{border-color:var(--brass)}.nom-strip{background:var(--surface-up);border:1px solid var(--line-up);border-radius:var(--radius);align-items:center;gap:12px;min-height:52px;padding-right:12px;display:flex;overflow:hidden}.nom-strip .nom-ico{background:var(--gold);width:44px;color:var(--ink-on-brass);flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;display:inline-flex}.nom-strip .nom-body{flex-direction:column;gap:5px;padding:9px 0;display:flex}.nom-strip .nom-label{color:var(--ink-dim);letter-spacing:.09em;text-transform:uppercase;font-size:11px}.nom-strip .nom-chips{flex-wrap:wrap;align-items:center;gap:8px;min-height:20px;display:flex}.nom-chip{color:#fff;border:1px solid #0000;border-radius:8px;padding:4px 13px;font-size:16px;font-weight:700}.nom-chip.chip-red{background:var(--team-red)}.nom-chip.chip-black{background:var(--team-black);border-color:var(--line-strong)}.phase-kicker{color:var(--ink-dim);letter-spacing:.16em;text-transform:uppercase;font-size:12px}.step-nav{border:1px solid var(--line-up);background:linear-gradient(#ffffff0d, #ffffff03), var(--surface);border-radius:999px;align-items:stretch;height:40px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff12,0 1px 2px #00000059}.step-nav button{cursor:pointer;width:46px;color:var(--ink-dim);background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:background .1s ease-out,box-shadow .1s ease-out,color .15s;display:inline-flex}.step-nav button+button{border-left:1px solid #ffffff14}.step-nav button:active:not(:disabled){background:#ffffff1a;box-shadow:inset 0 1px 3px #0006}.step-nav button:disabled{color:var(--ink-dead);cursor:default}.admin-entry{top:max(6px, env(safe-area-inset-top));z-index:30;cursor:pointer;color:var(--ink-dead);font:inherit;letter-spacing:.22em;text-transform:uppercase;opacity:.55;background:0 0;border:0;padding:8px 14px;font-size:10px;position:fixed;left:50%;transform:translate(-50%)}.admin-frame{pointer-events:none;z-index:50;border:2px solid var(--bordo);position:fixed;inset:0}.admin-badge{top:max(6px, env(safe-area-inset-top));z-index:30;cursor:pointer;border:1px solid var(--bordo);background:var(--bordo);color:var(--ink);font:inherit;letter-spacing:.22em;text-transform:uppercase;border-radius:999px;padding:6px 14px;font-size:10px;font-weight:700;position:fixed;left:50%;transform:translate(-50%)}.pin-input{font:inherit;letter-spacing:.5em;text-align:center;text-indent:.5em;background:var(--surface-up);border:1px solid var(--line-up);border-radius:var(--radius);color:var(--ink);box-sizing:border-box;width:100%;padding:12px 0;font-size:28px}.pin-input::placeholder{letter-spacing:normal;text-indent:0;color:var(--ink-dead);font-size:14px}.nom-chip-tap{cursor:pointer;font:inherit;transition:filter .1s ease-out}.nom-chip-tap:active{filter:brightness(1.3)}.admin-log-row{text-align:left;cursor:pointer;font:inherit;color:var(--ink-dim);border:0;border-bottom:1px solid var(--line);background:0 0;align-items:baseline;gap:8px;padding:7px 4px;font-size:13px;transition:background .1s ease-out;display:flex}.admin-log-row:active{background:#ffffff0f}.sheet-backdrop{z-index:10;background:#0d0a07bf;justify-content:center;align-items:flex-end;animation:.2s ease-out backdrop-in;display:flex;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}.sheet{background:var(--surface);border:1px solid var(--line);padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-bottom:none;border-radius:16px 16px 0 0;flex-direction:column;gap:10px;width:100%;max-width:520px;max-height:85vh;animation:.28s cubic-bezier(.16,1,.3,1) sheet-up;display:flex;overflow-y:auto}@media (width>=640px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-bottom:1px solid var(--line);border-radius:16px;width:auto;min-width:400px;max-width:460px;padding:24px;box-shadow:0 24px 60px #00000080}}
