:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#0e0c1a;--color-panel:#181528;--color-panel-high:#211c36;--color-panel-bright:#2e274c;--color-border:#3f3565;--color-paper:#fbf6ec;--color-text:#fbf6ec;--color-muted:#b9b1cd;--color-red:#ff2a5f;--color-blue:#00d2ff;--color-green:#3ddc97;--color-yellow:#ffd166;--color-focus:#ffbe0b;--color-neutral:#8b85a3;--color-hazard:#080611;--font-chrome:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-display:"Arial Black", "Avenir Next", "Segoe UI", sans-serif;--font-word:Arial, "Helvetica Neue", "Segoe UI", sans-serif;--radius-control:2px;--radius-card:4px;--shadow-small:2px 2px 0 #000;--shadow-control:0 3px 0 #000;--shadow-card:4px 4px 0 #000}*{box-sizing:border-box}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html{background:var(--color-ink);min-width:0;font-family:var(--font-chrome);color:var(--color-text);overflow-x:hidden}body{background:linear-gradient(#8b85a30d 1px, transparent 1px), linear-gradient(90deg, #8b85a30d 1px, transparent 1px), var(--color-ink);background-size:2rem 2rem,2rem 2rem,auto;min-width:0;min-height:100vh;margin:0;overflow-x:hidden}button,input,select{min-width:0;min-height:44px;font:inherit}button,input,a{transition:border-color .14s,background-color .14s,color .14s,transform .14s}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}button{border-radius:var(--radius-control);background:var(--color-focus);box-shadow:var(--shadow-control);color:var(--color-ink);cursor:pointer;border:2px solid #000;padding:.7rem 1rem;font-weight:800;line-height:1.3}button:hover:not(:disabled){background:#ffd15a;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #000}button:disabled{cursor:not-allowed;opacity:.65}.button-secondary{border-color:var(--color-blue);background:var(--color-panel);color:var(--color-blue)}.button-secondary:hover:not(:disabled){background:var(--color-panel-bright)}.app-shell{width:min(100%,72rem);min-width:0;margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.home-shell{align-content:start;gap:clamp(1.5rem,4vw,3rem);min-height:100vh;display:grid}.masthead{border:2px solid var(--color-border);background:var(--color-panel);min-width:0;box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.wordmark{min-height:44px;color:var(--color-text);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:1.05rem;font-weight:900;text-decoration:none;display:inline-flex}.wordmark-mark{border:2px solid var(--color-focus);border-radius:var(--radius-control);width:2.25rem;height:2.25rem;box-shadow:var(--shadow-small);color:var(--color-focus);letter-spacing:.04em;flex:none;place-items:center;font-size:.7rem;display:grid}.privacy-note{color:var(--color-muted);font-size:.85rem}.hero{max-width:52rem}.hero h1,.room-shell h1{max-width:15ch;font-family:var(--font-display);letter-spacing:-.04em;text-transform:uppercase;text-wrap:balance;margin:.25rem 0 1rem;font-size:clamp(2.3rem,6.5vw,4.8rem);font-weight:900;line-height:1.04}.eyebrow,.card-index{color:var(--color-focus);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.lede{max-width:44rem;color:var(--color-muted);font-size:clamp(1rem,2vw,1.2rem);font-family:var(--font-word);margin:0;line-height:1.65}.error-summary{border:2px solid var(--color-red);border-radius:var(--radius-card);background:var(--color-panel-high);box-shadow:var(--shadow-small);border-left-width:.35rem;flex-wrap:wrap;gap:.35rem .75rem;padding:.85rem 1rem;display:flex}.error-summary strong{color:#ff8fa9}.entry-table{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch;gap:1rem;display:grid}.entry-card{border:2px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel);min-width:0;box-shadow:var(--shadow-card);align-content:start;gap:.75rem;padding:clamp(1rem,3vw,1.5rem);display:grid;position:relative}.entry-card:before{background:var(--color-blue);content:"";width:.35rem;position:absolute;inset:0 auto 0 0}.entry-card-primary{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-paper)}.entry-card-primary:before{background:var(--color-red)}.entry-card-primary .card-index{color:#b30032}.entry-card h2{font-family:var(--font-display);letter-spacing:-.03em;margin:.25rem 0 0;font-size:clamp(1.65rem,3vw,2.1rem);font-weight:900}.entry-card p:not(.card-index){color:var(--color-muted);margin:.35rem 0 0;line-height:1.45}.entry-card-primary p:not(.card-index){color:#5e546b}.entry-card label{letter-spacing:.03em;margin-top:.25rem;font-size:.84rem;font-weight:800}.entry-card input{border:2px solid var(--color-neutral);border-radius:var(--radius-control);background:var(--color-ink);width:100%;color:var(--color-text);padding:.7rem .8rem}.entry-card-primary input{color:var(--color-ink);background:#fffdf7;border-color:#a49bad}.entry-card-primary input:focus-visible,.entry-card-primary button:focus-visible{outline-color:#b30032}#room-code{font-family:var(--font-chrome);letter-spacing:.17em;text-transform:uppercase;font-size:1.1rem;font-weight:800}.entry-card button{width:100%;margin-top:.35rem}.trust-line{color:var(--color-muted);align-items:center;gap:.55rem;margin:0;font-size:.88rem;display:flex}.trust-line span{color:var(--color-focus)}.room-shell{gap:1.25rem;min-width:0;display:grid}.room-identity-strip{border:2px solid var(--color-border);background:var(--color-panel);min-width:0;box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.room-identity-strip h1,.room-message h1,.game-route-placeholder h1{overflow-wrap:anywhere;max-width:none;margin-bottom:0;font-size:clamp(1.8rem,4vw,3rem)}.identity-status{text-align:right;overflow-wrap:anywhere;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:0;font-size:.85rem;display:flex}.connection-badge{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-ink);min-height:2rem;color:var(--color-muted);align-items:center;gap:.45rem;padding:.3rem .65rem;font-size:.78rem;font-weight:800;display:inline-flex}.connection-dot{border:2px solid;border-radius:1px;width:.52rem;height:.52rem}.connection-open{color:#8cd6a7}.connection-open .connection-dot{background:currentColor}.connection-connecting,.connection-reconnecting{color:var(--color-focus)}.connection-closed{color:#ffaaa6}.invite-strip{border:2px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel-high);min-width:0;box-shadow:var(--shadow-card);grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr);align-items:center;gap:1rem;padding:1rem;display:grid}.invite-strip h2,.section-heading h2,.invite-join-card h2{font-family:var(--font-display);margin:.2rem 0 0;font-weight:800}.invite-copy{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem .65rem;min-width:0;display:grid}.invite-url{min-width:0;color:var(--color-muted);font-family:var(--font-chrome);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.copy-feedback{min-height:1.1rem;color:var(--color-focus);grid-column:1/-1;font-size:.78rem}.lobby-table{border:2px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-ink);min-width:0;box-shadow:var(--shadow-card);padding:clamp(.8rem,2.5vw,1.3rem)}.section-heading,.team-panel-heading{justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.lock-status{border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-muted);padding:.35rem .65rem;font-size:.76rem;font-weight:800}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;min-width:0;margin-top:1rem;display:grid}.team-grid[data-team-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.team-grid[data-team-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.team-panel{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel);min-width:0;box-shadow:var(--shadow-card);border-top-width:.25rem;padding:.9rem}.team-panel-red{border-top-color:var(--color-red);background:repeating-linear-gradient(135deg, #ff2a5f12 0, #ff2a5f12 .4rem, transparent .4rem, transparent .8rem), var(--color-panel)}.team-panel-blue{border-top-color:var(--color-blue);background:radial-gradient(circle at .3rem .3rem, #00d2ff1f .12rem, transparent .13rem), var(--color-panel);background-size:.8rem .8rem}.team-panel-green{border-top-color:var(--color-green);background:repeating-linear-gradient(60deg, #3ddc9717 0, #3ddc9717 .22rem, transparent .22rem, transparent .72rem), var(--color-panel)}.team-panel-yellow{border-top-color:var(--color-yellow);background:conic-gradient(from 90deg at 1px 1px, transparent 90deg, #ffd1661f 0) 0 0 / .75rem .75rem, var(--color-panel)}.team-panel-waiting{border-top-color:var(--color-neutral);box-shadow:none;grid-column:1/-1}.team-panel-heading h2{font-family:var(--font-word);margin:0;font-size:1rem}.team-callsign{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .2rem;font-size:1.35rem;font-weight:900;line-height:1.1;display:block}.team-panel-red .team-callsign,.team-score-red .team-callsign{color:var(--color-red)}.team-panel-blue .team-callsign,.team-score-blue .team-callsign{color:var(--color-blue)}.team-panel-green .team-callsign,.team-score-green .team-callsign{color:var(--color-green)}.team-panel-yellow .team-callsign,.team-score-yellow .team-callsign{color:var(--color-yellow)}.team-panel-heading>span{border:1px solid var(--color-border);border-radius:var(--radius-control);width:1.75rem;height:1.75rem;color:var(--color-muted);place-items:center;font-size:.75rem;display:grid}.seat-list{gap:.45rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.seat-row{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;min-width:0;padding-top:.45rem;font-size:.82rem;display:grid}.seat-name{overflow-wrap:anywhere;font-weight:800}.seat-role{color:var(--color-muted)}.seat-online,.seat-offline{white-space:nowrap;font-size:.74rem}.seat-online{color:#8cd6a7}.seat-offline{color:#ffaaa6}.empty-team{color:var(--color-muted);margin:.8rem 0 0;font-size:.82rem}.host-controls{border:2px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel);min-width:0;box-shadow:var(--shadow-card);margin:0;padding:.8rem}.host-controls legend{color:var(--color-focus);letter-spacing:.12em;text-transform:uppercase;padding:0 .5rem;font-size:.74rem;font-weight:900}.team-count-control{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(5rem,.3fr);align-items:center;gap:.25rem .6rem;min-width:0;margin-bottom:.8rem;padding:.2rem .45rem .8rem;display:grid}.team-count-control label{font-weight:800}.team-count-control select{border:1px solid var(--color-neutral);border-radius:var(--radius-control);background:var(--color-ink);width:100%;color:var(--color-text);padding:.35rem}.team-count-control span{color:var(--color-muted);grid-column:1/-1;font-size:.72rem}.assignment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;min-width:0;display:grid}.assignment-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(5rem,1fr) minmax(6rem,.8fr) minmax(7rem,.9fr);align-items:end;gap:.5rem;min-width:0;padding:.45rem;display:grid}.assignment-row>strong{overflow-wrap:anywhere;align-self:center}.assignment-row label{gap:.2rem;min-width:0;display:grid}.assignment-row label>span{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.assignment-row select{border:1px solid var(--color-neutral);border-radius:var(--radius-control);background:var(--color-ink);width:100%;color:var(--color-text);padding:.35rem}.host-action-bar{flex-wrap:wrap;align-items:flex-start;gap:.65rem;min-width:0;margin-top:.9rem;display:flex}.confirm-inline{border-left:.25rem solid var(--color-focus);flex-wrap:wrap;flex:100%;align-items:center;gap:.5rem;min-width:0;padding-left:.7rem;display:flex}.confirm-inline span{flex:14rem}.start-control{gap:.25rem;min-width:min(100%,18rem);margin-left:auto;display:grid}.start-control p{color:var(--color-muted);margin:0;font-size:.72rem;line-height:1.35}.join-shell,.room-message{max-width:52rem}.invite-join-card{width:min(100%,34rem);margin-inline:auto}.join-role-choice{border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;min-width:0;margin:.25rem 0;padding:.65rem;display:grid}.join-role-choice legend{padding-inline:.25rem;font-size:.8rem;font-weight:800}.join-role-choice label{align-items:center;gap:.45rem;min-width:0;min-height:44px;margin:0;display:flex}.join-role-choice input{min-height:auto}.text-link{min-height:44px;color:var(--color-focus);align-items:center;font-weight:800;display:inline-flex}.floating-error{z-index:1;width:min(100% - 2rem,69rem);margin:1rem auto 0;position:relative}.game-route-placeholder{max-width:48rem}.game-shell{width:min(100%,82rem);min-width:0}.game-header h1{font-size:clamp(1.5rem,3vw,2.5rem)}.game-status-strip{grid-template-columns:minmax(0,1fr) minmax(15rem,.8fr);align-items:stretch;gap:.75rem;min-width:0;display:grid}.team-score,.turn-status{border:2px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel);min-width:0;box-shadow:var(--shadow-small);gap:.35rem;padding:.75rem;display:grid}.team-score{grid-template-columns:repeat(var(--team-count), minmax(0, 1fr))}.team-score strong{border-left:.2rem solid var(--color-border);min-width:0;color:var(--color-muted);overflow-wrap:anywhere;gap:.25rem;padding:.45rem .6rem;font-size:.72rem;line-height:1.35;display:grid}.team-score-red{border-left-color:var(--color-red)}.team-score-blue{border-left-color:var(--color-blue)}.team-score-green{border-left-color:var(--color-green)}.team-score-yellow{border-left-color:var(--color-yellow)}.team-score .is-current{background:var(--color-panel-high);color:var(--color-text)}.team-score .is-eliminated{opacity:.72;border-left-style:dashed}.team-state{color:var(--color-text);font-family:var(--font-chrome);letter-spacing:.08em;text-transform:uppercase}.turn-status{color:var(--color-muted);overflow-wrap:anywhere;grid-template-columns:repeat(2,minmax(0,1fr));font-size:.8rem;line-height:1.45}.turn-status-red{border-top-color:var(--color-red)}.turn-status-blue{border-top-color:var(--color-blue)}.turn-status-green{border-top-color:var(--color-green)}.turn-status-yellow{border-top-color:var(--color-yellow)}.turn-status strong{color:var(--color-text)}.turn-clue{color:var(--color-focus);font-family:var(--font-word);font-size:1.1rem;font-weight:800}.game-layout{grid-template-columns:minmax(0,1fr) minmax(16rem,.34fr);align-items:start;gap:1rem;min-width:0;display:grid}.board-column,.board-region,.game-side-panel{min-width:0}.board-column{gap:.65rem;display:grid}.board-region{overscroll-behavior:contain;border:2px solid var(--color-border);border-radius:var(--radius-card);max-height:min(72dvh,52rem);box-shadow:var(--shadow-card);background:#080611;padding:clamp(.3rem,1.2vw,.7rem);overflow:auto}.board-region.is-scrollable .board-grid{min-width:calc(var(--board-columns) * 4.65rem)}.board-navigation-hint{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-panel);width:fit-content;color:var(--color-muted);margin:0 0 .45rem;padding:.28rem .42rem;font-size:.68rem;line-height:1.3;position:sticky;left:0}.board-grid{grid-template-columns:repeat(var(--board-columns), minmax(0, 1fr));gap:clamp(.2rem,.7vw,.6rem);min-width:0;margin:0;padding:0;list-style:none;display:grid}.board-grid>li{min-width:0;display:flex}.board-card{aspect-ratio:1.25;border-radius:var(--radius-card);background:var(--color-paper);width:100%;min-width:0;min-height:44px;box-shadow:var(--shadow-control);color:var(--color-ink);font-family:var(--font-word);letter-spacing:.025em;text-align:center;overflow-wrap:anywhere;border:2px solid #d4c7ae;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;padding:clamp(.2rem,.8vw,.55rem);font-size:clamp(.65rem,1.3vw,1rem);font-weight:900;line-height:1.15;display:flex;position:relative}button.board-card{cursor:pointer}button.board-card:hover:not(:disabled){border-color:var(--color-focus);background:#fffdf7;transform:none}button.board-card:active:not(:disabled){box-shadow:inset 0 0 0 2px var(--color-focus);transform:none}.board-card:disabled{opacity:1;cursor:not-allowed}.board-card:focus-visible{z-index:1;outline-offset:1px}.board-card.is-nominated{border-color:var(--color-focus);box-shadow:inset 0 0 0 2px var(--color-focus), 0 0 0 1px var(--color-focus), var(--shadow-control)}.board-card-label{text-transform:uppercase;max-width:100%}.nomination-marker,.public-owner,.key-owner{max-width:100%;font-family:var(--font-word);letter-spacing:.035em;text-transform:uppercase;font-size:clamp(.55rem,.9vw,.7rem);font-weight:900;line-height:1.15}.nomination-marker{font-family:var(--font-chrome);border-radius:var(--radius-control);background:var(--color-focus);color:var(--color-ink);padding:.15rem .2rem}.board-card.is-revealed{color:var(--color-ink)}.board-card.owner-red{border-color:var(--color-red);box-shadow:var(--shadow-control);background:repeating-linear-gradient(135deg,#ff2a5f 0 .42rem,#ff4473 .42rem .84rem)}.board-card.owner-blue{border-color:var(--color-blue);background:radial-gradient(circle at .38rem .38rem, #63e4ff .1rem, transparent .12rem), var(--color-blue);box-shadow:var(--shadow-control);background-size:.8rem .8rem}.board-card.owner-green{border-color:var(--color-green);box-shadow:var(--shadow-control);background:repeating-linear-gradient(60deg,#3ddc97 0 .32rem,#75eab7 .32rem .72rem)}.board-card.owner-yellow{background:conic-gradient(from 90deg at 1px 1px, #ffe4a3 90deg, var(--color-yellow) 0) 0 0 / .72rem .72rem;box-shadow:var(--shadow-control);color:var(--color-ink);border-color:#7f6100}.board-card.owner-neutral{border-color:var(--color-neutral);box-shadow:var(--shadow-control);background:repeating-linear-gradient(0deg,#9d97b2 0 1px,#8b85a3 1px .45rem)}.board-card.owner-hazard{background:repeating-linear-gradient(135deg, #f05 0 3px, transparent 3px 7px) bottom / 100% 5px no-repeat, var(--color-hazard);color:var(--color-paper);border-color:#f05;box-shadow:inset 0 0 0 1px #f05}.key-owner{border-radius:var(--radius-control);background:var(--color-ink);border:1px solid;padding:.16rem .28rem}.key-owner.owner-red{color:var(--color-red)}.key-owner.owner-blue{color:var(--color-blue)}.key-owner.owner-green{color:var(--color-green)}.key-owner.owner-yellow{color:var(--color-yellow)}.key-owner.owner-neutral{color:#b9b1cd}.key-owner.owner-hazard{color:#ff8fa9}.privacy-veil{border:2px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel-high);min-width:0;box-shadow:var(--shadow-small);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem;display:flex}.privacy-veil p:not(.card-index){color:var(--color-muted);margin:.2rem 0 0;font-size:.76rem}.privacy-veil button{flex:none}.game-side-panel{gap:.75rem;display:grid}.game-control-panel,.game-history,.board-result,.game-empty{border:2px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel);min-width:0;box-shadow:var(--shadow-card);padding:.8rem}.game-control-panel{gap:.6rem;display:grid}.game-control-panel>button{width:100%}.clue-form{grid-template-columns:minmax(0,1fr) minmax(4.5rem,.34fr);gap:.35rem .5rem;min-width:0;display:grid}.clue-form label{color:var(--color-muted);font-size:.72rem;font-weight:800}.clue-form input{border:1px solid var(--color-neutral);border-radius:var(--radius-control);background:var(--color-ink);width:100%;color:var(--color-text);padding:.55rem}.clue-form button,.form-error{grid-column:1/-1}.form-error{color:#ff8fa9;margin:0;font-size:.78rem;line-height:1.35}.control-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;min-width:0;display:grid}.disputed-clue{border-left:.2rem solid var(--color-focus);margin:0;padding-left:.55rem;font-weight:800}.game-history h2,.board-result h2{font-family:var(--font-display);margin:.2rem 0 .65rem;font-size:1.3rem}.game-history ol{color:var(--color-muted);overflow-wrap:anywhere;gap:.45rem;margin:0;padding-left:1.2rem;font-size:.76rem;line-height:1.4;display:grid}.empty-history{color:var(--color-muted);margin:0;font-size:.8rem}.board-result{border-color:var(--color-focus);background:var(--color-panel-high);border-left-width:.5rem}.board-result p:last-child{color:var(--color-muted);margin-bottom:0}.confirm-dialog-backdrop{z-index:20;background:#080611e0;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-dialog{border:2px solid var(--color-focus);border-radius:var(--radius-card);background:var(--color-panel);width:min(100%,28rem);max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-card);padding:clamp(1rem,4vw,1.5rem);overflow-y:auto}.confirm-dialog h2{font-family:var(--font-display);overflow-wrap:anywhere;margin:.25rem 0 .6rem;font-size:1.55rem}.confirm-dialog p:not(.card-index){color:var(--color-muted);overflow-wrap:anywhere;line-height:1.5}.confirm-dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1rem;display:grid}.confirm-dialog button{min-height:44px}@media (width<=42rem){.entry-table{grid-template-columns:minmax(0,1fr)}.privacy-note{text-align:right;max-width:9rem}.room-identity-strip,.invite-strip{grid-template-columns:minmax(0,1fr)}.room-identity-strip{flex-wrap:wrap;align-items:flex-start}.identity-status{text-align:left;align-items:flex-start}.invite-copy{grid-template-columns:minmax(0,1fr)}.invite-copy button,.copy-feedback{grid-column:1}.team-grid,.assignment-list,.team-grid[data-team-count="3"],.team-grid[data-team-count="4"]{grid-template-columns:minmax(0,1fr)}.team-panel-waiting{grid-column:1}.assignment-row{grid-template-columns:minmax(0,1fr) minmax(6rem,.72fr) minmax(7rem,.85fr)}.start-control{width:100%;margin-left:0}.game-status-strip,.game-layout{grid-template-columns:minmax(0,1fr)}.turn-status{grid-row:1}.team-score{scroll-snap-type:x proximity;grid-row:2;gap:.4rem;display:flex;overflow-x:auto}.team-score strong{scroll-snap-align:start;flex:none;min-width:8.5rem}.team-score strong.is-current{min-width:min(70vw,15rem)}.game-side-panel{border:2px solid var(--color-border);border-radius:1rem 1rem var(--radius-card) var(--radius-card);background:var(--color-ink);grid-template-columns:minmax(0,1fr);max-height:58dvh;padding:.55rem;overflow-y:auto}}@media (width<=22rem){.app-shell{padding-inline:.75rem}.masthead{align-items:flex-start}.privacy-note{font-size:.75rem}.seat-row,.assignment-row,.join-role-choice{grid-template-columns:minmax(0,1fr)}.seat-role,.seat-online,.seat-offline{justify-self:start}.game-shell{padding-inline:.55rem}.board-region{border-width:1px;padding:3px}.board-grid{gap:3px}.board-card{border-radius:var(--radius-control);letter-spacing:0;border-width:1px;padding:.15rem;padding-inline:.08rem;font-size:.6rem}.nomination-marker,.public-owner,.key-owner{letter-spacing:0;font-size:.5rem}.nomination-marker{padding:.1rem}.privacy-veil{flex-direction:column;align-items:stretch}.masthead,.room-identity-strip{padding:.65rem}.wordmark{letter-spacing:.02em;gap:.45rem;font-size:.8rem}.wordmark-mark{width:1.8rem;height:1.8rem}.team-score,.turn-status{padding:.5rem}.team-score strong{padding:.3rem}.team-callsign{font-size:1.1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){.entry-card,input,button{border-width:2px}.privacy-note,.lede,.entry-card:not(.entry-card-primary) p:not(.card-index),.trust-line{color:var(--color-text)}.entry-card-primary p:not(.card-index){color:var(--color-ink)}.team-panel,.team-score strong,.board-card{border-width:3px}}@media (forced-colors:active){.team-panel,.team-score strong,.turn-status,.board-card.is-revealed{forced-color-adjust:auto;color:canvastext;background:canvas;border-color:canvastext}.team-panel-red,.team-score .team-score-red,.turn-status-red,.board-card.owner-red{border-style:solid}.team-panel-blue,.team-score .team-score-blue,.turn-status-blue,.board-card.owner-blue{border-style:double}.team-panel-green,.team-score .team-score-green,.turn-status-green,.board-card.owner-green{border-style:dashed}.team-panel-yellow,.team-score .team-score-yellow,.turn-status-yellow,.board-card.owner-yellow{border-style:dotted}.team-score .is-current,.board-card.is-nominated{outline-offset:2px;outline:3px solid highlight}}
