.promotion-dialog{border:1px solid var(--line-strong);background:var(--panel);width:min(30rem,100vw - 2rem);color:var(--ink);border-radius:.75rem;padding:1.5rem}.promotion-dialog::backdrop{background:#19140f80}.promotion-dialog h2{margin:0 0 .5rem}.promotion-dialog p{color:var(--muted);line-height:1.5}.promotion-options{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1rem 0;display:grid}.promotion-choice{flex-direction:column;gap:.5rem;min-width:0;padding:.75rem .25rem;display:flex}.promotion-choice .piece{width:2.5rem;height:2.5rem;position:static;transform:none}.draw-claims{flex-basis:100%;gap:.5rem;display:grid}.draw-claims select{width:100%;min-width:0;max-width:100%;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:.25rem;padding:.5rem}.draw-claims small{color:var(--muted)}.game-controls [hidden]{display:none!important}.game-controls [disabled]{opacity:.55;cursor:wait}@media (width<=360px){.promotion-options{grid-template-columns:repeat(2,1fr)}}.history-shell{max-width:850px;margin:0 auto}.history-shell>p,.history-completed>p{max-width:72ch;line-height:1.6}.history-completed{border-top:1px solid var(--line-strong);margin:2.5rem 0 1.5rem;padding-top:1.5rem}.history-completed h2{margin-bottom:.75rem}.history-controls{flex-wrap:wrap;align-items:center;gap:.65rem;margin:1.25rem 0;display:flex}.history-controls select{background:var(--paper,#f4eee3);max-width:100%;color:inherit;border:1px solid;border-radius:.4rem;padding:.75rem}.history-controls button:disabled{opacity:.45;cursor:default}.history-board-frame{max-width:560px}.history-board{aspect-ratio:1;grid-template-columns:repeat(8,1fr);display:grid}.history-square{background:#e8ddc7;place-items:center;display:grid;position:relative}.history-square.is-dark{background:#aa9475}.history-square .piece{width:82%;height:82%}.history-square small{color:#34291e;font-size:clamp(.45rem,1.6vw,.7rem);position:absolute;bottom:1px;left:3px}.history-square .secret-marker{width:20%;height:35%;position:absolute;top:39%;left:42%}.history-list{padding:0;list-style:none}.history-list li{border-bottom:1px solid #aa9475;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 0;display:flex}.history-list li>div{flex:1;min-width:12rem}.history-list small{margin-top:.3rem;display:block}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#29251f;--muted:#70685d;--paper:#f4eee3;--panel:#fffaf2;--panel-strong:#fffdf8;--line:#d8cdbd;--line-strong:#aa9a84;--accent:#71342f;--accent-deep:#54221f;--accent-soft:#ead8ca;--gold:#bf8d31;--danger:#b92f37;--danger-deep:#741920;--focus:#176b94;--light-square:#eadfca;--dark-square:#9a7058;--board-edge:#4a382f;font-synthesis:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--paper);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 14% -10%, #bf8d311f, transparent 30rem), var(--paper);margin:0}body:has(dialog[open]){overflow:hidden}button,input{font:inherit}button:not(:disabled),a{cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a{color:inherit}h1,h2,p{margin-top:0}.skip-link{z-index:100;color:#fff;background:var(--accent-deep);border-radius:8px;padding:9px 12px;position:fixed;top:-100px;left:8px}.skip-link:focus{top:8px}.site-header{border-bottom:1px solid #70685d3d;flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:20px;width:min(100% - 32px,1120px);min-height:64px;margin:0 auto;display:flex}.brand{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:9px;font-weight:800;text-decoration:none;display:inline-flex}.site-header nav{flex-wrap:wrap;align-items:center;gap:0 16px;display:flex}.site-header nav .text-button{min-height:44px;color:var(--muted);text-underline-offset:.22em;white-space:nowrap;align-items:center;padding:8px 0;text-decoration:none;text-decoration-thickness:.08em;display:inline-flex}.site-header nav .text-button:is(:hover,:focus-visible,[aria-current=page]){color:var(--ink);text-decoration-line:underline}.brand-mark{filter:drop-shadow(0 1px 2px #2c191138);width:30px;height:30px;display:block}.site-main{width:min(100% - 32px,1120px);margin:0 auto;padding:40px 0 56px}.eyebrow,.label,.player-relation{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px;font-size:.72rem;font-weight:850}.lede{color:var(--muted);font-size:clamp(1rem,2vw,1.15rem);line-height:1.55}.text-button,.icon-button{min-height:44px;color:var(--muted);background:0 0;border:0;padding:8px 5px;font-weight:720}.text-button:hover{color:var(--ink)}.icon-button{flex:0 0 44px;width:44px;min-width:44px;min-height:44px;padding:0;font-size:1.65rem;line-height:1}.danger-text{color:#8d292f}.button{border:1px solid var(--line-strong);min-height:46px;color:var(--ink);background:var(--panel-strong);border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:10px 17px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 1px 1px #2d1d120d}.button:hover:not(:disabled){translate:0 -1px;box-shadow:0 5px 15px #2d1d121a}.button:active:not(:disabled){translate:0}.button:disabled{cursor:not-allowed;opacity:.42}.button-primary{border-color:var(--accent-deep);color:#fff;background:var(--accent)}.button-primary:hover:not(:disabled){background:var(--accent-deep)}.button-primary span{color:#ffffffb8;letter-spacing:.06em;font-size:.75rem}.button-large{min-height:54px;padding-inline:22px}.lobby-shell{grid-template-columns:minmax(0,1fr) minmax(330px,430px);align-items:center;gap:clamp(36px,8vw,100px);min-height:calc(100vh - 160px);display:grid}.lobby-copy{max-width:590px}.lobby-copy h1{letter-spacing:-.065em;max-width:560px;margin-bottom:20px;font-size:clamp(3rem,7vw,6.2rem);line-height:.9}.lobby-copy .lede{max-width:500px;margin-bottom:10px}.lede-secondary{max-width:500px;color:var(--muted);margin:0;font-size:.86rem;line-height:1.5}.identity-card,.game-reference,.showdown-list,.waiting-shell{border:1px solid var(--line);background:#fffaf2e0;border-radius:18px;box-shadow:0 18px 50px #3a271b14}.identity-card{padding:24px}.identity-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:21px;display:flex}.identity-line h2{letter-spacing:-.02em;margin:0;font-size:1.15rem}.rating{color:var(--muted);background:var(--accent-soft);border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800}.state-slot{border:1px solid var(--line);border-radius:10px;justify-content:space-between;gap:14px;margin-top:14px;padding:12px;text-decoration:none;display:flex}.state-slot span{gap:3px;display:grid}.state-slot small{color:var(--muted)}.state-slot-active{background:#fbedd7;border-color:#b88d57}.active-invite-recovery{gap:8px;margin-top:10px;display:grid}.active-invite-recovery p{color:var(--muted);margin:0;font-size:.76rem;line-height:1.45}.active-invite-recovery .button{width:100%}.danger-button{color:var(--danger-deep);border-color:#c98787}.lobby-actions{gap:12px;margin-top:20px;display:grid}.lobby-actions .button{width:100%}.quick-play-button{flex-direction:column;gap:3px}.quick-play-button small{font-size:.72rem;font-weight:500;line-height:1.3}.identity-save-link{color:var(--muted);text-underline-offset:.16em;margin-top:5px;font-size:.75rem;line-height:1.4;display:block}.identity-save-link:hover{color:var(--ink)}.lobby-rules-link{margin-top:20px}.invite-dialog{border:1px solid var(--line-strong);width:min(100% - 28px,460px);max-height:calc(100dvh - 24px);color:var(--ink);background:var(--panel-strong);border-radius:18px;margin:auto;padding:24px;overflow:auto;box-shadow:0 28px 100px #2d1c114d}.invite-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#251c16ad}.invite-dialog h2{letter-spacing:-.025em;margin-bottom:12px;font-size:1.5rem;line-height:1.15}.invite-dialog>p{color:var(--muted);font-size:.9rem;line-height:1.5}.invite-time-controls{border:0;gap:10px;margin:20px 0;padding:0;display:grid}.invite-time-controls legend{margin-bottom:8px}.invite-time-option{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.invite-time-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.invite-time-option:focus-within{outline:3px solid var(--focus);outline-offset:3px}.invite-time-option input{accent-color:var(--accent);flex:none;margin:0}.invite-time-option span{gap:5px;display:grid}.invite-time-option small{color:var(--muted);font-size:.8rem;line-height:1.4}.invite-dialog form>.button{width:100%}.invite-correspondence-note{margin:-6px 0 18px}.invite-choices{gap:6px;display:grid}.invite-choices .label{margin:0 2px}.invite-choices>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.invite-choices .button{width:100%;padding-inline:10px}.invite-choices .button span{color:var(--muted);font-size:.68rem;font-weight:750}.identity-note{color:var(--muted);margin:15px 3px 0;font-size:.76rem;line-height:1.45}.inline-notice{color:var(--accent-deep);background:#fff1dd;border:1px solid #cfaa77;border-radius:9px;margin:14px 0 0;padding:10px 12px;font-size:.8rem;line-height:1.4}.correspondence-dashboard{margin-top:2rem}.correspondence-dashboard h2{margin:.2rem 0}.correspondence-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 2rem;display:grid}.correspondence-group{min-width:0}.correspondence-group h3,.dashboard-invitations h3{align-items:center;gap:.5rem;font-size:1rem;display:flex}.correspondence-group .state-slot{align-items:flex-start;gap:.6rem}.correspondence-group .state-slot span{overflow-wrap:anywhere;min-width:0}.correspondence-group .state-slot strong{white-space:nowrap}.dashboard-invitation{border:1px solid var(--line);background:var(--panel);border-radius:9px;margin:.75rem 0;padding:0 .75rem .75rem}.dashboard-invitation .state-slot{border:0;padding-left:0;padding-right:0}@media (width<=760px){.correspondence-groups{grid-template-columns:1fr;gap:.5rem}}.account-shell{max-width:560px;margin:1rem auto 3rem;line-height:1.5}.account-shell h1{font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15}.account-form{gap:.7rem;margin:1.5rem 0;display:grid}.account-form label{font-weight:750}.account-form input:not([type=checkbox]){border:1px solid var(--line);width:100%;min-width:0;min-height:44px;font:inherit;background:var(--paper);color:var(--ink);border-radius:7px;padding:.7rem}.account-form small,.account-form p{color:var(--muted);margin:0}.account-remember{align-items:center;gap:.65rem;font-size:.85rem;display:flex}.account-remember input{width:18px;height:18px;accent-color:var(--accent)}.account-links{flex-wrap:wrap;gap:.8rem 1.2rem;font-size:.85rem;display:flex}.recovery-code{border:1px solid var(--line);background:var(--paper);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:8px;margin:1rem 0;padding:1rem;font-size:1.05rem;display:block}.rules-page{line-height:1.6}.rules-page>section{margin-top:2.5rem}.rules-page>header p,.rules-page>section>p,.rules-page>section>ul,.rules-page>section>ol{max-width:78ch}.rules-page>section>ul,.rules-page>section>ol{padding-left:1.5rem}.rules-page li+li{margin-top:.6rem}.rules-page>section>h2{letter-spacing:-.025em;margin-bottom:.85rem;font-size:1.4rem;line-height:1.2}.rules-page h3{margin-top:1.7rem;margin-bottom:.8rem}.rules-page .rule-visual{margin:0}.rule-square:has(.rule-piece:not(.is-white)) .rule-secret-marker{color:#fff8e8;filter:drop-shadow(0 1px #2d211a80)}.rules-dialog{border:1px solid var(--line-strong);width:min(100% - 28px,980px);max-height:calc(100dvh - 24px);color:var(--ink);background:var(--panel-strong);border-radius:21px;margin:auto;padding:clamp(18px,3vw,30px);overflow:auto;box-shadow:0 28px 100px #2d1c114d}.rules-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#251c16ad}.invitations-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.invitations-heading h3{margin:0}.invitations-heading .text-button{color:var(--accent);text-underline-offset:.18em;text-decoration:underline}.rules-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.rules-heading h1{letter-spacing:-.045em;max-width:760px;margin-bottom:18px;font-size:clamp(1.65rem,3.5vw,2.65rem);line-height:1.02}.rules-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.rule-card{border:1px solid var(--line);background:#f8f0e4;border-radius:13px;min-width:0;padding:12px}.rule-visual{background:#efe3cf;border:1px solid #a89175;border-radius:9px;align-content:center;place-items:center;gap:8px;min-height:218px;padding:10px;display:grid}.zoom-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:850}.zoom-caption{color:var(--muted);text-align:center;font-size:.68rem;font-weight:760}.rule-zoom{background:var(--light-square);border:3px solid #59483d;border-radius:6px;display:grid;overflow:hidden}.choose-zoom-window{aspect-ratio:1;background:#eadfc9;border-top:2px dashed #8d725f;border-bottom:3px solid #59483d;border-left:3px solid #59483d;border-right:2px dashed #8d725f;border-radius:5px 0 0;width:min(100%,210px);overflow:hidden}.choose-zoom-grid{border:0;border-radius:0;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);width:114.286%;height:114.286%;transform:translateY(-12.5%)}.move-zoom{aspect-ratio:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:min(100%,174px)}.reveal-zoom{aspect-ratio:3/2;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);width:min(100%,210px)}.rule-square{background:#eadfc9;place-items:center;min-width:0;min-height:0;display:grid;position:relative}.rule-square.is-dark{background:#a77d64}.rule-square small{z-index:6;color:#2d211ab8;font-size:.55rem;font-weight:850;position:absolute;bottom:2px;right:4px}.rule-square.is-dark small{color:#fff8ebc7}.rule-piece{z-index:2;color:#211d19;pointer-events:none;width:90%;height:90%;display:block;overflow:visible}.rule-piece.is-white{color:#fff8e8;stroke:#3c3129;stroke-width:.7px;paint-order:stroke fill}.rule-piece.is-ghost,.rule-piece.is-ghost~.rule-secret-marker{opacity:.32}.rule-secret-marker{z-index:5;color:#211d19;filter:drop-shadow(0 1px #fff0d7a6);pointer-events:none;width:28%;height:auto;display:block;position:absolute;top:29%;left:36%;overflow:visible}.rule-square.is-king-target:before{content:"";z-index:1;aspect-ratio:1;background:var(--accent);border-radius:50%;width:24%;box-shadow:0 0 0 1px #ffffff9e}.rule-square.is-king-target.is-pawn-target:before{border:2px solid var(--accent);background:0 0;width:48%;box-shadow:0 0 0 1px #ffffffb8}.rule-square.is-pawn-target:after{content:"↑";z-index:3;color:#315f3a;text-shadow:0 1px #fff8ea;font-size:clamp(1.2rem,2.4vw,1.7rem);font-weight:950;line-height:1;position:absolute;top:50%;left:50%;translate:-50% -55%}.rule-legend{color:var(--muted);justify-content:center;align-items:center;gap:6px;font-size:.7rem;font-weight:760;display:flex}.pawn-key{color:#315f3a;font-size:1rem;font-weight:950}.king-key{background:var(--accent);border-radius:50%;width:9px;height:9px;margin-left:7px}.is-reveal-origin:after{content:"→";z-index:4;width:86%;color:var(--accent-deep);text-align:center;text-shadow:0 1px #fff8ea;font-size:clamp(1.4rem,3vw,2rem);font-weight:950;line-height:1;position:absolute;top:50%;left:58%;translate:0 -50%}.is-reveal-destination{box-shadow:inset 0 0 0 3px #d8a73f}.reveal-caption{width:100%;min-width:0;color:var(--accent-deep);justify-content:center;align-items:baseline;gap:9px;font-size:.76rem;display:flex}.reveal-caption span{min-width:0;font-weight:800}.rule-copy{grid-template-rows:auto auto;grid-template-columns:23px minmax(0,1fr);gap:4px 7px;margin-top:10px;display:grid}.rule-number{aspect-ratio:1;color:#fff;background:var(--accent);border-radius:50%;grid-area:1/1;align-self:start;place-items:center;width:21px;height:21px;margin:0;font-size:.68rem;font-weight:900;line-height:1;display:grid}.rule-card h2,.rule-card h3{grid-area:1/2;align-self:center;margin:0;font-size:1rem;line-height:1.15}.rule-outcome{text-underline-offset:.18em;text-decoration-line:underline;text-decoration-thickness:.08em}.rule-card .rule-copy>p:last-child{color:var(--muted);grid-area:2/1/auto/-1;margin:0;font-size:.8rem;line-height:1.38}.rules-action{justify-content:space-between;align-items:center;gap:18px;margin-top:18px;display:flex}.rules-action p{color:var(--muted);margin:0;font-size:.78rem}.board-island{min-width:0}.board-status-row{justify-content:space-between;gap:10px;min-height:29px;padding:0 2px 7px;display:flex}.board-caption,.board-status{color:var(--muted);margin:0;font-size:.76rem;font-weight:720}.board-frame{background:var(--board-edge);border-radius:11px;padding:5px;box-shadow:0 16px 38px #34231a2e}.board{aspect-ratio:1;touch-action:manipulation;border-radius:6px;grid-template-rows:repeat(8,1fr);width:100%;display:grid;overflow:hidden}.board-row{grid-template-columns:repeat(8,1fr);min-width:0;min-height:0;display:grid}.square{min-width:0;min-height:0;color:var(--ink);background:var(--light-square);-webkit-tap-highlight-color:transparent;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.square.is-dark{background:var(--dark-square)}.square.is-selected{z-index:2;box-shadow:inset 0 0 0 4px var(--focus)}.square.is-legal:before{content:"";aspect-ratio:1;background:#324d397a;border-radius:50%;width:24%}.square.is-legal.has-piece:before{background:0 0;border:4px solid #5f2a25a3;width:auto;position:absolute;inset:6%}.square.is-threatened{z-index:3;box-shadow:inset 0 0 0 5px var(--danger-deep);background:#d83d45;animation:.9s ease-out threat-pulse}.square.is-drag-over{box-shadow:inset 0 0 0 4px var(--focus)}.square.is-last-move-from:after,.square.is-last-move-to:after{content:"";z-index:6;pointer-events:none;border:3px solid;border-radius:2px;position:absolute;inset:3px}.square.is-last-move-from:after{border-color:#d07a3f}.square.is-last-move-to:after{border-color:#c74743}.square.has-disclosed-secret{box-shadow:inset 0 0 0 3px #e2b85d}.board-island[aria-busy=true] .square{cursor:wait}.board[aria-readonly=true] .square{cursor:default}.piece-drag-source{z-index:1;pointer-events:auto;place-items:center;width:92%;height:92%;display:grid;position:relative}.piece{color:#211d19;pointer-events:none;width:100%;height:100%;display:block;overflow:visible}.piece.is-white{color:#fff8e8;stroke:#3c3129;stroke-width:.7px;paint-order:stroke fill}.secret-marker{z-index:4;filter:drop-shadow(0 1px #47382d59);pointer-events:none;width:28%;height:auto;display:block;position:absolute;top:29%;left:36%;overflow:visible}.secret-marker.is-on-white{color:#211d19}.secret-marker.is-on-black{color:#fff8e8}.secret-key{color:#7d3331;filter:none;width:15px;height:auto;display:block;overflow:visible}.coordinate{color:#281f19a6;pointer-events:none;font-size:clamp(.42rem,1.3vw,.6rem);font-weight:850;position:absolute;bottom:2px;right:3px}.is-dark .coordinate{color:#fff8ebb8}.threat-feedback{color:var(--danger-deep);background:#fff0ef;border:1px solid #d49498;border-radius:9px;gap:8px;margin-top:10px;padding:10px 12px;font-size:.82rem;display:flex}.selection-shell{width:min(100%,680px);margin:0 auto}.surface-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.surface-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.75rem,4vw,2.6rem)}.selection-count{color:var(--accent);margin:0;font-size:.9rem;font-weight:850}.selection-footer{justify-content:space-between;align-items:center;gap:20px;margin-top:18px;display:flex}.selection-footer p{max-width:420px;color:var(--muted);align-items:center;gap:9px;margin:0;font-size:.82rem;line-height:1.4;display:flex}.selection-footer .secret-key{flex:none}.game-shell{grid-template-columns:minmax(0,720px) minmax(260px,1fr);align-items:start;gap:24px;display:grid}.game-primary{min-width:0}.player-strip{border-left:3px solid #0000;justify-content:space-between;align-items:center;gap:15px;min-height:61px;padding:8px 12px;display:flex;container-type:inline-size}.player-strip.is-active{border-left-color:var(--accent);background:#fffaf294}.player-profile{gap:2px;min-width:0;display:grid}.player-identity{align-items:center;gap:10px;display:flex}.player-relation{color:var(--muted);margin:0;font-size:.62rem}.player-identity h2{margin:1px 0 0;font-size:.92rem}.captured-pieces{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:1px;margin-left:31px;display:flex}.captured-pieces[hidden]{display:none}.captured-piece{aspect-ratio:1;flex:none;width:clamp(30px,8.7cqi,62px);display:block;position:relative}.captured-piece .piece{width:100%;height:100%}.captured-piece .captured-secret-marker{width:28%;top:29%;left:36%}.color-disc{border:1px solid #463b32;border-radius:50%;flex:none;width:21px;height:21px;display:block}.color-disc-white{background:#fffdf7;box-shadow:inset 0 0 0 2px #e0d9cf}.color-disc-black{background:#292622;box-shadow:inset 0 0 0 2px #171513}.clock{font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:clamp(1.45rem,4vw,2rem);font-weight:820}.game-reference{position:sticky;top:16px;overflow:hidden}.connection-line{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:11px 15px;font-size:.74rem;display:flex}.connection-line .text-button{min-height:30px;margin-left:auto}.connection-dot,.presence-pulse{background:#497b54;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #497b541f}.connection-line.is-reconnecting .connection-dot{background:var(--gold)}.connection-line.is-offline .connection-dot{background:var(--danger)}.reference-heading{justify-content:space-between;align-items:end;gap:15px;padding:16px 17px 9px;display:flex}.reference-heading h2{margin:0;font-size:1.05rem}.reference-heading>span{color:var(--muted);font-size:.75rem;font-weight:750}.move-list{margin:0;padding:0 17px;list-style:none}.move-list li{border-top:1px solid var(--line);grid-template-columns:2rem 1fr 1fr;gap:7px;padding:9px 0;font-size:.78rem;line-height:1.3;display:grid}.move-list li>span:first-child{color:var(--muted);font-variant-numeric:tabular-nums}.move-list li.is-reveal{color:var(--accent-deep);background:#f5e4d1;border-radius:6px;margin-inline:-7px;padding-inline:7px}.move-list li strong{grid-column:2/-1;font-size:.72rem}.game-controls{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding:8px 13px;display:flex}.game-controls .text-button{font-size:.76rem}.result-shell{width:min(100%,960px);margin:0 auto}.result-heading{padding-right:150px;position:relative}.result-heading h1{letter-spacing:-.06em;margin-bottom:8px;font-size:clamp(2.3rem,6vw,4.5rem);line-height:.92}.result-heading>p:not(.eyebrow){color:var(--muted)}.series-tally{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:baseline;gap:7px;padding:9px 13px;font-size:.72rem;display:flex;position:absolute;top:10px;right:0}.series-tally b{color:var(--ink);font-size:1rem}.result-grid{grid-template-columns:minmax(0,620px) minmax(260px,1fr);align-items:start;gap:20px;display:grid}.showdown-list{padding:17px}.showdown-list h2{margin:0;font-size:1.05rem}.showdown-list ul{gap:0;margin:14px 0 0;padding:0;list-style:none;display:grid}.showdown-list li{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 0;font-size:.8rem;display:grid}.showdown-list li span:nth-child(2){gap:2px;display:grid}.showdown-list small{color:var(--muted)}.showdown-list li>strong{color:var(--accent);text-align:right;font-size:.68rem}.record-participants{border-bottom:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr) minmax(0,1fr);gap:7px;margin:0 17px;padding:8px 0 11px;display:grid}.record-participants>div{align-content:start;gap:1px;min-width:0;display:grid}.record-participants b{overflow-wrap:anywhere;font-size:.76rem;line-height:1.15}.record-participants small{color:var(--muted);font-size:.65rem;font-weight:720}.record-participants em{color:var(--accent);font-size:.64rem;font-style:normal;font-weight:760}.record-score{border-top:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.04em;margin:8px 17px 0;padding:12px 0 14px;font-size:1rem;font-weight:900}.result-actions{justify-content:center;gap:10px;margin-top:22px;display:flex}.rematch-dialog{border:1px solid var(--line-strong);width:min(100% - 24px,430px);color:var(--ink);background:var(--panel-strong);border-radius:17px;padding:24px;box-shadow:0 24px 80px #2d1c114d}.rematch-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#251c1699}.rematch-dialog h2{margin:0 0 8px;font-size:1.65rem}.rematch-dialog>p:not(.eyebrow){color:var(--muted);margin:0}.rematch-dialog>div{gap:8px;margin-top:20px;display:flex}.waiting-shell{width:min(100%,610px);margin:min(11vh,90px) auto 0;padding:clamp(22px,5vw,42px)}.waiting-shell.invitation-guest{margin-top:1rem}.invitation-quickstart{width:min(100%,980px);margin:2rem auto 0}.invitation-quickstart>h2{letter-spacing:-.03em;margin:0 0 1rem;font-size:1.7rem}.invitation-quickstart .rule-copy>p:last-child{font-size:.9rem;line-height:1.5}.waiting-shell h1{letter-spacing:-.055em;margin-bottom:12px;font-size:clamp(2rem,6vw,3.5rem);line-height:.95}.invite-link{border:1px solid var(--line);background:#f4e9d9;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:24px 0;padding:9px;display:grid}.invite-link code{min-width:0;color:var(--accent-deep);text-overflow:ellipsis;white-space:nowrap;align-self:center;padding:0 7px;font-size:.76rem;overflow:hidden}.invite-link-unavailable{color:var(--danger-deep);background:#fff0ef;border:1px solid #c98787;border-radius:12px;gap:3px;margin:24px 0;padding:13px;font-size:.8rem;display:grid}.invite-link-unavailable span{color:var(--muted);line-height:1.4}.progress-list{gap:0;margin:22px 0;padding:0;list-style:none;display:grid}.progress-list li{min-height:48px;color:var(--muted);border-top:1px solid var(--line);grid-template-columns:28px 1fr;align-items:center;gap:10px;font-size:.86rem;display:grid}.progress-list li span{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.7rem;display:grid}.progress-list li.is-complete{color:var(--ink)}.progress-list li.is-complete span{color:#fff;border-color:var(--accent);background:var(--accent)}.guest-progress,.queue-status{border:1px solid var(--line);background:#f7eddf;border-radius:11px;align-items:center;gap:12px;margin:24px 0;padding:14px;display:flex}.guest-progress small,.queue-status small{color:var(--muted);margin-left:auto}.queue-status div{gap:2px;display:grid}.queue-status small{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@keyframes threat-pulse{0%,to{filter:none}45%{filter:brightness(1.22);box-shadow:inset 0 0 0 5px var(--danger-deep), 0 0 0 4px #d83d454d}}@media (width<=840px){.lobby-shell{grid-template-columns:1fr;align-content:center;gap:30px;min-height:calc(100vh - 160px)}.lobby-copy{text-align:center;margin:0 auto}.lobby-copy h1{font-size:clamp(3rem,12vw,5.2rem)}.identity-card{width:min(100%,520px);margin:0 auto}.game-shell,.result-grid{grid-template-columns:1fr}.game-reference{position:static}.result-grid{width:min(100%,680px);margin:0 auto}.showdown-list{order:2}}@media (width<=620px){.site-header,.site-main{width:min(100% - 20px,1120px)}.site-header{min-height:54px;padding-top:8px}.site-header nav{justify-content:space-between;column-gap:10px;width:100%;font-size:.78rem}.site-main{padding:24px 0 38px}.brand-mark{width:24px;height:24px}.rules-dialog{border-radius:15px;width:calc(100% - 12px);max-height:calc(100dvh - 12px);padding:14px}.rules-heading h1{margin-bottom:12px;font-size:clamp(1.3rem,6.5vw,1.8rem)}.rules-grid{grid-template-columns:1fr;gap:7px}.rule-card{padding:9px;display:block}.rule-visual{min-height:220px;padding:9px}.choose-zoom-window{width:min(100%,220px)}.move-zoom{width:min(100%,188px)}.reveal-zoom{width:min(100%,220px)}.rule-copy{margin-top:10px}.rule-card h2,.rule-card h3{font-size:1rem}.rule-card .rule-copy>p:last-child{font-size:.78rem;line-height:1.35}.rules-action{margin-top:10px}.rules-action .button{flex:1;min-height:48px}.rules-action p{display:none}.surface-heading{flex-direction:column;align-items:start;gap:7px;margin-bottom:12px}.selection-footer{flex-direction:column;align-items:stretch;gap:12px}.selection-footer .button{width:100%}.board-frame{border-radius:8px;padding:4px}.player-strip{min-height:54px;padding-inline:7px}.game-shell{gap:15px}.game-primary .board-status-row{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.game-controls{background:var(--panel);position:sticky;bottom:0}.result-heading{text-align:center;padding-right:0}.series-tally{width:max-content;margin:13px auto 17px;position:static}.result-actions,.rematch-dialog>div{display:grid}.waiting-shell{margin-top:4vh;padding:22px 17px}.invite-link{grid-template-columns:1fr}.invite-link .button{width:100%}.guest-progress{grid-template-columns:auto 1fr;display:grid}.guest-progress small{grid-column:2;margin-left:0}.threat-feedback{z-index:30;flex-direction:column;align-items:flex-start;gap:2px;margin:0;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 10px 35px #49151840}}@media (width<=360px){.site-main{padding-top:18px}.lobby-shell{gap:20px}.lobby-copy h1{margin-bottom:12px;font-size:2.8rem}.lobby-copy .lede{margin-bottom:8px;font-size:.92rem}.identity-card{padding:17px}.rules-heading .icon-button{width:44px;min-height:44px}.showdown-list li{grid-template-columns:auto 1fr}.showdown-list li>strong{text-align:left;grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.button:hover:not(:disabled){translate:none}.skip-link{transition:none!important}.skip-link:focus{top:8px}.square.is-threatened{box-shadow:inset 0 0 0 5px var(--danger-deep);background:#d83d45!important;animation:none!important}}
