@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Medium.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f5f4ed;--surface:#f5f4ed;--surface-subtle:#eceae1;--ink:#141413;--ink-soft:#5e5d59;--line:#d1cfc5;--line-strong:#87867f;--accent:#08786d;--accent-strong:#07594f;--accent-hover:#064a43;--accent-soft:#e3f1ed;--team-a:#08786d;--team-a-ink:#07594f;--team-a-soft:#e3f1ed;--team-b:#7255a3;--team-b-ink:#503b74;--team-b-soft:#eee9f6;--on-accent:#fff;--danger:#a83f49;--danger-soft:#f8e5e7;--focus:#07594f;--white:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:8px;--radius-lg:14px;--radius-pill:999px;--page-gutter:clamp(32px, 5vw, 40px);--header-height:68px;--control-rail:288px;--reader-rail-collapsed:68px;--reader-content-gap:clamp(32px, 3vw, 48px);--game-left-rail:360px;--game-right-rail:360px;--touch-target:44px;font-synthesis:none;text-rendering:optimizelegibility;font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#141413;--surface:#141413;--surface-subtle:#1f1e1d;--ink:#faf9f5;--ink-soft:#87867f;--line:#30302e;--line-strong:#5e5d59;--accent:#52c8b1;--accent-strong:#8be2ce;--accent-hover:#a9eddc;--accent-soft:#183735;--team-a:#52c8b1;--team-a-ink:#8be2ce;--team-a-soft:#183735;--team-b:#b8a4dc;--team-b-ink:#d8cbed;--team-b-soft:#322943;--on-accent:#102321;--danger:#f19aa4;--danger-soft:#482b31;--focus:#8ee1cf}*,:before,:after{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;min-height:100%}body{background:var(--canvas);min-height:100vh;color:var(--ink);margin:0;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select,canvas{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:-.035em;font-weight:600;line-height:1.08}h1{margin-bottom:var(--space-4);font-size:clamp(2.5rem,5.4vw,5.5rem)}h2{margin-bottom:var(--space-3);font-size:clamp(1.35rem,2vw,1.85rem)}p:last-child{margin-bottom:0}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:1000;top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--accent-strong);color:var(--on-accent);position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{background:var(--canvas);min-height:100vh}.site-header{z-index:20;width:100%;height:var(--header-height);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--canvas) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.header-inner{width:100%;height:100%;padding-inline:var(--page-gutter);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid}.brand{justify-self:start;align-items:center;gap:var(--space-3);min-height:var(--touch-target);color:var(--ink);letter-spacing:-.02em;font-size:1.05rem;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark{grid-template-columns:repeat(3,5px);align-items:end;gap:3px;width:21px;height:22px;display:grid}.brand-mark span{background:var(--accent);border-radius:2px 2px 0 0;display:block}.brand-mark span:first-child{height:11px}.brand-mark span:nth-child(2){height:21px}.brand-mark span:nth-child(3){height:16px}.header-promise{color:var(--ink-soft);letter-spacing:.01em;margin:0;font-size:.875rem}.header-utilities{justify-content:flex-end;display:flex}.theme-toggle{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;place-items:center;padding:0;display:grid}.theme-toggle:hover{border-color:var(--accent);color:var(--accent-strong)}.theme-toggle-icon{place-items:center;display:inline-grid}.theme-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}[data-theme=light] .theme-icon-sun,[data-theme=dark] .theme-icon-moon{display:none}.page-shell-full,.game-main{width:100%}.page-shell-full{min-height:calc(100vh - var(--header-height));padding:0}.game-main{min-height:calc(100dvh - var(--header-height));padding:0}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.panel-muted{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.eyebrow{margin-bottom:var(--space-2);color:var(--accent-strong);letter-spacing:.11em;text-transform:uppercase;font-size:.75rem;font-weight:600;line-height:1.2}.lead{max-width:760px;color:var(--ink-soft);font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.55}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:10px var(--space-4);border:1px solid var(--accent-strong);border-radius:var(--radius-sm);background:var(--accent-strong);color:var(--on-accent);cursor:pointer;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.48}.button-secondary{border-color:var(--line);color:var(--ink);background:0 0}.button-secondary:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-subtle)}.button-large{min-height:52px;padding-inline:var(--space-5);font-size:1.02rem}.back-link-button,.leave-button,.kick-button{min-height:var(--touch-target);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0}.back-link-button{align-self:flex-start;font-weight:500}.back-link-button:hover,.leave-button:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.form-field{gap:var(--space-2);display:grid}.form-field label,.form-label{color:var(--ink);font-size:.875rem;font-weight:600}.form-control{width:100%;min-height:var(--touch-target);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:10px 12px}.form-control::placeholder{color:var(--ink-soft);opacity:1}.form-control:disabled{border-color:var(--line);background:var(--surface-subtle);cursor:not-allowed;opacity:.72}.number-stepper{grid-template-columns:var(--touch-target) minmax(0, 1fr) var(--touch-target);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:52px;transition:border-color .14s;display:grid;overflow:hidden}.number-stepper:focus-within{border-color:var(--accent)}.stepper-button{appearance:none;min-width:var(--touch-target);background:var(--surface-subtle);min-height:50px;color:var(--ink);cursor:pointer;border:0;place-items:center;padding:0;font-size:1.25rem;line-height:1;transition:background-color .14s,color .14s;display:grid}.stepper-button:first-child{border-right:1px solid var(--line)}.stepper-button:last-child{border-left:1px solid var(--line)}.stepper-button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-strong)}.stepper-button:active:not(:disabled){background:color-mix(in srgb, var(--accent-soft) 72%, var(--surface-subtle))}.stepper-button:focus-visible{z-index:1;outline-offset:-3px;outline-width:2px;position:relative}.stepper-button:disabled{color:var(--ink-soft);cursor:not-allowed;opacity:.48}.stepper-value{justify-content:center;align-items:baseline;gap:var(--space-2);min-width:0;padding:10px var(--space-2);color:var(--ink-soft);white-space:nowrap;font-size:.8rem;display:flex}.stepper-value strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.05rem}.helptext{color:var(--ink-soft);font-size:.8rem}.message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm)}.message-error{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger)}.catalog-layout,.entry-layout{grid-template-columns:var(--control-rail) minmax(0, 1fr);column-gap:var(--reader-content-gap);width:100%;min-height:calc(100dvh - var(--header-height));padding-right:var(--page-gutter);display:grid}.catalog-rail,.entry-rail{top:var(--header-height);z-index:10;width:var(--control-rail);min-height:0;padding:var(--space-5);border-top:0;border-bottom:0;border-left:0;border-radius:0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;overflow-y:auto}.catalog-rail{top:var(--header-height)}.rail-heading p:not(.eyebrow),.entry-rail p:not(.eyebrow){color:var(--ink-soft);font-size:.9rem}.catalog-nav{gap:var(--space-1);margin:var(--space-5) calc(var(--space-2) * -1) auto;display:grid}.catalog-nav a{min-height:var(--touch-target);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--ink-soft);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.catalog-nav a:hover,.catalog-nav a.is-active{background:var(--surface-subtle);color:var(--ink)}.catalog-nav a.is-active{font-weight:600}.topic-count{border:1px solid var(--line);border-radius:var(--radius-pill);min-width:26px;height:26px;color:var(--ink-soft);place-items:center;padding-inline:7px;font-size:.75rem;display:inline-grid}.rail-note{gap:var(--space-1);padding-top:var(--space-5);border-top:1px solid var(--line);font-size:.82rem;display:grid}.rail-note span{color:var(--ink-soft)}.catalog-content,.entry-content{min-width:0;padding:var(--space-5) 0 var(--space-7);grid-column:2}.catalog-hero{max-width:1120px;padding:clamp(var(--space-3), 2vh, var(--space-6)) 0 var(--space-7)}.catalog-hero h1{max-width:1050px}.game-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-card{min-height:430px;padding:var(--space-5);grid-template-rows:auto 1fr auto;display:grid;position:relative;overflow:hidden}.game-card-featured{border-color:var(--line-strong);background:var(--surface-subtle);grid-column:1/-1;min-height:500px}.game-card-number{top:var(--space-4);right:var(--space-5);color:var(--line-strong);letter-spacing:-.07em;opacity:.36;pointer-events:none;font-size:clamp(3rem,7vw,6rem);font-weight:500;line-height:1;position:absolute}.game-card-copy{z-index:1;align-self:end;max-width:720px;padding-top:110px;position:relative}.game-card-copy h2{margin-bottom:var(--space-3);font-size:clamp(2rem,3.8vw,4rem)}.game-card-copy>p{max-width:660px;color:var(--ink-soft);font-size:1.02rem}.game-card-meta{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--ink-soft);flex-wrap:wrap;font-size:.82rem;display:flex}.status-pill{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);min-height:28px;color:var(--ink-soft);align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.status-live{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft);color:var(--accent-strong)}.feature-list{gap:var(--space-2) var(--space-5);padding:var(--space-4) 0 0;border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;margin:0;font-size:.86rem;list-style:none;display:flex}.feature-list li:before{content:"·";margin-right:var(--space-2);color:var(--accent);font-weight:600}.game-card-action{z-index:1;margin-top:var(--space-5);place-self:end start;position:relative}.catalog-footer{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--line);color:var(--ink-soft);font-size:.8rem;display:flex}.catalog-footer nav{gap:var(--space-4);display:flex}.catalog-footer a{text-decoration:none}.catalog-footer a:hover{color:var(--ink)}.entry-rail{gap:var(--space-7)}.entry-steps{gap:var(--space-4);margin:auto 0 0;padding:0;list-style:none;display:grid}.entry-steps li{align-items:center;gap:var(--space-3);color:var(--ink-soft);grid-template-columns:30px 1fr;font-size:.85rem;display:grid}.entry-steps li span{border:1px solid var(--line);border-radius:50%;place-items:center;width:30px;height:30px;font-size:.75rem;display:grid}.entry-steps li.is-current{color:var(--ink)}.entry-steps li.is-current span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.page-header-copy{max-width:900px;padding:clamp(var(--space-3), 2vh, var(--space-6)) 0 var(--space-6)}.page-header-copy h1{font-size:clamp(2.4rem,5vw,4.8rem)}.entry-form{gap:var(--space-5);max-width:760px;padding:clamp(var(--space-5), 4vw, var(--space-6));display:grid}.form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.entry-summary{gap:var(--space-3);padding:var(--space-4);color:var(--ink-soft);text-align:center;grid-template-columns:repeat(3,1fr);font-size:.82rem;display:grid}.entry-summary span+span{border-left:1px solid var(--line)}.entry-summary strong{color:var(--ink);font-size:1rem;display:block}.game-layout{--active-left-rail:var(--game-left-rail);--active-right-rail:var(--game-right-rail);grid-template-columns:var(--active-left-rail) minmax(420px, 1fr) var(--active-right-rail);width:100%;min-height:calc(100dvh - var(--header-height));grid-template-areas:"players board messages";gap:0;display:grid;position:relative}.players-rail,.messages-rail{top:var(--header-height);z-index:10;min-width:0;padding:var(--space-5);background:var(--surface);border-top:0;border-bottom:0;border-radius:0;position:fixed;bottom:0}.players-rail{width:var(--active-left-rail);border-left:0;grid-area:players;grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;left:0;overflow:hidden}.players-rail-header{align-items:start;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.players-rail-toggle{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);cursor:pointer;flex:none;place-items:center;padding:0;display:grid}.players-rail-toggle:hover{border-color:var(--line-strong);background:var(--surface-subtle)}.players-rail-toggle span{font-size:1rem;line-height:1}.players-rail-content{overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-gutter:stable;flex-direction:column;min-height:0;display:flex;overflow-y:auto}.players-rail-collapsed{display:none}.room-heading,.messages-heading,.player-list-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.room-heading h2,.messages-heading h2{letter-spacing:-.025em;margin:0;font-size:1.2rem}.connection-dot{background:var(--danger);width:10px;height:10px;box-shadow:0 0 0 4px var(--danger-soft);border-radius:50%;flex:none}.connection-dot.is-online{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.connection-status{align-items:center;gap:var(--space-2);color:var(--ink-soft);font-size:.68rem;display:inline-flex}.connection-banner{z-index:25;top:calc(var(--header-height) + var(--space-3));width:min(520px,100vw - 32px);padding:var(--space-3) var(--space-4);border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--surface);color:var(--danger);text-align:center;font-size:.86rem;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #14141324}.invite-panel{gap:var(--space-2);margin:var(--space-4) 0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-subtle);display:grid}.invite-message{color:var(--ink-soft);margin:0;font-size:.78rem}.invite-message.is-success{color:var(--accent-strong)}.invite-message.is-error{color:var(--danger)}.invite-link-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.invite-url{width:100%;min-width:0;min-height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);text-overflow:ellipsis;padding:8px 10px;font-size:.72rem}.invite-panel .button{width:auto;min-width:72px;padding-inline:var(--space-3);font-size:.8rem}.player-list-heading{padding-bottom:var(--space-2);color:var(--ink-soft);font-size:.78rem}.player-list-heading:focus{outline:none}.player-list-heading:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.team-rosters{gap:var(--space-3);display:grid}.team-roster,.team-a{--team-color:var(--team-a);--team-ink:var(--team-a-ink);--team-soft:var(--team-a-soft)}.team-b{--team-color:var(--team-b);--team-ink:var(--team-b-ink);--team-soft:var(--team-b-soft)}.team-roster{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-subtle) 58%, var(--surface));overflow:hidden}.team-roster.is-active{border-color:var(--team-color);box-shadow:inset 3px 0 0 var(--team-color)}.team-roster-heading{align-items:center;gap:var(--space-2);min-height:42px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--team-soft);color:var(--team-ink);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.team-roster-heading strong{color:inherit;font-size:.82rem}.team-roster-heading>span:last-child{font-variant-numeric:tabular-nums;font-size:.68rem}.team-marker{background:var(--team-color);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.player-list{gap:2px;margin:0;padding:3px;list-style:none;display:grid}.player-list li{align-items:center;gap:var(--space-2);min-height:48px;padding:6px var(--space-2);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.player-list li.is-drawing{background:var(--accent-soft)}.player-list li.has-guessed .player-copy strong:after{content:" ✓";color:var(--accent-strong)}.player-list li.is-offline{opacity:.58}.player-copy{min-width:0;display:grid}.player-copy strong,.player-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-copy strong{font-size:.82rem}.player-copy small{color:var(--ink-soft);font-size:.68rem}.player-actions{align-items:center;gap:2px;display:flex}.team-move-button{min-width:54px;min-height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;padding:0 8px;font-size:.68rem;font-weight:600}.team-move-button:hover:not(:disabled){border-color:var(--team-color);background:var(--team-soft);color:var(--team-ink)}.empty-team{color:var(--ink-soft);text-align:center;font-size:.72rem;min-height:42px!important;padding:var(--space-3)!important;display:block!important}.kick-button{width:var(--touch-target);min-height:var(--touch-target);color:var(--ink-soft);border-radius:50%;place-items:center;display:grid}.kick-button:hover{background:var(--danger-soft);color:var(--danger)}.host-controls{gap:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:auto;display:grid}.host-controls .eyebrow{grid-column:1/-1}.host-controls .button{padding-inline:var(--space-2);font-size:.75rem}.leave-button{margin-top:var(--space-3);color:var(--danger);align-self:flex-start;font-size:.78rem}.board-column{min-width:0;min-height:0;padding:var(--space-4) var(--reader-content-gap) var(--space-5);grid-area:board;grid-template-rows:auto minmax(0,1fr) auto;display:grid}.board-column:focus{outline:none}.board-column:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.waiting-pulse{margin-top:var(--space-5);justify-content:center;gap:6px;display:flex}.waiting-pulse span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite pulse}.waiting-pulse span:nth-child(2){animation-delay:.12s}.waiting-pulse span:nth-child(3){animation-delay:.24s}@keyframes pulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.messages-rail{width:var(--active-right-rail);border-right:0;grid-area:messages;grid-template-rows:auto auto minmax(160px,1fr);min-height:0;display:grid;right:0}.messages-heading{padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.messages-heading>span{color:var(--ink-soft);font-size:.7rem}.message-feed{min-width:0;min-height:0;position:relative;overflow:hidden}.message-list{height:100%;min-height:0;padding:var(--space-3) 2px;overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-gutter:stable;overflow-y:auto}.new-messages-button{top:var(--space-2);right:var(--space-2);min-height:var(--touch-target);border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);cursor:pointer;padding:6px 10px;font-size:.72rem;font-weight:600;position:absolute;box-shadow:0 6px 18px #1414131f}.empty-messages{color:var(--ink-soft);font-size:.8rem}.room-message{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--ink-soft);overflow-wrap:anywhere;font-size:.78rem}.room-message strong{color:var(--ink)}.message-system{background:var(--surface-subtle)}.message-correct{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.guess-form{gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;display:grid}.guess-form .button{padding-inline:var(--space-3)}.toast{z-index:30;right:var(--page-gutter);bottom:var(--space-5);max-width:min(420px,100vw - 32px);padding:var(--space-3) var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-strong);font-size:.86rem;position:fixed;box-shadow:0 12px 30px #14141324}.toast-error{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.reconnect-state,.error-state{min-height:calc(100dvh - var(--header-height) - var(--space-6));text-align:center;align-content:center;place-items:center;display:grid}.reconnect-state .waiting-pulse{margin:0 0 var(--space-4)}@media (width>=761px){.game-session{height:100dvh;overflow:hidden}.game-main{height:calc(100dvh - var(--header-height));min-height:0;overflow:hidden}.game-layout{height:100%;min-height:0}.board-column{height:100%;max-height:100%}.players-rail,.messages-rail{height:auto;max-height:none}.messages-rail{overflow:hidden}.game-layout.is-players-collapsed{--active-left-rail:var(--reader-rail-collapsed);grid-template-columns:var(--active-left-rail) minmax(420px, 1fr) var(--active-right-rail)}.is-players-collapsed .players-rail{padding:var(--space-2)}.is-players-collapsed .players-rail-header{grid-template-columns:1fr;justify-items:center}.is-players-collapsed .players-rail-header .room-heading,.is-players-collapsed .players-rail-content{display:none}.is-players-collapsed .players-rail-collapsed{align-content:start;place-items:center;gap:var(--space-2);padding-top:var(--space-5);color:var(--ink-soft);display:grid}.is-players-collapsed .players-rail-collapsed strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1rem}.collapsed-team-scores{gap:var(--space-2);display:grid}.collapsed-team-score{border:1px solid var(--team-color);border-radius:var(--radius-sm);background:var(--team-soft);width:42px;color:var(--team-ink);place-items:center;padding:5px 3px;font-size:.62rem;display:grid}.collapsed-team-score strong{color:var(--team-ink)!important}.is-players-collapsed .players-rail-collapsed .collapsed-label{letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;font-size:.68rem}}.static-page{width:min(100%,960px);padding:var(--space-7) var(--page-gutter);margin-inline:auto}.prose{padding-top:var(--space-7)}.prose h1{font-size:clamp(2.5rem,5vw,4.8rem)}.prose h2{margin-top:var(--space-6)}.prose p{max-width:760px;color:var(--ink-soft);font-size:1.05rem}@media (width<=1180px){.game-layout{--active-left-rail:300px;--active-right-rail:300px;grid-template-columns:var(--active-left-rail) minmax(300px, 1fr) var(--active-right-rail)}.game-layout.is-players-collapsed{--active-left-rail:var(--reader-rail-collapsed);grid-template-columns:var(--active-left-rail) minmax(300px, 1fr) var(--active-right-rail)}.board-column{padding-inline:var(--space-5)}.player-list li.has-actions{grid-template-columns:1fr;gap:3px}.player-list li.has-actions .player-actions{justify-self:end}}@media (width<=900px){.catalog-layout,.entry-layout{gap:var(--space-6);min-height:auto;padding:var(--space-6) var(--page-gutter);grid-template-columns:1fr}.catalog-rail,.entry-rail{border:1px solid var(--line);border-radius:var(--radius-lg);width:auto;min-height:auto;position:static;overflow:visible}.catalog-content,.entry-content{grid-column:1;padding:0}.catalog-nav{margin:var(--space-5) 0 0;grid-template-columns:repeat(3,minmax(0,1fr))}.rail-note,.entry-steps{display:none}.game-grid{grid-template-columns:1fr}.game-layout{--active-left-rail:230px;--active-right-rail:230px;grid-template-columns:var(--active-left-rail) minmax(300px, 1fr) var(--active-right-rail)}.game-layout.is-players-collapsed{--active-left-rail:var(--reader-rail-collapsed);grid-template-columns:var(--active-left-rail) minmax(300px, 1fr) var(--active-right-rail)}.players-rail,.messages-rail{padding:var(--space-3)}.game-card,.game-card-featured{min-height:400px}.entry-rail{gap:var(--space-4)}}@media (width<=760px){:root{--page-gutter:16px;--header-height:60px}.header-inner{grid-template-columns:1fr auto}.header-promise{display:none}.page-shell-full{padding:0}.catalog-rail,.entry-rail{padding:var(--space-4)}.entry-layout{gap:var(--space-3)}.entry-rail{min-height:0;padding:var(--space-3)}.entry-rail>div{display:none}.page-header-copy{padding-top:var(--space-2);padding-bottom:var(--space-4)}.entry-form{gap:var(--space-4)}.catalog-nav{grid-template-columns:1fr}.catalog-hero{padding-bottom:var(--space-6)}.catalog-hero h1{font-size:clamp(2.6rem,13vw,4.25rem)}.game-card{min-height:360px}.game-card-copy{padding-top:80px}.game-card-copy h2{font-size:2.3rem}.catalog-footer,.entry-summary{grid-template-columns:1fr}.catalog-footer{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.entry-summary{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.entry-summary span{display:block}.entry-summary span+span{border-top:0;border-left:1px solid var(--line);padding-top:0}.game-main{padding:var(--space-3) var(--page-gutter) var(--space-5)}.players-rail-toggle{display:none}.game-layout{flex-direction:column;min-height:auto;display:flex}.players-rail,.messages-rail{width:100%;max-height:none;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);position:static}.board-column{padding:0}.players-rail{min-height:380px}.host-controls{margin-top:var(--space-5)}.messages-rail{grid-template-rows:auto auto 260px;grid-template-columns:1fr;display:grid}.messages-heading{padding:0 0 var(--space-4);border-right:0;border-bottom:1px solid var(--line)}.message-list{padding:var(--space-3) 0}.guess-form{padding:var(--space-3) 0;border-bottom:1px solid var(--line);border-left:0;grid-row:2}.message-feed{grid-row:3}.toast{right:var(--space-4);bottom:var(--space-4)}}@media (width<=480px){.brand-label{font-size:.95rem}.game-card,.entry-form{padding:var(--space-4)}.feature-list{gap:var(--space-2);display:grid}.connection-status>span:last-child{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.brand-mark span,.connection-dot,.team-marker,.waiting-pulse span{forced-color-adjust:none}.button,.form-control,.panel{border:1px solid canvastext}}
