@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-var.woff2) format("woff2");font-weight:400 800;font-display:swap;font-synthesis:none}:root{--bg:#E8EBF2;--surface:#F6F7FB;--panel:#EFF1F6;--ink:#1C2033;--muted:#5D6480;--line:#AEB6CB;--line-strong:#767F9C;--sq-light:#D3DAEA;--sq-dark:#56658F;--frame-light:#98A1BC;--frame-dark:#0D0F1C;--coord-on-light:#2A3150;--coord-on-dark:rgba(244,246,252,.64);--frame:var(--frame-light);--coord:var(--coord-on-light);--frame-grad:var(--frame-grad-light);--accent:#F0A824;--danger:#D7373F;--danger-text:#B3261E;--hl:#F7D154;--premove:#E5484D;--otb-bg:#E8EBF2;--otb-side:#F6F7FB;--otb-ink:#1C2033;--otb-active:#E8B64C;--otb-active-ink:#1C2033;--otb-low:#F0872E;--otb-flag:#B3261E;--otb-flag-ink:#FFFFFF;--otb-hint-op:.78;--otb-btn-bg:#F6F7FB;--otb-btn-ink:#1C2033;--otb-btn-line:#767F9C;--otb-btn-hover-line:#4A5372;--otb-btn-pressed-bg:#F6E2B4;--otb-btn-pressed-ink:#1C2033;--otb-dim:rgba(28,32,51,.32);--otb-setup-bg:#F6F7FB;--otb-s-bg:#E8EBF2;--otb-s-surface:#FFFFFF;--otb-s-ink:#1C2033;--otb-s-muted:#5D6480;--otb-s-line:#767F9C;--otb-paused:#8A5A00;--otb-chip-bg:#FFFFFF;--otb-chip-ink:#1C2033;--otb-chip-line:#AEB6CB;--white-piece:#FBFBFD;--white-edge:#1C2033;--black-piece:#151827;--black-edge:#EEF1F8;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--t-2xs:.72rem;--t-xs:.82rem;--t-sm:.88rem;--t-md:.92rem;--t-lg:1.02rem;--t-xl:1.15rem;--t-2xl:1.3rem;--t-3xl:1.6rem;--t-4xl:1.7rem;--pad-text:8px;--pad-btn-x:12px;--pad-btn-y:8px;--sheet-pad:20px;--card-pad:16px;--r-sm:10px;--r-md:12px;--r-lg:16px;--r-sheet:20px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-y:calc(var(--safe-t) + var(--safe-b));--safe-h:calc(100dvh - var(--safe-y));--tile-badge:#F6E7C4;--home-sky:#F5F6FA;--floor-a:#FFFFFF;--floor-b:#C9D0DE;--ray-a:.42;--hero-shade:rgba(28,32,51,.3);--hero-glow:radial-gradient(closest-side,rgb(255 243 196 / .9),rgb(255 238 180 / .84) 6%,rgb(252 222 150 / .7) 11%,rgb(248 204 110 / .55) 17%,rgb(243 184 70 / .42) 26%,rgb(240 169 40 / .33) 38%,rgb(240 169 40 / .28) 48%,rgb(240 169 40 / .17) 62%,rgb(240 169 40 / .07) 76%,rgb(240 169 40 / .02) 88%,rgb(240 169 40 / 0));--glow-y:.9;color-scheme:light;box-sizing:border-box;padding-top:var(--safe-t);padding-bottom:var(--safe-b);padding-left:var(--safe-l);padding-right:var(--safe-r)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141726;--surface:#1C2033;--panel:#181B2C;--ink:#E6E9F3;--muted:#9AA1BD;--line:#3B4466;--line-strong:#68729A;--frame:var(--frame-dark);--coord:var(--coord-on-dark);--frame-grad:var(--frame-grad-dark);--danger-text:#FF9AA0;color-scheme:dark;--tile-badge:#3A3320;--otb-bg:#0D1222;--otb-side:#1A2242;--otb-ink:#F2F4FA;--otb-active:#E8B64C;--otb-active-ink:#1C2033;--otb-low:#F0872E;--otb-flag:#B3261E;--otb-flag-ink:#FFFFFF;--otb-hint-op:.6;--otb-btn-bg:#131A33;--otb-btn-ink:#F2F4FA;--otb-btn-line:#2B355A;--otb-btn-hover-line:#4A5A8A;--otb-btn-pressed-bg:#223056;--otb-btn-pressed-ink:#FFFFFF;--otb-dim:rgba(5,8,16,.55);--otb-setup-bg:#0D1222;--otb-s-bg:#1A2242;--otb-s-surface:#131A33;--otb-s-ink:#F2F4FA;--otb-s-muted:#A9B2CE;--otb-s-line:#2E385E;--otb-paused:#E8B64C;--otb-chip-bg:#131A33;--otb-chip-ink:#F2F4FA;--otb-chip-line:#2E385E;--home-sky:#0F1428;--floor-a:#3A4670;--floor-b:#0B1030;--ray-a:.28;--hero-shade:rgba(0,0,0,.55);--hero-glow:radial-gradient(closest-side,rgb(255 232 160 / .55),rgb(250 196 92 / .341) 16%,rgb(236 150 48 / .143) 42%,rgb(236 150 48 / .044) 70%,rgb(236 150 48 / 0));--glow-y:.8}}:root[data-theme=dark]{--bg:#141726;--surface:#1C2033;--panel:#181B2C;--ink:#E6E9F3;--muted:#9AA1BD;--line:#3B4466;--line-strong:#68729A;--frame:var(--frame-dark);--coord:var(--coord-on-dark);--frame-grad:var(--frame-grad-dark);--danger-text:#FF9AA0;color-scheme:dark;--tile-badge:#3A3320;--otb-bg:#0D1222;--otb-side:#1A2242;--otb-ink:#F2F4FA;--otb-active:#E8B64C;--otb-active-ink:#1C2033;--otb-low:#F0872E;--otb-flag:#B3261E;--otb-flag-ink:#FFFFFF;--otb-hint-op:.6;--otb-btn-bg:#131A33;--otb-btn-ink:#F2F4FA;--otb-btn-line:#2B355A;--otb-btn-hover-line:#4A5A8A;--otb-btn-pressed-bg:#223056;--otb-btn-pressed-ink:#FFFFFF;--otb-dim:rgba(5,8,16,.55);--otb-setup-bg:#0D1222;--otb-s-bg:#1A2242;--otb-s-surface:#131A33;--otb-s-ink:#F2F4FA;--otb-s-muted:#A9B2CE;--otb-s-line:#2E385E;--otb-paused:#E8B64C;--otb-chip-bg:#131A33;--otb-chip-ink:#F2F4FA;--otb-chip-line:#2E385E;--home-sky:#0F1428;--floor-a:#3A4670;--floor-b:#0B1030;--ray-a:.28;--hero-shade:rgba(0,0,0,.55);--hero-glow:radial-gradient(closest-side,rgb(255 232 160 / .55),rgb(250 196 92 / .341) 16%,rgb(236 150 48 / .143) 42%,rgb(236 150 48 / .044) 70%,rgb(236 150 48 / 0));--glow-y:.8}:root[data-board=green]{--sq-light:#EEEED2;--sq-dark:#769656;--frame-light:#A9BC9C;--frame-dark:#33422A;--coord-on-light:#33422A;--hl:#F2E64B}:root[data-board=wood]{--sq-light:#E6C08A;--sq-dark:#9C6332;--frame-light:#BEA088;--frame-dark:#4E2F18;--hl:#C8E63C;--frame-grad-light:linear-gradient(150deg,#CCB197,#BEA088 55%,#A88468);--frame-grad-dark:linear-gradient(150deg,#7A4A26,#5A3218 55%,#3A1E0C);--coord-on-light:#2A1508;--coord-on-dark:#F4F6FC;--grain-light:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNDAnIGhlaWdodD0nMjQwJz48ZmlsdGVyIGlkPSdnJyB4PScwJyB5PScwJyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC4wMDggMC4yMicgbnVtT2N0YXZlcz0nMycgc2VlZD0nMycgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0nMCAwIDAgMCAwLjQyICAwIDAgMCAwIDAuMjIgIDAgMCAwIDAgMC4wNiAgMS41IDAgMCAwIC0wLjYyJy8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoI2cpJy8+PC9zdmc+);--grain-dark:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNDAnIGhlaWdodD0nMjQwJz48ZmlsdGVyIGlkPSdnJyB4PScwJyB5PScwJyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC4xNyAwLjAwNycgbnVtT2N0YXZlcz0nMycgc2VlZD0nOScgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0nMCAwIDAgMCAwLjEzICAwIDAgMCAwIDAuMDUgIDAgMCAwIDAgMC4wICAyLjQgMCAwIDAgLTAuODYnLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyBmaWx0ZXI9J3VybCgjZyknLz48L3N2Zz4=);--grain-frame:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0MDAnIGhlaWdodD0nNDAwJz48ZmlsdGVyIGlkPSdnJyB4PScwJyB5PScwJyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC4wMDQgMC4wOScgbnVtT2N0YXZlcz0nMycgc2VlZD0nNScgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0nMCAwIDAgMCAwLjA4ICAwIDAgMCAwIDAuMDMgIDAgMCAwIDAgMC4wICAyLjMgMCAwIDAgLTAuNzgnLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyBmaWx0ZXI9J3VybCgjZyknLz48L3N2Zz4=)}:root[data-board=wood] .frame{--fpad:clamp(10px,1.9vw,20px);background:linear-gradient(180deg,#fff0d72e,#fff0d700 38%),var(--grain-frame) center / 100% 100% no-repeat,var(--frame-grad);box-shadow:inset 0 1px #ffe8c861,inset 0 -2px #0000006b,inset 0 0 0 1px #00000059,0 26px 48px -22px #2d1606cc}:root[data-board=wood] .board{box-shadow:0 0 0 3px #2a1508,0 0 0 4.5px #e9c79a80,0 4px 12px 3px #14080080}:root[data-board=wood] .sq{background-repeat:no-repeat;background-size:100% 100%,300% 300%;background-position:0 0,var(--gx,0%) var(--gy,0%)}:root[data-board=wood] .sq.light{background-image:linear-gradient(var(--tone,100deg),rgba(255,248,235,.1),rgba(90,50,15,.05)),var(--grain-light)}:root[data-board=wood] .sq.dark{background-image:linear-gradient(var(--tone,100deg),rgba(255,225,190,.07),rgba(40,15,0,.12)),var(--grain-dark)}:root[data-board=wood] .sq:nth-child(3n+2){--gx:50%}:root[data-board=wood] .sq:nth-child(3n){--gx:100%}:root[data-board=wood] .row:nth-child(3n+2) .sq{--gy:50%}:root[data-board=wood] .row:nth-child(3n) .sq{--gy:100%}:root[data-board=wood] .sq:nth-child(4n+3){--tone:280deg}:root[data-board=dark]{--sq-light:#8A93A8;--sq-dark:#3F4553;--frame-light:#BEC2CA;--frame-dark:#0A0B0F;--coord-on-light:#0A0B0F;--hl:#F2C94C}:root[data-board=caravan]{--sq-light:#ECDAB6;--sq-dark:#C0774E;--frame-light:#D2AB98;--frame-dark:#3B2219;--coord-on-light:#3B2219;--hl:#2FB3BF}:root[data-board=arcade]{--sq-light:#DCD2EE;--sq-dark:#8C70B8;--frame-light:#B5A7D2;--frame-dark:#2A1E40;--coord-on-light:#2A1E40;--hl:#F7C548}:root[data-board=registan]{--sq-light:#DCE4E0;--sq-dark:#4F8A8E;--frame-light:#94B6BB;--frame-dark:#1E3A4C;--coord-on-light:#1E3A4C;--hl:#F0A030}:root[data-board=bazaar]{--sq-light:#EBD3CB;--sq-dark:#B86C7A;--frame-light:#CEA5B0;--frame-dark:#3E1C26;--coord-on-light:#3E1C26;--hl:#F2C14E}*,*:before,*:after{box-sizing:inherit}html,body{overflow-x:clip}html{height:100%;scroll-padding-top:var(--safe-t)}html{touch-action:manipulation}body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:400 16px/1.5 Bricolage Grotesque,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}html,body,#root,dialog{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.prose,.prose p,.prose li,input,textarea,.code-input,.name-input,.ed-pos input{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.room-code,.code-chip{user-select:all;-webkit-user-select:all;-webkit-touch-callout:default}.app{max-width:1180px;margin:0 auto;padding:clamp(10px,2.4vw,28px)}.top{display:flex;align-items:center;gap:4px 14px;flex-wrap:wrap;margin-bottom:clamp(10px,2vw,18px)}.brand-logo{flex:none;width:52px;height:52px;border-radius:13px;box-shadow:0 6px 16px -8px #0009,0 0 0 1px #e8b64c59}.top .brand-title{margin:0;font-size:clamp(1.55rem,3.4vw,2.3rem);font-weight:800;letter-spacing:-.035em;line-height:1;font-variation-settings:"opsz" 96}.top p{margin:0;color:var(--muted);max-width:60ch;align-self:center}.brand-home{display:flex;align-items:center;gap:inherit;min-width:0;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:start}@media(hover:hover){.brand-home:hover:not(:disabled){border:0;background:none}}.brand-home:active:not(:disabled){transform:none}@media(max-width:767px){.top{min-height:56px;gap:12px;flex-wrap:nowrap;padding-inline:16px;margin-inline:calc(50% - 50vw);margin-bottom:0;position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}.brand-logo{width:28px;height:28px;border-radius:8px;box-shadow:none}.top .brand-title{font-size:var(--t-xl);font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variation-settings:normal}.top p,.build-tag,body.tight .top{display:none}}@media(max-width:344px){.top .brand-title{font-size:var(--t-lg)}}.stage{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}@media(min-width:1000px),(min-width:900px)and (orientation:landscape)and (min-height:501px){.app{width:100%;max-width:none;padding:clamp(12px,1.5vw,24px)}.stage{--hdr:72px;--pad:clamp(12px,1.5vw,24px);--side-w:clamp(340px, calc(100vw - 100dvh + var(--hdr) - 24px), 460px);--board-col:min(calc(100dvh - var(--hdr) - 2*var(--pad)), calc(100vw - var(--side-w) - 24px - 2*var(--pad)), 1100px);grid-template-columns:var(--board-col) var(--side-w);gap:24px;align-items:stretch;justify-content:center}.stage>.play{width:var(--board-col)}}.frame{position:relative;--fpad:clamp(6px,1.2vw,12px);--gutter:clamp(12px,2.6vw,18px);width:100%;background:var(--frame);padding:calc(var(--fpad) + var(--gutter));border-radius:16px;box-shadow:0 1px #ffffff12 inset,0 22px 44px -22px #10142899}.frame:not(:has(.ranks)){--gutter:0px}.frame .ranks,.frame .files{position:absolute;display:grid;color:var(--coord);font-weight:700;font-size:clamp(9.5px,1.6vw,12px);line-height:1;pointer-events:none;user-select:none;-webkit-user-select:none}.frame .ranks{left:0;top:calc(var(--fpad) + var(--gutter));bottom:calc(var(--fpad) + var(--gutter));width:calc(var(--fpad) + var(--gutter));grid-auto-rows:1fr;place-items:center}.frame .files{bottom:0;left:calc(var(--fpad) + var(--gutter));right:calc(var(--fpad) + var(--gutter));height:calc(var(--fpad) + var(--gutter));grid-auto-flow:column;grid-auto-columns:1fr;place-items:center}.frame .ranks.far{left:auto;right:0}.frame .files.far{bottom:auto;top:0}.frame .ranks.far span,.frame .files.far span{display:inline-block}.frame .far.turn span{transform:rotate(180deg)}.board{position:relative;container-type:inline-size;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr);aspect-ratio:1;border-radius:8px;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;isolation:isolate}.row{display:contents}.sq{position:relative;display:grid;place-items:center;outline:none;min-width:0;min-height:0}.sq.light{background-color:var(--sq-light)}.sq.dark{background-color:var(--sq-dark)}.sq:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--hl);opacity:0;pointer-events:none}.sq.last:before{opacity:.45}.sq.dark.last:before{opacity:.55}:root[data-board=dark] .sq.light.last:before{opacity:.6}.sq.selected:before{opacity:.35}.sq.selected{box-shadow:inset 0 0 0 max(3px,.5cqi) var(--accent),inset 0 0 0 calc(max(3px,.5cqi) + .2cqi) color-mix(in srgb,var(--ink) 70%,transparent)}.sq.check:before{opacity:1;background:radial-gradient(circle,rgba(229,72,77,.95) 0 28%,rgba(229,72,77,.45) 55%,transparent 74%)}.sq:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.sq.move:after{background:radial-gradient(circle,rgba(17,20,38,.42) 0 15%,transparent 16.5%)}.sq.capture:after{background:radial-gradient(circle,transparent 0 58%,rgba(17,20,38,.42) 60% 70%,transparent 72%)}.sq.drop-target:after{box-shadow:inset 0 0 0 .5cqi var(--accent);background:#f0a82433}.sq.drop-target.premove:after{box-shadow:inset 0 0 0 .5cqi var(--premove);background:#e5484d2e}.sq.drop-target.illegal:after{box-shadow:inset 0 0 0 1cqi var(--muted);background:none;animation:none}.board.picking .sq.move,.board.picking .sq.capture{cursor:pointer}@media(hover:hover){.board.picking .sq.move:hover:after,.board.picking .sq.capture:hover:after{box-shadow:inset 0 0 0 .34cqi #f0a824e6}}.board .sq:focus-visible{outline:none;box-shadow:none}.board.kbd .sq:focus:after{box-shadow:inset 0 0 0 .3cqi #fff,inset 0 0 0 .6cqi #1c2033}.board .sq.selected:focus-visible{box-shadow:inset 0 0 0 max(3px,.5cqi) var(--accent),inset 0 0 0 calc(max(3px,.5cqi) + .2cqi) color-mix(in srgb,var(--ink) 70%,transparent)}.content{position:relative;z-index:1;grid-area:1/1;display:grid;place-items:center;width:100%;height:100%}.piece{font-size:var(--glyph,8.333cqi);line-height:1;font-style:normal;touch-action:none;cursor:default;display:inline-block}.piece.w{--fill:var(--white-piece);--edge:var(--white-edge);filter:drop-shadow(0 .25cqi .2cqi rgba(10,12,25,.35))}.piece.b{--fill:var(--black-piece);--edge:var(--black-edge);filter:drop-shadow(0 0 .12cqi rgba(236,236,236,.6)) drop-shadow(0 .25cqi .2cqi rgba(10,12,25,.3))}.piece.b:where(.arcade,.registan):where(:has(image)){filter:drop-shadow(0 .25cqi .2cqi rgba(10,12,25,.3))}@media(min-resolution:1dppx){@container (min-width:768px){.sq .piece.arcade image{image-rendering:pixelated}}}@media(min-resolution:1.5dppx){@container (min-width:512px){.sq .piece.arcade image{image-rendering:pixelated}}}@media(min-resolution:2dppx){@container (min-width:384px){.sq .piece.arcade image{image-rendering:pixelated}}}@media(min-resolution:2.5dppx){@container (min-width:307.2px){.sq .piece.arcade image{image-rendering:pixelated}}}@media(min-resolution:3dppx){@container (min-width:256px){.sq .piece.arcade image{image-rendering:pixelated}}}@media(min-resolution:3.5dppx){@container (min-width:219.5px){.sq .piece.arcade image{image-rendering:pixelated}}}@media(min-resolution:1.54dppx){.set-preview .piece.arcade image{image-rendering:pixelated}}.piece.svgp{vertical-align:middle}.piece.far{transform:rotate(180deg)}@media(min-width:1000px),(min-width:900px)and (orientation:landscape)and (min-height:501px){.piece.far,.frame .far.turn span{transform:none}}.flat-app .top{display:none}.play.flat>.flat-far{transform:rotate(180deg)}.play.flat:not(.flipped)>#clock-b{transform:rotate(180deg)}.play.flat.flipped>#clock-w{transform:rotate(180deg)}.play.flat .promo-card.far{transform:rotate(180deg)}.flat-far-result{justify-content:center;min-height:2.4em}.rules .mini{--glyph:2.4rem}.set-preview{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center;justify-content:center;min-height:56px;padding:var(--s2);background:var(--sq-dark);border:1px solid var(--line);border-radius:12px}.set-preview .piece{--glyph:2.6rem}.piece svg{display:block;width:1em;height:1em;overflow:visible;paint-order:normal}.board .sq .piece,.board .sq .piece *{pointer-events:none}.board .sq:has(.piece){touch-action:none}.board[data-turn=w] .sq:has(.piece.w),.board[data-turn=b] .sq:has(.piece.b){cursor:grab}.sq.drag-from .piece{opacity:.22}body.dragging,body.dragging *{cursor:grabbing!important}.ghost{position:fixed;left:0;top:0;z-index:50;pointer-events:none;display:grid;place-items:center;will-change:transform}.ghost[hidden]{display:none}.ghost .piece{--glyph:var(--cell);transform:scale(1.14)}.ghost.far .piece{transform:rotate(180deg) scale(1.14)}.ghost .piece{filter:drop-shadow(0 8px 10px rgba(10,12,25,.45))}.promo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#0d0f1c94;border-radius:16px;padding:16px;grid-template-columns:minmax(min-content,100%);place-content:center}.promo[hidden]{display:none}.promo-card{background:var(--surface);color:var(--ink);border-radius:14px;padding:min(18px,5.4cqh);display:grid;gap:min(14px,4.2cqh);width:min(100%,340px);box-shadow:0 20px 40px -16px #00000080}.promo-card p{margin:0;font-weight:600;font-size:var(--t-lg)}.promo{container-type:size}.promo-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.promo-opts button{height:clamp(44px,calc(50cqh - 56px),70px);min-width:0;padding:0;display:grid;place-items:center;background:var(--sq-light);border-color:transparent}.promo-opts button:hover{border-color:var(--accent)}.promo .piece{--glyph:min(3.6rem,calc((100cqw - 52px) / 3 - 8px), calc(50cqh - 64px) );cursor:pointer}.group{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);padding:var(--s5) var(--sheet-pad) var(--s4);min-width:0}.group+.group{border-top:1px solid var(--line)}.chip{flex:none;width:22px;height:22px;border-radius:50%;box-shadow:0 0 0 2px var(--ink) inset}.chip.w{background:#fbfbfd}.chip.b{background:#151827;box-shadow:0 0 0 2px #eef1f8 inset,0 0 0 1px var(--line)}.chip.draw{background:linear-gradient(90deg,#fbfbfd 50%,#151827 50%)}button{font:inherit;font-weight:600;font-size:var(--t-md);min-height:42px;padding:.55em .8em;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}button,a,[role=button],.sq{-webkit-tap-highlight-color:transparent}dialog.sheet>.sheet-handle,dialog.sheet>.sheet-head{touch-action:none}@media(hover:hover){button:hover:not(:disabled){border-color:var(--muted);background:color-mix(in srgb,var(--ink) 6%,var(--bg))}}button:active:not(:disabled){transform:translateY(1px)}button:disabled{color:var(--muted);border-color:var(--line);cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 4px var(--accent)}.toggles{display:grid;gap:12px}.tc-custom{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 60%,transparent)}.tc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tc-grid label{display:grid;gap:5px;font-size:var(--t-xs);font-weight:600;color:var(--muted);min-width:0}.tc-grid label:has(select){grid-column:1 / -1}.tc-grid input{min-height:42px;width:100%;font:inherit;font-size:var(--t-md);padding:0 .7em;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg);color:var(--ink)}.hint{margin:var(--s1) 0 0;color:var(--muted);font-size:var(--t-sm);line-height:1.4}.online-skew{margin:0 0 var(--s2);padding:var(--pad-text) var(--s3);border-radius:var(--r-sm);font-size:var(--t-sm);line-height:1.4;color:var(--danger-text);background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 40%,transparent)}.toggle{display:flex;align-items:center;gap:10px;font-size:var(--t-md);cursor:pointer;width:fit-content;max-width:100%}.toggle input{flex:none;width:18px;height:18px;accent-color:var(--accent);margin:0}.pane h2{margin:0;font-size:var(--t-lg);font-weight:700;letter-spacing:-.01em;color:var(--ink)}.field{display:grid;gap:var(--s2);min-width:0}.field>label,.field>.field-label{font-size:var(--t-sm);font-weight:600;color:var(--muted)}.sound-preview{display:grid;gap:var(--s2);margin-top:var(--s3)}.preview-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(6.4rem,calc((100% - var(--s2)) / 3 + 1px)),1fr));gap:var(--s2)}.preview-btn{min-height:40px;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px var(--pad-btn-x);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:var(--t-xs);line-height:1.15;white-space:nowrap;overflow:visible;text-overflow:clip;cursor:pointer}.preview-btn:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}@media(max-width:344px){.preview-btn{font-size:clamp(12px,3.6vw,13px);padding:0 8px}}.sound-preview .volume{display:grid;gap:var(--s2)}.sound-preview input[type=range]{width:100%;accent-color:var(--accent)}.field-row{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.field-row>.select{flex-basis:9rem}.field select{flex:1;min-width:0;min-height:44px;font:inherit;font-size:var(--t-md);line-height:1.2;padding:0 38px 0 .9em;border-radius:10px;border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;background:var(--bg);width:100%}.select{position:relative;display:flex;flex:1;min-width:0}.select:after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);pointer-events:none}.field select:hover{border-color:var(--muted)}.field select:disabled{opacity:.5;cursor:not-allowed}.field-row button{flex:none;min-width:6.8em;min-height:44px}.tray{display:flex;flex-wrap:wrap;gap:4px 5px;min-height:1.9rem;align-items:center}.empty{color:var(--muted);font-size:var(--t-md)}.mini{--glyph:1.75rem;touch-action:auto}.log{margin:0;padding:0 0 0 3em;max-height:230px;overflow:auto;font-variant-numeric:tabular-nums}.log li{padding:var(--s1) 0}.log li::marker{color:var(--muted)}.log>li.empty{list-style:none}.log:has(>li.empty){padding-left:0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ply{white-space:nowrap;padding:1px 6px;border-radius:6px;justify-self:start}.ply.skip{color:var(--muted)}.ply.latest{background:color-mix(in srgb,var(--accent) 26%,transparent);font-weight:600}.log .mini{--glyph:1.1rem;margin-right:5px;vertical-align:-2px}.log .mini.svgp{vertical-align:middle}.rules{margin:0;display:grid;gap:var(--s4);font-size:var(--t-md);line-height:1.45}.rules div{display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:start}.rules dt{line-height:1;padding-top:2px}.rules dd{margin:0;color:var(--muted)}.rules dd b{color:var(--ink);font-weight:600}.toggle:has(input:disabled){opacity:.5;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.history-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}dialog.export[open]{display:flex;flex-direction:column;inset:var(--safe-t) 0 var(--safe-b);max-height:calc(var(--safe-h) - 32px)}dialog.export[open] textarea{flex:1 1 auto;min-height:96px}dialog.export[open] .export-note{flex:none}dialog.export{width:min(580px,calc(100vw - 32px));border:none;border-radius:16px;padding:20px;background:var(--surface);color:var(--ink);box-shadow:0 24px 48px -16px #00000080}dialog.export::backdrop{background:#0d0f1c8c}dialog.export h2{margin:0 0 10px;font-size:var(--t-xl);font-weight:800;letter-spacing:-.01em}dialog.export textarea{width:100%;height:min(300px,50vh);resize:vertical;padding:10px 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg);color:var(--ink);font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.export-note{min-height:1.4em;margin:8px 0 12px;font-size:var(--t-md);color:var(--muted)}.export-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.export-actions button{min-width:7em}.export-actions .primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.export-actions .primary:hover:not(:disabled){opacity:.9}.pgn-buttons{display:flex;gap:8px}.export-note.error{color:var(--danger-text)}[hidden]{display:none!important}body.modal-closing .board{pointer-events:none}@media(pointer:coarse){.board,.piece{touch-action:none}}.play{display:flex;flex-direction:column;gap:10px;margin-inline:auto;min-width:0;width:min(100%,max(300px,calc(100vh - 330px)),760px);width:min(100%,max(300px,calc(100dvh - 330px)),760px)}.play>#clock-b{order:0}.play>.frame{order:1}.play>#clock-w{order:2}.play>.status-block{order:3}.play>.actions{order:4}.play.flipped>#clock-w{order:0}.play.flipped>#clock-b{order:2}@media(max-width:767px){body:not(.editing) .stage{--avail:calc(100dvh - 77px - var(--safe-y));min-height:var(--avail);grid-template-rows:1fr;align-items:stretch}body:not(.editing) .flat-app .stage{--avail:calc(100dvh - 20px - var(--safe-y))}.play:not(.editing):not(.flat)>.actions{margin-top:auto}.play.flat{justify-content:safe center}body.zen .play:not(.editing){justify-content:safe center}}.player{display:flex;align-items:center;gap:var(--s2);min-height:46px;padding:4px 4px 4px var(--s3);border-radius:12px;min-width:0;transition:background-color .2s}.player .chip{width:16px;height:16px}body.zen .player .chip.thinking{outline:2px solid var(--ink);outline-offset:2px;animation:think-cue 1.2s ease-in-out infinite}@keyframes think-cue{50%{outline-color:transparent}}@media(prefers-reduced-motion:reduce){body.zen .player .chip.thinking{animation:none}}.player .who{font-weight:700;font-size:var(--t-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}@media(orientation:landscape)and (max-height:500px){.player{flex-wrap:wrap}.player .who{flex:1000000 1 5em;max-width:max-content}}.player .adv{font-size:var(--t-xs);font-weight:700;color:color-mix(in srgb,var(--ink) 15%,var(--muted));font-variant-numeric:tabular-nums}.player .tray{flex:1 1 0;min-width:0;min-height:0;gap:0 1px;flex-wrap:nowrap;overflow:hidden}.player .tray:not(:empty){min-width:17px}.player .tray.many{min-width:24px}.player .tray-more{flex:none;font-size:var(--t-2xs);font-weight:700;color:var(--muted);margin-left:3px;font-variant-numeric:tabular-nums}.player .tray .mini{--glyph:1.55rem;margin-right:-7px}.player .tray .mini.b,.rules .mini.b,.score-table .mini.b{filter:drop-shadow(0 0 1px rgba(236,236,236,.85))}.player .tray .mini.b:where(.arcade,.registan):where(:has(image)),.rules .mini.b:where(.arcade,.registan):where(:has(image)),.score-table .mini.b:where(.arcade,.registan):where(:has(image)){filter:none}.player .time{margin-left:auto;flex:none;min-width:5.4em;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);text-align:center;font-size:var(--clock-fs,var(--t-2xl));font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums;transition:background-color .2s,border-color .2s}.player.active .time{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,var(--surface))}.player.low .time{color:var(--danger-text)}.player.out .time{color:var(--danger-text);border-color:var(--danger)}.time.low{color:var(--danger-text)}.time.out{color:var(--danger-text);border-color:var(--danger)}.play.paused .player.active .time{border-style:dashed;background:var(--surface)}.play.paused~.sidebar>.player.active{border-style:dashed}.play.untimed .time{display:none}.player .time.no-clock{font-size:var(--t-sm);font-weight:600;color:var(--muted);min-width:0;font-variant-numeric:normal;letter-spacing:0}.player.active .time.no-clock{color:var(--ink)}.play.untimed .player.active{background:color-mix(in srgb,var(--accent) 16%,transparent)}@media(min-width:1000px),(min-width:900px)and (orientation:landscape)and (min-height:501px){.sidebar{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;max-height:none;min-height:0;padding:0}.sidebar>#clock-b{grid-row:1}.sidebar>.side-mid{grid-row:2}.sidebar>#clock-w{grid-row:3}.sidebar.flipped>#clock-b{grid-row:3}.sidebar.flipped>#clock-w{grid-row:1}.side-mid{min-height:0;overflow:auto;display:flex;flex-direction:column}.side-mid.has-more-below{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 16px),transparent)}.sidebar>.player{min-height:64px;border:1px solid var(--line);background:var(--surface);padding:10px var(--bar-pad-x)}.sidebar>.player.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.sidebar>.player .time{min-width:2.6em;border:0;background:transparent;padding:0 6px 0 0}.sidebar>.player .time.no-clock{min-width:0}.side-controls .actions button{border-color:transparent;background:var(--surface)}.side-controls .actions button:hover:not(:disabled){border-color:var(--line)}.sidebar>.player{align-items:center}.sidebar>.player>*{align-self:center}.sidebar>.player .time{--clock-fs:clamp(24px,1.9vw,30px)}.side-mid>.side-controls{flex:0 0 auto}.side-mid>.side-controls:only-child{flex-shrink:1;min-height:0}.side-mid>#moves-section{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:auto}.side-mid>#moves-section>.moves-block{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.side-mid>#moves-section>.history-foot{flex:0 0 auto}.side-mid.moves-cramped>#moves-section{display:none}.side-mid.score-cramped>#moves-section>.score{display:none}@media(max-height:799px),(max-height:800px)and (min-width:1300px){.side-mid>.side-controls>.game-end{padding:var(--s2)}}.sidebar .log{flex:1 1 auto;min-height:2.2em;max-height:none;overflow:auto}.side-mid>#moves-section.has-more-below,.sidebar .log.has-more-below{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 16px),transparent)}.sidebar{--side-step:12px;--bar-pad-x:14px}body:not(.zen) .sidebar{gap:var(--side-step)}.sidebar .side-mid{gap:var(--side-step)}.sidebar .side-mid>.side-controls{padding:0;gap:var(--side-step)}.sidebar .side-mid>#moves-section{border-top:0;padding:0;gap:var(--side-step)}@media(max-height:800px){.sidebar{--side-step:var(--s2)}}.sidebar .side-controls>.status-block{min-height:0;min-width:0;column-gap:var(--s2);padding-inline:calc(var(--bar-pad-x) + 1px)}.sidebar .side-controls>.status-block>.chip{width:16px;height:16px;margin-top:1.5px}.sidebar .side-controls>.status-block strong{text-box-trim:trim-start;text-box-edge:text}.sidebar .side-controls>.status-block>div{min-width:0}.sidebar .side-controls .actions button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 5px var(--accent)}.sidebar .side-controls>.status-block .status{text-box-trim:trim-end;text-box-edge:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .side-controls>.status-block .status:empty:before{content:" "}.sidebar #moves-section h3,.sidebar #moves-section .pts{text-box-trim:trim-both;text-box-edge:text}.sidebar #moves-section>.score{gap:var(--side-step)}.sidebar #moves-section .moves-block h3{margin:0 0 calc(var(--side-step) - var(--s1) - 2.5px)}.sidebar .log{padding-left:0;list-style:none;counter-reset:move-row}.sidebar .log>li:not(.empty){counter-increment:move-row;display:flex;align-items:baseline}.sidebar .log>li:not(.empty):before{content:counter(move-row) ".";flex:0 0 3em;color:var(--muted)}.sidebar .log>li>.pair{flex:1 1 auto;min-width:0}.sidebar{--panel-pad:calc(var(--bar-pad-x) + 1px)}.sidebar #moves-section>.score{background:var(--panel);border-radius:var(--r-md);padding:var(--side-step) var(--panel-pad)}.sidebar #moves-section>:is(.moves-block,.review-note,.history-foot){background:var(--panel);padding-inline:var(--panel-pad)}.sidebar #moves-section>.moves-block{border-radius:var(--r-md) var(--r-md) 0 0;box-shadow:0 var(--side-step) 0 var(--panel)}.sidebar #moves-section>.review-note{margin:0;box-shadow:0 var(--side-step) 0 var(--panel)}.sidebar #moves-section>.history-foot{border-radius:0 0 var(--r-md) var(--r-md);padding-bottom:var(--side-step)}.sidebar #moves-section .moves-block h3{margin-top:var(--side-step)}.sidebar .log:has(>li.empty){display:flex;flex-direction:column;justify-content:center;max-height:none}.sidebar .log>li.empty{box-sizing:border-box;height:calc(2 * var(--s1) + 26px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}}.status-block{display:flex;gap:10px;align-items:flex-start;min-height:3.2em;padding:0 4px}.status-block .chip{width:18px;height:18px;margin-top:3px}.status-block strong{display:block;font-size:var(--t-lg);font-weight:800;letter-spacing:-.01em;line-height:1.3}.status{margin:2px 0 0;color:var(--muted);font-size:var(--t-sm);line-height:1.4}.actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--s2);container-type:inline-size}.actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s1);min-width:0;min-height:58px;padding:var(--pad-btn-y) var(--pad-btn-x);border-radius:var(--r-md);background:var(--surface);font-size:clamp(9px,2.7cqi,12.5px);font-weight:600;line-height:1.15}.actions svg,.close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.actions .lbl{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;line-height:1.1}.cancel-premove .n{font-size:var(--t-2xs);padding:0 .4em;border-radius:999px;background:#ffffff40}.sidebar{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:auto;max-height:calc(100dvh - 126px)}body.zen .sidebar{max-height:calc(100dvh - 66px)}.status-block:has(>.code-chip){display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;row-gap:0}.status-block:has(>.code-chip)>div{display:contents}.status-block>.code-chip{grid-area:1/3}.status-block:has(>.code-chip) .status{grid-column:2/-1}.side-controls .actions{grid-auto-flow:row;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s2)}.side-controls .actions button{grid-column:span 3;min-height:48px;padding:var(--s1) var(--s2);gap:2px;font-size:var(--t-xs)}@container (width >= 318px){.side-controls .actions button:nth-child(4n+1):nth-last-child(3),.side-controls .actions button:nth-child(4n+1):nth-last-child(3)~button{grid-column:span 4}.side-controls .actions button:nth-child(4n+1):nth-last-child(2),.side-controls .actions button:nth-child(4n+1):nth-last-child(2)~button{grid-column:span 6}.side-controls .actions button:nth-child(4n+1):last-child{grid-column:1/-1;flex-direction:row;justify-content:flex-start;gap:var(--s3);padding-inline:var(--s4)}}@container (width < 318px){.side-controls .actions button{grid-column:span 4}.side-controls .actions button:nth-child(3n+1):nth-last-child(2),.side-controls .actions button:nth-child(3n+1):nth-last-child(2)~button{grid-column:span 6}.side-controls .actions button:nth-child(3n+1):last-child{grid-column:1/-1;flex-direction:row;justify-content:flex-start;gap:var(--s3);padding-inline:var(--s4)}}.side-controls .actions .lbl{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:nowrap;line-height:1.1;font-size:12px}.side-controls .actions .lbl .long{display:inline}.side-controls .actions .act-clock .lbl .long{display:none}.sidebar .log{max-height:min(46vh,420px)}dialog.sheet{width:min(480px,calc(100vw - 32px));max-width:none;max-height:min(86dvh,760px);border:none;padding:0;border-radius:var(--r-sheet);background:var(--surface);color:var(--ink);box-shadow:0 24px 48px -16px #00000080;overflow:hidden}dialog.sheet[open]{display:flex;flex-direction:column}dialog.sheet::backdrop{background:#0d0f1c8c}dialog.sheet a{color:inherit;text-decoration:underline;text-underline-offset:3px}dialog.sheet.half{max-height:45dvh;top:auto;bottom:0;margin:auto auto calc(8px + var(--safe-b))}dialog.sheet.half::backdrop{background:none}@media(min-width:768px){dialog.sheet.half #moves-section>.score{display:none}dialog.sheet.half .sheet-body{display:flex;flex-direction:column}dialog.sheet.half .sheet-body>#moves-section{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}dialog.sheet.half #moves-section>.moves-block{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}dialog.sheet.half #moves-section .log{flex:1 1 auto;min-height:2.2em;max-height:none}}.sheet-handle{display:none}.sheet-head{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--sheet-pad);border-bottom:1px solid var(--line);container-type:inline-size}.sheet-head h2{margin:0;font-size:var(--t-xl);font-weight:800;letter-spacing:-.01em}.sheet-head .head-link:hover,.sheet-head .head-link:focus-visible{background:none;border:0}.sheet-head .head-link{flex:1 1 0;min-width:0;margin:0;padding:0;border:0;background:none;color:var(--ink);font-size:var(--t-xs);font-weight:400;line-height:1.25;text-align:right;text-wrap:balance;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.sheet-head:has(>.head-link){flex-shrink:0}@container (width < 16rem){.sheet-head>.head-link{order:1;flex-basis:100%;text-align:left}}.sheet-head h2:focus,.sheet-head h2:focus-visible{outline:none;box-shadow:none}.sheet-body{overflow:auto;overscroll-behavior:contain;scroll-padding-block:var(--s4)}.sheet-body.has-more-below{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 16px),transparent)}.nobreak{white-space:nowrap}.close{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;flex:none;padding:0;border-radius:999px}.close:focus:not(:focus-visible){outline:none}.pane h3{font-size:var(--t-md);font-weight:700;color:var(--ink);margin:0 0 var(--s2)}.score{display:grid;gap:12px}.score h3{margin:0}.credit{margin:0;padding:0 24px 18px;color:var(--muted);font-size:var(--t-xs);line-height:1.4}.credit a{color:inherit}.diagrams{display:grid;grid-template-columns:1fr;gap:var(--s4);justify-items:center;margin:var(--s1) 0}.diagrams figure{margin:0;display:grid;justify-items:center;gap:6px;max-width:100%}.diagrams .diagram-board{width:210px;max-width:100%;height:auto;border-radius:6px;border:1px solid var(--frame)}.diagrams figcaption{margin:0;font-size:var(--t-sm);text-align:left;max-width:52ch;line-height:1.4}.prose{max-width:65ch;line-height:1.55;margin:0}.prose p{margin:0 0 1em}.prose p:last-child{margin-bottom:0}.prose ul,.prose ol{margin:0;padding-left:1.4em}.prose li{margin:0 0 .6em}.prose li:last-child{margin-bottom:0}@media(max-width:767px){.app{padding:6px 8px 14px}.play{gap:8px}.frame{--fpad:5px;border-radius:12px}:root[data-board=wood] .frame{--fpad:8px}.board{border-radius:6px}dialog.sheet{width:calc(100% - 16px);max-height:min(88dvh,calc(var(--safe-h) - 24px));margin:auto 8px calc(8px + var(--safe-b));border-radius:var(--r-sheet)}dialog.sheet.half{max-height:37dvh;margin:auto 8px calc(8px + var(--safe-b))}.sheet-handle{display:block;flex:none;width:44px;height:5px;min-height:5px;margin:8px auto 0;border-radius:3px;background:color-mix(in srgb,var(--ink) 25%,transparent)}.sheet-head{min-height:44px}dialog.sheet[open]{animation:sheet-up .22s ease-out}}@keyframes sheet-up{0%{transform:translateY(28px);opacity:.5}to{transform:none;opacity:1}}@container (max-width:470px){.lbl .long{display:none}}@container (max-width:470px){.actions button{padding:var(--pad-btn-y) var(--pad-btn-x);min-width:48px}.actions .lbl{letter-spacing:-.02em}.cancel-premove{position:relative}.cancel-premove .lbl .txt{display:none}.cancel-premove .n{position:absolute;top:2px;right:2px;font-size:10px;line-height:1;padding:2px 5px;border-radius:999px;background:#ffffffe6;color:var(--danger)}}@container (max-width:430px){.actions button{font-size:clamp(10px,2.9cqi,12.5px);padding:var(--pad-btn-y) var(--pad-btn-x);letter-spacing:-.01em}}@container (max-width:330px){.actions .lbl{font-size:11px}}@container (width < 300px){.actions .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.actions button{gap:0}}@media(max-width:767px)and (orientation:portrait){body.tight .play:not(.editing):not(:has(.game-end,.waiting-card))>.frame{max-width:calc(100% - var(--tight-trim, 0px));margin-inline:auto}body.tight .play:not(.editing):has(>.game-end)>.frame{max-width:calc(min(100%,var(--res-cap)) - var(--tight-trim, 0px))}}@media(max-width:360px){.app{padding:6px 4px 10px}.frame{--fpad:4px}.play{gap:6px}.player{min-height:40px}.player .time{--clock-fs:var(--t-xl);padding:4px 10px}}@media(max-width:360px)and (orientation:portrait){.play:not(.editing)>.frame{max-width:calc(var(--safe-h) - 300px);margin-inline:auto}body.tight .play:not(.editing):not(:has(.game-end,.waiting-card))>.frame{max-width:calc(min(100%,var(--safe-h) - 226px) - var(--tight-trim, 0px))}}@media(max-width:344px){:root{--sheet-pad:16px}}@media(orientation:landscape)and (max-height:500px){dialog.sheet{width:min(480px,calc(100% - 16px));max-height:calc(var(--safe-h) - 16px);margin:auto auto calc(8px + var(--safe-b))}.sheet-body{overflow:auto;overscroll-behavior:contain}}@media(min-width:900px)and (min-height:540px){dialog.sheet.wide{width:min(920px,90vw);max-height:min(92vh,1000px)}.sheet.wide .diagrams{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.sheet.wide .sheet-body:has(>.settings-look)>.group>*{max-width:30rem}dialog.sheet.wide:has(.ng-group){height:min(92vh,42rem)}.sheet.wide .sheet-body:has(>.ng-group){flex:1 1 auto}.sheet.wide .ng-group{min-height:100%;grid-template-rows:auto minmax(0,1fr) auto;padding:var(--s4) var(--sheet-pad)}.sheet.wide .ng-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet.wide [data-grid=quick] .ng-tile{min-height:104px}.sheet.wide [data-grid=quick] .ng-tile:not(.ng-tile-action,[data-tile=custom]) .ng-tile-title{font-size:var(--t-4xl)}.sheet.wide .ng-form{grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:var(--s5);align-items:start}.sheet.wide .ng-computer{grid-template-areas:"level side" "clock start" "clock after";grid-template-rows:auto auto 1fr}.sheet.wide .ng-local{grid-template-areas:"clock side" "clock start" "clock after";grid-template-rows:auto auto 1fr}.sheet.wide .ng-level{grid-area:level}.sheet.wide :is(.ng-sidepick,.ng-pos){grid-area:side}.sheet.wide .ng-clock{grid-area:clock}.sheet.wide .ng-start{grid-area:start}.sheet.wide .ng-after{grid-area:after}.sheet.wide .ng-guide-link{justify-self:start;min-height:44px;padding:0 var(--s1);border:0;background:none;color:var(--ink);font-size:var(--t-sm);font-weight:400;line-height:1.3;text-align:left;text-decoration:underline;text-underline-offset:2px}.sheet.wide .ng-guide-link:hover{background:none}.sheet.wide .sheet-body:has(>.guide-diff){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;grid-template-areas:"diff win" "rules rules" "moves moves" "values values" "credit credit"}.sheet.wide .guide-diff{grid-area:diff}.sheet.wide .guide-win{grid-area:win}.sheet.wide .guide-rules{grid-area:rules}.sheet.wide .guide-moves{grid-area:moves}.sheet.wide .guide-values{grid-area:values;display:grid;grid-template-columns:minmax(min-content,4fr) minmax(0,7fr);column-gap:var(--s5);align-items:start}.sheet.wide .guide-values>:is(h3,p){grid-column:1 / -1}.sheet.wide .guide-values~.credit{grid-area:credit}.sheet.wide .rules{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s5)}.sheet.wide .rules>div,.sheet.wide .prose{max-width:70ch}.sheet.wide .score-table th,.sheet.wide .score-table td{padding:var(--s1) var(--s2)}.sheet.wide .score-table tbody th{white-space:nowrap}.sheet.wide .group{gap:var(--s3);padding-top:var(--s4);padding-bottom:var(--s3)}.sheet.wide .guide-win{border-top:0}.sheet.wide .sheet-body:has(>.settings-look){display:grid;grid-template:repeat(8,min-content) 1fr / repeat(2,minmax(0,1fr));align-items:start}.sheet.wide .sheet-body:has(>.settings-look)>*{grid-column:1}.sheet.wide .sheet-body>.settings-look{grid-area:1 / 2 / -1;border-top:0;border-left:1px solid var(--line)}}@media(prefers-reduced-motion:reduce){dialog.sheet[open]{animation:none}}.ed-palette,.ed-side{display:none}.play.editing>.player,.play.editing>.status-block,.play.editing>.actions{display:none}.play.editing>.ed-palette{display:grid}.play.editing>.ed-side{display:grid;gap:10px}.ed-bar,.ed-actions{display:grid}.play>#ed-pal-b{order:0}.play>#ed-pal-w{order:2}.play>.ed-side{order:3}.play.flipped>#ed-pal-w{order:0}.play.flipped>#ed-pal-b{order:2}.ed-palette{grid-template-columns:repeat(10,minmax(0,1fr));gap:var(--s2)}@media(max-width:360px){.ed-palette{gap:2px}}.pal{touch-action:none}.pal.tool svg{width:58%;height:58%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ed-castle{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) var(--s3)}.ed-castle .toggle{font-size:var(--t-sm)}.ed-castle .toggle:has(input:disabled){opacity:.45}.ed-pos{display:grid;gap:var(--s2)}.ed-pos label{font-size:var(--t-sm);font-weight:600;color:var(--muted)}.ed-pos input{flex:1;min-width:0;min-height:42px;font:.82rem/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:0 .7em;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg);color:var(--ink)}.ed-pos input.error{border-color:var(--danger)}.ed-pos button{min-width:5em}@media(max-width:767px){.ed-hint{display:none}}.pal{display:grid;place-items:center;aspect-ratio:1;min-height:0;max-height:58px;padding:0;border-radius:10px;background:var(--surface);container-type:inline-size}.pal .piece{--glyph:92cqi;cursor:pointer}.pal[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,var(--surface));box-shadow:inset 0 0 0 1px var(--accent)}.ed-bar{gap:8px}.ed-hint{margin:0;color:var(--muted);font-size:var(--t-sm);line-height:1.4}.ed-turn{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.ed-turn button{display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--t-md)}.ed-turn button[aria-checked=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.ed-turn .chip{width:14px;height:14px}.ed-status{margin:0;min-height:2.8em;font-size:var(--t-sm);line-height:1.4}.ed-status.ok{color:var(--ink);font-weight:600}.ed-status.error{color:var(--danger-text)}.ed-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2)}.ed-actions button{padding:var(--pad-btn-y) var(--pad-btn-x);background:var(--surface);font-size:var(--t-sm);line-height:1.2}.ed-actions .primary{grid-column:1 / -1;min-height:48px;background:var(--ink);color:var(--surface);border-color:var(--ink);font-size:var(--t-lg)}.ed-actions .primary:disabled{opacity:.35}.board.editing .sq{cursor:pointer}@media(max-width:520px){.ed-actions .long{display:none}}@media(max-width:767px)and (orientation:portrait){.app:has(>.stage>.play.editing){display:flex;flex-direction:column;height:var(--safe-h)}.app:has(>.stage>.play.editing)>.top{display:none}.app:has(>.stage>.play.editing)>.stage{flex:1 1 0;min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch}.play.editing{--ed-full:430px;--ed-min:290px;min-height:0}.play.editing>.frame{flex:none;margin-inline:auto;width:min(100%,max(calc(var(--safe-h) - var(--ed-full)),min(272px,max(248px,calc(var(--safe-h) - var(--ed-min))))))}.play.editing>.ed-side{flex:1 1 0;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:6px}.play.editing .ed-bar{min-height:0;overflow:auto;overscroll-behavior:contain;align-content:start;grid-auto-rows:max-content;gap:6px}.play.editing .ed-bar{animation:ed-more linear both;animation-timeline:scroll(self)}.play.editing .ed-status{order:-1;min-height:0}.play.editing .ed-turn button{white-space:nowrap;font-size:var(--t-sm)}.play.editing .ed-actions{gap:6px}@container ed-side (width >= 330px){.play.editing .ed-pos{margin-top:6px}}}@media(min-width:1000px),(min-width:900px)and (orientation:landscape)and (min-height:501px){.stage:has(>.play.editing){grid-template-columns:auto}.stage>.play.editing{display:grid;width:auto;column-gap:28px;row-gap:10px;align-items:start;grid-template-columns:min(calc(100vw - 450px),max(320px,calc(100vh - 290px)),700px) 340px;grid-template-columns:min(calc(100vw - 450px),max(320px,calc(100dvh - 290px)),700px) 340px}.play.editing>#ed-pal-b{grid-column:1;grid-row:1}.play.editing>.frame{grid-column:1;grid-row:2}.play.editing>#ed-pal-w{grid-column:1;grid-row:3}.play.editing.flipped>#ed-pal-w{grid-row:1}.play.editing.flipped>#ed-pal-b{grid-row:3}.play.editing>.ed-side{grid-column:2;grid-row:1 / span 3;align-self:start;max-height:calc(100dvh - 120px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}.play.editing .ed-actions{grid-template-columns:1fr 1fr}}.otb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);background:var(--otb-bg);color:var(--otb-ink);padding-top:var(--safe-t);padding-bottom:var(--safe-b);user-select:none;-webkit-user-select:none;touch-action:none;overflow:hidden}.otb[hidden]{display:none}.otb-side{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;margin:0;padding:12px;min-height:0;min-width:0;display:grid;place-content:center;gap:6px;text-align:center;cursor:pointer;background:var(--otb-face,var(--otb-side));color:var(--otb-ink);font:inherit;transition:background-color .12s;-webkit-tap-highlight-color:transparent}.otb-side:focus-visible{outline:3px solid var(--accent);outline-offset:-6px}#otb-side-b{order:0;transform:rotate(180deg)}.otb-bar{order:1}#otb-side-w{order:2}.otb.swapped #otb-side-w{order:0;transform:rotate(180deg)}.otb.swapped #otb-side-b{order:2;transform:none}.otb .otb-side:hover:not(:disabled){background:var(--otb-face,var(--otb-side))}.otb-side.active{--otb-face:var(--otb-active);color:var(--otb-active-ink)}.otb-side.low.active{--otb-face:var(--otb-low)}.otb-side.flag{--otb-face:var(--otb-flag);color:var(--otb-flag-ink)}.otb-time{display:block;font-size:clamp(3.2rem,19vw,7.5rem);font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.otb-name{font-size:var(--t-lg);font-weight:700;opacity:.85}.otb-moves{font-size:var(--t-md);opacity:.75}.otb-hint{font-size:var(--t-sm);opacity:var(--otb-hint-op)}.otb-side.active .otb-hint{opacity:.85}.otb-bar{display:flex;flex-direction:column;align-items:center;gap:var(--s2);padding:var(--s2);min-width:0}.otb-btns{display:flex;justify-content:center;flex-wrap:nowrap;gap:var(--s2);width:100%;min-width:0}.otb-bar button{flex:1;max-width:110px;min-width:0;min-height:54px;padding:var(--pad-btn-y) var(--s2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--otb-btn-bg);color:var(--otb-btn-ink);border-color:var(--otb-btn-line);border-radius:12px;font-size:var(--t-2xs);font-weight:600}@media(max-width:767px){.otb-btn-label{display:none}}.otb-lbl-l{display:none}@media(min-width:768px){.otb-lbl-s{display:none}.otb-lbl-l{display:inline}.otb-bar button.otb-btn-haslong{max-width:200px;flex:2}}.otb-bar button:hover:not(:disabled){border-color:var(--otb-btn-hover-line)}.otb-bar button[aria-pressed=true]{border-color:var(--otb-btn-hover-line);color:var(--otb-btn-pressed-ink);background:var(--otb-btn-pressed-bg)}.otb.setup-open .otb-side{opacity:.55}.otb-setup-dim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--otb-dim)}.otb-bar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.otb-setup{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:auto;padding:max(20px,var(--safe-t)) 20px max(20px,var(--safe-b));display:flex;flex-direction:column;gap:var(--s4);background:var(--otb-setup-bg);color:var(--otb-s-ink);--bg:var(--otb-s-bg);--surface:var(--otb-s-surface);--ink:var(--otb-s-ink);--muted:var(--otb-s-muted);--line:var(--otb-s-line)}.otb-setup[hidden]{display:none}.otb-setup h2{max-width:640px;width:100%;margin:0 auto 8px;position:static;font-size:var(--t-2xl);font-weight:800}.otb-help{margin:0;color:var(--muted);font-size:var(--t-md);line-height:1.45}.otb-presets{display:flex;flex-wrap:wrap;gap:var(--s2)}@media(max-width:480px){.otb-presets{display:grid;grid-template-columns:repeat(2,1fr)}}.otb-presets button{min-height:40px;padding:0 var(--s4);font-size:var(--t-sm);background:var(--bg);color:var(--ink);border-color:var(--line)}.otb-presets button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--bg))}.otb-setup .tc-custom{background:var(--surface)}.otb-setup-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:auto}.otb-setup-actions button{min-width:8em;background:var(--bg);color:var(--ink);border-color:var(--line)}.otb-setup-actions .primary{background:var(--accent);color:#1c2033;border-color:var(--accent)}.otb-help-paused{color:var(--otb-paused);font-weight:600}.otb-chip{align-self:center;flex:none;max-width:min(100%,320px);min-height:28px;display:inline-flex;align-items:center;padding:4px 12px;border-radius:14px;background:var(--otb-chip-bg);color:var(--otb-chip-ink);border:1px solid var(--otb-chip-line);font-size:var(--t-xs);font-weight:600;white-space:normal;text-align:center;text-wrap:balance}@media(min-width:768px){.otb-setup{justify-content:flex-start;inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,calc(100% - 48px));max-width:720px;max-height:calc(100% - 48px);border-radius:16px;box-shadow:0 24px 60px -20px #0009}.otb-setup>*{max-width:640px;width:100%;margin-inline:auto}.otb-setup-actions{justify-content:flex-start}}@media(orientation:landscape)and (max-height:500px){.otb{grid-template-rows:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}#otb-side-b{transform:rotate(90deg) scale(.9)}#otb-side-w{transform:rotate(-90deg) scale(.9)}.otb.swapped #otb-side-w{transform:rotate(90deg) scale(.9)}.otb.swapped #otb-side-b{transform:rotate(-90deg) scale(.9)}.otb-bar{flex-direction:column;padding:8px 4px}.otb-btns{flex-direction:column;width:auto}.otb-btn-label{display:block}.otb-bar button{max-width:none;width:78px}}.score-totals{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.side{display:flex;align-items:center;gap:8px}.side.right{justify-content:flex-end}.score .chip{width:16px;height:16px}.pts{font-size:var(--t-4xl);font-weight:800;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.diff{font-weight:600;font-size:var(--t-md);padding:.2em .65em;border-radius:999px;background:var(--bg);border:1px solid var(--line);white-space:nowrap}.bar{position:relative;height:10px;border-radius:999px;background:#151827;overflow:hidden;box-shadow:0 0 0 1px var(--line)}.bar span{display:block;height:100%;background:#fbfbfd;transition:width .25s ease}.bar:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--accent)}.score-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:var(--t-md);font-variant-numeric:tabular-nums}.score-table th,.score-table td{padding:var(--s2) var(--s2);text-align:right}.score-table thead th{color:var(--muted);font-weight:600}.score-table thead th:first-child{text-align:left}.score-table tbody th{text-align:left;font-weight:400}.score-table tbody th span:last-child{text-transform:capitalize;margin-left:6px}.score-table tbody tr+tr{border-top:1px solid var(--line)}.score-table .mini{--glyph:1.8rem}.score-table .mini.svgp{vertical-align:middle}@media(max-width:999px){.log{max-height:min(40dvh,320px)}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.seg{display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.seg button{flex:1 1 0;min-height:38px;min-width:max-content;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent;background:transparent;border-radius:9px;font-size:var(--t-md);padding:.3em .4em}@media(max-width:767px){.seg button{min-height:44px}}@media(max-width:360px){.seg button{font-size:var(--t-xs);padding:.3em .2em}}@media(max-width:344px){.seg button{font-size:max(12px,var(--t-2xs))}}.seg button[aria-selected=true]{background:var(--surface);border-color:var(--line-strong);box-shadow:0 1px 4px #0000001f;font-weight:700}.tabpanel-contents{display:contents}.lobby-primary{min-height:50px;background:var(--ink);color:var(--surface);border-color:var(--ink);font-size:var(--t-lg);border-radius:12px}.lobby-primary:hover:not(:disabled){opacity:.92}.ng-watch{width:100%;min-height:44px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;font-size:var(--t-sm);font-weight:700}.ng-watch:hover:not(:disabled){border-color:var(--accent)}.seg.ng-tabs{flex-wrap:nowrap;gap:var(--s1);padding:var(--s1);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-padding-inline:var(--s2);background:none;border:0;border-radius:0;box-shadow:inset 0 -1px 0 var(--line)}.seg.ng-tabs::-webkit-scrollbar{display:none}.seg.ng-tabs:after{content:"";flex:none;width:var(--s1)}.ng-tabs-wrap{display:contents}.seg.ng-tabs button{position:relative;flex:none;min-width:max-content;padding:.3em var(--s2);border:0;border-radius:var(--r-sm) var(--r-sm) 0 0;color:var(--muted);text-overflow:clip}@media(max-width:520px){.ng-tab-more{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.seg.ng-tabs button[aria-selected=true]{background:none;color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}.seg.ng-tabs button[aria-selected=true]:focus-visible{box-shadow:inset 0 -3px 0 var(--accent),0 0 0 4px var(--accent)}.ng-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);align-content:start;min-width:0}.ng-panel>.group{padding:0;border:0}:is(.ng-stack,.ng-form,.ng-online,.ng-after){display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);min-width:0}.ng-online{gap:var(--s3)}.ng-after{gap:var(--s2)}.ng-after>p{margin:0}.ng-field{display:grid;gap:var(--s2);min-width:0}.ng-label{font-size:var(--t-sm);font-weight:600;color:var(--muted)}.ng-quick-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s3);min-height:44px}.ng-quick-head .ng-label{color:var(--ink);font-size:var(--t-md)}.ng-counts{display:inline-flex;align-items:center;gap:var(--s2);color:var(--muted);font-size:var(--t-sm)}.ng-counts-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.ng-stop{min-height:44px}.ng-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(7.5rem,calc((100% - var(--s2)) / 2))),1fr));grid-auto-rows:1fr;gap:var(--s2)}:is(.ng-tile,.ng-chip,.ng-side){border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--bg);color:var(--ink)}.ng-tile{display:grid;align-content:center;justify-items:center;gap:var(--s1);min-width:0;min-height:72px;padding:var(--s2) var(--s3);text-align:center}.ng-tile-title{font-size:var(--t-2xl);font-weight:800;line-height:1.15;overflow-wrap:anywhere}.ng-tile:is(.ng-tile-action,[data-tile=custom]) .ng-tile-title{font-size:var(--t-lg)}.ng-tile-sub{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);font-size:var(--t-sm);font-weight:600;line-height:1.3;color:var(--muted);text-wrap:balance}:is(.ng-tile,.ng-chip,.ng-side)[aria-pressed=true]{border-color:var(--ink);background:color-mix(in srgb,var(--accent) 14%,var(--bg));box-shadow:inset 0 0 0 3px var(--accent)}:is(.ng-tile,.ng-chip,.ng-side)[aria-pressed=true]:focus-visible{box-shadow:inset 0 0 0 3px var(--accent),0 0 0 4px var(--accent)}.ng-tile[aria-pressed=true] .ng-tile-sub{color:var(--ink)}.ng-chips{display:flex;flex-wrap:wrap;gap:var(--s2)}.ng-chip{min-height:44px;padding:0 var(--s4)}.ng-sides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.ng-side{display:grid;justify-items:center;align-content:center;gap:var(--s1);min-width:0;min-height:72px;padding:var(--s2);font-size:var(--t-sm)}.ng-side .piece{--glyph:var(--t-4xl)}.ng-side-mark{display:grid;place-items:center;width:var(--t-4xl);height:var(--t-4xl);font-size:var(--t-2xl);font-weight:800}.ng-side-mark:before{content:"?"}.ng-form .ng-watch,.ng-stack .ng-watch{border:0;background:none;font-weight:600;text-decoration:underline;text-underline-offset:3px}.ng-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.ng-rated{margin:0;color:var(--muted);font-size:var(--t-sm);line-height:1.4}.sheet-foot{flex:none;display:grid;gap:var(--s1);padding:var(--s3) var(--sheet-pad);border-top:1px solid var(--line);background:var(--surface);text-align:center}.sheet-foot :is(.ng-ai-note,.ng-rated){margin:0;color:var(--muted);font-size:var(--t-xs);line-height:1.35}.sheet-foot .ng-watch{min-height:40px;border:0;background:none;font-weight:600;text-decoration:underline;text-underline-offset:3px}@media not all and (min-width:900px)and (min-height:540px){.sheet-body>.ng-group{padding-bottom:var(--s4)}}@media(max-width:520px){.ng-panel>:is(.ng-form,.ng-stack){gap:20px}.ng-tiles{gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(7.5rem,calc((100% - 10px)/2))),1fr))}.ng-level .hint{font-size:var(--t-sm)}:is([data-grid=computer],[data-grid=local]) .ng-tile{min-height:64px;padding-block:var(--s1)}.ng-side{min-height:64px;padding-block:var(--s1)}dialog.sheet .sheet-body>.ng-group{padding-top:var(--s3);row-gap:var(--s3)}}.room-code{display:flex;align-items:center;justify-content:center;min-height:64px;padding:12px 16px;border:2px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent) 10%,var(--bg));font:700 1.55rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.14em}.code-input{flex:1;min-width:0;min-height:44px;font:600 1rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;padding:0 .8em;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg);color:var(--ink)}.name-input{flex:1;min-width:0;min-height:44px;font:inherit;letter-spacing:0;padding:0 .8em;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg);color:var(--ink)}.pulse{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite;flex:none}@keyframes pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.pulse{animation:none}}.lobby-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr));gap:10px}.lobby-row:has(#online-tc){grid-template-columns:repeat(auto-fit,minmax(min(100%,8.2rem),1fr))}.lobby-row .field{min-width:0}.lobby-or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:var(--t-xs);font-weight:600}.lobby-or:before,.lobby-or:after{content:"";flex:1;height:1px;background:var(--line)}.code-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font:700 .88rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;cursor:pointer;min-height:30px}.code-chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.code-chip:hover{border-color:var(--accent)}.log .ply{border:none;background:transparent;color:inherit;font:inherit;min-height:0;cursor:pointer}@media(max-width:767px){.log .ply{min-height:44px}}.log .ply:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.log .ply.viewing{background:var(--accent);color:#1c2033;font-weight:700}body.zen .top,body.zen .status-block,body.zen .actions{display:none!important}body.zen .sidebar{display:none}body.zen .play>.field-row{display:none}body.zen .app{padding:clamp(6px,1vw,16px)}@media(min-width:1000px),(min-width:900px)and (orientation:landscape)and (min-height:501px){body.zen .stage{--hdr:0px;--pad:clamp(8px,1vw,16px);--board-col:min(calc(100dvh - 2*var(--pad)), calc(100vw - var(--zen-col,160px) - 16px - 2*var(--pad)), 1400px);grid-template-columns:var(--board-col) var(--zen-col,160px);gap:16px}body.zen .stage:has(>.sidebar>.side-mid :is(.game-end,.draw-offer-bar,.online-banner)){--zen-col:clamp(200px, calc(100vw - 100dvh - 16px) , 240px)}body.zen .sidebar{display:grid;padding-top:56px}body.zen .sidebar>.side-mid{display:none}body.zen .sidebar>.player{flex-wrap:nowrap;justify-content:center;gap:8px;align-items:center}body.zen .sidebar>.player .who,body.zen .sidebar>.player .adv,body.zen .sidebar>.player .tray{display:none}body.zen .sidebar>.player .time{--clock-fs:clamp(26px,2.8vh,38px);min-width:0;margin-left:0}body.zen .zen-toggle{top:12px;bottom:auto;right:16px;width:40px;height:40px}body.zen .sidebar:has(>.side-mid :is(.game-end,.draw-offer-bar,.online-banner)){justify-self:stretch}body.zen .sidebar:has(>.side-mid :is(.game-end,.draw-offer-bar,.online-banner))>.side-mid{display:flex;flex-direction:column;justify-content:safe center;overflow:auto;min-height:0}body.zen .side-mid:has(:is(.game-end,.draw-offer-bar,.online-banner))>:not(.side-controls){display:none!important}body.zen .side-mid .ge-row{flex-wrap:wrap}body.zen .side-mid .ge-row button{white-space:nowrap;padding-inline:var(--s2)}body.zen .sidebar .side-controls>.online-banner{padding:var(--s3);border:1px solid var(--line);border-radius:12px;background:var(--surface);reading-flow:grid-order}body.zen .sidebar .online-banner>.lbl{order:-2}body.zen .sidebar .online-banner>.banner-note{order:-1}body.zen .sidebar .online-banner:has(>button:nth-of-type(4))>button:is(:nth-last-of-type(4),:last-of-type){order:1}body.zen .sidebar .online-banner>button:only-of-type{grid-column:1/-1}body.zen .sidebar .draw-offer-bar:not(.review-bar){padding:var(--s3)}body.zen .sidebar .draw-offer-bar:not(.review-bar)>button{flex:1 1 0}}@media(min-width:1000px),(min-width:900px)and (orientation:landscape)and (min-height:501px){body:not(.zen) .sidebar{max-height:var(--board-col);min-height:0}body:not(.zen) .zen-toggle{top:calc(20px + var(--safe-t));bottom:auto;width:44px;height:44px}body:not(.zen) .top{padding-right:calc(58px + var(--safe-r))}body:not(.zen) .top p{flex:1 1 0;min-width:0}.sidebar{background:transparent;border-color:transparent;border-radius:0}}.zen-toggle{position:fixed;right:calc(14px + var(--safe-r));z-index:60;bottom:calc(16px + var(--safe-b));display:grid;place-items:center;width:56px;height:56px;min-height:0;padding:0;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 20px -8px #0000008c;opacity:.95}.zen-toggle:active{transform:scale(.92)}.zen-toggle:hover{opacity:1;border-color:var(--accent)}.zen-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}body.zen .zen-toggle{background:var(--accent);color:#1c2033;opacity:1;border-color:var(--accent)}body.zen .frame{--fpad:4px;--gutter:14px}@media(max-width:999px){.zen-toggle{width:44px;height:44px}.zen-toggle svg{width:20px;height:20px}.play.editing .ed-actions{padding-right:0}.app:has(.play.editing) .zen-toggle:not(.zen-exit),.app:has(.game-end) .zen-toggle:not(.zen-exit),.app:has(.waiting-card) .zen-toggle:not(.zen-exit),.app:has(dialog.sheet.half[open]) .zen-toggle:not(.zen-exit){display:none}}.zen-exit-txt{display:none}.review-bar{scroll-margin-bottom:96px}@media(max-width:767px){.app{padding-bottom:12px}.zen-toggle:not(.zen-exit){display:none}.zen-exit{top:calc(8px + var(--safe-t));bottom:auto;left:auto;right:16px;width:auto;height:auto;min-height:36px;padding:0 var(--s3);border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#1c2033}.zen-exit svg{width:16px;height:16px}.zen-exit .zen-exit-txt{display:inline}body.zen .stage{--zen-lane:52px;margin-top:var(--zen-lane)}body.zen:has(.app):not(:has(.game-end,.waiting-card)){padding-bottom:var(--safe-b)}}@media(min-width:768px)and (max-width:999px)and (orientation:portrait),(min-width:768px)and (max-width:899px){.app{padding-bottom:calc(60px + var(--safe-b))}.play{gap:8px}}@media(orientation:landscape)and (max-height:500px){.top{display:none}.app{padding-top:6px;padding-bottom:6px}.zen-toggle{top:calc(10px + var(--safe-t));bottom:auto;right:calc(10px + var(--safe-r))}.play:not(.editing)>.player{margin-right:60px}.play.flat:not(.editing)>.flat-far{margin-right:60px}.stage{grid-template-columns:1fr;gap:10px}.stage>.play:not(.editing){display:grid;align-items:start;gap:8px;width:100%;justify-self:stretch;grid-template-columns:calc(var(--safe-h) - 12px) minmax(0,1fr);grid-auto-rows:min-content}.play:not(.editing)>.frame{grid-column:1;grid-row:1 / span 5;width:calc(var(--safe-h) - 12px);max-width:calc(100vw - 150px)}.play:not(.editing)>*:not(.frame){grid-column:2;min-width:0;overflow-wrap:anywhere}.play:not(.editing)>.status-block{white-space:normal}.play:not(.editing)>.actions{grid-auto-flow:row;grid-template-columns:repeat(4,1fr)}.play.editing{display:grid;gap:8px;width:100%;justify-self:stretch;grid-template-columns:calc(var(--safe-h) - 24px) minmax(0,1fr);align-items:start}.play.editing>.frame{grid-column:1;grid-row:1 / span 3;width:calc(var(--safe-h) - 24px);max-width:calc(100vw - 150px)}.play.editing>*:not(.frame){grid-column:2;min-width:0;overflow-wrap:anywhere}.play.editing .ed-palette{grid-template-columns:repeat(8,minmax(0,1fr))}.play.editing .pal{min-width:0}.play.editing .ed-actions{position:sticky;bottom:0;background:var(--bg);padding-bottom:4px;padding-right:0}}@media(orientation:landscape)and (max-height:500px)and (max-width:767px){body:not(.zen) .play:not(.editing)>.player,body:not(.zen) .play.flat:not(.editing)>.flat-far{margin-right:0}}@media(min-width:768px)and (max-width:999px){.play.editing .ed-actions{position:sticky;bottom:calc(8px + var(--safe-b));background:var(--bg);z-index:5}.play.editing>.ed-side{padding-bottom:112px}}.blocked-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#0d0f1cb8;padding:20px}.blocked-card{background:var(--surface);color:var(--ink);border-radius:16px;padding:24px;display:grid;gap:12px;width:min(100%,420px);box-shadow:0 24px 48px -16px #00000080}.blocked-card h2{margin:0;font-size:var(--t-xl);font-weight:800}.blocked-card p{margin:0;color:var(--muted);line-height:1.45}.chunk-retry{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border-radius:12px;background:var(--surface);color:var(--ink);font-size:var(--t-sm)}.chunk-retry span{flex:1 1 12em}.chunk-retry.float{position:fixed;left:50%;bottom:calc(16px + var(--safe-b));transform:translate(-50%);z-index:75;width:min(calc(100% - 32px),420px);box-shadow:0 24px 48px -16px #00000080}.sq.presel{box-shadow:inset 0 0 0 .42cqi #e5484d}.sq.presel:before{opacity:.35;background:#e5484d}.sq.pretarget:after{background:radial-gradient(circle,rgba(229,72,77,.55) 0 15%,transparent 16.5%)}.sq.premove:before{opacity:.45;background:#e5484d}.board-shapes{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.shape-arrow{stroke:#15803d;stroke-width:.2;stroke-linecap:round;opacity:.9;filter:drop-shadow(0 0 .04px color-mix(in srgb,var(--sq-dark) 70%,#000))}.shape-arrow.red{stroke:#b3261e}.shape-arrow.blue{stroke:#1d6fd1}.shape-arrow.yellow{stroke:#c99a06}.shape-arrow.draft{opacity:.5}.shape-arrow.hint{stroke:var(--accent);opacity:.85;stroke-width:.22}.shape-circle{fill:none;stroke:#15803d;stroke-width:.11;opacity:.62}.player .offline{font-size:var(--t-xs);font-weight:700;color:var(--danger-text);white-space:nowrap}.build-tag{font-size:var(--t-2xs);font-weight:600;color:var(--muted);letter-spacing:0;padding:2px 6px;border:1px solid var(--line);border-radius:999px;vertical-align:.35em}.shape-arrow.premove{stroke:#9f6df0;opacity:.75}.resume-chip{margin-left:auto;min-height:38px;padding:8px 14px;flex:none}.review-bar{flex-wrap:wrap}.sheet-review-bar{padding:var(--s3) var(--sheet-pad) 0}.sheet-review-bar .review-bar{margin:0;flex-wrap:wrap}.review-bar button{min-height:34px;padding:8px 10px;font-size:var(--t-md)}.draw-offer-bar{order:3;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--accent) 18%,var(--surface));border:1px solid var(--accent);font-size:var(--t-md);font-weight:600}.draw-offer-bar span{flex:1}.draw-offer-bar button{min-height:36px;padding:.3em .9em;font-size:var(--t-sm)}@media(max-width:767px){.draw-offer-bar.review-bar button{min-height:44px}}.draw-offer-bar .accept{background:var(--ink);color:var(--surface);border-color:var(--ink)}dialog.confirm{width:min(400px,calc(100vw - 32px))}dialog.confirm-primary .export-actions{flex-wrap:wrap-reverse}@media(max-width:359px){dialog.confirm-primary .export-actions{flex-direction:column-reverse}}@media(max-height:300px){dialog.confirm[open]{padding:12px 14px;max-height:calc(var(--safe-h) - 12px)}dialog.confirm h2{margin-bottom:4px;font-size:var(--t-lg)}dialog.confirm[open] .export-note{flex:0 1 auto;min-height:0;overflow:auto;margin:0 0 8px!important;font-size:var(--t-xs);animation:ed-more linear both;animation-timeline:scroll(self)}dialog.confirm .export-actions{flex-wrap:nowrap}}@media(max-height:300px)and (max-width:299px){dialog.confirm[open]{width:calc(100vw - 16px);max-width:none}dialog.confirm .export-actions button{min-width:0;padding-inline:.6em;font-size:var(--t-sm)}}.danger-btn{background:var(--danger);color:#fff;border-color:var(--danger)}.danger-btn:hover:not(:disabled){border-color:var(--danger);opacity:.9}.actions .cancel-premove{color:#fff;background:var(--danger);border-color:var(--danger)}.actions .cancel-premove:hover:not(:disabled){border-color:var(--danger);opacity:.9}:is(.side-controls,.tier-head) .draw-offer-bar{flex-wrap:wrap}:is(.side-controls,.tier-head) .draw-offer-bar>span{flex:1 1 100%}body .draw-offer-bar.review-bar>span{flex:1 0 100%;white-space:nowrap}@media(min-width:1000px){.sidebar:has(.review-bar) .review-note{display:none}}.note-btn{min-height:34px;padding:8px 12px;font-size:var(--t-sm)}.ng-note{margin:0}.banner-btn{min-height:34px;padding:8px 12px;font-size:var(--t-sm)}.online-banner .reconnecting{color:var(--danger-text)}.online-banner{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:0 4px;order:3}.online-banner .lbl{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap;overflow:hidden}.online-banner .empty{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-banner .watch-pill{flex:none;white-space:nowrap;font-size:var(--t-xs);font-weight:600;color:var(--muted)}@media(max-width:420px){.online-banner .watch-pill{flex-basis:100%}}.sidebar .online-banner{grid-template-columns:1fr 1fr}.sidebar .online-banner .lbl{grid-column:1/-1}.sidebar .online-banner .banner-note{grid-column:1/-1;font-size:var(--t-sm);font-weight:600;color:var(--muted)}.online-banner .banner-btn{width:100%}.play>.online-banner:has(>button:nth-of-type(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.play>.online-banner:has(>button:nth-of-type(4))>.lbl{grid-column:1/-1}.play>.online-banner:has(>button:nth-of-type(4)){reading-flow:grid-order}.play>.online-banner:has(>button:nth-of-type(4))>button:is(:nth-last-of-type(4),:last-of-type){order:1}.more-sheet{display:grid;gap:var(--s3);padding:var(--s4) var(--sheet-pad) calc(var(--s4) + var(--safe-b))}.more-row{display:flex;align-items:center;gap:var(--s4);min-height:64px;width:100%;padding:var(--s4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);text-align:left}.more-row svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.more-row .more-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.more-row .more-text b{font-weight:700;font-size:var(--t-lg)}.more-row .more-text small{color:color-mix(in srgb,var(--muted) 55%,var(--ink));font-size:13px;line-height:1.3}.more-row.more-switch input{flex:none;width:40px;height:24px}.more-row.more-pos{flex-direction:column;align-items:stretch;gap:var(--s2)}.chip-row{display:flex;order:4}.chip-row .cancel-premove{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;background:var(--danger);border:1px solid var(--danger);color:#fff;font-weight:700;font-size:var(--t-md)}.chip-row .cancel-premove .n{font-size:var(--t-xs);line-height:1;padding:2px 7px;border-radius:999px;background:#fff;color:var(--danger-text)}.play>.game-end,.play>.waiting-card,.play>.game-end-strip{order:3}@media(max-width:767px){.actions button{min-height:56px;min-width:48px;gap:var(--s1);border-radius:var(--r-md);padding:var(--pad-btn-y) var(--pad-btn-x);font-size:12px;letter-spacing:0;font-weight:600;background:var(--surface)}.actions svg{width:22px;height:22px}.actions .act-more{background:var(--bg)}.play:has(.draw-offer-bar) .status-block{display:none}.play:has(>.chip-row)>.status-block{display:none}.play>.draw-offer-bar{padding-block:8px}.play:has(.game-end) .actions button,.play:has(.waiting-card) .actions button{min-height:44px}}.game-end{display:grid;gap:var(--s3);padding:var(--card-pad);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 32px -20px #00000073;animation:result-in .22s ease-out}.game-end.win{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.game-end.loss{background:color-mix(in srgb,var(--ink) 6%,var(--surface))}.game-end.draw{border-style:dashed}.ge-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ge-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}.game-end.loss .ge-badge:before{background:var(--muted)}.game-end.draw .ge-badge:before{background:var(--line)}.game-end h3{margin:4px 0 0;font-size:var(--t-2xl);line-height:1.15;font-weight:800;letter-spacing:-.01em;color:var(--ink)}.game-end .ge-why{margin:4px 0 0;font-size:var(--t-sm);line-height:1.4;color:var(--muted)}.ge-row{display:flex;gap:var(--s2)}.ge-row button{flex:1;min-height:48px;font-size:var(--t-lg);font-weight:700;border-radius:var(--r-md);padding:0 var(--s3)}.ge-row .ge-primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.ge-row .ge-primary:hover:not(:disabled),.ge-row .ge-primary:focus-visible,.ge-row .ge-primary:active,.lobby-primary:hover:not(:disabled),.lobby-primary:focus-visible,.lobby-primary:active,.export-actions .primary:hover:not(:disabled),.export-actions .primary:focus-visible,.export-actions .primary:active,.ed-actions .primary:hover:not(:disabled),.ed-actions .primary:focus-visible,.ed-actions .primary:active,.draw-offer-bar .accept:hover:not(:disabled),.draw-offer-bar .accept:focus-visible,.draw-offer-bar .accept:active{background:color-mix(in srgb,var(--ink) 88%,var(--surface));color:var(--surface);border-color:var(--ink)}.otb-setup-actions .primary:hover:not(:disabled),.otb-setup-actions .primary:focus-visible,.otb-setup-actions .primary:active{background:color-mix(in srgb,var(--accent) 86%,#000);color:#1c2033;border-color:var(--accent)}.ge-links{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4)}.ge-links button{min-height:40px;padding:0;border:1px solid transparent;background:none;color:var(--muted);font-size:var(--t-sm);font-weight:600;text-decoration:underline;text-underline-offset:3px}.ge-links button:hover,.ge-links button:focus-visible{background:none;border-color:transparent;color:var(--ink);text-decoration-thickness:2px;text-underline-offset:3px}.ge-links button:focus-visible{outline-offset:2px;border-radius:6px}.ge-note{margin:0;min-height:1.2em;font-size:var(--t-sm);line-height:1.3;color:var(--muted)}.ge-note:empty{min-height:0}.side-controls .game-end{padding:var(--s3)}.side-controls .game-end h3{font-size:var(--t-xl)}body:not(.zen) .side-controls>:is(.draw-offer-bar:not(.review-bar),.online-banner){order:0}body:not(.zen) .side-controls:has(>:is(.draw-offer-bar:not(.review-bar),.online-skew))>.status-block{display:none}.side-controls>.online-skew{margin:0}body:not(.zen) .side-controls .online-banner:has(.code-chip):not(:has(>button:nth-of-type(3))){grid-template-columns:minmax(0,1fr);grid-auto-flow:column;grid-auto-columns:auto}body:not(.zen) .side-controls .online-banner:has(.code-chip):not(:has(>button:nth-of-type(3))) .lbl{grid-column:auto}.side-controls .game-end>.ge-note:empty{position:absolute}@keyframes result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.game-end{animation:none}}.game-end-strip{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 14px;border-radius:12px;background:color-mix(in srgb,var(--ink) 6%,var(--surface));border:1px solid var(--line);font-weight:600;font-size:var(--t-md)}.game-end-strip span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-controls .game-end-strip>span{flex:1 1 0;white-space:normal;overflow-wrap:normal}.side-controls .game-end-strip>.note-btn{flex:none}.waiting-card{order:3;display:grid;gap:var(--s3);padding:var(--card-pad);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 32px -20px #00000073}.waiting-card .waiting-head{display:flex;align-items:center;gap:10px;font-weight:700}.waiting-card .room-code{font-size:var(--t-3xl);font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums}.waiting-card .waiting-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.waiting-card .waiting-actions button{min-height:44px;white-space:nowrap;padding:8px 10px;font-size:var(--t-sm)}@media(max-width:767px){:root{--card-pad:12px}.game-end,.waiting-card{gap:var(--s2)}.game-end h3{font-size:var(--t-lg)}.waiting-card .room-code{font-size:var(--t-2xl)}.ge-row button{min-height:44px}.ge-links button{min-height:40px}.play:has(.game-end)>.frame{--res-cap:max(calc(.5 * var(--safe-h)),calc(var(--safe-h) - 520px));max-width:var(--res-cap);margin-inline:auto}.play:has(.waiting-card)>.frame{max-width:max(180px,calc(var(--safe-h) - 340px));margin-inline:auto}.app:has(.game-end) .play,.app:has(.waiting-card) .play{overflow-y:auto}.app:has(dialog.sheet.half[open]) .play:not(.editing)>.frame{max-width:min(100%,calc(var(--safe-h) - 37dvh - 133px));margin-inline:auto}@media(min-height:569px){body.tight .app:has(dialog.sheet.half[open]) .play:not(.editing)>.frame{max-width:min(100%,calc(var(--safe-h) - 37dvh - 64px))}}@media(min-height:569px)and (min-width:361px){body.tight .app:has(dialog.sheet.half[open]) .play:not(.editing)>.frame{max-width:min(100%,calc(var(--safe-h) - 37dvh - 77px))}}}@media(max-width:767px)and (orientation:portrait)and (min-height:569px){.app:has(dialog.sheet.half[open]) .play:not(.editing):not(.flipped)>:not(#clock-b,.frame,dialog),.app:has(dialog.sheet.half[open]) .play.flipped:not(.editing)>:not(#clock-w,.frame,dialog){display:none}}@media(max-width:767px)and (orientation:portrait)and (max-height:568px){.app:has(dialog.sheet.half[open]) .play:not(.editing):not(.flipped)>:not(#clock-w,.frame,dialog),.app:has(dialog.sheet.half[open]) .play.flipped:not(.editing)>:not(#clock-b,.frame,dialog){display:none}}@media(max-width:767px),(orientation:landscape)and (max-height:500px){.play:has(>.waiting-card)>.online-banner:not(:has(.reconnecting,.banner-btn)){display:none}.play:has(>.waiting-card):not(.editing):not(.flipped)>#clock-b,.play:has(>.waiting-card).flipped:not(.editing)>#clock-w{display:none}.waiting-card .room-code{min-height:44px;padding:6px 12px}}@media(max-width:767px),(orientation:landscape)and (max-height:500px){.play>.game-end:has(>.ge-note:not(:empty)) .ge-sub{display:none}}@media(max-width:360px),(max-width:767px)and (max-height:760px)and (orientation:portrait){body:not(.zen) .play:has(>.game-end)>.online-banner:not(:has(.reconnecting)){display:none}.play.flat:has(>.game-end) .ge-links{display:none}}@media(max-width:767px){.play.flat>.flat-far>.flat-far-result{min-height:0}}@media(max-width:767px)and (max-height:568px){.play.flat>.game-end>.ge-note:empty{position:absolute}.play.flat>.game-end{padding:8px 12px 6px}.app:has(.play.flat>.game-end){padding-bottom:4px}}@media(max-width:360px){.play:has(.waiting-card)>.frame{max-width:max(180px,calc(var(--safe-h) - 322px))}}@media(max-height:568px){dialog.sheet.half{max-height:30dvh}.app:has(dialog.sheet.half[open]) .play:not(.editing):not(.flipped)>#clock-b,.app:has(dialog.sheet.half[open]) .play.flipped:not(.editing)>#clock-w{display:none}.app:has(dialog.sheet.half[open]) .play:not(.editing)>.frame{max-width:min(100%,calc(100dvh - 300px))}.game-end{gap:var(--s2);padding:12px 12px 10px}.play:has(.game-end){gap:2px}.group{gap:var(--s3);padding-top:var(--s4);padding-bottom:var(--s3)}.ng-watch{min-height:40px}.ng-ai-note{display:none}dialog.sheet:has(.head-link) .sheet-head{padding-block:var(--s2)}dialog.sheet:has(.head-link) .sheet-body>.group{padding-top:var(--s3)}dialog.sheet:has(.head-link) .sheet-body>.group{gap:var(--s2)}}@media(max-width:360px){.ge-row button{min-height:40px}.ge-links button{min-height:32px}}@media(max-width:360px)and (min-height:569px){.play:has(.game-end){gap:4px}}@media(max-width:767px)and (max-height:700px){.game-end .ge-links{display:none}}@media(max-width:767px)and (max-height:700px)and (orientation:portrait){.game-end{position:relative}.game-end .ge-links{display:flex;position:absolute;top:8px;right:12px;flex-wrap:nowrap;gap:0 var(--s2)}.game-end .ge-links>:nth-child(n+3){display:none}.game-end .ge-links button{min-height:24px;line-height:1.2;font-size:var(--t-xs);white-space:nowrap}}@media(max-width:767px)and (max-height:600px){.play:has(.game-end)>.player .tray{display:none}}@media(max-width:767px){.play:has(.game-end):not(.editing):not(.flipped)>#clock-b,.play:has(.game-end).flipped:not(.editing)>#clock-w{display:none}}@media(min-width:600px)and (max-width:999px)and (orientation:portrait){.play{max-width:min(100%,calc(100dvh - 330px))}.play:has(>.online-banner){max-width:min(100%,calc(100dvh - 375px))}.play:has(.draw-offer-bar){max-width:min(100%,calc(100dvh - 425px))}.play:has(>.game-end){max-width:min(100%,calc(100dvh - 440px))}.play>.frame{max-width:100%}body.zen .play{width:min(100%,calc(100dvh - 270px));max-width:none}body.zen .frame{--fpad:4px;--gutter:12px}.play>.game-end{order:2}}@media(min-width:768px)and (max-width:899px)and (orientation:landscape){body.zen .play{width:min(100%,calc(100dvh - 270px));max-width:none}}@media(orientation:landscape)and (max-height:500px){.game-end{padding:12px;gap:8px}.ge-links{min-height:32px}.play:has(>:is(.game-end,.waiting-card)):not(.editing):not(.flipped)>#clock-b,.play:has(>:is(.game-end,.waiting-card)).flipped:not(.editing)>#clock-w{display:none}.play:has(>:is(.game-end,.waiting-card)):not(.editing)>.actions{grid-auto-flow:column;grid-template-columns:none}.play:has(>:is(.game-end,.waiting-card)):not(.editing)>.actions button{min-height:44px;padding:4px 6px;gap:2px}.play:not(.editing)>.game-end{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 12px}.play:not(.editing)>.game-end>:first-child{flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.play:not(.editing)>.game-end h3{margin:0;font-size:var(--t-lg)}.play:not(.editing)>.game-end .ge-why{flex:1 0 100%;margin:0}.play:not(.editing)>.game-end .ge-row{flex:0 0 auto}.play:not(.editing)>.game-end .ge-row button{flex:0 0 auto;min-height:44px;min-width:96px;padding:0 var(--s3);font-size:var(--t-md);white-space:nowrap}.play:not(.editing)>.game-end .ge-links{flex:1 1 0;min-width:0;flex-wrap:nowrap;gap:10px}.play:not(.editing)>.game-end .ge-links button{flex:0 1 auto;min-height:44px;line-height:1.2;text-align:left;overflow-wrap:normal}.play:not(.editing)>.game-end .ge-note{flex:1 0 100%}.play:not(.editing)>.waiting-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 8px;padding:10px 12px}.play:not(.editing)>.waiting-card>:not(.room-code,.waiting-actions){grid-column:1 / -1}.play:not(.editing)>.waiting-card>:is(.room-code,.waiting-actions){grid-row:3}.play:not(.editing)>.waiting-card .room-code{min-height:44px;padding:4px 10px;font-size:var(--t-lg)}.play:not(.editing)>.waiting-card .waiting-actions button{padding:8px 6px;font-size:var(--t-xs)}dialog.sheet.half{width:min(480px,calc(100% - var(--safe-h) - 16px));max-height:calc(var(--safe-h) - 16px);margin:auto calc(8px + var(--safe-r)) calc(8px + var(--safe-b)) auto}.app:has(dialog.sheet.half[open]) .play:not(.editing)>.frame{max-width:calc(100vw - 150px)}.app:has(dialog.sheet.half[open]) .play:not(.editing)>:not(.frame,dialog){display:none}.play:has(>:is(.online-banner,.draw-offer-bar)):not(.editing)>.actions{grid-auto-flow:column;grid-template-columns:none}.play:has(>:is(.online-banner,.draw-offer-bar)):not(.editing)>.actions button{min-height:44px;padding:4px 2px;gap:2px;overflow-wrap:normal}.play:has(>.draw-offer-bar):not(.editing)>.status-block{display:none}.play.flat:not(.editing)>.actions{grid-auto-flow:column;grid-template-columns:none;gap:4px}.play.flat:not(.editing)>.actions button{min-height:44px;padding:4px 2px;gap:2px;overflow-wrap:normal}.play.flat:not(.editing)>.actions .lbl{font-size:var(--t-2xs)}}@media(orientation:landscape)and (max-height:500px)and (max-width:999px){.play.editing .ed-palette{grid-template-columns:repeat(10,minmax(0,clamp(30px,(var(--safe-h) - 270px) / 2,58px)));justify-content:space-between;column-gap:var(--s1)}.play.editing{max-height:calc(var(--safe-h) - 24px);overflow-y:auto;overscroll-behavior:contain;row-gap:6px;grid-template-rows:auto auto 1fr}.play.editing>.frame{position:sticky;top:0}.play.editing>.ed-side{padding-bottom:0;align-self:stretch;grid-template-rows:1fr auto;gap:6px}.play.editing .ed-bar{gap:6px;align-content:start}.play.editing .ed-actions{bottom:0;align-self:end}.play.editing .ed-actions button:not(.primary){min-height:44px}.ed-actions>.ed-status{grid-column:1 / 3;align-self:stretch;display:flex;align-items:center;font-size:var(--t-xs)}.ed-actions:has(>.ed-status)>.primary{grid-column:3 / -1}.play.editing .ed-hint{display:none}.play.editing .ed-actions:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:16px;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--bg));opacity:0;animation:ed-cue linear both;animation-timeline:scroll(nearest)}@container ed-side (width >= 436px){.play.editing .ed-castle{grid-template-columns:repeat(4,auto);justify-content:space-between;column-gap:var(--s2)}.play.editing .ed-bar{align-content:space-evenly}.play.editing .ed-actions{padding-bottom:0}}@container ed-side (width < 452px){.play.editing .ed-actions .long{display:none}}}@media(max-width:767px)and (orientation:portrait),(orientation:landscape)and (max-height:500px)and (max-width:999px){.play.editing>.ed-side{container:ed-side / inline-size}@container ed-side (width >= 330px){.play.editing .ed-pos{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--s3)}}}@keyframes ed-more{0%,90%{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 16px),transparent)}to{-webkit-mask-image:none;mask-image:none}}@keyframes ed-cue{0%,90%{opacity:1}to{opacity:0}}body.zen .stage{justify-items:center;justify-content:center;align-content:center;min-height:calc(100dvh - 40px - var(--safe-y) - var(--zen-lane,0px))}body.zen .stage>.play{margin-inline:auto}@media(min-width:768px)and (max-width:999px)and (orientation:portrait){.app{padding-bottom:clamp(10px,2.4vw,28px)}body:not(.zen) .zen-toggle{top:calc(20px + var(--safe-t));bottom:auto;width:44px;height:44px}body:not(.zen) .top{padding-right:calc(58px + var(--safe-r))}.top p{display:none}.app:not(:has(.play.editing)){display:flex;flex-direction:column;height:var(--safe-h)}.app:not(:has(.play.editing))>.stage{flex:1 1 0;min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch;container-type:inline-size}.play:not(.editing){--tab-res:360px;--play-w:min(100cqw,760px,calc(var(--safe-h) - var(--tab-res)));width:var(--play-w);max-width:none}body.zen .play:not(.editing){--play-w:min(100cqw,calc(var(--safe-h) - 270px));justify-content:center}.play:not(.editing)>.frame{flex:0 1 auto;width:auto;height:var(--play-w);max-width:100%;min-height:0;aspect-ratio:1;align-self:center}.play:not(.editing)>.actions:has(>:nth-child(9)){grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-height:1119px){.play:not(.editing)>.actions:has(>:nth-child(7)){grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr))}.play:not(.editing)>.actions:has(>:nth-child(9)){grid-template-columns:repeat(5,minmax(0,1fr))}body:not(.zen) .play:not(.editing):has(>.actions>:nth-child(7)){--tab-res:425px}}.zen-exit{top:calc(8px + var(--safe-t));bottom:auto;left:auto;right:calc(16px + var(--safe-r));width:auto;height:auto;min-height:36px;padding:0 var(--s3);border-radius:999px;display:inline-flex;align-items:center;gap:6px}.zen-exit svg{width:16px;height:16px}.zen-exit .zen-exit-txt{display:inline}body.zen .app:not(:has(.play.editing))>.stage{--zen-lane:52px;margin-top:var(--zen-lane);min-height:0}dialog.sheet.half{max-height:37dvh}.app:has(dialog.sheet.half[open]):not(:has(.play.editing)){height:calc(var(--safe-h) - 37dvh - 12px);padding-bottom:0}dialog.sheet.half .review-note{display:none}dialog.sheet.half .sheet-body>#moves-section{padding-block:var(--s2);gap:var(--s2)}.app:has(dialog.sheet.half[open]) .play:not(.editing):not(.flipped)>:not(#clock-b,.frame,dialog),.app:has(dialog.sheet.half[open]) .play.flipped:not(.editing)>:not(#clock-w,.frame,dialog){display:none}}@media(pointer:coarse){.sq.drop-target{z-index:2}}@media(pointer:coarse){.sq.drop-target:after{box-shadow:inset 0 0 0 1.4cqi var(--accent);background:radial-gradient(circle,rgba(240,168,36,.55) 0 36%,rgba(240,168,36,.2) 64%,transparent 78%);animation:drop-pulse .9s ease-in-out infinite}.board.picking .sq.capture.drop-target:after{box-shadow:inset 0 0 0 1.4cqi var(--danger);background:radial-gradient(circle,transparent 0 52%,rgba(229,72,77,.6) 56% 72%,transparent 76%)}}@keyframes drop-pulse{0%,to{opacity:.75}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.sq.drop-target:after{animation:none}}.drag-loupe{position:fixed;top:calc(12px + var(--safe-t));z-index:55;pointer-events:none;display:grid;justify-items:center;gap:6px;width:max-content;max-width:calc(100vw - 24px);padding:12px 12px 8px;border-radius:26px;background:var(--surface);border:3px solid var(--accent);box-shadow:0 14px 34px -10px #000000a6;transition:left .15s ease,right .15s ease,top .15s ease}.drag-loupe.far{transform:rotate(180deg)}@media(max-width:999px)and (orientation:portrait){.drag-loupe{top:calc(100px + var(--safe-t))}}@media(orientation:landscape)and (max-height:500px){.drag-loupe{top:auto;bottom:12px;right:12px;left:auto}.drag-loupe.at-left{left:12px;right:auto}.drag-loupe.at-right{right:12px;left:auto}}.drag-loupe.at-left{left:12px}.drag-loupe.at-right{right:12px}.drag-loupe.at-bottom{top:auto;bottom:calc(84px + var(--safe-b))}.drag-loupe.capture{border-color:var(--danger)}.drag-loupe.none{border-color:var(--muted)}.drag-loupe.premove{border-color:var(--premove)}.drag-loupe.premove .loupe-coord{color:var(--premove)}.loupe-grid{--lc:clamp(36px,calc(var(--cell,32px) * 1.35),64px);display:grid;grid-template-columns:repeat(3,var(--lc));grid-template-rows:repeat(3,var(--lc));border-radius:14px;overflow:hidden}.loupe-sq{position:relative;display:grid;place-items:center}.loupe-sq.light{background:var(--sq-light)}.loupe-sq.dark{background:var(--sq-dark)}.loupe-sq.off{background:var(--frame)}.loupe-sq .piece{--glyph:calc(var(--lc) * .9)}.loupe-sq.center .loupe-captured{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.6;transform:translate(-26%,-20%) scale(.6)}.loupe-sq.center:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 3px var(--accent)}.loupe-sq.center.capture:after{box-shadow:inset 0 0 0 3px var(--danger)}.loupe-sq.center.premove:after{box-shadow:inset 0 0 0 3px var(--premove)}.loupe-sq.center.none:after{box-shadow:inset 0 0 0 3px var(--muted)}.loupe-coord{font:800 1.05rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;color:var(--ink)}.drag-loupe.capture .loupe-coord{color:var(--danger)}.drag-loupe.none .loupe-coord{color:var(--muted)}@media(pointer:fine){.drag-loupe{display:none}}body.tier-probe #root{visibility:hidden}body:is(.tier-board,.tier-small) .top,body:is(.tier-board,.tier-small) .zen-toggle,body:is(.tier-board,.tier-small) .stage>.play:not(.editing)>:not(.frame,.tier-strip,dialog){display:none!important}body:is(.tier-board,.tier-small) .app{padding:6px!important;max-width:none}body:is(.tier-board,.tier-small) .stage{display:block;justify-items:normal;min-height:0!important;margin:0!important}body:is(.tier-board,.tier-small) .stage>.play:not(.editing){display:grid!important;width:auto!important;max-width:none!important;margin:0!important;gap:6px;min-height:calc(var(--safe-h) - 12px);align-content:center;justify-content:center;grid-template-columns:var(--tier-frame) 88px;grid-template-rows:var(--tier-frame)}body.tier-board.tier-below .stage>.play:not(.editing){grid-template-columns:var(--tier-frame);grid-template-rows:var(--tier-frame) 44px}body.tier-board .stage>.play:not(.editing)>.frame{grid-area:1 / 1;width:var(--tier-frame)!important;max-width:none!important;min-width:0;margin:0!important;--fpad:3px;--gutter:0px;border-radius:10px}body.tier-board .frame :is(.ranks,.files){display:none}body.tier-board .stage>.play:not(.editing)>.tier-strip{grid-area:1 / 2}body.tier-board.tier-below .stage>.play:not(.editing)>.tier-strip{grid-area:2 / 1;flex-direction:row;align-items:center}.tier-strip{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:6px;min-width:0;min-height:0;container-type:inline-size}.tier-clock{display:flex;align-items:center;justify-content:center;flex:none;min-width:30px;min-height:30px;padding:2px 5px;border-radius:999px;border:1px solid var(--line-strong);white-space:nowrap}.tier-clock.w{background:#fbfbfd;color:#1c2033}.tier-clock.b{background:#151827;color:#eef1f8;border-color:#68729a}.tier-clock.active{box-shadow:0 0 0 2px var(--accent)}.tier-clock .time{font-size:var(--t-md);font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}.tier-clock .time.no-clock{display:none}.tier-clock:has(>.time.no-clock){align-self:center;width:30px}.tier-clock.w .time:is(.low,.out){color:#b3261e}.tier-clock.b .time:is(.low,.out){color:#ff9aa0}.tier-cue{flex:1 1 auto;min-width:0;min-height:0;margin:0;font-size:var(--t-xs);font-weight:700;line-height:1.25;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow-wrap:normal}.tier-more{flex:none;align-self:center;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:12px}.tier-more svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tier-more.alert{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.tier-below .tier-strip>.near{order:1}.tier-below .tier-strip>.tier-cue{order:2;-webkit-line-clamp:2;text-align:left}.tier-below .tier-strip>.tier-more{order:3}@container (width < 240px){.tier-below .tier-strip>.tier-cue{display:none}}body.tier-small .stage>.play:not(.editing){display:flex!important;align-items:center;justify-content:center}body.tier-small .stage>.play:not(.editing)>.frame{display:none!important}body.tier-small .stage>.play:not(.editing)>.tier-strip{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;max-height:calc(var(--safe-h) - 12px);overflow:auto;padding:10px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.tier-msg{flex:1 0 100%;margin:0;text-align:center;font-size:var(--t-xs);line-height:1.3}body.tier-small .tier-strip>.near{order:1}body.tier-small .tier-strip>.tier-more{order:2}body.tier-small .tier-strip>.tier-cue{order:3;flex:1 0 100%;-webkit-line-clamp:1}.tier-head{display:grid;gap:var(--s2)}.tier-head>.draw-offer-bar{order:0}.tier-players{display:grid;gap:var(--s1)}.tier-player{display:flex;align-items:center;gap:var(--s2);min-height:40px;padding:4px var(--s3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line)}.tier-player.active{border-color:var(--accent)}.tier-player .chip{width:14px;height:14px}.tier-player .who{flex:1 1 auto;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tier-player .time{flex:none;font-size:var(--t-lg);font-weight:800;font-variant-numeric:tabular-nums}.tier-code{display:flex}body:is(.tier-board,.tier-small) .more-row{min-height:44px;padding:var(--s2) var(--s3);gap:var(--s3)}body:is(.tier-board,.tier-small) .more-row .more-text small{display:none}.player .adv{white-space:nowrap;overflow-wrap:normal}.code-chip{white-space:nowrap}.play:not(.editing)>.frame{min-width:calc(2 * (var(--fpad) + var(--gutter)) + 96px)}.home{container:home / size;height:var(--safe-h)}.home-in{height:100%;display:grid;grid-template:"top" auto "hero" minmax(0,1fr) "actions" auto / minmax(0,1fr);gap:var(--s3);padding:var(--s2) var(--s4) var(--s4)}.home-top{grid-area:top;position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);min-height:44px;min-width:0}.home-gear{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border-radius:999px;background:var(--surface)}.home-gear svg,.profile-chip svg{flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.profile-chip{display:inline-flex;align-items:center;gap:var(--s2);min-width:0;max-width:60cqi;min-height:44px;padding:0 var(--s3) 0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:var(--t-sm);font-weight:600}.profile-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body:has(.home){background:linear-gradient(var(--home-sky),var(--bg)) 0 0 / 100% 52% no-repeat var(--bg)}.home-hero{grid-area:hero;container:hero / size;position:relative;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--s2);padding:0 var(--s2) var(--s3);color:var(--ink);text-align:center}.hero-stage{--k:min(84cqh,56.45cqi,var(--k-max,999px));container:stage / size;position:relative;flex:1 1 0;min-height:0;align-self:stretch;margin-inline:calc(-1 * (var(--s4) + var(--s2)));overflow-x:clip;pointer-events:none}.hero-cast{position:absolute;left:50%;bottom:8cqh;height:var(--k);aspect-ratio:754.5 / 484;translate:-50% 0}.hero-piece{position:absolute;bottom:0;width:auto;max-width:none;-webkit-box-reflect:below -1px linear-gradient(transparent 72%,rgb(0 0 0 / .16))}.hero-elephant{left:0;bottom:15.5%;height:51.24%;filter:drop-shadow(0 calc(var(--k) * .03) calc(var(--k) * .03) var(--hero-shade))}.hero-camel{right:0;bottom:8.26%;height:66.32%;filter:drop-shadow(0 calc(var(--k) * .03) calc(var(--k) * .03) var(--hero-shade))}.hero-king{left:37.71%;height:100%;z-index:1;filter:drop-shadow(0 calc(var(--k) * .03) calc(var(--k) * .04) var(--hero-shade))}.hero-glow{position:absolute;left:50%;bottom:calc(8cqh + var(--k) * var(--glow-y));width:calc(var(--k) * 2.3);aspect-ratio:1;translate:-50% 50%;background:var(--hero-glow)}.hero-glow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;opacity:var(--ray-a);background:repeating-conic-gradient(#ffd67880 0,#ffd67880 .7deg,#ffd67800 1.6deg,#ffd67800 8.5deg),repeating-conic-gradient(from 3deg,#ffd67859 0,#ffd67859 .5deg,#ffd67800 1.2deg,#ffd67800 13deg);-webkit-mask-image:radial-gradient(closest-side,transparent 9%,#000 20%,rgb(0 0 0 / .3) 44%,transparent 72%);mask-image:radial-gradient(closest-side,transparent 9%,#000 20%,rgb(0 0 0 / .3) 44%,transparent 72%)}@media(prefers-reduced-motion:no-preference){.hero-glow{animation:hero-glow-in .6s ease-out both}}@keyframes hero-glow-in{0%{opacity:0}}.hero-floor{position:absolute;inset:auto 0 0;height:calc(8cqh + var(--k) * .5);overflow:clip;background:var(--floor-b);-webkit-mask-image:linear-gradient(transparent,#000 50%,#000 68%,transparent),linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(transparent,#000 50%,#000 68%,transparent),linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.hero-floor:before{--floor-svg:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-400%20-70%20800%2070'%20preserveAspectRatio='none'%3e%3cpath%20fill-rule='evenodd'%20d='M-400%200H400V-10.31H-400ZM-400%20-18.4H400V-24.9H-400ZM-400%20-30.25H400V-34.73H-400ZM-400%20-38.53H400V-41.8H-400ZM-400%20-44.63H400V-47.12H-400ZM-400%20-49.32H400V-51.28H-400ZM-400%20-53.04H400V-54.62H-400ZM-400%20-56.05H400V-57.36H-400ZM-400%20-58.55H400V-59.64H-400ZM-400%20-60.65H400V-61.58H-400ZM-400%20-62.44H400V-63.24H-400ZM-400%20-63.99H400V-64.69H-400ZM-400%20-65.34H400V-65.95H-400ZM-400%20-66.53H400V-67.07H-400ZM-400%20-67.58H400V-68.06H-400ZM-400%20-68.52H400V-68.95H-400ZM-400%20-69.36H400V-69.75H-400ZM-2300%200L-2275%200L-403.09%20-70L-407.52%20-70ZM-2250%200L-2225%200L-394.23%20-70L-398.66%20-70ZM-2200%200L-2175%200L-385.37%20-70L-389.8%20-70ZM-2150%200L-2125%200L-376.51%20-70L-380.94%20-70ZM-2100%200L-2075%200L-367.65%20-70L-372.08%20-70ZM-2050%200L-2025%200L-358.79%20-70L-363.22%20-70ZM-2000%200L-1975%200L-349.93%20-70L-354.36%20-70ZM-1950%200L-1925%200L-341.08%20-70L-345.51%20-70ZM-1900%200L-1875%200L-332.22%20-70L-336.65%20-70ZM-1850%200L-1825%200L-323.36%20-70L-327.79%20-70ZM-1800%200L-1775%200L-314.5%20-70L-318.93%20-70ZM-1750%200L-1725%200L-305.64%20-70L-310.07%20-70ZM-1700%200L-1675%200L-296.78%20-70L-301.21%20-70ZM-1650%200L-1625%200L-287.92%20-70L-292.35%20-70ZM-1600%200L-1575%200L-279.06%20-70L-283.49%20-70ZM-1550%200L-1525%200L-270.2%20-70L-274.63%20-70ZM-1500%200L-1475%200L-261.34%20-70L-265.77%20-70ZM-1450%200L-1425%200L-252.48%20-70L-256.91%20-70ZM-1400%200L-1375%200L-243.63%20-70L-248.06%20-70ZM-1350%200L-1325%200L-234.77%20-70L-239.2%20-70ZM-1300%200L-1275%200L-225.91%20-70L-230.34%20-70ZM-1250%200L-1225%200L-217.05%20-70L-221.48%20-70ZM-1200%200L-1175%200L-208.19%20-70L-212.62%20-70ZM-1150%200L-1125%200L-199.33%20-70L-203.76%20-70ZM-1100%200L-1075%200L-190.47%20-70L-194.9%20-70ZM-1050%200L-1025%200L-181.61%20-70L-186.04%20-70ZM-1000%200L-975%200L-172.75%20-70L-177.18%20-70ZM-950%200L-925%200L-163.89%20-70L-168.32%20-70ZM-900%200L-875%200L-155.03%20-70L-159.46%20-70ZM-850%200L-825%200L-146.18%20-70L-150.6%20-70ZM-800%200L-775%200L-137.32%20-70L-141.75%20-70ZM-750%200L-725%200L-128.46%20-70L-132.89%20-70ZM-700%200L-675%200L-119.6%20-70L-124.03%20-70ZM-650%200L-625%200L-110.74%20-70L-115.17%20-70ZM-600%200L-575%200L-101.88%20-70L-106.31%20-70ZM-550%200L-525%200L-93.02%20-70L-97.45%20-70ZM-500%200L-475%200L-84.16%20-70L-88.59%20-70ZM-450%200L-425%200L-75.3%20-70L-79.73%20-70ZM-400%200L-375%200L-66.44%20-70L-70.87%20-70ZM-350%200L-325%200L-57.58%20-70L-62.01%20-70ZM-300%200L-275%200L-48.73%20-70L-53.15%20-70ZM-250%200L-225%200L-39.87%20-70L-44.3%20-70ZM-200%200L-175%200L-31.01%20-70L-35.44%20-70ZM-150%200L-125%200L-22.15%20-70L-26.58%20-70ZM-100%200L-75%200L-13.29%20-70L-17.72%20-70ZM-50%200L-25%200L-4.43%20-70L-8.86%20-70ZM0%200L25%200L4.43%20-70L0%20-70ZM50%200L75%200L13.29%20-70L8.86%20-70ZM100%200L125%200L22.15%20-70L17.72%20-70ZM150%200L175%200L31.01%20-70L26.58%20-70ZM200%200L225%200L39.87%20-70L35.44%20-70ZM250%200L275%200L48.73%20-70L44.3%20-70ZM300%200L325%200L57.58%20-70L53.15%20-70ZM350%200L375%200L66.44%20-70L62.01%20-70ZM400%200L425%200L75.3%20-70L70.87%20-70ZM450%200L475%200L84.16%20-70L79.73%20-70ZM500%200L525%200L93.02%20-70L88.59%20-70ZM550%200L575%200L101.88%20-70L97.45%20-70ZM600%200L625%200L110.74%20-70L106.31%20-70ZM650%200L675%200L119.6%20-70L115.17%20-70ZM700%200L725%200L128.46%20-70L124.03%20-70ZM750%200L775%200L137.32%20-70L132.89%20-70ZM800%200L825%200L146.18%20-70L141.75%20-70ZM850%200L875%200L155.03%20-70L150.6%20-70ZM900%200L925%200L163.89%20-70L159.46%20-70ZM950%200L975%200L172.75%20-70L168.32%20-70ZM1000%200L1025%200L181.61%20-70L177.18%20-70ZM1050%200L1075%200L190.47%20-70L186.04%20-70ZM1100%200L1125%200L199.33%20-70L194.9%20-70ZM1150%200L1175%200L208.19%20-70L203.76%20-70ZM1200%200L1225%200L217.05%20-70L212.62%20-70ZM1250%200L1275%200L225.91%20-70L221.48%20-70ZM1300%200L1325%200L234.77%20-70L230.34%20-70ZM1350%200L1375%200L243.63%20-70L239.2%20-70ZM1400%200L1425%200L252.48%20-70L248.06%20-70ZM1450%200L1475%200L261.34%20-70L256.91%20-70ZM1500%200L1525%200L270.2%20-70L265.77%20-70ZM1550%200L1575%200L279.06%20-70L274.63%20-70ZM1600%200L1625%200L287.92%20-70L283.49%20-70ZM1650%200L1675%200L296.78%20-70L292.35%20-70ZM1700%200L1725%200L305.64%20-70L301.21%20-70ZM1750%200L1775%200L314.5%20-70L310.07%20-70ZM1800%200L1825%200L323.36%20-70L318.93%20-70ZM1850%200L1875%200L332.22%20-70L327.79%20-70ZM1900%200L1925%200L341.08%20-70L336.65%20-70ZM1950%200L1975%200L349.93%20-70L345.51%20-70ZM2000%200L2025%200L358.79%20-70L354.36%20-70ZM2050%200L2075%200L367.65%20-70L363.22%20-70ZM2100%200L2125%200L376.51%20-70L372.08%20-70ZM2150%200L2175%200L385.37%20-70L380.94%20-70ZM2200%200L2225%200L394.23%20-70L389.8%20-70ZM2250%200L2275%200L403.09%20-70L398.66%20-70Z'/%3e%3c/svg%3e");content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--floor-a);-webkit-mask:var(--floor-svg) 50% 100% / calc(var(--k) * 8) calc(var(--k) * .7) no-repeat;mask:var(--floor-svg) 50% 100% / calc(var(--k) * 8) calc(var(--k) * .7) no-repeat}.home-title{position:relative;margin:0;font-size:clamp(var(--t-2xl),9.8cqi,2.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.05;font-variation-settings:"opsz" 96}.home-tagline{position:relative;margin:0;max-width:32ch;color:var(--muted);font-size:var(--t-md);line-height:1.35}.home-actions{grid-area:actions;display:grid;gap:var(--s3);min-height:0}.home-play{min-height:56px;border-color:var(--accent);border-radius:var(--r-md);background:var(--accent);color:#1c2033;font-size:var(--t-xl);font-weight:800;letter-spacing:-.01em}.home-play:hover:not(:disabled),.home-play:focus-visible,.home-play:active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 86%,#000);color:#1c2033}.home-continue{display:grid;justify-items:center;align-content:center;gap:2px;min-width:0;min-height:auto;padding:var(--s2) var(--s4);border-color:var(--line-strong);border-radius:var(--r-md);background:var(--surface)}.home-continue-label{font-size:var(--t-lg);font-weight:800}.home-continue-detail{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--t-xs);font-weight:600}.home-search{display:flex;align-items:center;gap:var(--s2);min-height:48px;padding:0 var(--s1) 0 var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.home-search-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--t-sm)}.home-result{display:grid;justify-items:center;gap:var(--s1);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-align:center}.home-result h2{margin:0;font-size:var(--t-lg);font-weight:800;letter-spacing:-.01em}.home-result p{margin:0;color:var(--muted);font-size:var(--t-sm)}.home-result-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);width:100%;margin-top:var(--s1)}.home-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.home-tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--s3);min-width:0;min-height:72px;padding:var(--s4) var(--s2) var(--s3);border-radius:var(--r-md);background:var(--surface);font-size:var(--t-sm);font-weight:700;line-height:1.2}.home-tile-badge{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--tile-badge);color:var(--ink)}.home-tile-badge svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.home-tile-label{display:block;max-width:100%;min-height:2.4em;text-align:center;text-wrap:balance}.home-join{display:flex;align-items:center;justify-content:center;gap:var(--s2);min-width:0;min-height:48px;padding:0 var(--s3);border-color:var(--line);border-radius:var(--r-md);background:transparent;font-size:var(--t-md);font-weight:700}.home-join span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-join svg{display:none;flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.home-version{margin:0;color:var(--muted);font-size:var(--t-xs);line-height:1;text-align:center}@container hero (max-height:250px){.home-tagline{display:none}}@container hero (max-height:150px){.hero-stage{display:none}}@container home (max-height:440px){.home-in{gap:var(--s2);padding-top:var(--s1)}.home-hero{padding:var(--s1) var(--s3) 0}.home-actions{gap:var(--s2)}.home-play{min-height:44px}.home-continue{padding-block:var(--s1)}.home-continue-label{font-size:var(--t-md)}.home-continue-label,.home-continue-detail{line-height:1.2}.home-tile{min-height:56px;padding:var(--s1) var(--s2);gap:var(--s1);font-size:var(--t-xs)}.home-tile-badge{width:32px;height:32px}.home-tile-badge svg{width:20px;height:20px}.home-join{min-height:44px}.home-version{display:none}}@container home (orientation:landscape) and (max-height:540px) and (min-width:560px){.home-in{position:relative;grid-template:"stage ." minmax(56px,1fr) "stage title" auto "stage tagline" auto "stage actions" auto "stage ." minmax(0,1fr) / minmax(0,58fr) minmax(0,42fr);column-gap:var(--s4);row-gap:0;padding:var(--s2) var(--s4)}.home-hero{display:contents}.home-top{grid-area:auto;position:absolute;top:var(--s2);right:var(--s4)}.hero-stage{grid-area:stage;align-self:stretch;margin-inline:0;overflow:clip;--k:min(72cqh, calc((100cqi - 80px)*.641) ,var(--k-max,999px));--lift:max(8cqh,calc((100cqh - var(--k)) / 2));-webkit-mask-image:linear-gradient(90deg,transparent 24px,#000 40px,#000 calc(100% - 40px),transparent calc(100% - 24px)),linear-gradient(transparent 8px,#000 40px,#000 calc(100% - 40px),transparent calc(100% - 16px));mask-image:linear-gradient(90deg,transparent 24px,#000 40px,#000 calc(100% - 40px),transparent calc(100% - 24px)),linear-gradient(transparent 8px,#000 40px,#000 calc(100% - 40px),transparent calc(100% - 16px));-webkit-mask-composite:source-in;mask-composite:intersect}.hero-cast{bottom:var(--lift)}.hero-floor{bottom:calc(var(--lift) - 8cqh)}.hero-floor{--fx:min( calc(50cqi - 24px) ,calc(var(--k) * 1.9));-webkit-mask-image:linear-gradient(transparent,#000 50%,#000 68%,transparent),radial-gradient(var(--fx) 140% at 50% 100%,#000 55%,transparent);mask-image:linear-gradient(transparent,#000 50%,#000 68%,transparent),radial-gradient(var(--fx) 140% at 50% 100%,#000 55%,transparent)}.home-title{grid-area:title;margin:0;font-size:28px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.home-tagline{grid-area:tagline;margin:2px 0 var(--s1);font-size:14px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.home-actions{grid-area:actions;align-content:center;align-content:safe center}.home-tile-badge{width:36px;height:36px}.home-tile-label{min-height:0}.home-tile{padding-inline:4px}.hero-glow{bottom:calc(var(--lift) + var(--k) * var(--glow-y))}.home-actions{gap:6px}}@container home (orientation:landscape) and (300px < height <= 350px) and (min-width:560px){.home-actions:has(>.home-continue){grid-template-columns:repeat(2,minmax(0,1fr))}.home-actions:has(>.home-continue)>:not(.home-play,.home-continue){grid-column:1 / -1}.home-actions:has(>.home-continue)>.home-continue{padding-inline:var(--s2)}}@container home (max-height:300px){.home-in{grid-template:"hero top" auto "actions actions" minmax(0,1fr) / minmax(0,1fr) auto;gap:var(--s2);padding:var(--s1) var(--s2) var(--s2)}.home-hero{align-items:flex-start;justify-content:center;padding:0 var(--s1);border:0;background:none;color:var(--ink)}.home-title{font-size:var(--t-lg);font-variation-settings:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.home-actions{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start}.home-play,.home-continue{grid-column:span 2}.home-play{min-height:44px}.home-play:not(:has(+.home-continue)),.home-search,.home-result,.home-retry{grid-column:1 / -1}.home-join{min-height:44px;padding:0}.home-join svg{display:block}.home-tiles{grid-column:span 3}.home-version{display:none}.home-tile{min-height:44px;padding:2px}.home-tile-badge{width:32px;height:32px}.home-tile-badge svg{width:20px;height:20px}.home-tile-label,.home-join span,.profile-name{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.profile-chip{justify-content:center;width:44px;padding:0}}@container home (max-width:699px) and (min-height:680px){.home-in{grid-template:"top" auto "." minmax(0,.85fr) "hero" minmax(0,min(calc(min(67.2cqi,420px) + 112px),58cqh)) "actions" max-content "." minmax(0,1fr) / minmax(0,1fr)}.home-hero{justify-content:center}}@container home (min-width:700px) and (min-height:541px){.home-in{position:relative;grid-template:". . ." minmax(0,1fr) "hero hero hero" minmax(0,calc(var(--stage-max) + 116px)) ". actions ." auto ". . ." minmax(0,1fr) / minmax(0,1fr) min(480px,100%) minmax(0,1fr);padding:var(--s4) var(--s5);--stage-max:452px}.home-top{grid-area:auto;position:absolute;top:var(--s4);right:var(--s5);left:var(--s5)}.hero-stage{--k-max:380px;align-self:center;width:min(1100px,100%);margin-inline:0}.hero-floor{--fx:min( calc(50cqi - 24px) ,calc(var(--k) * 1.9));-webkit-mask-image:linear-gradient(transparent,#000 50%,#000 68%,transparent),radial-gradient(var(--fx) 140% at 50% 100%,#000 55%,transparent);mask-image:linear-gradient(transparent,#000 50%,#000 68%,transparent),radial-gradient(var(--fx) 140% at 50% 100%,#000 55%,transparent)}}@container home (min-width:700px) and (max-width:899px) and (min-height:541px){.home-in{--stage-max:420px}}.home [aria-busy=true] .pulse{margin-left:var(--s2);vertical-align:middle}.home :is(.home-tile,.home-gear)[aria-busy=true] .pulse{margin:0}.home-play .pulse{background:#1c2033}.home-retry{display:flex;align-items:center;gap:var(--s2);min-height:48px;padding:var(--s1) var(--s1) var(--s1) var(--s3);border:1px solid var(--danger);border-radius:var(--r-md);background:color-mix(in srgb,var(--danger) 10%,var(--surface));font-size:var(--t-sm)}.home-retry span{flex:1;min-width:0}.home-back{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}@media(hover:hover){.home-back:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--surface))}}.home-back-dot{display:inline-block;width:8px;height:8px;margin-right:var(--s2);border-radius:50%;background:var(--danger);vertical-align:.08em;animation:pulse 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.home-back-dot{animation:none}}.game-loading{display:grid;place-items:center;align-content:center;gap:var(--s3);height:var(--safe-h);padding:var(--s4);text-align:center}.intro-shell,dialog.intro{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);background:var(--bg);color:var(--ink)}.intro-shell{z-index:30}dialog.intro[open]{display:flex;flex-direction:column;justify-content:safe center}dialog.intro::backdrop{background:var(--bg)}.intro>*{width:min(480px,100%);margin-inline:auto;padding-inline:var(--s4)}.intro-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:56px}.intro-dots{display:flex;align-items:center;gap:6px}.intro-dots span{width:8px;height:8px;border-radius:4px;background:var(--line-strong)}.intro-dots span.on{width:22px;background:var(--accent)}.intro button{border-color:var(--line);background:transparent;color:var(--ink)}.intro button:hover:not(:disabled){border-color:var(--line-strong);background:color-mix(in srgb,var(--ink) 8%,transparent)}.intro .intro-skip,.intro .intro-back{min-height:44px;border-color:transparent;color:var(--muted)}.intro .intro-next{min-height:48px;padding-inline:var(--s5);border-color:var(--accent);background:var(--accent);color:#1c2033;font-weight:800}.intro .intro-next:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 86%,#fff)}.intro-card{flex:0 1 auto;min-height:0;container:intro / inline-size;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;display:flex;flex-direction:column;align-items:center;gap:var(--s3);text-align:center}.intro-card>:first-child{margin-top:auto}.intro-card>:last-child{margin-bottom:auto}.intro-card h2{margin:0;max-width:22ch;font-size:var(--t-2xl);font-weight:800;letter-spacing:-.02em;line-height:1.15}.intro-card h2:focus,.intro-card h2:focus-visible{outline:none;box-shadow:none}.intro-card p{margin:0;max-width:36ch;color:var(--muted);font-size:var(--t-md);line-height:1.5}.intro-art svg{flex:none;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.intro-diagrams{display:flex;justify-content:center;gap:var(--s4)}.intro-diagrams figure{margin:0;display:grid;justify-items:center;gap:var(--s1)}.intro .intro-diagrams svg.diagram-board{width:min(150px,38cqi,calc(34svh - 43px));height:auto;border:1px solid var(--line);border-radius:6px}.intro-diagrams figcaption{font-size:var(--t-sm);font-weight:700}.intro-modes{display:grid;gap:var(--s2);margin:0;padding:0;list-style:none;text-align:left}.intro-modes li{display:flex;align-items:center;gap:var(--s3);min-height:44px;padding:0 var(--s4);border:1px solid var(--line);border-radius:var(--r-md);font-weight:600}.intro-modes svg{color:var(--accent)}.intro .intro-rating svg{width:72px;height:72px;stroke-width:1.5;color:var(--accent)}.intro-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:72px;margin-top:var(--s4)}.intro-nav>:last-child{margin-left:auto}@media(max-height:460px){.intro-art{display:none}}@media(max-height:300px){.intro-top{min-height:auto}.intro-nav{min-height:auto;margin-top:0}}@media(min-width:600px){.intro>*{width:min(560px,100%)}}@media(min-width:900px)and (min-height:640px){.intro .intro-diagrams svg.diagram-board{width:min(300px,44cqi,calc(40svh - 51px))}.intro-diagrams{gap:var(--s5)}.intro-card h2{max-width:26ch;font-size:var(--t-3xl)}.intro-card p{max-width:46ch;font-size:var(--t-lg)}.intro-diagrams figcaption{font-size:var(--t-md)}}.kbd-chip{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:1.7em;padding:0 var(--s1);border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--muted);font:inherit;font-size:var(--t-2xs);font-weight:700;line-height:1.6;letter-spacing:.02em;white-space:nowrap}.more-row>.kbd-chip{margin-left:auto}.toggle.has-kbd{width:100%}.toggle.has-kbd>.kbd-chip{margin-left:auto}.promo-opts button:has(.promo-kbd){position:relative}.promo-kbd{position:absolute;top:var(--s1);right:var(--s1)}.promo-card>button .kbd-chip{margin-left:var(--s2)}.kbd-setting{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}.kbd-open{display:inline-flex;align-items:center;gap:var(--s2);width:fit-content;min-height:32px;padding:0 var(--s3)}.kbd-lead{margin:0;padding:var(--s3) var(--sheet-pad) 0}.kbd-sections{display:grid;align-items:start;border-top:1px solid var(--line);margin-top:var(--s3)}@media(min-width:900px)and (min-height:540px){.kbd-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.kbd-sections>.group:nth-child(2){border-top:0}}.kbd-list dl{margin:0;display:grid}.kbd-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s1) 0;border-bottom:1px solid var(--line)}.kbd-row:last-child{border-bottom:0}.kbd-row dt{font-size:var(--t-sm);min-width:0}.kbd-row dd{margin:0;display:flex;gap:var(--s1);flex:none}.kbd-tag{position:fixed;z-index:2147483000;display:flex;align-items:center;gap:var(--s1);padding:1px 6px;border-radius:6px;pointer-events:none;white-space:nowrap;background:var(--ink);color:var(--bg);font-size:var(--t-2xs);font-weight:600;line-height:1.5;box-shadow:0 2px 8px #00000047;opacity:0}.kbd-tag.on{opacity:1}.kbd-tag.compact{padding:0 var(--s1)}.kbd-tag kbd{font:inherit;font-weight:800;line-height:1.35;padding:0 var(--s1);border-radius:4px;border:1px solid color-mix(in srgb,var(--bg) 45%,transparent)}.kbd-tag.compact kbd{border:0;padding:0}@media(orientation:landscape)and (max-height:500px){body.zen .app{padding-top:6px;padding-bottom:6px}.play:not(.editing)>.frame{--fpad:3px;--gutter:12px}body.zen:not(.tier-board,.tier-small) .play:not(.editing):not(:has(.draw-offer-bar)):not(:has(>.chip-row))>.status-block{display:flex!important}body.zen:not(.tier-board,.tier-small) .play:not(.editing)>.actions{display:grid!important}}.acct,.acct-chip{--acct-good:#1E6B43;--acct-good-bg:#DDF1E5;--acct-weak:var(--danger);--acct-fair:var(--accent);--acct-gold-text:#8A5A00}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.acct,.acct-chip){--acct-good:#7FD9A5;--acct-good-bg:#173A29;--acct-gold-text:var(--accent)}}:root[data-theme=dark] :is(.acct,.acct-chip){--acct-good:#7FD9A5;--acct-good-bg:#173A29;--acct-gold-text:var(--accent)}.acct-chip{cursor:pointer}.acct-chip-rating{flex:none;padding:1px var(--s2);border-radius:999px;background:var(--bg);color:var(--muted);font-size:var(--t-xs);font-variant-numeric:tabular-nums;line-height:1.5}.acct-chip-verify{color:var(--ink);background:color-mix(in srgb,var(--accent) 24%,var(--surface))}dialog.sheet:has(.acct)>.sheet-handle{display:none}dialog.sheet:has(.acct)>.sheet-head{justify-content:flex-end;min-height:0;padding:var(--s2) var(--s2) 0;border-bottom:0}dialog.sheet:has(.acct)>.sheet-head h2{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}dialog.sheet:has(.acct)>.sheet-body{flex:1 1 auto;display:flex;flex-direction:column}dialog.sheet:has(.acct)>.sheet-body:before{content:"";flex:1 1 0}dialog.sheet:has(.acct)>.sheet-body:after{content:"";flex:2 1 0}.acct{display:grid;gap:var(--s4);padding:0 var(--sheet-pad) var(--s5);min-width:0}@media(max-width:767px),(orientation:landscape)and (max-height:500px){dialog.sheet:has(.acct){top:0;right:0;bottom:0;left:0;width:auto;height:auto;max-width:none;max-height:none;margin:0;border-radius:0;padding:var(--safe-t) var(--safe-r) 0 var(--safe-l);box-shadow:none}.acct{padding-bottom:calc(var(--s5) + var(--safe-b))}}.acct-brand{display:none}.acct-scene{position:relative;display:flex;justify-content:center;width:100%;height:calc(var(--k) * 1.12);pointer-events:none}.acct-glow{position:absolute;left:50%;bottom:calc(var(--k) * .62);width:calc(var(--k) * 2.1);aspect-ratio:1;translate:-50% 50%;border-radius:50%;background:var(--hero-glow)}.acct-cast{position:relative;align-self:flex-end;height:var(--k);aspect-ratio:182 / 484}.acct-piece{position:absolute;bottom:0;left:0;height:100%;width:auto;max-width:none;filter:drop-shadow(0 calc(var(--k) * .03) calc(var(--k) * .04) var(--hero-shade))}.acct-brand-text{display:grid;justify-items:start;gap:var(--s2);min-width:0}.acct h3.acct-brand-title{margin:0;max-width:22ch;font-size:var(--t-2xl);font-weight:800;letter-spacing:-.02em;line-height:1.15;text-wrap:balance}.acct-benefits{display:grid;justify-content:center;justify-items:start;gap:var(--s1);margin:0;padding:0;list-style:none;color:var(--muted);font-size:var(--t-sm);line-height:1.35}.acct-benefits li{display:flex;align-items:center;gap:var(--s2);text-align:left}.acct-benefits svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--acct-gold-text);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.acct-main{display:flex;flex-direction:column;gap:var(--s4);min-width:0}.acct-fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:var(--s4)}.acct-panel,.acct-form,.acct-stack{display:grid;gap:var(--s4);min-width:0}.acct-head{display:grid;gap:var(--s2);min-width:0}.acct h3.acct-title{margin:0;font-size:var(--t-2xl);font-weight:800;letter-spacing:-.02em;line-height:1.2;text-wrap:balance}.acct-wide-only{display:none}.acct-lead,.acct-note{margin:0}.acct .acct-note:not(.error){min-height:0;padding:var(--s2) var(--s3);border-radius:10px;color:var(--ink);font-size:var(--t-sm);line-height:1.4;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.acct-center{justify-self:center;justify-content:center;text-align:center}.acct-steps{display:none;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));width:100%;max-width:24rem;justify-self:center;margin:0;padding:0;list-style:none}.acct-steps li{position:relative;display:grid;justify-items:center;gap:6px;min-width:0;color:var(--muted);font-size:var(--t-xs);text-align:center}.acct-steps li+li:before{content:"";position:absolute;top:5px;left:calc(-50% + 14px);right:calc(50% + 14px);height:2px;border-radius:1px;background:var(--line)}.acct-steps li.done+li:before{background:var(--accent)}.acct-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);box-sizing:border-box}.acct-steps li:is(.done,.now) .acct-dot{border-color:var(--accent);background:var(--accent)}.acct-steps li.now .acct-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 32%,transparent)}.acct-steps li.now{color:var(--ink);font-weight:700}.acct-field{gap:0}.acct-field>label{margin-bottom:6px;color:var(--ink)}.acct-box{position:relative;display:flex;align-items:center;min-width:0}.acct-input{flex:1;min-width:0;width:100%;height:48px;margin:0;padding:0 var(--s3) 0 44px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;font-size:var(--t-lg);letter-spacing:0}.acct-input-pw{padding-right:52px}.acct-input:focus-visible{border-color:var(--ink)}.acct-input[aria-invalid=true]{border-color:var(--danger)}.acct-ico{position:absolute;left:14px;top:50%;width:20px;height:20px;translate:0 -50%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--muted);pointer-events:none}.acct-box:focus-within .acct-ico{color:var(--ink)}.acct-eye{position:absolute;top:2px;right:2px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted)}.acct-eye svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.acct-eye[aria-pressed=true]{color:var(--ink)}.acct-eye:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;box-shadow:inset 0 0 0 4px var(--accent)}@media(hover:hover){.acct-eye:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}}.acct-msg-slot{display:grid;min-width:0}.acct-msg{margin:6px 0 0;color:var(--danger-text);font-size:var(--t-sm);font-weight:600;line-height:1.35}.acct-msg.acct-ok{color:var(--acct-good)}.acct-field-hint{margin:6px 0 0;color:var(--muted);font-size:var(--t-sm);line-height:1.35}.acct-field-hint .acct-pid{font-size:inherit}.field .acct-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:48px;padding:0 44px 0 48px;border-radius:12px;font-size:var(--t-lg);line-height:1.2;text-overflow:ellipsis;cursor:pointer}.acct-ico-flag{display:grid;place-items:center;width:24px;stroke:none;line-height:1}.acct .acct-ico-flag .pf-flag{font-size:18px}.acct .acct-ico-flag .pf-flag-code{font-size:var(--t-2xs)}.acct-chevron{position:absolute;right:14px;top:50%;width:20px;height:20px;translate:0 -50%;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.acct-pw-block{display:grid;gap:var(--s2);min-width:0}.acct-strength{display:grid;gap:var(--s2)}.acct-bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s1)}.acct-bars span{height:6px;border-radius:3px;background:var(--line)}.acct-strength[data-score="1"] .acct-bars .on{background:var(--acct-weak)}.acct-strength[data-score="2"] .acct-bars .on{background:var(--acct-fair)}.acct-strength:is([data-score="3"],[data-score="4"]) .acct-bars .on{background:var(--acct-good)}.acct-strength-line{margin:0;display:flex;flex-wrap:wrap;gap:0 var(--s1)}.acct-strength-line:empty{display:none}.acct-strength-word{font-weight:700;color:var(--ink)}.acct-strength.invalid :is(.acct-strength-line,.acct-strength-word){color:var(--danger-text)}.acct-more{display:grid;gap:var(--s3);min-width:0}.acct-more-toggle{justify-self:start;display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s1);border:0;background:none;color:var(--ink);font-weight:600;text-align:left}.acct-more-toggle svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:rotate .15s}.acct-more-toggle[aria-expanded=true] svg{rotate:90deg}@media(hover:hover){.acct-more-toggle:hover:not(:disabled){background:none;text-decoration:underline;text-underline-offset:3px}}.acct-more-body{display:grid;gap:var(--s3);padding:var(--s3);border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,var(--surface))}.acct-more-body[hidden]{display:none}.acct-more-body .acct-field>label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.acct-input::placeholder{color:var(--muted);opacity:1}.acct-pid{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums}.acct-primary{display:flex;align-items:center;justify-content:center;gap:var(--s2);width:100%;min-height:52px;border:1px solid var(--accent);border-radius:12px;background:var(--accent);color:#1c2033;font-size:var(--t-lg);font-weight:800;letter-spacing:-.01em}.acct-primary:hover:not(:disabled),.acct-primary:focus-visible,.acct-primary:active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 86%,#000);color:#1c2033}.acct-primary[aria-disabled=true],.acct-primary[aria-disabled=true]:hover,.acct-primary[aria-disabled=true]:focus-visible,.acct-primary[aria-disabled=true]:active{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 22%,var(--surface));color:var(--muted);cursor:not-allowed;transform:none}.acct-primary[aria-busy=true][aria-disabled]{border-color:var(--accent);background:var(--accent);color:#1c2033;cursor:progress}.acct-spin{flex:none;width:18px;height:18px;border:2px solid rgb(28 32 51 / .25);border-top-color:#1c2033;border-radius:50%;animation:acct-spin .8s linear infinite}@keyframes acct-spin{to{rotate:360deg}}@media(prefers-reduced-motion:reduce){.acct-spin{animation-duration:2.4s}}.acct-secondary{min-height:48px;border-radius:12px}.acct-secondary.acct-full{width:100%}.acct-secondary:not(.danger-btn){border-color:var(--line-strong);background:var(--surface)}.acct-links{display:flex;flex-wrap:wrap;gap:0 var(--s4)}.acct-link{min-height:44px;padding:0 var(--s1);background:transparent;border-color:transparent;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--muted)}.acct-link:disabled{text-decoration:none;border-color:transparent}@media(hover:hover){.acct-link:hover:not(:disabled){background:transparent;border-color:transparent;text-decoration-color:var(--ink)}}.acct-row-end{display:flex;justify-content:flex-end;margin-top:calc(-1 * var(--s3));margin-bottom:calc(-1 * var(--s2))}.acct-switch{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 var(--s1);margin:0;color:var(--muted);font-size:var(--t-md)}.acct-back{justify-self:start;display:inline-flex;align-items:center;gap:var(--s1);min-height:44px;margin-left:calc(-1 * var(--s1));padding:0 var(--s2) 0 var(--s1);border:0;background:none;color:var(--ink);font-weight:600}.acct-back svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}@media(hover:hover){.acct-back:hover:not(:disabled){background:none;text-decoration:underline;text-underline-offset:3px}}.acct-otp{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s2);max-width:24rem}.acct-digit{width:100%;min-width:0;height:56px;margin:0;padding:0;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;font-size:var(--t-3xl);font-weight:700;font-variant-numeric:tabular-nums;text-align:center;caret-color:var(--accent)}.acct-digit:focus-visible{border-color:var(--ink)}.acct-digit[aria-invalid=true]{border-color:var(--danger)}.acct-change{padding:var(--s3);border:1px solid var(--line);border-radius:12px}.acct-change-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4)}.acct-done-card{display:grid;justify-items:center;gap:var(--s3);padding:var(--s5) var(--s4);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--r-lg);background:color-mix(in srgb,var(--accent) 10%,var(--surface));text-align:center}.acct-done-badge{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#1c2033}.acct-done-badge svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.acct h3.acct-done-title{margin:0;font-size:var(--t-2xl);font-weight:800;line-height:1.25;overflow-wrap:anywhere}.acct-done-id{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--s2);margin:calc(-1 * var(--s1)) 0 0;padding:var(--s1) var(--s3);border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:var(--t-lg)}.acct-done-id-label{color:var(--muted);font-size:var(--t-sm);font-weight:600}.acct-done-lead{margin:0;max-width:34ch}.acct-done-actions{display:grid;gap:var(--s2)}.acct-who{display:flex;align-items:center;gap:var(--s4);min-width:0}.acct-avatar{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent);color:#1c2033;font-size:var(--t-3xl);font-weight:800}.acct-who-text{display:grid;justify-items:start;gap:2px;min-width:0}.acct-who-label{font-size:var(--t-sm);font-weight:600;color:var(--muted)}.acct h3.acct-who-name{margin:0;font-size:var(--t-2xl);font-weight:800;overflow-wrap:anywhere}.acct-who-email{font-size:var(--t-md);color:var(--muted);overflow-wrap:anywhere}.acct-badge{justify-self:start;padding:2px var(--s3);border-radius:999px;font-size:var(--t-sm);font-weight:600;color:var(--ink);background:color-mix(in srgb,var(--accent) 18%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 55%,transparent)}.acct-badge.ok{color:var(--acct-good);background:var(--acct-good-bg);border-color:color-mix(in srgb,var(--acct-good) 45%,transparent)}.acct-ratings h4{margin:0 0 var(--s2);font-size:var(--t-sm);font-weight:600;color:var(--muted)}.acct-ratings dl{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2)}.acct-rating{display:grid;gap:2px;min-width:0;padding:var(--s2) var(--s1);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);text-align:center}.acct-rating dt{font-size:var(--t-xs);color:var(--muted)}.acct-rating dd{margin:0;font-size:var(--t-lg);font-weight:700;font-variant-numeric:tabular-nums}.acct-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:var(--s2)}.acct-actions .acct-secondary{min-height:48px}.acct-link.acct-danger{color:var(--danger-text);text-decoration-color:currentColor}@media(min-width:900px)and (min-height:540px){dialog.sheet.wide:has(.acct){height:min(92vh,49rem)}dialog.sheet:has(.acct)>.sheet-head{position:absolute;top:0;right:0;z-index:2;padding:var(--s3)}dialog.sheet:has(.acct)>.sheet-body:before,dialog.sheet:has(.acct)>.sheet-body:after{content:none}.acct{flex:1 1 0;min-height:0;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:minmax(0,1fr);gap:0;margin:0;padding:0}.acct-brand{display:grid;align-content:center;justify-items:start;gap:var(--s5);padding:var(--s5) 40px;text-align:left;background:linear-gradient(var(--home-sky),var(--bg));border-right:1px solid var(--line)}.acct-scene{--k:190px;justify-content:center}.acct-glow{bottom:calc(var(--k) * .8)}.acct-cast{aspect-ratio:754.5 / 484}.acct-elephant{bottom:15.5%;height:51.24%}.acct-camel{left:auto;right:0;bottom:8.26%;height:66.32%}.acct-king{left:37.71%;z-index:1}.acct-steps{display:grid}.acct h3.acct-brand-title{font-size:var(--t-3xl)}.acct-benefits{justify-content:start;gap:var(--s2);font-size:var(--t-md)}.acct-benefits svg{width:18px;height:18px}.acct-main{overflow:auto;overscroll-behavior:contain;scroll-padding-block:var(--s4);padding:36px 48px 20px}.acct-main.acct-more-below{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 24px),transparent)}.acct :is(.acct-panel,.acct-form,.acct-stack){gap:var(--s3)}.acct-more,.acct-more-body{gap:var(--s2)}.acct-field>label{margin-bottom:4px}.acct-main>:first-child{margin-top:auto}.acct-main>:last-child{margin-bottom:auto}.acct-wide-only{display:block}}.player .seat-name{display:flex;flex-direction:column;justify-content:center;flex:0 1 auto;min-width:0;line-height:1.2}.player .seat-name .who{flex:none}.player .seat-tag{display:inline-flex;align-items:center;gap:var(--s1);flex:none;min-width:0;font-size:var(--t-2xs);font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}.player .seat-tag .pf-flag{font-size:var(--t-sm)}.player .who-link{align-self:stretch;margin-block:-4px;min-height:44px;padding:0 var(--s1);border:0;border-radius:8px;background:none;color:inherit;text-align:left}.player .who-link .who{text-decoration:underline;text-decoration-color:var(--line-strong);text-decoration-thickness:1px;text-underline-offset:3px}@media(hover:hover){.player .who-link:hover:not(:disabled){border:0;background:color-mix(in srgb,var(--ink) 6%,transparent)}}.sidebar>.player .seat-name{flex-direction:row;align-items:center;gap:var(--s2)}.sidebar>.player .seat-name .who{flex:0 1 auto}@media(orientation:landscape)and (max-height:500px){.player .seat-name{flex:1000000 1 5em;max-width:max-content}}body.zen .sidebar>.player .seat-name{display:none}.pf-flag{flex:none;font-size:var(--t-xl);line-height:1}.pf-flag-code{display:inline-grid;place-items:center;min-width:2.1em;height:1.45em;padding:0 .3em;border:1px solid var(--line-strong);border-radius:4px;background:var(--panel);color:var(--ink);font-size:var(--t-2xs);font-weight:800;letter-spacing:.04em}.player .seat-tag .pf-flag-code{font-size:var(--t-2xs)}.pf{display:grid;grid-template-columns:minmax(0,1fr)}.pf .pf-name{margin:0;font-size:var(--t-3xl);font-weight:800;letter-spacing:-.01em;line-height:1.15;overflow-wrap:anywhere}.pf-id{gap:var(--s3)}.pf-facts{display:grid;margin:0}.pf-fact{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:48px;border-bottom:1px solid var(--line)}.pf-fact dt{flex:none;font-size:var(--t-sm);font-weight:600;color:var(--muted)}.pf-fact dd{display:flex;align-items:center;justify-content:flex-end;gap:var(--s3);min-width:0;margin:0;text-align:right}.pf-pid{font-size:var(--t-lg);font-weight:800;letter-spacing:.05em;font-variant-numeric:tabular-nums;user-select:all;-webkit-user-select:all}.pf-muted{color:var(--muted);font-size:var(--t-sm)}.pf-country-name{display:inline-flex;align-items:center;gap:var(--s2);min-width:0;font-weight:600;text-align:left}.pf-change{flex:none;min-height:44px;padding:0 var(--pad-btn-x)}.pf-since{margin:0;color:var(--muted);font-size:var(--t-sm)}.pf-note{margin:0;color:var(--muted);font-size:var(--t-xs)}.pf-ratings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);margin:0;padding:0;list-style:none}.pf-rating{display:grid;align-content:start;gap:2px;padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg)}.pf-rating-class{font-size:var(--t-xs);font-weight:600;color:var(--muted)}.pf-rating-value{font-size:var(--t-2xl);font-weight:800;font-variant-numeric:tabular-nums}.pf-rating-none{padding-block:.25em;color:var(--muted);font-size:var(--t-sm)}.pf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2);margin:0}.pf-stat{display:grid;gap:2px;padding:var(--s2) var(--s1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);text-align:center}.pf-stat dt{font-size:var(--t-xs);font-weight:600;color:var(--muted)}.pf-stat dd{margin:0;font-size:var(--t-2xl);font-weight:800;font-variant-numeric:tabular-nums}.pf-recent{display:grid;margin:0;padding:0;list-style:none}.pf-game{position:relative;display:flex;align-items:center;gap:var(--s2);min-height:56px;padding:var(--s1) 0;border-bottom:1px solid var(--line)}.pf-game:last-child{border-bottom:0}.pf-res{flex:none;min-width:4.4em;padding:2px var(--s2);border-radius:999px;text-align:center;font-size:var(--t-xs);font-weight:800}.pf-game.win .pf-res{background:color-mix(in srgb,var(--accent) 34%,var(--surface));color:var(--ink)}.pf-game.loss .pf-res{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger-text)}.pf-game.draw .pf-res{background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}.pf-side.chip{width:14px;height:14px}.pf-game-main{display:grid;flex:1 1 auto;min-width:0}.pf-opp{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.pf-link{min-height:0;padding:0;border:0;border-radius:4px;background:none;color:inherit;text-align:left;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.pf-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}@media(hover:hover){.pf-link:hover:not(:disabled){border:0;background:none;text-decoration-color:var(--ink)}}.pf-game-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--t-xs)}.pf-delta{flex:none;color:var(--muted);font-size:var(--t-sm);font-weight:700;font-variant-numeric:tabular-nums}.pf-delta.up{color:var(--ink)}.pf-delta.down{color:var(--danger-text)}.pf-state{justify-items:center;padding-block:var(--s5);text-align:center}.pf-state p{margin:0}.pf-error{margin:0;color:var(--danger-text);font-size:var(--t-sm)}@media(min-width:900px)and (min-height:540px){.sheet.wide .pf{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"id recent" "ratings recent" "games recent";grid-template-rows:auto auto 1fr}.sheet.wide .pf>:not(.group){grid-column:1 / -1}.sheet.wide .pf>.group{padding-top:var(--s4)}.sheet.wide .pf-id{grid-area:id}.sheet.wide .pf-ratings-group{grid-area:ratings}.sheet.wide .pf-games-group{grid-area:games;align-content:start}.sheet.wide .pf-recent-group{grid-area:recent;align-content:start;border-top:0;border-left:1px solid var(--line)}.sheet.wide .pf-ach-group{grid-column:1 / -1}.sheet.wide .pf-ratings{grid-template-columns:repeat(4,minmax(0,1fr))}}dialog.sheet:has(.pf-cty-head){height:min(86dvh,760px)}.pf-cty-head{display:grid;gap:var(--s3);padding:var(--s4) var(--sheet-pad) var(--s2)}.pf-cty-q{width:100%;min-height:44px;padding:0 .8em;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:var(--t-md)}.pf-cty-list{display:grid;margin:0;padding:var(--s1) var(--sheet-pad) var(--s4);list-style:none}.pf-cty{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:48px;padding:0 var(--s3);border:0;border-radius:var(--r-sm);background:none;text-align:left;font-weight:600}.pf-cty.on{background:color-mix(in srgb,var(--accent) 20%,var(--surface))}.pf-cty-name{flex:1 1 auto;min-width:0}.pf-cty-flag{flex:none;display:inline-grid;place-items:center;width:2.25rem}.pf-cty-check{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pf-cty-empty{margin:0;padding:0 var(--sheet-pad) var(--s5)}.pf-own-btn{min-height:44px}:root{--rt-up:#17663A}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--rt-up:#6FD38F}}:root[data-theme=dark]{--rt-up:#6FD38F}.rt-delta{display:inline-flex;align-items:center;margin-left:var(--s2);padding:0 var(--s2);border-radius:999px;font-size:var(--t-sm);font-weight:800;line-height:1.5;font-variant-numeric:tabular-nums;vertical-align:middle}.rt-delta.up{color:var(--rt-up);background:color-mix(in srgb,var(--rt-up) 10%,transparent)}.rt-delta.down{color:var(--danger-text);background:color-mix(in srgb,var(--danger-text) 10%,transparent)}.rt-delta.even{color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.player .rt-chip{flex:none;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink);font-size:var(--t-xs);font-weight:700;line-height:1.6;font-variant-numeric:tabular-nums;white-space:nowrap}.player .rt-chip.provisional{background:none;box-shadow:inset 0 0 0 1px var(--line-strong)}@container home (max-height:300px){.home-board{display:none}}.lb-group{gap:var(--s3)}.lb-panel{min-width:0}.lb-status{margin:0;padding:var(--s4) 0}.lb-empty{display:grid;justify-items:center;gap:var(--s1);padding:var(--s5) var(--s2);text-align:center}.lb-empty h3{margin:0;font-size:var(--t-lg);font-weight:800}.lb-empty .hint{margin:0;max-width:36ch}.lb-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--t-sm)}.lb-table th{padding:0 var(--s2) var(--s1);color:var(--muted);font-size:var(--t-2xs);font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase}.lb-table td{padding:var(--s2);border-top:1px solid var(--line);vertical-align:middle}.lb-table .lb-rank{width:3.5rem;text-align:right}.lb-table .lb-rating{width:5rem;text-align:right}.lb-table td.lb-rank{color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}.lb-table td.lb-rating{font-size:var(--t-md);font-weight:800;font-variant-numeric:tabular-nums}.lb-who{display:flex;align-items:center;gap:var(--s3);min-width:0}.lb-flag{flex:none;width:1.4em;font-size:var(--t-xl);line-height:1;text-align:center}.lb-id{display:grid;min-width:0}.lb-name{display:flex;align-items:center;gap:var(--s2);min-width:0;font-weight:700}.lb-user{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-you{flex:none;padding:0 6px;border-radius:999px;background:var(--accent);color:#1c2033;font-size:var(--t-2xs);font-weight:800;line-height:1.6}.lb-pid{color:var(--muted);font-size:var(--t-xs);letter-spacing:.02em;font-variant-numeric:tabular-nums}.lb-me td{background:color-mix(in srgb,var(--accent) 12%,transparent)}.lb-note{margin:0}.ach-ico{display:block;flex:none;width:44px;height:44px;--ach-navy:#1F2647}.ach-ico .ach-disc{stroke-width:1}.ach-ico.ach-on{color:var(--accent)}.ach-ico.ach-on .ach-disc{fill:var(--ach-navy);stroke:var(--accent)}.ach-ico.ach-off{color:var(--muted)}.ach-ico.ach-off .ach-disc{fill:none;stroke:var(--muted)}.ach-glyph{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.ach-glyph .ach-solid{fill:currentColor;stroke:none}.ach-toast-live{position:fixed;top:calc(var(--safe-t) + var(--s2));left:0;right:0;z-index:60;display:flex;justify-content:center;padding:0 var(--s3);pointer-events:none}.ach-toast{display:flex;align-items:center;gap:var(--s3);max-width:420px;padding:var(--s2) var(--s4) var(--s2) var(--s2);border:1px solid var(--accent);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);box-shadow:0 14px 34px -12px #00000080}.ach-toast-icons,.ach-card-icons{display:flex;flex:none}.ach-toast-icons .ach-ico{width:36px;height:36px}.ach-toast-icons .ach-ico+.ach-ico{margin-left:-10px}.ach-toast-text{display:grid;gap:2px;min-width:0}.ach-toast-title{font-size:var(--t-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ach-toast-names{font-size:var(--t-md);line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}@media(max-width:767px){.ach-toast-icons .ach-ico{width:30px;height:30px}.ach-toast-names{font-size:var(--t-sm)}}@media(prefers-reduced-motion:no-preference){.ach-toast{animation:ach-toast-in .3s ease-out}}@keyframes ach-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.game-end:has(>.ach-card){position:relative}.ach-card{position:absolute;top:2px;right:6px}.ach-card-btn{display:flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s2);border:0;border-radius:var(--r-md);background:none;color:var(--muted);font-size:var(--t-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ach-card-btn:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--ink)}.ach-card-icons .ach-ico{width:26px;height:26px}.ach-card-icons .ach-ico+.ach-ico{margin-left:-8px}.ach-progress{margin:0 0 var(--s3);font-size:var(--t-sm);font-weight:700;color:var(--muted)}.ach-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.ach-tile{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-md)}.ach-tile.ach-earned{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.ach-tile.ach-locked{border-style:dashed}.ach-text{display:grid;gap:2px;min-width:0}.ach-name{font-size:var(--t-md);color:var(--ink)}.ach-desc{font-size:var(--t-sm);line-height:1.35;color:var(--muted)}.ach-when{margin-top:2px;font-size:var(--t-xs);font-weight:600;color:var(--muted)}.ach-tile.ach-earned .ach-when{color:var(--ink)}.ach-note{margin:var(--s3) 0 0;font-size:var(--t-xs);line-height:1.4;color:var(--muted)}.ach-loading{margin:0;color:var(--muted)}.ach-failed{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3)}.ach-failed button{min-height:44px}
