.home-dash{gap:14px}.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dash-head .nav-icon{flex:0 0 auto}.dash-head-full{min-width:0}.dash-head-mini{display:none;align-items:center;gap:6px;min-width:0}.dash-user{margin:0;font-size:20px;font-weight:800;color:var(--ui-fg, #1c1c1c);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-edit{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border:none;border-radius:10px;background:transparent;color:var(--ui-accent, #16a34a);cursor:pointer}.dash-edit svg{width:17px;height:17px}@media (width < 560px){.dash-head-full{display:none}.dash-head-mini{display:flex}}.dash-greet{margin:0;font-size:24px;font-weight:800;color:var(--ui-fg, #1c1c1c)}.dash-sub{margin:4px 0 0;color:var(--ui-muted, #6b7280)}.dash-next{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--ui-accent, #16a34a) 35%,var(--ui-border, #d4d4d4));border-radius:var(--radius-card, 18px);background:var(--panel-grad, none),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow),var(--ui-glow)}.dash-next-body{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;flex:1}.dash-next-thumb{flex:0 0 auto;width:104px}.dash-next-thumb .mini-board{width:104px;box-shadow:var(--ui-shadow)}.dash-next-tag{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-accent, #16a34a)}.dash-next-title{font-size:18px;font-weight:800;color:var(--ui-fg, #1c1c1c)}.dash-next-sub{color:var(--ui-muted, #6b7280);margin-bottom:4px}.pc-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.pc-title{font-weight:800;font-size:15px}.pc-ranges{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--ui-border, #d4d4d4);border-radius:999px;background:var(--ui-panel-bg, #fff)}.pc-range{border:none;border-radius:999px;padding:4px 10px;background:transparent;color:var(--ui-muted, #6b7280);font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.pc-range.on{background:var(--ui-accent, #16a34a);color:var(--ui-on-accent, #fff)}.pc-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-2px;padding:2px}.pc-track::-webkit-scrollbar{display:none}.pc-card{flex:0 0 100%;scroll-snap-align:start;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--ui-border, #d4d4d4);border-radius:14px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow)}@media (width >= 900px){.pc-card{flex-basis:440px}}.pc-head{display:flex;align-items:center;gap:8px}.pc-ico{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:var(--ui-accent, #16a34a);background:color-mix(in srgb,var(--ui-accent, #16a34a) 14%,var(--ui-panel-bg, #fff))}.pc-ico svg{width:16px;height:16px}.pc-name{font-weight:800}.pc-rating{margin-left:auto;font-size:20px;font-weight:800;color:var(--ui-accent, #16a34a)}.pc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pc-stat{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border:1px solid var(--ui-border, #d4d4d4);border-radius:10px}.pc-stat b{font-size:19px;font-weight:800}.pc-stat b.pos{color:#16a34a}.pc-stat b.neg{color:#ca3431}.pc-stat span{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--ui-muted, #6b7280)}.pc-stat span svg{width:12px;height:12px;flex:0 0 auto}.pc-graph{position:relative;height:56px}.pc-graph svg{width:100%;height:100%}.pc-graph-cap{position:absolute;top:0;left:4px;z-index:1;font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--ui-muted, #6b7280);pointer-events:none}.pc-graph-line{fill:none;stroke:var(--ui-accent, #16a34a);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--ui-accent, #16a34a) 55%,transparent))}.pc-graph-fill{fill:color-mix(in srgb,var(--ui-accent, #16a34a) 12%,transparent);stroke:none}.pc-graph-minmax{position:absolute;top:0;right:4px;bottom:0;left:4px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:10px;font-weight:700;color:var(--ui-muted, #6b7280);pointer-events:none}.pc-nogames{height:56px;display:grid;place-items:center;font-size:13px;color:var(--ui-muted, #6b7280)}.pc-dots{display:flex;justify-content:center;gap:6px;margin-top:8px}.pc-dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--ui-border, #d4d4d4);cursor:pointer}.pc-dot.on{background:var(--ui-accent, #16a34a)}.dash-section{display:flex;flex-direction:column;gap:8px}.dash-section-head{display:flex;align-items:center;justify-content:space-between;font-weight:800;color:var(--ui-fg, #1c1c1c)}.dash-loading{display:grid;place-items:center;padding:18px}.dash-empty{margin:0;color:var(--ui-muted, #6b7280)}.dash-games{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;min-width:0}.dash-game{flex:0 0 auto;width:168px;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--ui-border, #d4d4d4);border-radius:14px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow);color:var(--ui-fg, #1c1c1c);font:inherit;cursor:pointer;text-align:left}.dash-game:hover{border-color:var(--ui-accent, #16a34a)}.dash-game-top{display:flex;align-items:center;gap:8px;min-width:0}.dash-game-id{display:flex;flex-direction:column;min-width:0}.dash-game-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-game-rating{color:var(--ui-muted, #6b7280);font-size:12px;font-weight:600;text-transform:capitalize}.dash-game-bottom{display:flex;align-items:center;justify-content:space-between}.dash-game-res{font-size:12px;font-weight:800}.dash-game-res.won{color:#16a34a}.dash-game-res.lost{color:#ca3431}.dash-game-res.draw{color:var(--ui-muted, #6b7280)}.dash-game-delta{font-weight:800;min-width:34px;text-align:right}.dash-game-delta.pos{color:#16a34a}.dash-game-delta.neg{color:#ca3431}@media (width < 480px){.pc-bar{flex-wrap:wrap}}.onboard{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:420px;margin:10vh auto 0;padding:28px 22px;border:1px solid var(--ui-border, #d4d4d4);border-radius:var(--radius-card, 18px);background:var(--panel-grad, none),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow),var(--ui-glow)}.onboard-title{margin:0;font-size:22px;font-weight:800;color:var(--ui-fg, #1c1c1c)}.onboard-sub{margin:0;color:var(--ui-muted, #6b7280);line-height:1.5}.onboard-label{align-self:flex-start;font-weight:700;font-size:13px;color:var(--ui-fg, #1c1c1c)}.onboard-err{color:#ca3431;font-weight:600;font-size:13px}.onboard-cta{width:100%}.onboard-skip{margin-top:2px}.dash-change{font-size:13px}.hero-connect{margin-top:6px}.dash-desktop-only{display:none}.dash-continue{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--ui-border, #d4d4d4);border-radius:var(--radius-card, 18px);background:var(--panel-grad, none),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow)}.dash-continue-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.dash-continue-name{font-weight:800;font-size:17px;color:var(--ui-fg, #1c1c1c)}.dash-continue-sub{color:var(--ui-muted, #6b7280);font-size:13px}@media (width >= 900px){.dash-desktop-only{display:flex}.dash-game{width:230px;padding:16px;gap:12px}.dash-game-name{font-size:16px}.dash-game-rating,.dash-game-res{font-size:13px}.dash-game-delta{font-size:20px}.dash-greet{font-size:28px}}.daily-card{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--ui-accent, #16a34a) 30%,var(--ui-border, #d4d4d4));border-radius:var(--radius-card, 18px);background:var(--panel-grad, none),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow),var(--ui-glow);color:var(--ui-fg, #1c1c1c);font:inherit;cursor:pointer;text-align:left;width:100%}.daily-thumb{flex:0 0 auto;width:96px}.daily-thumb .mini-board{width:96px;box-shadow:var(--ui-shadow)}.daily-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.daily-title{font-weight:800;font-size:16px}.daily-sub{color:var(--ui-muted, #6b7280);font-size:13px}.daily-cta{font-weight:800;color:var(--ui-accent, #16a34a);font-size:14px}.daily-cta.done{color:var(--ui-muted, #6b7280)}.daily-streak{font-size:13px;font-weight:700;color:#f59e0b}.play-cta .play-cta-ico{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--ui-on-accent, #fff);background:var(--ui-accent, #16a34a);box-shadow:var(--ui-glow)}.play-cta .play-cta-ico svg{width:20px;height:20px}.recap-card{border:1px solid var(--ui-border, #e5e5e5);border-radius:16px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);padding:12px 16px;margin-top:14px;display:flex;flex-direction:column;gap:6px}.recap-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted, #6b7280)}.recap-line{font-size:14.5px}.recap-elo{margin-left:10px;display:inline-flex;align-items:center;gap:4px}.recap-elo svg{width:15px;height:15px;vertical-align:-2px}.recap-elo .pos{color:#16a34a}.recap-elo .neg{color:#ca3431}.recap-slip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;font-size:13px;color:var(--ui-muted, #6b7280)}.recap-slip b{color:var(--ui-fg, #1c1c1c)}.recap-fix{padding:6px 12px;font-size:13px}.due-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;border:1px solid var(--ui-border, #e5e5e5);border-radius:16px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);padding:12px 16px;margin-top:14px}.due-body{flex:1 1 240px;min-width:0}.due-title{font-size:14px;font-weight:800}.due-sub{font-size:12.5px;color:var(--ui-muted, #6b7280);margin-top:2px}.learn-grid{display:flex;flex-direction:column;gap:12px;margin-top:6px}.learn-card{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--ui-border, #e5e5e5);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--tile) 12%,transparent),transparent 60%),var(--ui-panel-bg, #fff);cursor:pointer;transition:transform var(--ui-transition),border-color var(--ui-transition)}.learn-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tile) 55%,var(--ui-border))}.learn-card .mode-tile{width:52px;height:52px;flex:0 0 auto;border-radius:14px;display:grid;place-items:center;color:var(--tile);background:color-mix(in srgb,var(--tile) 16%,transparent)}.learn-card .mode-tile svg{width:26px;height:26px}.learn-card .home-body{flex:1;min-width:0}.shell-tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;border:none;border-radius:12px;background:none;color:var(--ui-muted, #6b7280);font:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:color var(--ui-transition, .16s ease),background var(--ui-transition, .16s ease),box-shadow var(--ui-transition, .16s ease)}.shell-tab svg{width:22px;height:22px}.shell-tab:hover{color:var(--ui-fg, #1c1c1c)}.shell-tab.active{color:var(--ui-accent, #16a34a);background:color-mix(in srgb,var(--ui-accent, #16a34a) 12%,transparent);box-shadow:var(--ui-glow)}.shell-rail{display:none}.shell-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:space-around;gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--ui-panel-bg, #fff) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--ui-border, #d4d4d4)}.shell-tabbar .shell-tab{flex:1;max-width:120px}.shell-content{padding-bottom:84px}@media (width >= 900px){.shell-tabbar,.nav-settings{display:none}.shell-content{padding-bottom:0;margin-left:92px}.shell-rail .shell-tab svg{width:26px;height:26px}.shell-rail .shell-tab{font-size:12px;padding:10px 6px}.shell-rail{position:fixed;top:0;left:0;bottom:0;z-index:40;width:92px;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:14px 10px;background:var(--ui-panel-bg, #fff);border-right:1px solid var(--ui-border, #d4d4d4)}.shell-rail-spacer{flex:1}.shell-brand{width:50px;height:50px;margin:0 auto 10px;display:grid;place-items:center;border:none;border-radius:14px;cursor:pointer;color:var(--ui-on-accent, #fff);background:linear-gradient(135deg,var(--brand-grad-a, #16a34a),var(--brand-grad-b, #0f766e));box-shadow:var(--ui-glow)}.shell-brand svg{width:24px;height:24px}}.route-loading{display:flex;align-items:center;justify-content:center;min-height:60svh}.route-spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--ui-border, rgb(127 127 127 / 25%));border-top-color:var(--ui-accent, #16a34a);animation:route-spin .8s linear infinite}@keyframes route-spin{to{transform:rotate(360deg)}}:root{--radius-card: 18px;--radius-tile: 14px;--ui-transition: .16s cubic-bezier(.4, 0, .2, 1);--brand-grad-a: #a3e635;--brand-grad-b: #22c55e;--tile-beginner: #16a34a;--tile-openings: #3b82f6;--tile-counters: #8b5cf6;--tile-endgames: #f59e0b;--tile-puzzles: #f43f5e;--tile-analyze: #14b8a6}[data-ui-theme=light]{--ui-bg: #f4f5f4;--ui-fg: #1c1c1c;--ui-panel-bg: #fff;--ui-border: #e2e6e2;--ui-accent: #3f9142;--ui-on-accent: #fff;--ui-muted: #6b7280;--ui-shadow: 0 1px 2px rgb(17 24 39 / 6%), 0 6px 16px rgb(17 24 39 / 6%);--ui-shadow-lg: 0 10px 28px rgb(17 24 39 / 12%);--ui-glow: 0 4px 14px rgb(17 24 39 / 12%);--ui-glow-strong: 0 6px 18px rgb(17 24 39 / 16%);--bd-checker: color-mix(in srgb, var(--sq-dark-color, #769656) 7%, transparent);--bd-glow: color-mix(in srgb, var(--ui-accent, #3f9142) 15%, transparent);--bd-line: color-mix(in srgb, var(--ui-accent, #3f9142) 24%, transparent);--panel-grad: linear-gradient(160deg, color-mix(in srgb, var(--ui-accent, #3f9142) 5%, transparent), transparent 55%)}[data-ui-theme=dark]{--ui-bg: #0a0e0b;--ui-fg: #e7ece7;--ui-panel-bg: #161d17;--ui-border: #2a352c;--ui-accent: #a3e635;--ui-on-accent: #0a1206;--ui-muted: #8a938a;--ui-shadow: 0 1px 2px rgb(0 0 0 / 45%), 0 8px 22px rgb(0 0 0 / 40%);--ui-shadow-lg: 0 14px 34px rgb(0 0 0 / 58%);--ui-glow: 0 0 14px rgb(163 230 53 / 28%);--ui-glow-strong: 0 0 20px rgb(163 230 53 / 45%);--bd-checker: color-mix(in srgb, var(--sq-dark-color, #769656) 9%, transparent);--bd-glow: color-mix(in srgb, var(--ui-accent, #a3e635) 11%, transparent);--bd-line: color-mix(in srgb, var(--ui-accent, #a3e635) 17%, transparent);--panel-grad: linear-gradient(160deg, color-mix(in srgb, var(--ui-accent, #a3e635) 9%, transparent), transparent 55%)}html{background:var(--ui-bg, #f5f5f4);color:var(--ui-fg, #1c1c1c);scrollbar-gutter:stable}[data-board-theme=green]{--sq-light-color: #eeeed2;--sq-dark-color: #769656}[data-board-theme=brown]{--sq-light-color: #f0d9b5;--sq-dark-color: #b58863;--brand-grad-a: #f0c36c;--brand-grad-b: #d29a4a}[data-board-theme=blue]{--sq-light-color: #dee3e6;--sq-dark-color: #4b7399;--brand-grad-a: #7cc4f0;--brand-grad-b: #4a9fd8}[data-board-theme=slate]{--sq-light-color: #d8dee4;--sq-dark-color: #5c6b7a;--brand-grad-a: #b7c9da;--brand-grad-b: #8299ad}[data-board-theme=purple]{--sq-light-color: #e6dff0;--sq-dark-color: #8e7cc3;--brand-grad-a: #c4b5fd;--brand-grad-b: #8b5cf6}[data-board-theme=rose]{--sq-light-color: #f3dde0;--sq-dark-color: #c16a78;--brand-grad-a: #f9a8c0;--brand-grad-b: #e5648a}[data-board-theme=teal]{--sq-light-color: #dceeeb;--sq-dark-color: #4f9184;--brand-grad-a: #5eead4;--brand-grad-b: #14b8a6}[data-board-theme=contrast]{--sq-light-color: #fff;--sq-dark-color: #000}[data-ui-theme=light][data-board-theme=brown]{--ui-bg: #f6f4f0;--ui-border: #e8e2d7;--ui-accent: #a4703a}[data-ui-theme=dark][data-board-theme=brown]{--ui-bg: #0f0c09;--ui-panel-bg: #1d1712;--ui-border: #382f26;--ui-accent: #eab364;--ui-on-accent: #1a1206;--ui-glow: 0 0 14px rgb(234 179 100 / 28%);--ui-glow-strong: 0 0 20px rgb(234 179 100 / 45%)}[data-ui-theme=light][data-board-theme=blue]{--ui-bg: #f1f4f6;--ui-border: #dfe5ea;--ui-accent: #35719e}[data-ui-theme=dark][data-board-theme=blue]{--ui-bg: #0a0d10;--ui-panel-bg: #141a20;--ui-border: #2a333c;--ui-accent: #6db6e8;--ui-on-accent: #06111a;--ui-glow: 0 0 14px rgb(109 182 232 / 28%);--ui-glow-strong: 0 0 20px rgb(109 182 232 / 45%)}[data-ui-theme=light][data-board-theme=slate]{--ui-bg: #f2f3f5;--ui-border: #e1e5e8;--ui-accent: #55697c}[data-ui-theme=dark][data-board-theme=slate]{--ui-bg: #0b0d0f;--ui-panel-bg: #171a1e;--ui-border: #2e343a;--ui-accent: #a7bccf;--ui-on-accent: #0b1117;--ui-glow: 0 0 14px rgb(167 188 207 / 26%);--ui-glow-strong: 0 0 20px rgb(167 188 207 / 42%)}[data-ui-theme=light][data-board-theme=purple]{--ui-bg: #f4f2f7;--ui-border: #e5e0ee;--ui-accent: #7c5cba}[data-ui-theme=dark][data-board-theme=purple]{--ui-bg: #0d0a12;--ui-panel-bg: #1a1522;--ui-border: #322a40;--ui-accent: #c4a6f5;--ui-on-accent: #140a20;--ui-glow: 0 0 14px rgb(196 166 245 / 28%);--ui-glow-strong: 0 0 20px rgb(196 166 245 / 45%)}[data-ui-theme=light][data-board-theme=rose]{--ui-bg: #f7f2f3;--ui-border: #eedfe2;--ui-accent: #b3506a}[data-ui-theme=dark][data-board-theme=rose]{--ui-bg: #120a0d;--ui-panel-bg: #201418;--ui-border: #3c2a30;--ui-accent: #f490ad;--ui-on-accent: #1c060d;--ui-glow: 0 0 14px rgb(244 144 173 / 28%);--ui-glow-strong: 0 0 20px rgb(244 144 173 / 45%)}[data-ui-theme=light][data-board-theme=teal]{--ui-bg: #f0f5f4;--ui-border: #dde8e6;--ui-accent: #21806f}[data-ui-theme=dark][data-board-theme=teal]{--ui-bg: #091010;--ui-panel-bg: #12201d;--ui-border: #2a3c38;--ui-accent: #5eead4;--ui-on-accent: #04211b;--ui-glow: 0 0 14px rgb(94 234 212 / 28%);--ui-glow-strong: 0 0 20px rgb(94 234 212 / 45%)}.settings-group{border:1px solid var(--ui-border, #d4d4d4);border-radius:var(--radius-card, 18px);background:var(--panel-grad, none),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow);padding:16px 18px;margin-bottom:16px}.settings-group legend{padding:0 6px;font-weight:800;color:var(--ui-fg, #1c1c1c)}.settings-note{margin:2px 0 10px;font-size:13px;color:var(--ui-muted, #6b7280)}.segmented{display:inline-flex;border:1px solid var(--ui-border, #d4d4d4);border-radius:10px;overflow:hidden}.segmented button{padding:8px 18px;border:none;background:var(--ui-panel-bg, #fff);color:var(--ui-fg, #1c1c1c);font-weight:700;cursor:pointer;transition:background var(--ui-transition, .16s ease)}.segmented button.selected{background:var(--ui-accent, #16a34a);color:var(--ui-on-accent, #fff)}.board-theme-picker{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}.board-theme-swatch{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border:2px solid transparent;border-radius:12px;background:transparent;cursor:pointer;transition:border-color var(--ui-transition, .16s ease),background var(--ui-transition, .16s ease)}.board-theme-swatch:hover{background:#7f7f7f14}.board-theme-swatch.selected{border-color:var(--ui-accent, #16a34a)}.swatch-preview{display:grid;grid-template-columns:1fr 1fr;width:52px;height:34px;border-radius:8px;overflow:hidden;box-shadow:var(--ui-shadow)}.swatch-label{font-size:.8rem;font-weight:600;color:var(--ui-muted, #6b7280)}.piece-set-picker{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}.piece-set-swatch{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border:2px solid transparent;border-radius:12px;background:transparent;cursor:pointer;transition:border-color var(--ui-transition, .16s ease),background var(--ui-transition, .16s ease)}.piece-set-swatch:hover{background:#7f7f7f14}.piece-set-swatch.selected{border-color:var(--ui-accent, #16a34a)}.piece-set-preview{display:flex;align-items:center;justify-content:center;gap:2px;width:64px;height:40px;border-radius:8px;background:var(--sq-dark-color, #769656);box-shadow:var(--ui-shadow)}.piece-set-preview img{width:28px;height:28px}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ui-border, #d4d4d4) 90%,transparent) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ui-border, #d4d4d4) 90%,transparent);border-radius:999px}*::-webkit-scrollbar-track{background:transparent}.settings-profile{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:12px 0 4px;border:1px solid var(--ui-border, #e5e5e5);border-radius:16px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff)}.settings-profile-body{flex:1;min-width:0}.settings-profile-name{font-weight:800;overflow:hidden;text-overflow:ellipsis}.settings-profile-sync{font-size:12.5px;color:var(--ui-muted, #6b7280);margin-top:2px}.settings-about{margin-top:22px;font-size:11.5px;color:var(--ui-muted, #6b7280);text-align:center;display:flex;flex-direction:column;gap:3px}html,body{height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background-color:var(--ui-bg, #f5f5f4);color:var(--ui-fg, #1c1c1c);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,Noto Sans;padding:calc(6px + env(safe-area-inset-top)) 0 calc(6px + env(safe-area-inset-bottom));min-height:100vh;-webkit-tap-highlight-color:transparent;box-sizing:border-box}@supports (height: 100svh){body{min-height:100svh}}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:repeating-conic-gradient(var(--bd-checker, transparent) 0deg 90deg,transparent 90deg 180deg);background-size:120px 120px;-webkit-mask-image:radial-gradient(circle at 100% 0%,#000,transparent 62%);mask-image:radial-gradient(circle at 100% 0%,#000,transparent 62%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 16% 10%,var(--bd-glow, transparent),transparent 44%),linear-gradient(135deg,transparent calc(38% - 1px),var(--bd-line, transparent) 38%,transparent calc(38% + 1px)),linear-gradient(115deg,transparent calc(72% - 1px),var(--bd-line, transparent) 72%,transparent calc(72% + 1px)),radial-gradient(circle at 85% 88%,transparent 149px,var(--bd-line, transparent) 150px 151px,transparent 153px),radial-gradient(circle at 7% 46%,transparent 47px,var(--bd-line, transparent) 48px 49px,transparent 52px)}@supports (height: 100dvh){body{min-height:100dvh}}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.topbar-cluster{display:flex;align-items:center;gap:8px}.topbar-cluster.end{justify-content:flex-end}.page-heading{text-align:center;font-weight:900;letter-spacing:.3px;font-size:clamp(15px,3vmin,22px)}.nav-spacer,.nav-icon{width:44px;height:44px}.nav-icon{display:grid;place-items:center;border:2px solid var(--ui-border, #d4d4d4);border-radius:12px;background:transparent;color:var(--ui-fg, #1c1c1c);cursor:pointer;transition:background .15s ease,transform .05s ease}.nav-icon:hover{background:#7f7f7f1f}.nav-icon:active{transform:translateY(1px)}.nav-icon svg{width:62%;height:62%}.home-app{width:min(1100px,100%);margin:0 auto;padding:0 12px;box-sizing:border-box;display:grid;gap:16px}.home-app>*{min-width:0}.home-hero{position:relative;display:grid;justify-items:center;gap:2px;padding:6px 0 10px;isolation:isolate}.hero-top{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center}.hero-mark{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--brand-grad-a, #16a34a),var(--brand-grad-b, #0f766e));box-shadow:var(--ui-shadow),var(--ui-glow-strong);margin-top:4px}.hero-mark svg{width:30px;height:30px}.hero-title{margin:8px 0 0;font-weight:900;letter-spacing:.2px;font-size:clamp(24px,5vmin,32px)}.hero-tagline{margin:0;color:var(--ui-muted, #6b7280);font-size:clamp(12px,2.4vmin,14px)}.tabs-segmented{display:flex;justify-self:center;width:min(340px,100%)}.tabs-segmented button{flex:1 1 0}.home-list{display:grid;gap:14px}.home-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;border:1px solid var(--ui-border, #d4d4d4);border-radius:var(--radius-card, 18px);background:var(--panel-grad, none),var(--ui-panel-bg, #fff);padding:16px;cursor:pointer;box-shadow:var(--ui-shadow);transition:transform var(--ui-transition),box-shadow var(--ui-transition),border-color var(--ui-transition)}.home-card:hover{transform:translateY(-2px);box-shadow:var(--ui-shadow-lg);border-color:color-mix(in srgb,var(--tile, var(--ui-accent, #2563eb)) 45%,var(--ui-border, #d4d4d4))}.home-card:active{transform:translateY(0)}.home-card:focus-visible{outline:2px solid var(--tile, var(--ui-accent, #2563eb));outline-offset:2px}.home-body{display:grid;gap:3px}.mode-tile{width:60px;height:60px;display:grid;place-items:center;border-radius:var(--radius-tile, 14px);color:var(--tile, var(--ui-accent, #2563eb));background:color-mix(in srgb,var(--tile, var(--ui-accent, #2563eb)) 15%,var(--ui-panel-bg, #fff))}.mode-tile svg{width:30px;height:30px;fill:none;stroke:currentcolor}.home-card.disabled{cursor:default}.home-card.disabled:hover,.home-card.disabled:active{background:var(--panel-grad, none),var(--ui-panel-bg, #fff);transform:none}.home-thumb{width:72px;height:72px;display:grid;place-items:center;border-radius:var(--radius-tile, 14px);box-shadow:inset 0 0 0 1px var(--ui-border, #d4d4d4);overflow:hidden}.home-thumb svg{width:48px;height:48px;stroke:currentcolor;fill:none;color:var(--ui-fg, #1c1c1c);stroke-width:1.8}.home-title{font-weight:900;font-size:clamp(16px,2.6vmin,20px)}.home-sub{color:var(--ui-muted, #6b7280);font-size:clamp(12px,2.2vmin,14px)}.mastery-bar{margin-top:6px;width:100%;max-width:220px;height:6px;border-radius:999px;background:var(--ui-border, #d4d4d4);overflow:hidden}.mastery-fill{height:100%;border-radius:999px;background:var(--ui-accent, #2563eb);transition:width .3s ease}.home-chevron{width:40px;height:40px;border:1px solid var(--ui-border, #d4d4d4);border-radius:10px;display:grid;place-items:center;color:var(--ui-fg, #1c1c1c)}.badge-chip{display:inline-grid;place-items:center;padding:3px 8px;font-size:11px;font-weight:900;border-radius:999px;border:1px solid var(--ui-border, #d4d4d4);background:var(--ui-bg, #f5f5f4);color:var(--ui-muted, #6b7280)}@media (width <= 520px){.home-thumb{width:64px;height:64px}.home-thumb svg{width:40px;height:40px}.mode-tile{width:54px;height:54px}}.mini-board{width:100%;height:100%;display:grid}.mini-4x4{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr)}.mini-8x8{grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr)}.mini-sq{display:grid;place-items:center}.mini-light{background:var(--sq-light-color, #eeeed2)}.mini-dark{background:var(--sq-dark-color, #769656)}.cc-input{width:100%;box-sizing:border-box;padding:12px 14px;font-size:16px;border:2px solid var(--ui-border, #d4d4d4);border-radius:12px;background:var(--ui-panel-bg, #fff);color:var(--ui-fg, #1c1c1c)}.cc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-size:15px;font-weight:700;border:2px solid var(--ui-border, #d4d4d4);border-radius:12px;background:transparent;color:var(--ui-fg, #1c1c1c);cursor:pointer}.cc-btn svg{width:18px;height:18px}.cc-btn:disabled{opacity:.5;cursor:default}.cc-btn-primary{border-color:var(--ui-accent, #16a34a);background:var(--ui-accent, #16a34a);color:var(--ui-on-accent, #fff)}.cc-link{background:none;border:none;padding:0;color:var(--ui-accent, #16a34a);cursor:pointer;text-decoration:underline;font:inherit}.cc-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;border:2px solid var(--ui-border, #d4d4d4);border-radius:999px;background:transparent;color:var(--ui-fg, #1c1c1c);cursor:pointer}.cc-chip svg{width:15px;height:15px}.cc-chip.selected{border-color:var(--ui-accent, #16a34a);background:var(--ui-accent, #16a34a);color:var(--ui-on-accent, #fff)}.gr-link{border:none;background:none;padding:0;color:var(--ui-accent, #16a34a);font:inherit;font-weight:700;cursor:pointer}.cc-btn-primary,.pill-btn.primary{box-shadow:var(--ui-glow);transition:box-shadow var(--ui-transition, .16s ease),transform .12s ease}.cc-btn-primary:hover,.pill-btn.primary:hover{box-shadow:var(--ui-glow-strong)}.cc-btn-primary:active,.pill-btn.primary:active{transform:translateY(1px)}.segmented button.selected,.tabs-segmented button.selected{box-shadow:var(--ui-glow)}.home-card,.mode-tile{transition:transform var(--ui-transition, .16s ease),box-shadow var(--ui-transition, .16s ease),border-color var(--ui-transition, .16s ease)}@media (hover: hover){.home-card:hover{transform:translateY(-2px);box-shadow:var(--ui-glow-strong);border-color:color-mix(in srgb,var(--ui-accent, #16a34a) 40%,var(--ui-border, #d4d4d4))}.home-card:hover .mode-tile{box-shadow:var(--ui-glow)}}@media (prefers-reduced-motion: no-preference){@keyframes cc-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes cc-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.home-list>*{animation:cc-fade-up .32s ease both}.home-list>*:nth-child(2){animation-delay:.04s}.home-list>*:nth-child(3){animation-delay:.08s}.home-list>*:nth-child(4){animation-delay:.12s}.home-list>*:nth-child(5){animation-delay:.16s}.home-list>*:nth-child(6){animation-delay:.2s}.hero,.home-hero{animation:cc-pop .36s ease both}}.skel-list{display:flex;flex-direction:column;gap:8px}.skel-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--ui-border, #e5e5e5);border-radius:14px;background:var(--ui-panel-bg, #fff)}.skel-row.skel-tall{padding:14px}.skel{border-radius:8px;background:var(--ui-border, #e5e5e5);animation:skel-pulse 1.2s ease-in-out infinite}.skel-circle{width:34px;height:34px;border-radius:50%;flex:0 0 auto}.skel-bar{height:12px}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.skel{animation:none}}.retry-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px;border:1px dashed var(--ui-border, #d4d4d4);border-radius:14px;color:var(--ui-muted, #6b7280);text-align:center}.retry-card p{margin:0;font-size:13.5px}
