@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-ext-400-normal-DxX3B4s6.woff2)format("woff2"),url(/assets/lilita-one-latin-ext-400-normal-QROd2hfm.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2)format("woff2"),url(/assets/lilita-one-latin-400-normal-DXkechA3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-background:#022b32;--color-background-deep:#001b1d;--color-surface:#0b3b40;--color-border:#1e5458;--color-brand-teal:#026e6e;--color-primary:#eca634;--color-primary-hover:#ffd773;--color-text-primary:#fde7c5;--color-text-secondary:#b9c9c4;--color-text-disabled:#5e7a78;--color-ink:#1d2120;--color-success:#5bbf7a;--color-warning:#e09a3b;--color-error:#e5484d;--color-focus:#ffd773;--board-light:#f5e0bc;--board-dark:#2f8582;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-6:48px;--space-8:64px;--radius-button:10px;--radius-card:14px;--shadow-low:0 1px 2px #00000059;--shadow-medium:0 8px 24px #0006;--shadow-high:0 16px 48px #00000080;--font-display:"Lilita One", "Atkinson Hyperlegible", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--topbar:56px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--color-background);color:var(--color-text-primary);font:400 16px/24px var(--font-body);-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.display{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-text-primary);-webkit-text-stroke:1px var(--color-ink);text-shadow:0 3px 0 var(--color-brand-teal), 0 8px 24px #00000080;font-size:32px;font-weight:400;line-height:40px}.muted{color:var(--color-text-secondary);font-size:14px;line-height:20px}.row{gap:var(--space-2);flex-wrap:wrap;display:flex}.btn{min-height:48px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-button);font:700 16px/24px var(--font-body);cursor:pointer;border:0;justify-content:center;align-items:center;text-decoration:none;transition:background-color .15s ease-out;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-ink)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-brand-teal);color:var(--color-text-primary)}.btn-secondary:hover{background:var(--board-dark)}.btn-quiet{color:var(--color-text-primary);box-shadow:inset 0 0 0 1px var(--color-border);background:0 0}.btn-quiet:hover{background:var(--color-border)}.btn-danger{color:var(--color-text-primary);box-shadow:inset 0 0 0 2px var(--color-error);background:0 0}.btn-danger:hover{background:#e5484d29}.btn:disabled{color:var(--color-text-disabled);box-shadow:inset 0 0 0 1px var(--color-border);cursor:default;background:0 0}.btn-large{min-width:240px;font-size:18px}.text-link{color:var(--color-text-primary);text-underline-offset:4px}.text-link:hover{color:var(--color-primary-hover)}.topbar{height:var(--topbar);padding:0 var(--space-3);background:var(--color-background-deep);align-items:center;display:flex}.brand{border-radius:var(--radius-button);display:inline-flex}.brand img{width:auto;height:40px;display:block}.stage{min-height:100vh;min-height:100dvh;padding:var(--space-6) var(--space-3);isolation:isolate;background:var(--color-background-deep);place-items:center;display:grid;position:relative;overflow:hidden}.credit{right:var(--space-3);bottom:var(--space-2);align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-button);color:var(--color-text-secondary);background:#001b1db8;font-size:14px;line-height:20px;display:inline-flex;position:absolute}.credit img{width:auto;height:24px}.scene,.scene img{z-index:-2;width:100%;height:100%;position:absolute;inset:0}.scene img{object-fit:cover;object-position:center bottom}.stage:after{content:"";z-index:-1;background:radial-gradient(60% 60% at 50% 45%,#022b32b3,#022b3200 75%),linear-gradient(#001b1d59,#001b1d00 30% 70%,#001b1d80);position:absolute;inset:0}.home-card{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;width:100%;max-width:560px;display:flex}.home-form{display:contents}.code-join{gap:var(--space-2);text-align:left;flex-direction:column;width:100%;max-width:400px;display:flex}.home-more{justify-content:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;width:100%;display:flex}.dogman-pick{align-items:center;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.dogman-pick .segmented{flex-wrap:wrap;justify-content:center}.code-join label{color:var(--color-text-secondary);font-size:14px;line-height:20px}.code-row{gap:var(--space-2);display:flex}.code-input{width:0;min-width:0;min-height:48px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-background-deep);color:var(--color-text-primary);font:400 20px/28px var(--font-mono);letter-spacing:.08em;text-align:center;flex:1}.code-input::placeholder{color:var(--color-text-disabled)}.home-logo{filter:drop-shadow(0 16px 32px #00000073);width:min(480px,84vw);height:auto}.rule{background:var(--color-primary);border-radius:999px;width:64px;height:4px}.home-card .display{font-size:clamp(32px,5vw,40px);line-height:1.15}.tag{color:var(--color-text-secondary);font-size:18px;line-height:28px}.segmented{gap:var(--space-2);border:0;margin:0;padding:0;display:flex}.segmented legend{float:left;margin-right:var(--space-2);color:var(--color-text-secondary);align-self:center;font-size:14px;line-height:48px}.segmented label{min-height:48px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-button);box-shadow:inset 0 0 0 1px var(--color-border);cursor:pointer;background:#001b1d99;align-items:center;font-weight:700;display:inline-flex;position:relative}.segmented label.on{background:var(--color-brand-teal);box-shadow:inset 0 0 0 2px var(--color-text-primary)}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.error,.notice{padding:var(--space-2) var(--space-3);border-radius:var(--radius-button);background:var(--color-background-deep);box-shadow:inset 4px 0 0 var(--color-error);color:var(--color-text-primary);text-align:left}.page{min-height:100vh;min-height:100dvh}.game{--board:min(calc(100vw - 32px), calc(100dvh - var(--topbar) - 160px), 720px);grid-template-columns:var(--board);justify-content:center;gap:var(--space-2);padding:var(--space-3);grid-template-areas:"them""board""you""panel";display:grid}@media (min-width:768px) and (orientation:landscape){.game{--board:min(calc(100vw - 320px - 56px), calc(100dvh - 96px), 960px);grid-template-columns:var(--board) 320px;column-gap:var(--space-4);height:calc(var(--board) + 32px);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"board them""board panel""board you"}}.board-wrap{width:var(--board);height:var(--board);box-shadow:var(--shadow-medium);border-radius:4px;grid-area:board;position:relative;overflow:hidden}.skeleton-board{background:repeating-conic-gradient(var(--board-dark) 0 25%, var(--board-light) 0 50%) 0 0 / 25% 25%;opacity:.35}.game.loading{grid-template-areas:"board"}.sq{width:100%;height:100%}.sq:focus-visible{outline:2px solid var(--color-focus);outline-offset:-4px}.strip{align-items:center;gap:var(--space-2);min-height:56px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-low);flex-wrap:wrap;display:flex;position:relative}.strip-them{grid-area:them}.strip-you{grid-area:you}.strip.active{background:var(--color-brand-teal)}.strip.active:before{content:"";left:0;top:var(--space-2);bottom:var(--space-2);background:var(--color-primary);border-radius:999px;width:4px;position:absolute}.strip.active .strip-side,.strip.active .strip-presence{color:var(--color-text-primary)}.chip{width:16px;height:16px;box-shadow:inset 0 0 0 1px var(--color-ink);border-radius:50%}.chip-w{background:#fff}.chip-b{background:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-text-secondary)}.strip-name{align-items:center;gap:var(--space-2);font-weight:700;display:inline-flex}.strip-side,.strip-presence{color:var(--color-text-secondary);font-size:14px;line-height:20px}.strip-presence{padding:0 var(--space-2);box-shadow:inset 0 0 0 1px var(--color-border);border-radius:999px}.captured{flex-wrap:wrap;display:inline-flex}.cap{width:24px;height:24px;margin-right:-6px;display:inline-flex}.cap svg{width:100%;height:100%}.cap-b svg{filter:drop-shadow(0 0 1.5px #fde7c5e6)}.strip-turn{margin-left:auto;font-weight:700}.panel{gap:var(--space-3);min-height:0;padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-low);flex-direction:column;grid-area:panel;display:flex}.status{font-size:20px;font-weight:700;line-height:28px}.share{gap:var(--space-2);flex-direction:column;display:flex}.share label{color:var(--color-text-secondary);font-size:14px;line-height:20px}.share-row{gap:var(--space-2);display:flex}.share-row .btn{flex:1}.share input{width:100%;min-height:48px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-background-deep);color:var(--color-text-primary);font:400 14px/20px var(--font-mono)}.join-code{gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.join-code-label{color:var(--color-text-secondary);font-size:14px;line-height:20px}.join-code-value{color:var(--color-text-primary);font:400 28px/36px var(--font-mono);letter-spacing:.08em}.offer{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-button);background:var(--color-background-deep);box-shadow:inset 4px 0 0 var(--color-warning);flex-direction:column;display:flex}.offer p{font-weight:700}.moves{flex:1;min-height:0;max-height:240px;margin:0;padding:0;font-size:16px;line-height:24px;list-style:none;overflow-y:auto}@media (min-width:768px) and (orientation:landscape){.moves{max-height:none}}.moves li{align-items:start;column-gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:4px;grid-template-columns:16px 1fr;display:grid}.moves li .chip{margin-top:4px}.moves li:nth-child(odd){background:#001b1d59}.moves li.took .say{font-weight:700}.moves .who{color:var(--color-text-secondary)}.last-move{margin-top:calc(var(--space-2) * -1)}.last-move.hit{color:var(--color-warning);font-weight:700}.moves-empty{flex:1}.actions{gap:var(--space-2);flex-direction:column;display:flex}.actions .row>.btn{padding:var(--space-2) var(--space-3);white-space:nowrap;flex:1}.confirm{gap:var(--space-2);flex-direction:column;display:flex}.confirm p{font-weight:700}.banner{top:var(--space-2);z-index:20;padding:var(--space-1) var(--space-3);background:var(--color-warning);color:var(--color-ink);box-shadow:var(--shadow-medium);border-radius:999px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.overlay{z-index:30;padding:var(--space-3);background:#001b1db8;place-items:center;animation:.2s ease-out fade-in;display:grid;position:absolute;inset:0}.promo,.result-card{align-items:center;gap:var(--space-3);max-width:100%;padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface);text-align:center;flex-direction:column;display:flex}.promo{box-shadow:var(--shadow-medium)}.result-card{width:min(360px,100%);box-shadow:var(--shadow-high);animation:.3s ease-out rise}.result-card img{width:96px;height:96px}.result-card .row{justify-content:center}.overlay{overflow-y:auto}@media (max-width:767px),(max-height:560px){.result-card{gap:var(--space-2);padding:var(--space-3)}.result-card img{width:64px;height:64px}.result-card .display{font-size:24px;line-height:32px}.result-card .row{flex-wrap:nowrap;width:100%}.result-card .row>.btn{padding:var(--space-2) var(--space-3);white-space:nowrap;flex:1}}.promo-title{font-size:20px;font-weight:700;line-height:28px}.promo-row{gap:var(--space-2);display:flex}.promo-piece{width:64px;height:64px;padding:var(--space-1);border-radius:var(--radius-button);background:var(--board-light);cursor:pointer;border:0}.promo-piece:hover{background:var(--color-primary-hover)}.promo-piece svg{width:100%;height:100%}.notice-page{align-items:center;gap:var(--space-4);max-width:560px;padding:var(--space-8) var(--space-3);text-align:center;flex-direction:column;margin:0 auto;display:flex}.notice-page p{color:var(--color-text-secondary)}.notice-page .invite-side{color:var(--color-text-primary);font-size:20px;font-weight:700;line-height:28px}.note{max-width:400px;color:var(--color-text-secondary);font-size:14px;line-height:20px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.overlay,.result-card{animation:none}.btn{transition:none}}@media (orientation:portrait){.stage{padding-top:12vh;background:linear-gradient(#001b1d 0%,#022b32 55%,#022d35 100%);place-items:start center;padding-top:12dvh}.scene{height:auto;top:auto}.scene img{object-fit:contain;height:auto;display:block;position:relative;-webkit-mask-image:linear-gradient(#0000 0%,#000 35%);mask-image:linear-gradient(#0000 0%,#000 35%)}}@media (max-width:479px){.tag{font-size:16px;line-height:24px}.segmented legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.topbar{justify-content:space-between;gap:var(--space-3)}.topbar-plain{justify-content:flex-end}.topnav{align-items:center;gap:var(--space-1);min-width:0;font-size:14px;line-height:20px;display:flex}.topnav-me{min-width:0;margin-right:var(--space-2)}.topnav-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topnav-link{min-height:44px;padding:0 var(--space-2);color:var(--color-text-primary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;text-decoration:none;display:inline-flex}.topnav-link[aria-current=page]{box-shadow:inset 0 -2px 0 var(--color-primary)}.stage-under-bar{min-height:calc(100vh - var(--topbar));min-height:calc(100dvh - var(--topbar))}.who{align-items:center;gap:var(--space-2);min-width:0;font-weight:700;display:inline-flex}.who-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dot{width:12px;height:12px;box-shadow:0 0 0 2px var(--color-ink);border-radius:50%;flex:none}.strip-color{border-radius:2px;flex:none;width:4px;height:20px}.friends{align-items:center;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.friends-row{justify-content:center}.backdrop{isolation:isolate;background:var(--color-background-deep);position:relative}.backdrop-scene,.backdrop-scene img{z-index:-2;width:100%;height:100%;position:fixed;inset:0}.backdrop-scene img{object-fit:cover;object-position:center bottom;display:block}.backdrop:after{content:"";z-index:-1;background:radial-gradient(60% 60% at 50% 45%,#022b32b3,#022b3200 75%),linear-gradient(#001b1d59,#001b1d00 30% 70%,#001b1d80);position:fixed;inset:0}@media (orientation:portrait){.backdrop{background:linear-gradient(#001b1d 0%,#022b32 55%,#022d35 100%)}.backdrop-scene{height:auto;top:auto}.backdrop-scene img{object-fit:contain;height:auto;position:relative;-webkit-mask-image:linear-gradient(#0000 0%,#000 35%);mask-image:linear-gradient(#0000 0%,#000 35%)}}.account-page{padding:var(--space-3) var(--space-3) var(--space-6);justify-content:center;display:flex}.account-card{gap:var(--space-3);width:100%;max-width:400px;padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-medium);flex-direction:column;display:flex}.account-card .display{font-size:32px;line-height:40px}@media (max-height:700px){.account-card{padding:var(--space-3) var(--space-4)}}@media (max-height:700px) and (orientation:landscape){.stage{padding-top:var(--space-4);padding-bottom:var(--space-4)}}.account-card .tag{font-size:16px;line-height:24px}.field{gap:var(--space-1);flex-direction:column;font-weight:700;display:flex}.hint{color:var(--color-text-secondary);font-size:14px;font-weight:400;line-height:20px}.field-error{padding-left:var(--space-2);box-shadow:inset 3px 0 0 var(--color-error);color:var(--color-text-primary);font-size:14px;font-weight:400;line-height:20px}.input{width:100%;min-width:0;min-height:48px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-background-deep);color:var(--color-text-primary);font:400 18px/24px var(--font-body)}.input[aria-invalid=true]{border:2px solid var(--color-error)}.input-code,.input-pin{font-family:var(--font-mono);letter-spacing:.12em}.input::placeholder{color:var(--color-text-disabled)}.swatches{gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.swatches legend{width:100%;margin-bottom:var(--space-2);font-weight:700}.swatches label{cursor:pointer;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:relative}.swatches input{opacity:0;pointer-events:none;position:absolute}.swatch{width:32px;height:32px;box-shadow:0 0 0 2px var(--color-ink);border-radius:50%}.swatches label.on{box-shadow:inset 0 0 0 2px var(--color-text-primary)}.swatches label:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.swatches .field-error{width:100%}.account-switch{text-align:center}.account-switch .text-link{min-height:44px;padding:0 var(--space-1);align-items:center;display:inline-flex}.error-help{margin-top:var(--space-1);color:var(--color-text-secondary)}.lobby{gap:var(--space-3);max-width:720px;padding:var(--space-4) var(--space-3) var(--space-6);flex-direction:column;margin:0 auto;display:flex}.lobby .display{font-size:32px;line-height:40px}.lobby-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.lobby-status{padding:var(--space-2) var(--space-3);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text-primary);align-self:flex-start}.lobby-section h2{font:400 22px/28px var(--font-display)}.dogman-head{align-items:center;gap:var(--space-3);display:flex}.dogman-head img{flex:none;width:56px;height:56px}.lobby-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lobby-row{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-left:4px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-background);box-shadow:var(--shadow-low);flex-direction:column;display:flex}.lobby-row-main{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:48px;display:flex}.lobby-row-main>.btn,.lobby-row-main>.row{flex:none}.lobby-row-who{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.row-status{color:var(--color-text-secondary);font-size:14px;line-height:20px}.row-said{color:var(--color-text-primary)}.lobby-empty{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.incoming{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-brand-teal);box-shadow:inset 0 0 0 2px var(--color-primary), var(--shadow-medium);flex-wrap:wrap;display:flex}.incoming .btn-quiet{background:var(--color-background-deep);box-shadow:inset 0 0 0 1px var(--color-text-primary)}.theme-pick{gap:var(--space-3);flex-direction:column;display:flex}.theme-pick .segmented{flex-wrap:wrap}.dogman-pick .segmented legend{float:none;clip-path:none;width:100%;height:auto;margin:0 0 var(--space-1);text-align:center;padding:0;line-height:20px;position:static;overflow:visible}.theme-pick .segmented legend{float:none;clip-path:none;width:auto;height:auto;margin:0 0 var(--space-2);padding:0;line-height:20px;position:static;overflow:visible}.segmented label.off{color:var(--color-text-secondary);box-shadow:inset 0 0 0 1px var(--color-border);cursor:not-allowed;background:0 0}.soon{margin-left:var(--space-1);font-weight:400}.invite-code{font:400 24px/32px var(--font-mono);letter-spacing:.08em}.invite-code-small{font-family:var(--font-mono)}.used-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;font-size:14px;line-height:20px;list-style:none;display:flex}.admin-new{align-self:flex-start}.rename{gap:var(--space-2);padding:var(--space-1) 0;flex-direction:column;display:flex}.rename-line{align-items:center;gap:var(--space-2);display:flex}.rename-line .input{flex:1;width:0}@media (hover:none){.btn-primary:not(:disabled):hover{background:var(--color-primary)}.btn-secondary:not(:disabled):hover{background:var(--color-brand-teal)}.btn-quiet:not(:disabled):hover,.btn-danger:not(:disabled):hover{background:0 0}.incoming .btn-quiet:not(:disabled):hover{background:var(--color-background-deep)}.text-link:hover{color:var(--color-text-primary)}}@media (hover:hover){.topnav-link:hover{color:var(--color-primary-hover)}}@media (min-width:480px){.lobby-players{display:none}}@media (max-width:479px){.topnav-players{display:none}.topnav-name{max-width:88px}.account-card{padding:var(--space-3)}.stack-phone{flex-direction:column;align-items:stretch}.stack-phone>.row{flex-wrap:nowrap}.stack-phone>.row>.btn{padding:var(--space-2) var(--space-3);flex:1}.rename-line{flex-direction:column;align-items:stretch}.rename-line .input{width:100%}.rename-line .row>.btn{flex:1}}.standings{border-collapse:separate;width:100%;border-spacing:0 var(--space-2);font-variant-numeric:tabular-nums}.standings th{padding:0 var(--space-2);color:var(--color-text-secondary);text-align:left;font-size:14px;font-weight:700;line-height:20px}.standings td{padding:var(--space-2);background:var(--color-background);line-height:24px}.standings tr>td:first-child{border-left:4px solid;border-left-color:inherit;border-radius:var(--radius-button) 0 0 var(--radius-button)}.standings tr>td:last-child{border-radius:0 var(--radius-button) var(--radius-button) 0}.standings tr.mine td{background:var(--color-border)}.standings .num{text-align:right;white-space:nowrap;width:1%}.st-player{width:100%;max-width:0}.st-link{min-height:44px;color:var(--color-text-primary);align-items:center;text-decoration:none;display:flex}.st-link:hover .who-name{text-underline-offset:4px;text-decoration:underline}.st-streak{white-space:nowrap}.st-streak-sub{color:var(--color-text-secondary);padding-left:20px;font-size:14px;line-height:20px;display:none}.topnav-link{white-space:nowrap}.h2h{gap:var(--space-2);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.h2h div{padding:var(--space-2) var(--space-3);border-radius:var(--radius-button);background:var(--color-background)}.h2h dt{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:20px;overflow:hidden}.h2h dd{font:400 32px/40px var(--font-display);margin:0}.replay{gap:var(--space-3);max-width:1080px;padding:var(--space-3);flex-direction:column;margin:0 auto;display:flex}.replay-head{gap:var(--space-1);flex-direction:column;display:flex}.replay-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;font-size:20px;line-height:28px;display:flex}.replay-body{gap:var(--space-3);outline:none;flex-direction:column;display:flex}.replay-body:focus-visible{box-shadow:0 0 0 3px var(--color-focus);border-radius:var(--radius-card)}.replay-board{width:min(calc(100vw - 32px), calc(100dvh - var(--topbar) - 200px), 640px);min-width:280px;max-width:100%}.replay-side{flex:1;min-width:0}.replay-controls>.btn{padding:var(--space-2) var(--space-3);flex:1}.replay-moves{gap:var(--space-1) var(--space-3);max-height:240px;padding:0 0 0 var(--space-4);color:var(--color-text-secondary);font:400 14px/20px var(--font-mono);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:0;display:grid;overflow-y:auto}.replay-moves button{min-width:56px;min-height:32px;padding:0 var(--space-1);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px}.replay-moves button:hover{background:var(--color-border)}.replay-moves button.on{background:var(--color-primary);color:var(--color-ink)}@media (min-width:900px) and (orientation:landscape){.replay-body{flex-direction:row;align-items:flex-start}.replay-board{width:min(calc(100vw - 32px - 320px - 16px), calc(100dvh - var(--topbar) - 140px), 640px)}.replay-side{max-width:360px}}@media (max-width:479px){.st-games,.st-streak{display:none}.st-streak-sub{display:block}.st-link{min-height:32px}.h2h dd{font-size:24px;line-height:32px}.lobby-row-main{flex-wrap:wrap}.lobby-row-main>.btn{width:100%}}@media (max-width:379px){.topnav-name{display:none}}.theme-full{z-index:50;background:var(--color-background-deep);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.theme-backdrop{object-fit:cover;filter:blur(28px)brightness(.5);width:112%;height:112%;position:absolute;inset:-6%}.theme-video,.theme-poster{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}@media (min-aspect-ratio:3/2) and (max-aspect-ratio:11/5){.theme-video,.theme-poster{object-fit:cover}.theme-backdrop{display:none}}.theme-video.hidden{visibility:hidden}.intro-wait{align-items:center;gap:var(--space-3);width:min(420px,100% - 32px);padding:var(--space-4);border-radius:var(--radius-card);text-align:center;box-shadow:var(--shadow-high);background:#001b1df0;flex-direction:column;display:flex;position:relative}.intro-title{font-size:32px;line-height:40px}.progress{background:var(--color-border);border-radius:2px;width:100%;height:4px;overflow:hidden}.progress span{background:var(--color-primary);transform-origin:0;height:100%;transition:transform .2s ease-out;display:block}.intro-actions{right:var(--space-3);bottom:var(--space-3);gap:var(--space-2);display:flex;position:absolute}.intro-actions .btn-quiet,.clip-skip{background:#001b1db8}.intro-waiting{max-width:320px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--color-surface);text-align:center;box-shadow:var(--shadow-medium);font-weight:700}.theme-full.clip{cursor:pointer;transition:opacity .45s ease-in;animation:.35s ease-out fade-in}.theme-full.clip.leaving{opacity:0}.clip-caption{bottom:var(--space-6);width:max-content;max-width:calc(100% - 32px);padding:var(--space-2) var(--space-3);border-radius:var(--radius-button);color:var(--color-text-primary);text-align:center;background:#001b1dd1;font-size:20px;font-weight:700;line-height:28px;position:absolute;left:50%;transform:translate(-50%)}.clip-skip{top:var(--space-3);right:var(--space-3);min-height:40px;padding:var(--space-1) var(--space-3);position:absolute}@media (prefers-reduced-motion:reduce){.theme-full.clip{transition:none;animation:none}}.sound{gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.now-playing{column-gap:var(--space-2);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;display:grid}.meter{grid-row:1/3;align-items:flex-end;gap:2px;width:26px;height:22px;display:flex}.meter span{background:var(--color-primary);transform-origin:bottom;border-radius:1px;flex:1;height:100%;transform:scaleY(.12)}.meter.still span:nth-child(odd){transform:scaleY(.6)}.meter.still span:nth-child(2n){transform:scaleY(.35)}.now-label{color:var(--color-text-secondary);font-size:14px;line-height:20px}.now-title{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.sound-row{align-items:center;gap:var(--space-2);display:flex}.icon-btn{min-width:48px;padding:var(--space-2)}.icon-btn[aria-pressed=true]{color:var(--color-primary)}.volume{min-width:0;height:48px;accent-color:var(--color-primary);flex:1}
