:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}button,input,select{font:inherit}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-button{display:inline-grid;width:2.65rem;height:2.65rem;place-items:center;border:0;border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 78%,transparent);cursor:pointer;transition:transform .16s ease,background .16s ease}.icon-button:hover{background:var(--surface-raised);transform:translateY(-1px)}.icon-button:focus-visible,.segmented-control button:focus-visible,.dialog-sheet button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.segmented-control{display:inline-flex;gap:.15rem;padding:.2rem;border:0;border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 75%,transparent)}.segmented-control button{min-height:2.25rem;padding:.35rem .85rem;border:0;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer}.segmented-control button.is-active{background:var(--text);color:var(--surface)}.switch-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;min-height:3.25rem;cursor:pointer}.switch-row input{position:absolute;opacity:0}.switch-label,.switch-hint{display:block}.switch-label{color:var(--text)}.switch-hint{margin-top:.2rem;color:var(--text-dim);font-size:.78rem}.switch-track{display:grid;width:2.7rem;height:1.55rem;align-items:center;padding:.18rem;border-radius:999px;background:var(--surface-raised);transition:background .16s ease}.switch-track span{width:1.15rem;height:1.15rem;border-radius:999px;background:var(--text-muted);transition:transform .16s ease,background .16s ease}.switch-row input:checked+.switch-track{background:var(--accent)}.switch-row input:checked+.switch-track span{background:#14110c;transform:translate(1.15rem)}.switch-row input:focus-visible+.switch-track{outline:3px solid var(--focus);outline-offset:3px}.dialog-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1rem;background:#040404b8;backdrop-filter:blur(14px);animation:backdrop-in .18s ease-out}.dialog-sheet{width:min(44rem,100%);max-height:min(48rem,calc(100svh - 2rem));overflow:auto;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:1.5rem;background:color-mix(in srgb,var(--surface) 96%,black);box-shadow:0 2rem 8rem #00000073;animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}.dialog-sheet>header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.dialog-sheet h2,.dialog-sheet p{margin:0}.dialog-sheet h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,4vw,2.5rem);font-weight:500;letter-spacing:-.035em}.eyebrow{margin-bottom:.4rem!important;color:var(--accent);font-size:.7rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase}@keyframes backdrop-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(1.5rem) scale(.98)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}:root{--surface: #171512;--surface-deep: #0e0d0b;--surface-raised: #29251f;--text: #f1eadf;--text-muted: #b8afa2;--text-dim: #9b9285;--line: rgb(255 255 255 / 9%);--accent: #d7a258;--focus: #f3cf79;color:var(--text);background:var(--surface-deep)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{overflow-x:hidden;background:var(--surface-deep)}button:disabled{cursor:not-allowed;opacity:.38}.app-shell{min-height:100svh;color:var(--text);background:var(--surface)}.app-shell[data-theme=graphite]{--surface: #121416;--surface-deep: #090b0c;--surface-raised: #24282b;--accent: #d4aa68}.app-shell[data-theme=tournament]{--surface: #121b17;--surface-deep: #09100d;--surface-raised: #233229;--accent: #e0ad62}.app-shell[data-theme=contrast]{--surface: #050609;--surface-deep: #000;--surface-raised: #202735;--text: #fff;--text-muted: #e6e9ef;--text-dim: #b8c0ce;--line: rgb(255 255 255 / 28%);--accent: #ffd25e;--focus: #58b7ff}.skip-link{position:fixed;z-index:200;top:.5rem;left:.5rem;padding:.7rem 1rem;border-radius:.5rem;color:#111;background:var(--focus);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-header{position:relative;z-index:20;display:grid;height:4.75rem;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 1.25rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px)}.brand,.mode-button{border:0;background:transparent;cursor:pointer}.brand{display:inline-flex;width:fit-content;align-items:center;gap:.8rem;padding:0;text-align:left}.brand-mark{display:grid;width:2.3rem;height:2.3rem;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:.55rem .55rem 1rem;color:var(--surface-deep);background:var(--accent);font-family:Georgia,serif;font-size:1.35rem;font-weight:700;box-shadow:0 0 2rem color-mix(in srgb,var(--accent) 18%,transparent)}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:500;letter-spacing:-.02em}.brand small{margin-top:.12rem;color:var(--text-dim);font-size:.66rem;letter-spacing:.055em;text-transform:uppercase}.mode-button{display:flex;min-height:2.55rem;align-items:center;gap:1rem;padding:.4rem 1rem;border:1px solid var(--line);border-radius:999px;color:var(--text-muted);background:var(--surface-raised)}.header-actions{display:flex;justify-content:flex-end;gap:.45rem}.game-layout{display:grid;min-height:calc(100svh - 4.75rem);grid-template-columns:10.5rem minmax(30rem,1fr) 18rem}.player-rail,.history-panel{position:relative;z-index:4;background:color-mix(in srgb,var(--surface) 94%,var(--surface-deep))}.player-rail{display:flex;flex-direction:column;justify-content:space-between;padding:1.25rem 1rem;border-right:1px solid var(--line)}.clock{display:grid;grid-template-columns:auto 1fr;gap:.25rem .55rem;align-items:center;color:var(--text-dim);font-size:.73rem;letter-spacing:.06em;text-transform:uppercase}.clock strong{grid-column:1 / -1;margin-top:.25rem;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:clamp(1.55rem,3vw,2.25rem);font-weight:400;letter-spacing:-.045em}.clock.is-active strong{color:var(--text)}.player-stone{width:.65rem;height:.65rem;border-radius:999px;background:#201c18;box-shadow:inset 0 0 0 1px #ffffff2e}.player-stone.w{background:#ece3d3}.turn-status{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.72rem;line-height:1.4}.turn-status>span{width:.42rem;height:.42rem;flex:0 0 auto;border-radius:99px;background:var(--accent);box-shadow:0 0 0 .3rem color-mix(in srgb,var(--accent) 14%,transparent)}.turn-status.outcome-check>span,.turn-status.outcome-checkmate>span{background:#db5b51;box-shadow:0 0 0 .3rem #db5b5129}.board-workspace{position:relative;display:grid;min-width:0;grid-template-rows:auto minmax(0,1fr) auto;padding:.9rem clamp(.75rem,2vw,2rem) .8rem;overflow:hidden;background:var(--surface-deep)}.board-tools{display:flex;min-height:3rem;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.4rem}.tool-actions{display:flex;gap:.35rem}.board-stage{position:relative;isolation:isolate;width:min(100%,calc(100svh - 10.5rem));max-width:60rem;min-height:20rem;aspect-ratio:1;justify-self:center;overflow:hidden;border-radius:.8rem;background:#111;box-shadow:0 2.3rem 6rem #00000061;touch-action:none}.board-stage:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.board-canvas{position:absolute!important;inset:0}.board-loading{position:absolute;inset:0;display:grid;place-content:center;gap:.75rem;color:var(--text-muted);font-size:.8rem;letter-spacing:.07em;text-transform:uppercase}.board-loading span{width:2rem;height:2rem;justify-self:center;border:2px solid var(--line);border-top-color:var(--accent);border-radius:999px;animation:spin .7s linear infinite}.coordinate-frame{position:absolute;z-index:2;inset:0;color:#ffffff85;font-size:.63rem;font-weight:700;pointer-events:none;text-transform:uppercase}.coordinate-frame .files{position:absolute;right:15%;bottom:5.7%;left:15%;display:grid;grid-template-columns:repeat(8,1fr);text-align:center}.coordinate-frame .ranks{position:absolute;top:15%;bottom:15%;left:6.1%;display:grid;grid-template-rows:repeat(8,1fr);align-items:center}.interaction-hint{margin:.55rem 0 0;color:var(--text-dim);font-size:.7rem;text-align:center}.history-panel{display:grid;min-width:0;grid-template-rows:auto minmax(6rem,1fr) auto auto auto;padding:1.5rem 1.25rem;border-left:1px solid var(--line)}.history-panel>header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--line)}.history-panel h2,.history-panel p{margin:0}.history-panel h2{font-family:Georgia,serif;font-size:1.55rem;font-weight:400}.history-panel>header>span{color:var(--text-dim);font-size:.7rem}.move-list{padding:.85rem 0;overflow-y:auto}.empty-history{max-width:14rem;color:var(--text-dim);font-size:.8rem;line-height:1.65}.move-row{display:grid;grid-template-columns:2rem 1fr 1fr;min-height:2rem;align-items:center;font-size:.82rem}.move-row>span{color:var(--text-dim)}.move-row strong{font-weight:500}.tutorial-chip{position:absolute;z-index:8;top:.75rem;left:50%;display:flex;max-width:calc(100% - 2rem);align-items:center;gap:.65rem;padding:.55rem .8rem;border:1px solid rgb(255 255 255 / 13%);border-radius:999px;color:var(--text);background:#110f0cd1;backdrop-filter:blur(12px);transform:translate(-50%);cursor:pointer}.tutorial-chip span{color:var(--accent);font-size:.63rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.replay-scrubber{display:grid;grid-template-columns:1fr auto;gap:.4rem;padding:.8rem 0;border-top:1px solid var(--line);color:var(--text-muted);font-size:.72rem}.replay-scrubber input{width:100%;grid-column:1 / -1;accent-color:var(--accent)}.why-panel{padding:1rem 0;border-top:1px solid var(--line)}.why-panel>span{color:var(--accent);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.why-panel p{margin-top:.5rem;color:var(--text-muted);font-size:.77rem;line-height:1.55}.analysis-legend{display:grid;gap:.5rem;padding-top:.9rem;border-top:1px solid var(--line);color:var(--text-dim);font-size:.68rem}.analysis-legend span{display:flex;align-items:center;gap:.55rem}.legend-dot{width:.5rem;height:.5rem;border-radius:99px;background:var(--accent)}.legend-ring{width:.7rem;height:.7rem;border:2px solid #d85d52;border-radius:99px}.legend-consolidate{color:var(--accent);font-style:normal;letter-spacing:.05em}.board-2d{position:absolute;inset:clamp(1rem,7%,3.5rem);display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,minmax(0,1fr));overflow:hidden;border:clamp(.45rem,1.4vw,1.1rem) solid #3a2218;border-radius:.35rem;box-shadow:0 1.5rem 4rem #0006}.square-2d{position:relative;display:grid;min-width:0;min-height:0;place-items:center;padding:0;border:0;cursor:pointer}.square-2d.light{background:var(--board-light)}.square-2d.dark{background:var(--board-dark)}.square-2d.last{box-shadow:inset 0 0 0 100px #e8b44042}.square-2d.selected{box-shadow:inset 0 0 0 100px #f2bb4673}.board-row{display:contents}.square-2d.marked:after{content:"";position:absolute;inset:12%;border:3px solid #49a8ce;border-radius:99px}.square-2d.keyboard{z-index:2;outline:3px solid var(--focus);outline-offset:-4px}.glyph{position:relative;z-index:2;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,6.5vw,5rem);line-height:1;filter:drop-shadow(0 .12em .08em rgb(0 0 0 / 30%))}.piece-glyph{display:block;width:88%;height:88%;aspect-ratio:auto;overflow:visible;border:0;border-radius:0}.piece-glyph.compound-A,.piece-glyph.compound-C,.piece-glyph.compound-M{width:88%;aspect-ratio:auto;border:0;border-radius:0;font-size:inherit}.glyph-shape{fill:currentColor}.glyph-detail{stroke-width:1.15}.glyph.white .glyph-detail{stroke:#5b4b38}.glyph.black .glyph-detail{stroke:#c6b89e}.glyph-eye{fill:currentColor;stroke:none}.glyph.white{color:#f8f1e3;text-shadow:0 0 1px #16120e,0 1px 1px #16120e}.glyph.black{color:#191512;text-shadow:0 0 1px #f6eede}.glyph.compound-A,.glyph.compound-C,.glyph.compound-M{display:grid;width:66%;aspect-ratio:1;place-items:center;border:2px solid currentColor;border-radius:50% 50% 45% 45%;font-family:ui-sans-serif,sans-serif;font-size:clamp(.75rem,2.8vw,2.2rem);font-weight:800}.glyph.piece-glyph.compound-A,.glyph.piece-glyph.compound-C,.glyph.piece-glyph.compound-M{display:block;width:88%;height:88%;aspect-ratio:auto;place-items:unset;border:0;border-radius:0;font-size:unset}.pieces-atelier .glyph{transform:scaleX(.76) scaleY(1.13);filter:drop-shadow(0 .2em .05em rgb(0 0 0 / 44%))}.pieces-atelier .glyph-detail{stroke-width:.75}.pieces-faceted .glyph{transform:scale(.94);filter:drop-shadow(0 .22em .01em rgb(0 0 0 / 48%))}.pieces-faceted .glyph-shape{stroke:currentColor;stroke-width:1.1;stroke-linejoin:bevel}.pieces-faceted .glyph-detail{stroke-width:1.65}.pieces-heritage .glyph{transform:scaleY(1.02)}.move-indicator{position:absolute;z-index:3;pointer-events:none}.move-indicator.quiet{width:18%;aspect-ratio:1;border-radius:99px;background:var(--board-accent)}.move-indicator.capture{inset:9%;border:clamp(2px,.5vw,5px) solid #d85d52;border-radius:99px}.move-indicator.consolidation{inset:12%;display:grid;place-items:center;border:2px dashed var(--board-accent);border-radius:50%}.move-indicator.consolidation:after{content:"•••";color:var(--board-accent);font-size:clamp(.75rem,2vw,1.5rem);font-weight:900;letter-spacing:.08em}.coord{position:absolute;z-index:1;color:#0000009e;font-size:clamp(.5rem,.9vw,.72rem);font-weight:800;line-height:1;pointer-events:none}.coord-rank{top:5%;left:6%}.coord-file{right:6%;bottom:5%}.mode-list{border-top:1px solid var(--line)}.mode-list>button{display:grid;width:100%;min-height:4.4rem;grid-template-columns:1.6rem minmax(0,1fr) auto 1.25rem;gap:.8rem;align-items:center;padding:.85rem .3rem;border:0;border-bottom:1px solid var(--line);text-align:left;background:transparent;cursor:pointer;transition:padding .18s ease,color .18s ease}.mode-list>button:hover,.mode-list>button.is-current{color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.mode-arrow{grid-column:4;justify-self:center}.mode-tag-slot{grid-column:3}.mode-copy{min-width:0}.mode-index{color:var(--text-dim);font-size:.67rem;font-variant-numeric:tabular-nums}.mode-copy strong,.mode-copy small{display:block}.mode-copy strong{color:var(--text);font-weight:550}.mode-copy small{margin-top:.22rem;color:var(--text-dim);font-size:.72rem}.mode-tag{padding:.3rem .5rem;border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);font-size:.62rem}.settings-stack,.online-layout{display:grid;gap:1.35rem}.setting-group+.setting-group{padding-top:1.2rem;border-top:1px solid var(--line)}.setting-heading{margin:0 0 .8rem!important;color:var(--text-dim);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.theme-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.theme-options button{display:grid;gap:.55rem;padding:.55rem;border:1px solid transparent;border-radius:.8rem;color:var(--text-muted);text-align:left;background:transparent;cursor:pointer}.theme-options button.is-active{border-color:var(--accent);color:var(--text)}.theme-swatch{width:100%;aspect-ratio:2.2;border-radius:.5rem;box-shadow:inset 0 0 0 1px #ffffff24}.theme-options button>span:last-child{font-size:.68rem}.split-setting{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.settings-toggles{display:grid;gap:.2rem}.promotion-layout{display:grid;grid-template-columns:minmax(11rem,.9fr) 1.1fr;gap:1.2rem}.promotion-preview{min-height:18rem;overflow:hidden;border-radius:1rem;background:var(--surface-deep)}.promotion-choices{display:grid;align-content:center}.promotion-choices button{display:grid;grid-template-columns:2.2rem 1fr;align-items:center;min-height:3.15rem;padding:0 .7rem;border:0;border-bottom:1px solid var(--line);text-align:left;background:transparent;cursor:pointer}.promotion-choices button.is-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.promotion-choices strong{font-family:Georgia,serif;font-size:1.25rem}.promotion-choices span{color:var(--text-muted);font-size:.82rem}.promotion-note{grid-column:1 / -1;color:var(--text-dim);font-size:.75rem;line-height:1.55}.lesson-body>p{max-width:36rem;color:var(--text-muted);font-family:Georgia,serif;font-size:clamp(1.05rem,2.5vw,1.35rem);line-height:1.55}.lesson-task{display:grid;gap:.35rem;margin:1.4rem 0;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lesson-task span{color:var(--accent);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.lesson-task strong{font-weight:500}.lesson-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:.25rem;margin:1.25rem 0}.lesson-progress span{height:.18rem;border-radius:99px;background:var(--surface-raised)}.lesson-progress span.is-complete{background:var(--accent)}.lesson-actions{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.primary-action,.secondary-action,.text-action{min-height:2.8rem;padding:.6rem 1rem;border-radius:999px;cursor:pointer}.primary-action{border:0;color:#17120c;background:var(--accent);font-weight:700}.secondary-action{border:1px solid var(--line);background:var(--surface-raised)}.text-action{border:0;color:var(--text-muted);background:transparent}.wide{width:100%}.online-status{min-height:1.2rem;color:var(--text-muted);font-size:.8rem}.room-code{display:grid;gap:.25rem;place-items:center;padding:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.room-code span,.room-code small,.local-fallback{color:var(--text-dim);font-size:.7rem}.room-code strong{color:var(--accent);font-size:clamp(2rem,8vw,4rem);letter-spacing:.15em}.join-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem;align-items:center;color:var(--text-dim);font-size:.7rem}.join-divider:before,.join-divider:after{height:1px;background:var(--line);content:""}.code-input{display:grid;gap:.5rem;color:var(--text-muted);font-size:.72rem}.code-input input{width:100%;min-height:3.6rem;padding:0 1rem;border:1px solid var(--line);border-radius:.75rem;color:var(--text);background:var(--surface-deep);font-size:1.5rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.code-input input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.spectator-check{display:flex;gap:.55rem;align-items:center;color:var(--text-muted);font-size:.8rem}.local-fallback{margin:0!important;line-height:1.5;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}.piece-style-options,.difficulty-list{display:grid;gap:.5rem}.piece-style-options{grid-template-columns:repeat(3,1fr)}.piece-style-options button,.difficulty-list button{display:grid;border:1px solid var(--line);color:var(--text-muted);background:var(--surface-deep);cursor:pointer}.piece-style-options button{grid-template-columns:2.8rem 1fr;gap:.65rem;align-items:center;min-height:4.25rem;padding:.55rem;border-radius:.8rem;text-align:left}.piece-style-options button.is-active,.difficulty-list button.is-active{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 7%,var(--surface-deep))}.piece-style-icon{display:grid;height:2.8rem;place-items:center;border-radius:.65rem;color:#191512;background:#e9deca;font-family:Georgia,serif;font-size:2rem}.piece-style-icon>span{display:block;filter:drop-shadow(0 .12rem .06rem rgb(0 0 0 / 30%))}.piece-style-icon.style-atelier{border-radius:45% 45% .45rem .45rem;background:linear-gradient(145deg,#fff,#aeb4bb)}.piece-style-icon.style-atelier>span{transform:scaleX(.68) scaleY(1.2)}.piece-style-icon.style-faceted{border-radius:.2rem .8rem .2rem .7rem;background:linear-gradient(135deg,#f4ead7 48%,#ae9f88 50%);box-shadow:inset 0 0 0 2px #19151233}.piece-style-icon.style-faceted>span{transform:scale(.9);-webkit-text-stroke:1px currentColor;filter:drop-shadow(2px 2px 0 rgb(0 0 0 / 34%))}.piece-style-icon.style-heritage>span{transform:scaleY(1.05)}.piece-style-options strong,.piece-style-options small,.difficulty-list strong,.difficulty-list span{display:block}.piece-style-options strong{color:var(--text);font-size:.78rem}.piece-style-options small{margin-top:.2rem;color:var(--text-dim);font-size:.63rem;line-height:1.35}.ai-setup{display:grid;gap:1.2rem}.ai-intro{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.6}.difficulty-list{grid-template-columns:repeat(2,1fr)}.difficulty-list button{min-height:3.8rem;padding:.7rem .8rem;border-radius:.7rem;text-align:left}.difficulty-list span{margin-top:.2rem;color:var(--text-dim);font-size:.66rem}.move-indicator.friendly-capture{inset:13%;border:3px solid #5eb6d7;transform:rotate(45deg);box-shadow:0 0 0 2px #0f191f59}.variant-explainer{display:grid;gap:1rem}.variant-explainer>p{margin:0;color:var(--text-muted);line-height:1.6}.variant-example{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:5.5rem;border-block:1px solid var(--line);text-align:center}.variant-example span{font-family:Georgia,serif;font-size:2.8rem}.variant-example strong{color:var(--accent);font-size:1.05rem;letter-spacing:.06em}.variant-explainer ul{display:grid;gap:.55rem;margin:0;padding-left:1.2rem;color:var(--text-muted);font-size:.8rem;line-height:1.45}.variant-explainer .variant-warning{color:var(--text-dim);font-size:.72rem}.clock.is-active strong{font-variant-numeric:tabular-nums;text-shadow:0 0 1.2rem color-mix(in srgb,var(--accent) 25%,transparent)}@media(max-width:1100px){.game-layout{grid-template-columns:8rem minmax(28rem,1fr)}.history-panel{display:none}}@media(max-width:760px){.app-header{height:3.5rem;grid-template-columns:1fr auto;padding:0 .75rem}.brand small,.mode-button{display:none}.game-layout{min-height:calc(100dvh - 3.5rem);grid-template-columns:1fr;grid-template-rows:auto 1fr}.player-rail{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.45rem .7rem;border-right:0;border-bottom:1px solid var(--line)}.clock:first-child{order:3;text-align:right}.clock:first-child .player-stone{order:2}.clock strong{margin:0;font-size:1.2rem}.turn-status{justify-content:center;font-size:0}.board-workspace{grid-template-rows:auto auto auto;align-content:start;padding:.35rem 0 .5rem}.board-tools{min-height:2.7rem;padding:0 .45rem;overflow-x:auto;scrollbar-width:none}.board-tools .segmented-control button{min-width:2.9rem;padding:.25rem .45rem;font-size:.7rem}.board-stage{width:min(100vw,calc(100dvh - 10rem));height:min(100vw,calc(100dvh - 10rem));min-height:19rem;max-height:calc(100dvh - 10rem);border-radius:0;touch-action:manipulation}.coordinate-frame .files{right:13%;bottom:3%;left:13%}.coordinate-frame .ranks{top:13%;bottom:13%;left:3%}.interaction-hint{display:none}.theme-options{grid-template-columns:1fr 1fr}.piece-style-options,.difficulty-list{grid-template-columns:1fr}.piece-style-options button,.difficulty-list button{min-height:3.9rem}.promotion-layout{grid-template-columns:1fr}.promotion-preview{min-height:11rem}.promotion-note{grid-column:1}.dialog-backdrop{place-items:end center;padding:0}.dialog-sheet{width:100%;max-height:88svh;border-right:0;border-bottom:0;border-left:0;border-radius:1.35rem 1.35rem 0 0;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.mode-list>button{min-height:4rem}.lesson-actions{flex-wrap:wrap}.lesson-actions .primary-action{order:-1;width:100%}}@media(max-width:420px){.brand strong{font-size:.88rem}.brand-mark{width:2rem;height:2rem}.board-stage{width:100%;min-height:17rem}.player-rail{padding-inline:.6rem}.clock{font-size:.6rem}.tool-actions .icon-button{width:2.35rem;height:2.35rem}}.mobile-game-dock{display:none}@media(max-width:760px){.app-shell{height:100dvh;overflow:hidden}.game-layout{height:calc(100dvh - 3.5rem);min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.player-rail{height:4.8rem;grid-template-columns:1fr 1fr;grid-template-rows:2.45rem 1.1rem;gap:0 .65rem;padding:.45rem .75rem .35rem}.clock,.clock:first-child{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:1fr 1fr;gap:0 .42rem;align-items:center;order:initial;text-align:left}.clock:first-child{order:1}.clock:last-child{order:2}.clock:first-child .player-stone{order:initial}.clock>span:nth-child(2){align-self:end;font-size:.62rem}.clock .player-stone{grid-row:1 / 3}.clock strong{grid-column:2 / 4;grid-row:2;align-self:start;margin:0;font-size:1.05rem;line-height:1}.clock:last-child{text-align:right}.clock:last-child .player-stone{grid-column:3}.clock:last-child>span:nth-child(2),.clock:last-child strong{grid-column:1 / 3}.turn-status{grid-column:1 / -1;order:3;justify-content:center;font-size:.65rem;line-height:1}.board-workspace{height:100%;min-height:0;grid-template-rows:2.8rem auto minmax(0,1fr);align-content:stretch;padding:0;overflow:hidden}.board-tools{min-height:2.8rem;margin:0;border-bottom:1px solid var(--line);background:var(--surface-deep)}.board-stage{width:100vw;min-height:0;aspect-ratio:1;align-self:start}.board-stage.renderer-3d{height:min(52dvh,29rem);aspect-ratio:auto}.board-stage.renderer-3d .coordinate-frame{display:none}.mobile-game-dock{display:grid;min-height:0;grid-template-rows:auto auto auto minmax(0,1fr);align-content:stretch;gap:.65rem;padding:.7rem .85rem max(.7rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,var(--surface-deep))}.mobile-game-status{display:flex;align-items:center;justify-content:space-between;gap:1rem}.mobile-game-status span{color:var(--accent);font-size:.65rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.mobile-game-status strong{color:var(--text);font-size:.76rem;font-weight:550}.mobile-dock-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.mobile-dock-actions button{min-height:2.75rem;padding:0 .75rem;border:1px solid var(--line);border-radius:.75rem;color:var(--text);background:var(--surface-raised);font-weight:650}.mobile-dock-actions button.is-active{border-color:var(--accent);color:var(--surface-deep);background:var(--accent)}.mobile-board-options{display:flex;align-items:center;justify-content:space-between;gap:1rem}.mobile-board-options>span,.mobile-detail-label{color:var(--text-dim);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mobile-view-switch{display:grid;grid-template-columns:repeat(2,3.15rem);padding:.2rem;border:1px solid var(--line);border-radius:.72rem;background:var(--surface-deep)}.mobile-view-switch button{min-height:2.2rem;border:0;border-radius:.52rem;color:var(--text-dim);background:transparent;font-weight:750}.mobile-view-switch button[aria-pressed=true]{color:var(--surface-deep);background:var(--accent)}.mobile-dock-detail{display:grid;align-content:start;gap:.65rem;min-height:0;padding:.7rem .75rem;border:1px solid var(--line);border-radius:.75rem;background:color-mix(in srgb,var(--surface-deep) 58%,transparent)}.mobile-move-strip{display:flex;gap:.38rem;min-height:1.5rem;margin-top:.42rem;overflow-x:auto;scrollbar-width:none}.mobile-move-strip span,.mobile-move-strip em{flex:0 0 auto;padding:.25rem .42rem;border-radius:.35rem;color:var(--text);background:var(--surface-raised);font-size:.68rem;font-style:normal}.mobile-move-strip em{color:var(--text-dim);background:transparent}.mobile-dock-detail>p{margin:0;color:var(--text-dim);font-size:.68rem;line-height:1.45}}.board-stage.renderer-2d .coordinate-frame{display:none}@media(prefers-reduced-motion:reduce){.board-loading span{animation:none}}.tutorial-chip strong{font-size:.72rem;font-weight:550;white-space:nowrap}.table-status{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.2rem 0 .55rem;color:var(--text-muted);font-size:.75rem}.table-status button{border:0;background:none;color:var(--accent);cursor:pointer;padding:.35rem}.board-workspace{grid-template-rows:auto auto auto;align-content:start;overflow:visible}.board-stage{flex-shrink:0;align-self:start;min-height:0}.setup-intro{margin:0;font-size:.83rem;line-height:1.6;color:var(--text-muted)}.capture-options{display:grid;gap:.5rem}.capture-options button{display:grid;gap:.35rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.6rem;background:var(--surface-deep);color:var(--text);text-align:left;cursor:pointer}.capture-options button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-deep))}.capture-options button:disabled{opacity:1;cursor:default}.capture-options span,.capture-options small{color:var(--text-muted);font-size:.8rem;line-height:1.5}.capture-options small{color:var(--text-dim)}.setup-select{display:grid;gap:.5rem;font-size:.85rem}.setup-select select{min-height:44px;padding:.6rem;color:var(--text);background:var(--surface-deep);border:1px solid var(--line);border-radius:.4rem}.game-setup h3{margin:0 0 .6rem;font-size:1rem}.puzzle-list{display:grid}.puzzle-list button{display:flex;align-items:center;gap:.8rem;padding:.8rem 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);text-align:left;cursor:pointer}.puzzle-list small{display:block;margin-top:.25rem;color:var(--text-dim)}.puzzle-number{color:var(--accent);font-variant-numeric:tabular-nums}.puzzle-result{margin-left:auto;font-size:.7rem;color:var(--accent)}.puzzle-controls{padding:.7rem 0;display:grid;gap:.6rem}.puzzle-controls p{margin:.35rem 0;font-size:.8rem;line-height:1.5;color:var(--text-muted)}.puzzle-actions,.move-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.puzzle-actions button,.move-confirm button{min-height:44px;padding:.45rem .8rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface-raised);color:var(--text);cursor:pointer}.move-confirm{padding:.6rem;font-size:.8rem}.piece-set-preview{display:flex;justify-content:center;padding:1rem .5rem;background:linear-gradient(135deg,#696158,#292723);border-radius:.6rem}.piece-set-preview .piece-glyph{width:16%;height:auto;max-height:6rem}.piece-style-icon .piece-glyph{width:90%;height:90%}.board-stage:not(.show-coordinates) .coord{display:none}@media(max-width:760px){.app-shell{height:auto;min-height:100dvh;overflow:visible}.game-layout{height:auto;min-height:calc(100dvh - 3.5rem);overflow:visible;grid-template-rows:auto auto}.board-workspace{height:auto;min-height:0;overflow:visible;grid-template-rows:auto;align-content:start}.table-status{padding:.25rem .55rem;font-size:.65rem}.board-stage,.board-stage.renderer-2d,.board-stage.renderer-3d{width:min(100vw,38rem);height:auto;max-height:none;min-height:0;aspect-ratio:1}.board-2d{inset:3%;border-width:.4rem}.mobile-game-dock{min-height:12rem}.puzzle-controls{padding:.75rem}.piece-style-options{grid-template-columns:1fr}}@media(max-height:520px)and (min-width:600px){.game-layout{grid-template-columns:7rem minmax(0,1fr)}.player-rail{display:flex;height:auto;flex-direction:column}.board-stage,.board-stage.renderer-3d,.board-stage.renderer-2d{width:min(65vw,calc(100dvh - 8rem))}.mobile-game-dock{display:none}}.promotion-piece{display:grid;place-items:center;height:100%;min-height:12rem}.promotion-piece .piece-glyph{width:8rem;height:8rem}.pieces-atelier .piece-glyph,.pieces-faceted .piece-glyph{transform:none}.glyph.white .glyph-shape{stroke:#645644;stroke-width:.65;stroke-linejoin:round}.glyph.black .glyph-shape{stroke:#baac98;stroke-width:.65;stroke-linejoin:round}.pieces-faceted .glyph-shape{stroke-linejoin:bevel}.board-stage.renderer-3d .coordinate-frame{display:none}.coordinate-3d{color:#e6d7bf;font-size:.65rem;font-weight:650;text-shadow:0 1px 2px #000;user-select:none}.glyph.white .glyph-eye{fill:#413629}.glyph.black .glyph-eye{fill:#deceb2}.arcade-home-button{min-height:44px;padding:0 .8rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--accent);font-weight:650;cursor:pointer}.dialog-sheet:has(.arcade-hub){width:min(48rem,100%);background:#141c23;--surface-deep: #10161b;--surface-raised: #25313b;--text: #f2eee6;--text-muted: #c2c8cb;--text-dim: #a3adb4;--line: rgb(255 255 255 / 12%);--accent: #edb65e}.arcade-hub{display:grid;gap:1.4rem}.arcade-profile{display:flex;align-items:center;gap:.75rem}.arcade-avatar{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:1px solid #8d7751;border-radius:50%;color:var(--accent);font-family:Georgia,serif;font-size:1.35rem}.arcade-profile strong,.arcade-profile small{display:block}.arcade-profile small{margin-top:.25rem;font-size:.72rem;color:var(--text-muted)}.arcade-device{margin-left:auto;font-size:.68rem;color:var(--text-dim)}.arcade-feature{position:relative;isolation:isolate;overflow:hidden;padding:1.5rem;border-radius:.65rem;background:#243541;border:1px solid #415364;animation:arcade-enter .22s ease-out}.arcade-feature h3,.arcade-recap h3{position:relative;margin:.65rem 0 1rem;font-family:Georgia,serif;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:400;line-height:1.02;letter-spacing:-.035em}.arcade-feature p{position:relative;margin:0 0 1rem;color:var(--text-muted);font-size:.85rem}.arcade-feature .arcade-kicker,.arcade-kicker{color:var(--accent);font-size:.75rem}.arcade-feature .primary-action{position:relative;display:inline-flex;align-items:center;gap:2rem;min-height:48px;margin:.25rem 0 .8rem}.arcade-feature small{position:relative;display:block;color:var(--text-muted);font-size:.72rem}.arcade-feature-art{position:absolute;z-index:-1;right:-1rem;top:1rem;width:13rem;height:15rem;opacity:.28;transform:rotate(-12deg);background:repeating-conic-gradient(#384957 0 25%,transparent 0 50%) 0 0/44px 44px}.arcade-feature-art .piece-glyph{width:100%;height:100%;filter:none}.arcade-goal{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center}.arcade-goal strong{font-size:.86rem}.arcade-goal p{margin:.25rem 0 0;color:var(--text-muted);font-size:.75rem}.arcade-goal progress{grid-column:1/-1}.arcade-hub progress{width:100%;height:5px;border:0;border-radius:20px;accent-color:var(--accent);background:#34434d;overflow:hidden}.arcade-hub progress::-webkit-progress-bar{background:#34434d}.arcade-hub progress::-webkit-progress-value{background:var(--accent)}.arcade-hub progress::-moz-progress-bar{background:var(--accent)}.arcade-goal-options{display:flex;gap:.35rem}.arcade-goal-options button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.arcade-goal-options button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#2d302b}.arcade-play-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.arcade-play-actions button{display:grid;gap:.4rem;padding:1rem;border:1px solid var(--line);border-radius:.6rem;background:#1b2730;color:var(--text);text-align:left;cursor:pointer}.arcade-play-actions strong{font-size:.85rem}.arcade-play-actions span{font-size:.73rem;color:var(--text-muted);line-height:1.4}.arcade-section-heading{display:flex;align-items:center;justify-content:space-between}.arcade-section-heading h3{margin:0;font-size:1rem}.arcade-section-heading button,.arcade-footer button{min-height:44px;border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:.8rem}.arcade-track{display:grid;width:100%;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:.8rem;padding:1rem 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.arcade-track strong{font-size:.88rem}.arcade-track small{display:block;margin:.3rem 0 .6rem;font-size:.73rem;color:var(--text-muted);line-height:1.4}.arcade-track-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;background:#2a3c49;color:#c6d9e6;font-size:1.4rem;border-radius:.35rem}.track-variants{color:var(--accent);background:#37352b}.arcade-track-count{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.arcade-footer p{margin:0 0 .4rem;font-size:.72rem;color:var(--text-dim);line-height:1.6}.arcade-footer button{padding:.35rem .8rem .35rem 0}.arcade-recap{padding:1.4rem;background:#22333d;border:1px solid #415364;border-radius:.65rem}.arcade-recap h3{font-size:2.2rem}.arcade-score{display:flex;align-items:baseline;gap:.6rem;margin:.8rem 0}.arcade-score strong{font-size:4rem;color:var(--accent);letter-spacing:-.06em;line-height:1}.arcade-score span{color:var(--text-muted);font-size:1.1rem}.arcade-recap>p{font-size:.8rem;color:var(--text-muted);line-height:1.5}.arcade-result-list{list-style:none;padding:0;margin:1rem 0}.arcade-result-list li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.65rem 0;font-size:.8rem}.arcade-result-list strong{color:var(--accent)}.arcade-recap-actions{display:flex;flex-wrap:wrap;gap:.5rem}.arcade-recap-actions button{min-height:44px;font-size:.78rem}.arcade-share{display:grid;gap:.6rem;margin-top:1rem;font-size:.75rem}.arcade-share textarea{width:100%;min-height:9rem;padding:.8rem;background:#111a20;border:1px solid var(--line);border-radius:.4rem;color:var(--text);font-family:inherit;font-size:.8rem;line-height:1.6;resize:vertical}.arcade-resume{padding:.75rem;border:1px solid var(--line);border-radius:.5rem;background:transparent;color:var(--accent);text-align:left;cursor:pointer;font-size:.8rem}.run-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.65rem .8rem;background:var(--surface-raised);border-radius:.4rem;font-size:.75rem}.run-strip>span:first-child{color:var(--accent)}.run-strip button{margin-left:auto;min-height:44px;border:0;background:transparent;color:var(--accent);cursor:pointer}.practice-mastery{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.practice-mastery span{font-size:.8rem;color:var(--accent)}.practice-mastery button{margin-left:auto;min-height:44px;padding:.4rem;border:0;background:transparent;color:var(--accent);cursor:pointer}.puzzle-objective{margin:.5rem 0!important;color:var(--text)!important;font-size:.9rem!important}@keyframes arcade-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:420px){.arcade-feature{padding:1.1rem}.arcade-feature-art{right:-2rem;width:11rem;opacity:.2}.arcade-device{display:none}.arcade-play-actions{grid-template-columns:1fr}.arcade-home-button{padding:0 .6rem;font-size:.72rem}.arcade-recap{padding:1rem}.arcade-hub{gap:1.1rem}.arcade-profile small{font-size:.65rem}}@media(prefers-reduced-motion:reduce){.arcade-feature{animation:none}}.app-shell[data-reduced-motion=true] .arcade-feature{animation:none}.arcade-collection{margin:0 0 1.1rem;color:#b8c5d4;font-size:.8rem}.arcade-collection summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.arcade-emblems{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.arcade-emblems button{display:grid;gap:.35rem;justify-items:center;padding:.8rem .3rem;border:1px solid #354452;background:#19232d;border-radius:.7rem;color:#e7edf4}.arcade-emblems button[aria-pressed=true]{border-color:#dfad61;background:#322e28}.arcade-emblems button:disabled{opacity:.55}.arcade-emblems button>span{font-size:1.5rem;color:#dfad61}.arcade-emblems small{font-size:.65rem}@media(max-width:420px){.arcade-emblems{grid-template-columns:repeat(2,minmax(0,1fr))}}.piece-glyph[class*=artwork-]{width:94%;height:94%;transform:none;filter:drop-shadow(0 2px 1px rgb(0 0 0 / 22%))}.piece-style-icon .piece-glyph[class*=artwork-]{width:100%;height:100%}.training-rating{padding:.8rem 1rem;border:1px solid var(--line);border-radius:.65rem}.training-rating strong,.training-rating small{display:block}.training-rating strong{color:var(--accent)}.training-rating strong span{font-size:.75rem;font-weight:400;color:var(--text-muted)}.training-rating small,.training-rating p{margin:.4rem 0 0;font-size:.75rem;line-height:1.5;color:var(--text-muted)}.sacrifice-lab-button{display:grid;gap:.5rem;padding:1rem;text-align:left;border-radius:.65rem;border:1px solid #697b69;background:#20362e;color:#eff5e6;cursor:pointer}.sacrifice-lab-button strong{font-family:Georgia,serif;font-size:1.35rem}.sacrifice-lab-button span{color:#c3d1c5;font-size:.8rem}.practice-filter{display:grid;gap:.5rem}.practice-filter select{padding:.7rem;min-height:44px;color:var(--text);background:var(--surface-deep);border:1px solid var(--line);border-radius:.5rem}.open-review{justify-self:center;display:flex;gap:1rem;align-items:center;padding:.45rem .85rem;min-height:40px;margin:.2rem;border:1px solid var(--line);border-radius:2rem;color:var(--accent);background:transparent;cursor:pointer;font-size:.75rem}.open-review span{font-size:.65rem;color:var(--text-muted)}.review-panel{display:grid;gap:1rem}.review-panel p{font-size:.85rem;line-height:1.6;color:var(--text-muted)}.review-caveat{border-left:2px solid var(--accent);padding-left:.8rem}.review-actions{display:flex;flex-wrap:wrap;gap:.6rem}.review-actions button{min-height:44px;padding:.6rem .9rem;border-radius:.5rem;border:1px solid var(--line);background:var(--surface-raised);color:var(--text);cursor:pointer}.review-actions .primary-action{background:var(--accent);color:#161819}.review-evaluation{display:grid;gap:.5rem}.review-evaluation strong{font-size:1.9rem;color:var(--accent)}.review-evaluation span{font-size:.7rem;color:var(--text-muted)}.review-panel summary{cursor:pointer;min-height:44px;padding-top:.7rem}.review-line{font-family:ui-monospace,monospace;overflow-wrap:anywhere}.review-features>div{display:flex;justify-content:space-between;padding:.4rem;gap:.6rem;border-bottom:1px solid var(--line);font-size:.8rem}.review-features dd{margin:0;font-variant-numeric:tabular-nums}.review-moves{list-style:none;padding:0;display:grid;gap:.8rem}.review-moves li{border:1px solid var(--line);padding:.8rem;border-radius:.6rem}.review-moves li>div{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.review-moves small{display:block;margin-top:.5rem;color:var(--text-muted);font-size:.7rem}.move-grade{padding:.3rem .5rem;border:1px solid currentColor;border-radius:1rem;font-size:.7rem}.grade-engine-choice,.grade-strong{color:#8bca9b}.grade-mistake,.grade-blunder{color:#efad86}.artwork-credits{font-size:.8rem;color:var(--text-muted);line-height:1.6}.artwork-credits a{color:var(--accent)}.table-status .open-review{min-height:32px;margin:0;padding:.3rem .5rem;font-size:.7rem;white-space:nowrap}.table-status .open-review span{display:none}@media(min-width:761px)and (min-height:521px){.board-stage,.board-stage.renderer-2d,.board-stage.renderer-3d{width:min(100%,calc(100svh - 13rem));height:auto;aspect-ratio:1}.board-workspace:has(.puzzle-controls) .board-stage{width:min(100%,calc(100svh - 24rem))}}@media(max-width:430px){.table-status{flex-wrap:wrap;justify-content:flex-start;gap:.15rem .5rem}.table-status .open-review{margin-left:auto}}.training-rail{justify-content:flex-start;gap:1rem}.training-rail>strong{font-family:var(--font-display);font-size:1.15rem}.training-rail>small{color:var(--text-muted);line-height:1.5}.training-rail .turn-status{margin-top:auto}.puzzle-brief{display:flex;align-items:center;gap:.75rem;padding:.55rem .8rem;border-left:3px solid var(--accent);background:var(--surface-raised)}.puzzle-brief .eyebrow{flex-shrink:0;margin:0}.puzzle-brief strong{font-size:.85rem;font-weight:500;line-height:1.4}.puzzle-brief.is-solved{border-left-color:#7cba94}.game-result{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--accent);background:var(--surface-raised)}.game-result h2{margin:.25rem 0;font-size:1.2rem}.game-result p{margin:0;color:var(--text-muted);font-size:.8rem}@media(max-width:760px){.training-rail{display:flex;flex-direction:row;flex-wrap:wrap;gap:.35rem .65rem;padding:.45rem .7rem}.training-rail>strong{font-size:.8rem}.training-rail>small{display:none}.training-rail .turn-status{margin:0 0 0 auto;font-size:.75rem}.puzzle-brief{margin:0 .5rem;padding:.45rem .6rem;flex-wrap:wrap;gap:.2rem .55rem}.puzzle-brief strong{font-size:.8rem}.puzzle-controls p[role=status]{max-height:8rem;overflow-y:auto}.game-result{margin:.5rem}}.offline-status{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem 1rem;padding:.4rem .75rem;color:var(--text-muted);background:var(--surface-deep);border-top:1px solid var(--line);font-size:.65rem;line-height:1.4}.offline-status[data-offline-ready=true]>span:first-child:before{content:"";display:inline-block;width:.35rem;height:.35rem;border-radius:50%;margin-right:.4rem;background:#7cba94;vertical-align:middle}@media(max-width:760px){.offline-status{text-align:center;padding-bottom:max(.4rem,env(safe-area-inset-bottom))}}@media(min-width:761px){.board-workspace{grid-template-rows:none;grid-auto-rows:max-content;align-content:start;overflow-y:auto}.board-workspace:has(.game-result) .board-stage{width:min(100%,calc(100svh - 22rem))}}@media(max-width:760px){.training-rail{height:auto;min-height:2.6rem}}.cpu-demo-action{display:grid;gap:.35rem;padding:.85rem 1rem;text-align:left;background:var(--surface-raised);border:1px solid var(--accent);border-radius:.65rem;color:var(--text);cursor:pointer}.cpu-demo-action span{color:var(--text-muted);font-size:.75rem;line-height:1.5}.resume-match{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;margin:.5rem 0 1rem;padding:.75rem;border:1px solid var(--accent);border-radius:.65rem;background:var(--surface-raised)}.resume-match button{min-height:44px;border:1px solid var(--accent);border-radius:.4rem;padding:.55rem .8rem;color:var(--surface-deep);background:var(--accent);font:inherit;font-weight:600;cursor:pointer}.resume-match small{flex:1;min-width:10rem;color:var(--text-muted);font-size:.75rem;line-height:1.5}.setting-group{min-width:0}.game-setup .setting-group{display:grid;gap:.8rem}.game-setup .setting-group h3{margin-bottom:0}.piece-set-preview+.piece-style-options{margin-top:.85rem}.switch-hint{line-height:1.5}@media(max-width:760px){.dialog-sheet{max-height:calc(100dvh - max(.75rem,env(safe-area-inset-top)));padding:1.25rem max(1.25rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left));scroll-padding-block:1.25rem;overscroll-behavior:contain}.dialog-sheet>header{margin-bottom:1.5rem}.settings-stack,.online-layout{gap:1.5rem}.setting-group+.setting-group{padding-top:1.4rem}.settings-toggles{gap:.4rem}.switch-row{min-height:3.5rem;padding-block:.35rem}.dialog-sheet .segmented-control{display:flex;flex-wrap:wrap;gap:.25rem}.dialog-sheet .segmented-control button{flex:1;min-height:44px;padding:.5rem .75rem}.split-setting{grid-template-columns:1fr;gap:1.25rem}.theme-options{gap:.75rem}.theme-options button{padding:.65rem}.theme-options button>span:last-child,.piece-style-options small{font-size:.75rem;line-height:1.5}.piece-style-options button{padding:.8rem;gap:.85rem}.piece-style-options strong{font-size:.85rem}.puzzle-list{gap:.3rem}.puzzle-list button{padding:1rem .25rem;line-height:1.5}.puzzle-list small{line-height:1.5}.practice-filter{gap:.65rem;margin-bottom:1rem}.mobile-game-dock{gap:1rem;padding:1rem max(1rem,env(safe-area-inset-left))}.mobile-dock-actions{gap:.65rem}.mobile-dock-actions button{padding:.75rem;line-height:1.4}.table-status{padding:.6rem 1rem;row-gap:.6rem;line-height:1.5}.table-status button{min-height:44px}.puzzle-controls{padding:1rem;gap:.85rem}}@media(max-width:420px){.clock{font-size:1rem;line-height:1.3}.arcade-profile{align-items:flex-start}.arcade-feature p,.arcade-feature small{line-height:1.5}}.piece-set-preview .piece-glyph[class*=artwork-]{flex:0 1 calc(100% / 6);min-width:0;width:calc(100% / 6);height:auto;aspect-ratio:1}.dialog-sheet .settings-stack>*,.dialog-sheet .practice-filter,.dialog-sheet .setup-select{min-width:0}.dialog-sheet select{width:100%;max-width:100%;min-width:0}@media(max-width:760px){.practice-mastery{flex-wrap:wrap;gap:.6rem}.practice-mastery button{min-height:44px}.primary-action.wide{white-space:normal;line-height:1.5;padding:.75rem 1rem}}.cpu-style-picker{margin:0;padding:0;border:0}.cpu-style-picker legend{padding:0 0 .85rem;font-size:1rem;font-weight:650}.arcade-variant-entry{display:grid;gap:.9rem;padding:1.2rem;border:1px solid #6f856d;border-radius:.8rem;background:#1c2c28}.arcade-variant-entry h3{margin:0;font-family:var(--font-display);font-size:1.5rem;line-height:1.25}.arcade-variant-entry p{font-size:.85rem;line-height:1.6;color:var(--text-muted)}.arcade-variant-entry .puzzle-actions{gap:.75rem}.arcade-variant-entry .puzzle-actions button{min-height:48px;padding:.75rem 1rem;line-height:1.4}.match-moments{width:100%;padding-top:1rem;border-top:1px solid var(--line);text-align:left;line-height:1.6}.match-moments summary{padding-block:.5rem;min-height:44px;cursor:pointer}.match-moments p,.match-moments ol{margin-block:.75rem}@media(max-width:760px){.arcade-variant-entry .puzzle-actions{display:grid;grid-template-columns:1fr}}@media(max-width:760px){.player-rail:not(.training-rail){height:auto;min-height:4rem;grid-template-rows:2.2rem 1rem;padding:.4rem 1rem}.board-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;padding:.5rem .75rem;overflow:visible}.board-tools .segmented-control{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.board-tools .segmented-control:not(:has(button:nth-of-type(3))){grid-template-columns:repeat(2,minmax(0,1fr));max-width:14rem}.board-tools .segmented-control button{min-width:0;min-height:44px;padding:.3rem .2rem;font-size:.69rem;white-space:normal;line-height:1.2}.tool-actions{gap:.25rem}.board-tools .tool-actions .icon-button{width:44px;height:44px}.table-status{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem .75rem;padding:.5rem 1rem .65rem;border-bottom:1px solid var(--line)}.table-status>*{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.45}.table-status>:first-child{grid-column:1 / -1;text-align:left;justify-content:start;padding:0;min-height:36px}.table-status>span[role=status]{text-align:left;font-size:.75rem}.table-status .open-review{min-height:44px;padding:.4rem 0;margin:0;justify-self:end}.mode-list>button{column-gap:.65rem;min-height:5rem;padding-block:1rem}.mode-copy small{line-height:1.45}.mode-tag{white-space:nowrap}}@media(max-width:380px){.mode-list>button{grid-template-columns:1.25rem minmax(0,1fr) 1rem}.mode-copy{grid-column:2;grid-row:1}.mode-tag-slot{grid-column:2;grid-row:2}.mode-tag-slot:empty{display:none}.mode-arrow{grid-column:3;grid-row:1 / 3}}.setting-hint{color:var(--text-muted);font-size:.8rem;line-height:1.55;margin:.65rem 0 0}.piece-preview-3d{height:190px;min-height:190px;overflow:hidden;border:1px solid var(--line);border-radius:.75rem;background:var(--surface-deep)}@media(min-width:600px)and (max-width:760px){.table-status{grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:auto;gap:.75rem;padding-block:.3rem}.table-status>:first-child{grid-column:auto;min-height:44px}.table-status>span[role=status]{font-size:.75rem}}.game-action-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,38rem);justify-self:center;gap:.25rem;padding:.4rem .5rem;border-block:1px solid var(--line);background:var(--surface)}.game-action-bar>button{display:grid;justify-items:center;align-content:center;gap:.2rem;min-width:0;min-height:52px;padding:.3rem;border:0;border-radius:.5rem;color:var(--text);background:transparent;cursor:pointer}.game-action-bar>button:hover:not(:disabled){background:var(--surface-raised)}.game-action-bar>button>span{font-size:1.45rem;line-height:1}.game-action-bar small{font-size:.7rem}.game-options-list{display:grid}.game-options-list>button{display:flex;align-items:center;justify-content:space-between;min-height:56px;gap:1rem;padding:.85rem .2rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}@media(max-width:760px){.app-shell{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.game-action-bar{position:fixed;z-index:20;inset:auto 0 0;width:100%;padding:.35rem max(.75rem,env(safe-area-inset-left)) max(.35rem,env(safe-area-inset-bottom));box-shadow:0 -.35rem 1rem #0000002e}.mobile-game-dock{display:flex;flex-direction:column;align-items:flex-start;min-height:0;gap:.35rem;padding:.65rem 1rem;font-size:.75rem;line-height:1.5}.mobile-game-dock strong{font-weight:550;color:var(--text)}.mobile-game-dock p{margin:0;color:var(--text-muted)}}.game-page{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;align-items:start}.familiar-layout.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 17rem;grid-template-rows:auto;height:auto;min-height:0;overflow:visible}.familiar-layout .board-workspace{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:max-content;justify-items:stretch;overflow:visible;padding:.5rem .75rem 1rem}.familiar-layout .board-stage,.familiar-layout .board-stage.renderer-2d,.familiar-layout .board-stage.renderer-3d{width:var(--game-board-size);height:auto;aspect-ratio:1;max-height:none}.familiar-layout .player-strip{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:min(100%,38rem);justify-self:center;gap:.75rem;padding:.4rem .65rem;min-height:48px;height:auto;border:0}.familiar-layout .player-strip .clock,.familiar-layout .player-strip .clock:first-child,.familiar-layout .player-strip .clock:last-child{display:flex;flex-direction:row;align-items:center;gap:.4rem;order:initial;text-align:left;flex-shrink:0}.familiar-layout .player-strip .clock strong{margin:0;font-size:1.2rem;line-height:1.1;letter-spacing:-.02em}.familiar-layout .player-strip .turn-status{order:initial;font-size:.68rem;line-height:1.3;text-align:right}.ad-slot{display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px dashed var(--line);color:var(--text-dim);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;background:var(--surface-deep)}.ad-slot--banner{width:min(100%,38rem);min-height:56px;height:56px;margin:.25rem auto}.ad-slot--sidebar{width:120px;height:240px}.ad-rail{display:none}@media(min-width:900px){.game-page{grid-template-columns:minmax(0,1fr) 120px;gap:.75rem;padding-right:.75rem}.ad-rail-right{display:block;padding-top:1rem}}@media(min-width:1200px){.game-page{grid-template-columns:120px minmax(0,1fr) 120px;padding-inline:.75rem}.ad-rail-left{display:block;padding-top:1rem}}@media(max-width:1000px){.familiar-layout.game-layout{grid-template-columns:minmax(0,1fr)}.familiar-layout .history-panel{display:none}}@media(max-width:760px){.familiar-layout .board-workspace{padding:0 0 .5rem}.familiar-layout .table-status{grid-template-columns:minmax(0,1fr) auto;padding:.25rem .75rem;gap:.15rem .5rem}.familiar-layout .table-status>:first-child{min-height:32px}.familiar-layout .table-status .open-review{min-height:36px}.familiar-layout .ad-slot--banner{width:calc(100% - 1.5rem);margin-block:.25rem}.familiar-layout .board-stage,.familiar-layout .board-stage.renderer-2d,.familiar-layout .board-stage.renderer-3d{width:var(--game-board-size)}}@media(max-height:520px)and (max-width:1000px){.familiar-layout .board-stage,.familiar-layout .board-stage.renderer-2d,.familiar-layout .board-stage.renderer-3d{width:var(--game-board-size)}}.captured-pieces{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:.2rem .5rem;min-width:0}.captured-pieces__group{display:flex;flex-wrap:wrap;align-items:center;gap:1px;min-width:0}.captured-pieces__group--sacrificed{padding-left:.4rem;border-left:1px solid var(--line)}.captured-pieces__piece{display:inline-flex;flex:0 0 18px;width:18px;height:20px;align-items:center;justify-content:center}.captured-pieces__piece .piece-glyph{width:100%;height:100%}.captured-pieces__label{padding-right:.2rem;font-size:.56rem;color:var(--text-dim)}.ad-slot{flex-direction:column;gap:0}.ad-slot>span{line-height:12px}.ad-slot--banner{min-height:64px;height:64px}.ad-slot__creative{width:100%;height:50px}.ad-slot--sidebar .ad-slot__creative{height:220px}@media(max-width:380px){.familiar-layout .player-strip{flex-wrap:wrap;gap:.25rem .5rem}.familiar-layout .player-strip .turn-status{margin-left:auto;max-width:6rem}.captured-pieces__piece{flex-basis:16px;width:16px;height:18px}}.familiar-layout .player-strip{width:var(--game-board-size)}@media(min-width:761px){.familiar-layout .game-action-bar{width:var(--game-board-size)}}@media(max-height:520px)and (max-width:1000px){.familiar-layout .player-strip{width:var(--game-board-size)}}.captured-pieces__piece{border-radius:3px;background:color-mix(in srgb,var(--text-muted) 48%,var(--surface))}@media(max-height:520px)and (max-width:760px){.game-action-bar{position:relative;inset:auto;width:var(--game-board-size);justify-self:center}.app-shell{padding-bottom:env(safe-area-inset-bottom)}}.familiar-layout .player-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:24px 18px;align-items:center;gap:.1rem .5rem;min-height:52px;padding-block:.25rem}.familiar-layout .player-strip .clock,.familiar-layout .player-strip .clock:first-child,.familiar-layout .player-strip .clock:last-child{display:grid;grid-column:1 / -1;grid-row:1;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;width:100%;gap:.4rem}.familiar-layout .player-strip .clock .player-stone{grid-column:1;grid-row:1;order:initial}.familiar-layout .player-strip .clock>span:nth-child(2){grid-column:2;grid-row:1;align-self:center;text-align:left}.familiar-layout .player-strip .clock strong{grid-column:3;grid-row:1;align-self:center;justify-self:end;font-size:1.25rem}.familiar-layout .player-strip .captured-pieces{grid-column:1;grid-row:2;display:flex;flex-wrap:nowrap;width:100%;min-width:0;overflow-x:auto;scrollbar-width:thin;max-height:20px}.familiar-layout .player-strip .captured-pieces__group{flex-wrap:nowrap;flex:0 0 auto}.familiar-layout .player-strip .turn-status{grid-column:2;grid-row:2;justify-self:end;margin:0;max-width:none;white-space:nowrap;font-size:.65rem}@media(max-width:760px)and (min-height:521px){.familiar-layout .board-stage,.familiar-layout .board-stage.renderer-2d,.familiar-layout .board-stage.renderer-3d,.familiar-layout .player-strip{width:var(--game-board-size)}.ad-slot--banner{scroll-margin-bottom:calc(5rem + env(safe-area-inset-bottom))}}.familiar-layout.game-layout{--game-board-size: min(100%, calc(100dvh - 19rem) );align-items:start}.familiar-layout .board-workspace{align-content:start;grid-template-rows:none;grid-auto-rows:max-content}.familiar-layout .board-stage,.familiar-layout .board-stage.renderer-2d,.familiar-layout .board-stage.renderer-3d,.familiar-layout .player-strip,.familiar-layout .game-action-bar{width:var(--game-board-size);max-width:none}.familiar-layout .training-rail{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;width:var(--game-board-size);justify-self:center;min-height:0;height:auto;padding:.45rem .65rem;gap:.3rem .75rem;border:0}.familiar-layout .training-rail>strong{font-size:.85rem}.familiar-layout .training-rail>small{display:none}.familiar-layout .training-rail .turn-status{margin-left:auto;font-size:.75rem}@media(min-width:761px){.familiar-layout .ad-slot--banner{display:none}.familiar-layout .table-status{width:var(--game-board-size);justify-self:center}.familiar-layout .board-stage{border-radius:.5rem}.familiar-layout .board-2d{inset:2%}}@media(max-width:760px){.familiar-layout.game-layout{--game-board-size: 100%}.familiar-layout .game-action-bar{width:100%}.familiar-layout .board-stage{border-radius:0}.familiar-layout .board-2d{inset:2%}.familiar-layout .ad-slot--banner{margin-bottom:.75rem}}.home-page,.new-game-page,.puzzle-library{width:min(100%,70rem);min-width:0;margin:0 auto;padding:clamp(1.25rem,4vw,3rem)}.home-page>header,.new-game-page>header,.puzzle-library>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.home-page h1,.new-game-page h1,.puzzle-library h1{margin:0;font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.1}.home-page p,.new-game-page p,.puzzle-library p{color:var(--text-muted);line-height:1.6}.home-page button,.new-game-page button,.puzzle-library button{min-height:44px}.home-grid,.home-actions,.home-mode-grid,.puzzle-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.home-card,.home-mode-card,.home-actions>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:10rem;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;text-align:left;background:var(--surface-raised);color:var(--text);cursor:pointer;gap:.75rem}.home-card strong,.home-mode-card strong,.home-actions>button strong{font-size:1.35rem;font-weight:550}.new-game-page{max-width:54rem}.new-game-page .game-setup{display:grid;gap:1.5rem}.new-game-page .setting-group{padding:1.25rem;border:1px solid var(--line);border-radius:.8rem}.new-game-page .setting-group+.setting-group{margin-top:0}.new-game-page .setup-actions{display:flex;flex-wrap:wrap;gap:.75rem}.new-game-page .primary-action{min-height:52px;padding:.85rem 1.5rem}.puzzle-library .practice-list{max-height:none;overflow:visible}.puzzle-library .puzzle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media(max-width:600px){.home-grid,.home-actions,.home-mode-grid,.puzzle-library-grid,.puzzle-library .puzzle-list{grid-template-columns:minmax(0,1fr)}.home-card,.home-mode-card,.home-actions>button{min-height:8rem;padding:1.15rem}.new-game-page .setting-group{padding:1rem}}@media(min-width:761px)and (max-height:520px){.familiar-layout.game-layout{--game-board-size: min(100%, 32rem)}}.home-page{max-width:64rem;padding-top:clamp(2rem,7vh,5rem)}.home-page__intro{flex-direction:column;align-items:flex-start!important;gap:.7rem!important}.home-page__intro p{margin:0;max-width:36rem}.home-page__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.home-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:10rem!important;padding:1.6rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-raised);color:var(--text);text-align:left;cursor:pointer}.home-action--new{background:color-mix(in srgb,var(--accent) 16%,var(--surface));border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.home-action__icon{color:var(--accent);font-size:2.75rem;line-height:1}.home-action__copy strong{display:block;font-size:1.5rem;font-weight:550}.home-action__copy small{display:block;margin-top:.55rem;font-size:.82rem;color:var(--text-muted);line-height:1.5}.home-action__arrow{color:var(--accent);font-size:1.5rem}.home-page__resume{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:1.2rem 0;margin-top:.5rem;border-bottom:1px solid var(--line)}.home-page__resume button{border:0;color:var(--accent);background:none;cursor:pointer;padding:0}.home-page__resume span{color:var(--text-muted);font-size:.8rem}.home-page__secondary{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:1.3rem}.home-page__secondary button{border:0;background:none;color:var(--text);text-align:left;cursor:pointer;padding:.5rem 0}.home-page__secondary button span{display:block;margin-top:.3rem;color:var(--text-dim);font-size:.75rem}.home-page__note{max-width:38rem;font-size:.8rem;margin-top:2rem}.puzzle-library__layout{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:2rem;align-items:start}.puzzle-library__sidebar{display:grid;gap:.85rem;padding:1.25rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface)}.puzzle-library__sidebar .primary-action{width:100%;padding:.65rem}.puzzle-library__progress{margin:0;font-size:.8rem}.puzzle-library__sidebar .practice-filter{display:grid;gap:.4rem;font-size:.8rem}.puzzle-library__sidebar select{min-width:0;width:100%;min-height:44px;padding:.5rem;background:var(--surface-deep);border:1px solid var(--line);border-radius:.4rem;color:var(--text)}.puzzle-library__sidebar .text-action{text-align:left}.puzzle-library__details{padding-top:.8rem;border-top:1px solid var(--line);font-size:.75rem}.puzzle-library__details summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.puzzle-library__count{margin:0 0 .75rem;font-size:.8rem}.puzzle-library .puzzle-list{grid-template-columns:minmax(0,1fr)}.puzzle-library .puzzle-list>button{min-height:76px;padding:.85rem .7rem;gap:.75rem}@media(max-width:680px){.home-page{padding-top:2rem}.home-page__actions{grid-template-columns:minmax(0,1fr);margin-top:1.5rem}.home-action{min-height:8rem!important;padding:1.1rem}.home-action__copy strong{font-size:1.3rem}.home-action__icon{font-size:2.2rem}.puzzle-library__layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.puzzle-library__sidebar{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem;gap:.65rem}.puzzle-library__progress{align-self:center;text-align:right}.puzzle-library__details{grid-column:1 / -1}}.header-navigation{display:flex;align-items:center;justify-content:center;gap:.4rem;min-width:0}.header-navigation button{min-height:44px;padding:.55rem .85rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap}.header-navigation button:hover{color:var(--text);background:var(--surface-raised)}.app-header{grid-template-columns:auto minmax(0,1fr) auto;gap:1rem}.new-game-page{max-width:70rem}.new-game-layout{display:grid;grid-template-columns:minmax(0,1fr) 15rem;align-items:start;gap:2rem}.new-game-main.game-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.new-game-main .setting-group{display:grid;align-content:start;gap:.75rem;padding:1rem;margin:0;min-width:0}.new-game-main .setting-group h2{font-size:.85rem;font-weight:600;margin:0}.new-game-main .setting-group:has(.time-options),.setup-advanced,.new-game-main .setup-start{grid-column:1 / -1}.new-game-main .segmented-control{display:flex;min-width:0;margin:0}.new-game-main .segmented-control button{flex:1 1 auto;min-width:0;padding:.45rem .6rem;white-space:normal}.new-game-main .setup-select{display:grid;min-width:0;gap:.4rem;font-size:.75rem}.new-game-main select{width:100%;min-width:0;min-height:44px;padding:.55rem .6rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-deep);color:var(--text)}.level-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:.4rem}.level-stepper>button{border:1px solid var(--line);border-radius:.5rem;background:var(--surface-raised);color:var(--text);font-size:1.25rem;cursor:pointer}.time-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem}.time-options button{padding:.5rem .25rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-deep);color:var(--text-muted);cursor:pointer}.time-options button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--text)}.new-game-main .setup-intro{margin:0;font-size:.75rem;line-height:1.5}.setup-advanced{padding:.25rem 0;border-block:1px solid var(--line)}.setup-advanced summary{min-height:44px;padding:.7rem 0;cursor:pointer}.setup-advanced[open]{display:grid;gap:.75rem;padding-bottom:1rem}.new-game-summary{padding:1.25rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface)}.new-game-summary svg{display:block;width:100%;max-width:240px;height:auto;border-radius:.5rem}.new-game-summary h2{margin:1.25rem 0 .6rem;font-size:1.1rem;line-height:1.4}.new-game-summary p{margin:.5rem 0;font-size:.8rem}.new-game-summary small{display:block;margin-top:1rem;color:var(--text-dim);line-height:1.5}.new-game-page__header>button{min-height:44px;padding:.5rem .8rem;border:1px solid var(--line);border-radius:.5rem;background:transparent;color:var(--text-muted);cursor:pointer}.game-sidebar{min-width:0;max-height:calc(100dvh - 5rem);overflow-y:auto;align-self:start}.game-sidebar .history-panel{height:auto;min-height:0;overflow:visible}.game-sidebar .puzzle-controls{padding:1rem;margin:0}.arcade-page{width:min(100%,64rem);margin:0 auto;padding:clamp(1.25rem,4vw,3rem)}@media(max-width:1000px){.game-sidebar{max-height:none;overflow:visible;width:100%}.game-sidebar .puzzle-controls{width:min(100%,38rem);margin:0 auto}}@media(max-width:760px){.app-header{padding-inline:.75rem;gap:.4rem}.header-navigation{gap:.25rem}.header-navigation button{padding-inline:.6rem;font-size:.75rem}.app-header .brand{gap:.4rem}.app-header .brand strong{font-size:.85rem}.app-header .header-actions{gap:.2rem}.app-header .header-actions .icon-button{width:44px;min-width:44px;height:44px}.new-game-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.new-game-summary{display:none}}@media(max-width:480px){.new-game-main.game-setup{grid-template-columns:minmax(0,1fr)}.time-options{grid-template-columns:repeat(3,minmax(0,1fr))}.app-header .brand strong{display:none}}.new-game-page{padding-block:1.5rem}.new-game-page__header{margin-bottom:1.25rem!important}.new-game-page__header h1{font-size:clamp(2rem,4vw,3rem)}.new-game-page__header p{margin-block:.65rem 0}.new-game-main .setting-group{padding:.85rem}@media(min-width:341px)and (max-width:480px){.new-game-main .time-options{grid-template-columns:repeat(6,minmax(0,1fr));gap:.3rem}.new-game-main .time-options button{font-size:.7rem}}@media(max-width:600px)and (min-height:521px){.new-game-page{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.new-game-page .setup-start{position:fixed;z-index:25;left:1rem;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));width:calc(100% - 2rem);min-height:52px;box-shadow:0 0 0 1rem var(--surface),0 -1.1rem 1.5rem .5rem #00000047}.new-game-page .setup-advanced{scroll-margin-bottom:calc(7rem + env(safe-area-inset-bottom))}}
