@font-face{font-family:Inter;src:url('assets/inter-latin.woff2') format('woff2');font-weight:100 599;font-display:swap}
@font-face{font-family:Inter;src:url('assets/inter-bold.woff2') format('woff2');font-weight:600 900;font-display:swap}
:root{color-scheme:dark;--bg:#110e12;--surface:#1e191e;--raised:#2a2127;--red:#bd2846;--gold:#d8b776;--muted:#b8aab3;--text:#f5ede2;--line:#423139;--silicio-board-light:#eee4d1;--silicio-board-dark:#1a8e78;font:15px Inter,system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{color:inherit;border:0;cursor:pointer}button:disabled{opacity:.42;cursor:default}button,input,select{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(30px,4vw,46px);line-height:1.08}h1 em{font-style:normal;color:var(--gold)}h2{font-size:23px;line-height:1.2}h3{font-size:18px}p{line-height:1.65;color:var(--muted);font-size:14px}.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;pointer-events:none}
.shell{max-width:1120px;margin:auto;padding:0 24px 112px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 0 27px}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand>img{width:49px;height:49px;flex-shrink:0}.brand strong{display:block;font-size:17px;font-weight:700;letter-spacing:-.045em;margin-top:3px}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.16em;font-weight:700;color:var(--gold)}.brand .eyebrow{font-size:9px}.icon-btn{background:var(--surface);border:1px solid var(--line);width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.icon-btn[aria-pressed=true]{color:var(--gold);border-color:var(--gold);background:#423024}.page-heading{padding:10px 0 27px;max-width:730px}.page-heading .eyebrow{margin-bottom:11px}.page-heading h1{font-size:clamp(33px,4.5vw,48px);font-weight:750}.page-heading p{margin-top:14px;max-width:560px}
.primary,.secondary,.quiet,.filter-btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border-radius:12px;font-weight:650;font-size:13px;line-height:1.35}.primary{background:var(--red);color:#fff6ee;box-shadow:0 8px 24px #a51b3725}.primary:hover{background:#cf3554}.secondary{background:#33272e;border:1px solid #604550}.secondary:hover{border-color:var(--gold)}.quiet{background:transparent;color:var(--gold);padding:10px 0;justify-content:flex-start}.filter-btn{min-height:42px;padding:9px 14px;background:var(--surface);border:1px solid var(--line);font-size:12px}.filter-btn[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.wide{width:100%;margin-top:15px}.button-stack{display:flex;flex-direction:column;gap:10px;margin-top:21px}.button-stack>*{width:100%}.button-stack .quiet{padding-left:4px}.subtle{font-size:11px;line-height:1.7;color:var(--muted)}span.subtle{display:block;margin-top:12px}
.home-modes{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:17px}.blind-card,.mode-card{position:relative;border:1px solid var(--line);border-radius:21px;overflow:hidden;padding:26px 24px;display:flex;flex-direction:column;align-items:flex-start}.blind-card{background:linear-gradient(130deg,#41202c,#1c151b);border-color:#784050;isolation:isolate}.card-art{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;opacity:.24;object-position:60% center}.blind-card:after{position:absolute;content:'';inset:0;background:linear-gradient(90deg,#381822cc,#20101855);z-index:-1}.mode-card{background:var(--surface)}.mode-number{position:absolute;top:19px;right:20px;color:#aa7c70;letter-spacing:.07em;font-size:11px}.blind-card .eyebrow{font-size:8px;max-width:82%;margin-top:3px}.blind-card h2{margin:24px 0 13px;font-size:28px;max-width:210px}.blind-card p{font-size:12px;color:#dfcdd0;margin-bottom:22px}.blind-card>.primary{margin-top:auto}.blind-card>.secondary{margin-top:10px;font-size:11px;background:#25181ecc}.mode-card>.icon{color:var(--gold);width:34px;height:34px;margin-bottom:28px}.mode-card h2{font-size:21px;margin-bottom:13px}.mode-card p{font-size:12px;margin-bottom:24px;flex:1}.mode-card .secondary{font-size:12px;padding:11px 13px}.opening-card{border-color:#65513a}
.continue-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);background:#1a151a;border-radius:17px;padding:20px 24px;margin:22px 0 0}.continue-card h3{margin:8px 0}.continue-card p{font-size:11px}.creator{display:flex;justify-content:center;align-items:center;gap:10px;color:var(--muted);font-size:10px;margin:26px 0}.creator img{width:31px;height:31px}.creator b{color:var(--gold)}
.bottom-nav{display:flex;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,620px);background:#1b151cf5;border:1px solid var(--line);border-bottom:0;border-radius:23px 23px 0 0;padding:9px 12px calc(8px + env(safe-area-inset-bottom));gap:10px;z-index:10;backdrop-filter:blur(18px)}.nav-item{display:flex;flex:1;flex-direction:column;gap:5px;background:transparent;color:#a896a2;position:relative;font-size:11px;border-radius:10px;min-height:50px;padding:5px}.nav-item.active{color:var(--gold)}.nav-item.active:before{content:'';position:absolute;top:-10px;width:25px;height:3px;border-radius:3px;background:var(--gold)}
.library-tools{position:sticky;top:0;z-index:4;background:#110e12f5;padding:10px 0 15px;backdrop-filter:blur(14px)}.search-box{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted)}input,select{background:#261e26;color:var(--text);border:1px solid #624550;border-radius:10px;min-height:43px;padding:9px 12px;font-size:13px;max-width:100%}input{min-width:0}input::placeholder{color:#ae99a5}select{cursor:pointer}#opening-search{width:100%;font-size:15px;min-height:49px}.filter-row{display:flex;gap:9px;align-items:center;margin-top:12px}.filter-row select{flex:1;min-width:0;max-width:250px}.filter-row .icon-btn{width:42px;height:42px}.list-count{font-size:11px;color:var(--muted);margin:5px 0 14px}.opening-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.opening-row{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px 9px 6px 5px;min-width:0}.opening-link{display:flex;text-align:left;align-items:center;gap:12px;flex:1;min-width:0;background:none;padding:12px 8px;min-height:84px}.eco{color:var(--gold);font-size:11px;border:1px solid #694f39;background:#3b2b2055;border-radius:8px;padding:8px 5px;flex-shrink:0}.opening-info{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}.opening-info strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.opening-info>span{font-size:10px;color:var(--muted)}.opening-link>.icon{width:15px}.opening-row>.icon-btn{width:34px;height:42px;border:0;background:none}.opening-row>.icon-btn .icon{width:18px}.opening-row>.icon-btn[aria-pressed=true] .icon{fill:#d8b77655}.empty{padding:35px 20px;text-align:center;color:var(--muted)}
.workspace{max-width:1100px;padding:0 28px 30px;margin:auto}.work-header{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 0 22px;border-bottom:1px solid var(--line);margin-bottom:24px}.work-header>div{min-width:0;flex:1;text-align:center;max-width:650px}.work-header strong{display:block;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.work-header span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.work-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:32px;align-items:start}.board-column{min-width:0}.work-side{min-width:0}.work-side>.eyebrow{margin:5px 0 12px}.work-side>h1{font-size:30px;margin-bottom:12px;line-height:1.15}.work-side>p{margin-top:11px;font-size:13px}.work-side>.original-name{font-size:10px;line-height:1.6;margin:0 0 15px;color:#a2939d}.board-frame{padding:17px;border:1px solid #8a693c;background:#2b2325;border-radius:20px;box-shadow:0 12px 35px #0003}.board-container{position:relative;aspect-ratio:1;width:100%}.board{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board coord,.board coords{color:#cbb28b!important}.hit-grid{position:absolute;z-index:4;inset:0;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);touch-action:manipulation}.hit-square{padding:0;border:0;background:transparent;border-radius:0;min-width:0;min-height:0}.hit-square.selected{box-shadow:inset 0 0 0 4px #ba2145;background:#f0be7655}.hit-square:focus-visible{outline:3px solid #cb1e48;outline-offset:-3px;z-index:1}.hit-grid.inactive{pointer-events:none}.blind-marker{display:none;position:absolute;inset:0;pointer-events:none;z-index:2;align-items:center;justify-content:center}.blind-marker.show{display:flex}.blind-marker .icon{width:60px;height:60px;color:#0b252547;stroke-width:1}.board-caption{font-size:10px;line-height:1.5;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;margin-top:17px}.board-caption .icon{width:15px;height:15px}
.idea-card{border-left:2px solid var(--gold);padding:12px 14px;background:#30262270;margin:20px 0;border-radius:0 10px 10px 0}.idea-card strong{font-size:12px;color:var(--gold)}.idea-card p{font-size:12px;margin-top:7px}.current-move,.last-move{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.current-move>strong,.last-move>strong{font-size:27px;font-weight:700;color:var(--gold);white-space:nowrap}.current-move>span,.last-move>span{font-size:11px;color:var(--muted)}.replay-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.replay-controls>.secondary{flex:1}.speed-label{display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin-top:12px}.speed-label select{font-size:11px;min-height:34px;padding:5px 9px}.move-strip{display:flex;flex-wrap:wrap;gap:4px;padding:15px 2px;max-height:180px;overflow:auto}.move-chip{display:inline-flex;gap:7px;font-size:12px;padding:6px 8px;background:var(--surface);border-radius:6px}.move-chip small{color:#a697a1;font-size:10px;align-self:center}.move-chip.current{background:#5a3630;color:#ffe3a8}.move-chip.unknown{color:var(--gold);min-width:32px;justify-content:center}.mastery{display:flex;gap:10px;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;margin-top:15px;color:var(--muted);font-size:11px}.mastery b{color:var(--gold);margin-left:6px}.turn-card{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;border:1px solid var(--line);background:var(--surface);border-radius:13px;margin-top:18px}.turn-card>span{font-size:12px;color:var(--muted)}.turn-card>strong{font-size:20px}.feedback{font-size:12px;color:#ffb4b8;line-height:1.6;min-height:20px;margin:13px 0 5px}.feedback:empty{min-height:0;margin:8px 0 0}.practice-tools{display:flex;flex-wrap:wrap;gap:0 20px}.practice-tools .quiet{font-size:12px}.attempt-stats{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.result-score{font-size:72px;font-weight:750;letter-spacing:-.06em;color:var(--gold);margin:25px 0 12px}.result-score>span{font-size:32px;letter-spacing:-.03em}.result-label{font-size:14px;color:#e6ccb0}.palette{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:15px}.piece-option{background:#372e2b;border:1px solid #75633f;border-radius:10px;position:relative;aspect-ratio:.94;display:flex;justify-content:center;align-items:center;padding:5px;min-width:0}.piece-option img{width:82%;height:82%;pointer-events:none}.piece-option span{position:absolute;right:4px;bottom:3px;display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:8px;background:#0d0c0cd9;color:#f9e1b5;font-size:10px;pointer-events:none}.piece-option.active{border:2px solid #e5be76;background:#8a6145;box-shadow:0 0 0 1px #e5be76}.edit-tools{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.edit-tools .filter-btn{font-size:11px}.sticky-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.sticky-actions .primary{flex:1}.sticky-actions .secondary{font-size:11px;padding:10px}
.panel{padding:24px;border:1px solid var(--line);background:var(--surface);border-radius:19px;margin-bottom:20px}.panel h2{font-size:21px;margin-bottom:17px}.panel>p{font-size:13px}.setup-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}.level-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 24px}.level-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;min-height:96px;padding:18px;border:1px solid #644650;background:#2b2028;border-radius:14px}.level-card>span{font-size:11px;letter-spacing:.08em;color:var(--muted)}.level-card>strong{font-size:15px}.level-card.selected{background:#5a2635;border-color:#ef8099;box-shadow:inset 0 0 0 1px #bd2846}.level-card.selected:after{position:absolute;content:'✓';right:15px;top:13px;color:#efca8d}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;border-bottom:1px solid var(--line);font-size:13px}.setting-row:last-child{border:0}.setting-row select{max-width:60%}.setup-note>.icon{color:var(--gold);width:52px;height:52px;margin-bottom:18px}.setup-note p{margin-top:13px}.last-move{margin-top:20px}.game-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.game-tools .secondary{font-size:11px;padding:10px 12px}.game-tools .quiet{flex-basis:100%;font-size:11px;color:var(--muted)}.game-result{font-size:44px;letter-spacing:-.03em}.check-alert{font-size:13px;background:#6f223b;color:#ffe3d8;border:1px solid #b34861;border-radius:10px;padding:11px 14px;margin:15px 0}.game-ribbon{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 17px;margin-bottom:20px;font-size:12px}.game-ribbon strong{font-size:17px;color:var(--gold)}.game-ribbon span{color:var(--muted)}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);padding:12px 0 23px;margin-bottom:24px;gap:10px;border-bottom:1px solid var(--line)}.stat-row>div{text-align:center;border-right:1px solid var(--line)}.stat-row>div:last-child{border:0}.stat-row strong{display:block;font-size:31px;letter-spacing:-.045em}.stat-row span{display:block;font-size:10px;margin-top:7px;color:var(--muted)}.progress-row{display:grid;grid-template-columns:1fr 22px;gap:7px;text-align:left;width:100%;background:transparent;border-bottom:1px solid var(--line);padding:17px 0}.progress-row:last-child{border:0}.progress-row strong{font-size:14px}.progress-row span{grid-column:1;font-size:10px;color:var(--muted);line-height:1.7}.progress-row .icon{grid-column:2;grid-row:1/3;align-self:center;color:var(--gold);width:17px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.about{display:flex;align-items:flex-start;gap:22px}.about>img{width:72px;height:72px}.about p{font-size:12px;margin-bottom:14px}.about .quiet{font-size:12px}.switch{width:45px;height:27px;background:#53424b;border-radius:20px;position:relative;flex-shrink:0}.switch:after{content:'';position:absolute;width:19px;height:19px;border-radius:50%;background:#e0cfd4;top:4px;left:4px;transition:.15s}.switch[aria-checked=true]{background:var(--red)}.switch[aria-checked=true]:after{transform:translateX(18px);background:#fff0d7}
.welcome{max-width:460px;margin:0 auto;padding:40px 26px;text-align:center;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center}.welcome-icon{width:106px;height:106px;border-radius:25px;box-shadow:0 15px 65px #91223b33;margin-bottom:22px}.welcome h1{font-size:53px;margin:18px 0}.welcome>p{font-size:14px;max-width:350px}.welcome-path{display:flex;flex-direction:column;gap:13px;margin:27px 0 14px;text-align:left;max-width:320px;width:100%}.welcome-path>div{display:flex;align-items:center;gap:13px;font-size:13px;color:#dfd0d4}.welcome-path .icon{color:var(--gold);width:22px}.welcome-language{font-size:11px;color:var(--muted);margin:22px 0;display:flex;align-items:center;gap:12px}.welcome-language select{font-size:12px;min-height:35px}.offline-note{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.offline-note .icon{width:15px}
dialog{color:var(--text);background:#211920;border:1px solid #89633e;border-radius:21px;padding:28px;max-width:450px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#09060bdb;backdrop-filter:blur(9px)}dialog h2{font-size:26px;line-height:1.25;margin-bottom:15px}dialog p{font-size:13px}dialog .button-stack{margin-top:25px}#toast{position:fixed;left:50%;bottom:91px;transform:translate(-50%,15px);background:#efe0c5;color:#2c1721;padding:13px 18px;border-radius:13px;box-shadow:0 10px 50px #0005;font-size:12px;line-height:1.5;width:max-content;max-width:calc(100% - 32px);z-index:100;opacity:0;pointer-events:none;transition:.18s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.home-modes{grid-template-columns:1fr 1fr}.blind-card{grid-column:1/-1;min-height:200px;padding-right:36%}.blind-card h2{max-width:none;margin:13px 0 10px}.blind-card p{margin-bottom:16px}.card-art{object-position:80% center}.blind-card>.eyebrow{max-width:none}.mode-card{padding:23px 20px}.mode-card>.icon{margin-bottom:17px}.mode-card h2{font-size:22px}.mode-card>.secondary{width:100%}.setup-layout{grid-template-columns:1fr}.work-grid{gap:24px;grid-template-columns:minmax(0,1fr) minmax(270px,.9fr)}.work-side>h1{font-size:26px}}
@media(max-width:700px){.shell{padding:0 18px 102px}.topbar{padding:15px 0 20px}.brand strong{font-size:16px}.brand>img{width:44px;height:44px}.page-heading{padding:8px 0 22px}.page-heading h1{font-size:35px}.page-heading>.eyebrow{font-size:8px}.page-heading p{font-size:12px}.home-modes{gap:12px}.blind-card{min-height:210px;padding:23px 20px 24px}.blind-card h2{font-size:26px;max-width:72%}.blind-card p{font-size:11px;max-width:80%}.blind-card .primary{font-size:13px}.blind-card>.eyebrow{font-size:8px}.card-art{object-position:70% center}.blind-card:after{background:linear-gradient(90deg,#371424f0,#28121baa 64%,#20101830)}.mode-card{padding:21px 15px}.mode-number{right:14px;top:17px;font-size:9px}.mode-card>.icon{width:27px;height:27px}.mode-card h2{font-size:20px}.mode-card p{font-size:11px;line-height:1.65;margin-bottom:17px}.mode-card .secondary{font-size:10px;padding:10px 8px;gap:5px}.mode-card .secondary .icon{width:16px;height:16px}.mode-card .subtle{font-size:9px}.continue-card{padding:17px;margin-top:17px}.continue-card h3{font-size:15px}.continue-card .eyebrow{font-size:8px}.continue-card p{font-size:10px}.creator{font-size:9px;gap:7px;margin:23px 0}.opening-list{grid-template-columns:1fr}.opening-row{padding-right:6px}.opening-link{min-height:74px}.filter-row{gap:7px}.filter-row select{font-size:11px;flex:1;padding:9px 8px}.filter-btn{font-size:11px;padding:9px 10px}.workspace{padding:0 15px 26px}.work-header{padding:12px 0 15px;gap:9px;margin-bottom:18px}.work-header strong{font-size:13px}.work-header span{font-size:10px;line-height:1.5}.work-header .icon-btn{width:40px;height:40px}.work-grid{display:flex;flex-direction:column;gap:19px}.board-column{width:100%;max-width:420px;margin:0 auto}.board-frame{padding:13px;border-radius:16px}.board-caption{font-size:9px;margin-top:12px}.work-side{width:100%;max-width:460px;margin:auto}.work-side>h1{font-size:25px}.work-side>p{font-size:12px}.work-side>.eyebrow{font-size:8px}.lesson .work-side>h1,.lesson .work-side>.eyebrow,.lesson .original-name{display:none}.lesson .idea-card{margin-top:0}.lesson .work-side{display:flex;flex-direction:column}.lesson .current-move{order:-3}.lesson .replay-controls{order:-2}.lesson .speed-label{order:-1}.move-strip{max-height:105px;padding:13px 0 0}.move-chip{font-size:11px;padding:5px 7px}.lesson .button-stack{margin-top:5px}.current-move{padding:10px 14px}.current-move>strong{font-size:23px}.idea-card p{font-size:11px}.idea-card{margin:15px 0;padding:10px 13px}.button-stack{gap:10px;margin-top:18px}.panel{padding:20px 18px;border-radius:16px}.panel h2{font-size:21px}.settings-grid{display:block}.about{flex-direction:column;gap:13px}.about>img{width:58px;height:58px}.level-card{min-height:88px;padding:16px}.level-card>strong{font-size:14px}.setup-note{margin-bottom:8px}.game-ribbon{margin-bottom:15px;padding:10px 13px;font-size:10px}.game-ribbon>strong{font-size:16px}.game .work-side>h1{font-size:23px}.game .work-side>.eyebrow,.game .last-move{display:none}.game-tools{gap:8px}.game .work-side>p{margin-top:0}.practice .turn-card{margin-top:12px}.practice-tools .quiet{font-size:11px}.palette{gap:6px;margin-top:13px}.piece-option{max-height:58px;aspect-ratio:1}.rebuild .work-side>h1{font-size:24px}.rebuild.phase-answer .work-side>h1,.rebuild.phase-answer .work-side>.eyebrow,.rebuild.phase-answer .work-side>p:first-of-type{display:none}.rebuild.phase-answer .board-column{max-width:min(100%,calc(100dvh - 335px))}.rebuild.phase-answer .work-grid{gap:10px}.rebuild.phase-answer .board-caption{display:none}.sticky-actions{position:sticky;bottom:0;padding:10px 0;background:var(--bg);margin-top:7px;z-index:5}.result-score{font-size:59px;margin:20px 0 10px}.game-result{font-size:38px}.welcome{padding:25px;justify-content:flex-start}.welcome-icon{width:85px;height:85px;margin-top:12px;margin-bottom:17px}.welcome h1{font-size:48px}.welcome>p{font-size:13px}.welcome-path{margin:23px 0 8px}.welcome-language{margin:18px 0}}
@media(max-width:360px){.shell{padding-left:13px;padding-right:13px}.brand strong{font-size:14px}.brand>img{width:40px;height:40px}.page-heading h1{font-size:32px}.mode-card{padding:20px 12px}.mode-card h2{font-size:18px}.mode-card .secondary{font-size:10px}.workspace{padding-left:10px;padding-right:10px}.work-header strong{font-size:12px}.board-frame{padding:12px}.work-header .icon-btn{width:36px;height:36px}.filter-row .filter-btn{font-size:10px;padding:8px}.rebuild.phase-answer .board-column{max-width:100%}.setting-row{font-size:12px}}
@media(min-width:600px) and (max-height:600px){.workspace{max-width:1000px;padding:0 17px 20px}.work-header{padding:8px 0 10px;margin-bottom:12px}.work-grid{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(290px,1fr);gap:25px}.board-column{max-width:calc(100dvh - 135px)}.board-frame{padding:12px;max-width:calc(100dvh - 130px);margin:auto}.work-side{display:block!important}.work-side>h1{font-size:23px}.game-ribbon{margin-bottom:12px}.game .board-frame{max-width:calc(100dvh - 170px)}.game .work-side>h1,.game .work-side>.eyebrow{display:none}.work-side>p{font-size:11px}.palette{margin-top:8px}.piece-option{max-height:40px;aspect-ratio:1.2}.move-strip{max-height:90px}.board-caption{margin-top:7px}.game .feedback{margin-top:7px}.game-tools{margin-top:10px}.sticky-actions{position:static;padding:5px 0;margin-top:5px}.rebuild.phase-answer .board-column{max-width:100%}.rebuild .work-side>p{font-size:11px}}
body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Bind the original Silicio piece set and coordinate layout to the native renderer. */
.board piece.white.king{background-image:url("pieces/wK.svg")}
.board piece.white.queen{background-image:url("pieces/wQ.svg")}
.board piece.white.rook{background-image:url("pieces/wR.svg")}
.board piece.white.bishop{background-image:url("pieces/wB.svg")}
.board piece.white.knight{background-image:url("pieces/wN.svg")}
.board piece.white.pawn{background-image:url("pieces/wP.svg")}
.board piece.black.king{background-image:url("pieces/bK.svg")}
.board piece.black.queen{background-image:url("pieces/bQ.svg")}
.board piece.black.rook{background-image:url("pieces/bR.svg")}
.board piece.black.bishop{background-image:url("pieces/bB.svg")}
.board piece.black.knight{background-image:url("pieces/bN.svg")}
.board piece.black.pawn{background-image:url("pieces/bP.svg")}
.board coords{display:flex;position:absolute;font-size:10px;font-weight:600;line-height:1;z-index:3}.board coords.ranks{left:-13px;top:0;height:100%;width:12px}.board coords.files{bottom:-13px;left:0;width:100%;height:12px}.board coords coord{color:#e8d4b4!important}
@media(min-width:701px){.board coords.ranks{left:-16px;width:15px}.board coords.files{bottom:-16px;height:15px}}
#board silicio-board-surface{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='2' viewBox='0 0 2 2' shape-rendering='crispEdges'%3E%3Cpath fill='%23eee4d1' d='M0 0h2v2H0z'/%3E%3Cpath fill='%231a8e78' d='M1 0h1v1H1zM0 1h1v1H0z'/%3E%3C/svg%3E");background-size:25% 25%}

/* Contrast for black pieces in the tray, without changing the original artwork. */
.piece-option[data-piece="k"],.piece-option[data-piece="q"],.piece-option[data-piece="r"],.piece-option[data-piece="b"],.piece-option[data-piece="n"],.piece-option[data-piece="p"]{background:#cbbca0}
.piece-option.active[data-piece="k"],.piece-option.active[data-piece="q"],.piece-option.active[data-piece="r"],.piece-option.active[data-piece="b"],.piece-option.active[data-piece="n"],.piece-option.active[data-piece="p"]{background:#ead5ae;border-color:#be3150;box-shadow:0 0 0 1px #be3150}
.board piece.white{filter:drop-shadow(0 1px 1px #23362b66)}
@media(max-width:700px) and (min-height:601px){
 .game .work-side>h1,.game .work-side>p:first-of-type,.game .board-caption{display:none}
 .game .board-column{max-width:min(100%,calc(100dvh - 335px))}
 .game .work-grid{gap:10px}
 .game-tools{margin-top:8px}
 .game-tools .secondary{flex:1}
 .game-tools .quiet{min-height:32px;padding:5px}
 .game .work-side>p.subtle{margin-top:8px;font-size:9px}
 .practice .work-side>h1,.practice .work-side>.eyebrow{display:none}
}
/* Native board gestures receive pointers; the overlay keeps keyboard/screen-reader access. */
.hit-grid{pointer-events:none}
.hit-square{pointer-events:none}
.board{touch-action:none}
.board.board-blind piece{opacity:0!important;background-image:none!important;filter:none!important}
.board.board-blind square{display:none!important}
.board.board-circles piece.white{background-image:url('pieces/blind_w.svg')!important}
.board.board-circles piece.black{background-image:url('pieces/blind_b.svg')!important}
.board.board-circles piece{background-size:cover!important;background-position:center!important;filter:none!important}
.piece-option{touch-action:none;user-select:none;-webkit-user-select:none}
.piece-option img{-webkit-user-drag:none}
.tray-drag-piece{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%);object-fit:contain;filter:drop-shadow(0 7px 6px #0008)}
.hit-square.drop-target{background:#eac78255;box-shadow:inset 0 0 0 3px #c62d4a}
.dragging-from-tray{cursor:grabbing}
.mastery{flex-wrap:wrap;justify-content:flex-start;gap:10px 18px}

/* Figurine algebraic notation and persistent completion marks. */
.san-notation{display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;gap:.04em}
.notation-piece{display:inline-block;font-family:"DejaVu Sans","Segoe UI Symbol","Noto Sans Symbols 2","Arial Unicode MS",sans-serif;font-size:1.15em;font-weight:400;line-height:1;color:inherit;background:none;padding:0;border:0;flex-shrink:0}
.history-moves{display:flex;flex-direction:column;gap:0;margin:18px 0;max-height:55dvh;overflow:auto;font-size:19px;font-variant-numeric:tabular-nums}
.move-pair{display:grid;grid-template-columns:3.5em minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid var(--line)}
.move-pair:nth-child(odd){background:#ffffff04}.move-number{color:var(--muted);font-size:13px}.white-move,.black-move{min-width:0}
.completion-legend{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:11px;line-height:1.5;margin:4px 0}
.completion-legend>span,.completion-mark{display:inline-flex;align-items:center;gap:5px}.completion-legend .icon,.completion-mark .icon{width:15px;height:15px}
.legend-perfect{color:#88dda6}.legend-completed{color:#f4d47b}
.opening-info>.completion-modes{display:flex;flex-wrap:wrap;gap:5px}.completion-modes:empty{display:none}
.completion-mark{border-radius:6px;padding:4px 6px;font-size:10px;font-weight:650;line-height:1.3}
.completion-mark.perfect{background:#183d2d;color:#a3edbd}.completion-mark.completed{background:#473919;color:#ffe195}
.source-button{font-size:11px;min-height:40px;padding:8px 0;color:var(--muted);margin-bottom:8px}.source-button .icon{width:16px;height:16px}
.source-reference{overflow-wrap:anywhere;font-size:11px;margin-top:15px}
@media(max-width:380px){.history-moves{font-size:17px}.move-pair{grid-template-columns:2.5em minmax(0,1fr) minmax(0,1fr);gap:6px;padding:9px 3px}}
