.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-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}.jr-layout{display:grid;gap:18px;margin-top:12px}.jr-head{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--ui-border, #e5e5e5);border-radius:16px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff)}.jr-medal{font-size:34px;line-height:1}.jr-head-body{flex:1;min-width:0}.jr-head-title{font-weight:800}.jr-head-sub{font-size:12.5px;color:var(--ui-muted, #6b7280);margin:2px 0 6px}.jr-head-steps{text-align:center;font-weight:900;font-size:16px}.jr-head-steps span{display:block;font-size:10px;font-weight:700;color:var(--ui-muted, #6b7280);text-transform:uppercase;letter-spacing:.05em}.jr-path{margin-top:4px;display:flex;flex-direction:column;gap:26px;position:relative}.jr-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.jr-scene-fixed{position:sticky;top:0;height:100vh;min-height:520px;background-image:linear-gradient(90deg,#060a10d1,#060a104d 55%,#060a108c),url(../mountain-bg.png);background-size:cover,cover;background-position:center top,center top}.jr-tier-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.jr-tier-medal{font-size:24px;filter:grayscale(1) opacity(.55)}.jr-tier-medal.earned{filter:none}.jr-tier-name{font-weight:800;font-size:14.5px}.jr-tier-sub{font-size:12px;color:var(--ui-muted, #6b7280)}.jr-row{display:flex;align-items:flex-start;justify-content:flex-start}.jr-row.rev{flex-direction:row-reverse;justify-content:flex-end}.jr-cell{display:flex;align-items:flex-start;flex:1 1 0;min-width:0}.jr-row.rev .jr-cell{flex-direction:row-reverse}.jr-link{flex:1;min-width:10px;border-top:3px dashed color-mix(in srgb,var(--ui-fg, #e7ece7) 32%,transparent);margin-top:30px}.jr-link.lit{border-top-style:solid;border-top-color:var(--ui-accent, #16a34a)}.jr-elbow{display:block;width:0;height:20px;border-left:3px dashed color-mix(in srgb,var(--ui-fg, #e7ece7) 32%,transparent);margin:2px 0 2px 31px}.jr-elbow.right{margin-left:auto;margin-right:31px}.jr-elbow.lit{border-left-style:solid;border-left-color:var(--ui-accent, #16a34a)}.jr-node{display:flex;flex-direction:column;align-items:center;gap:6px;width:96px;background:none;border:none;padding:0;font:inherit;color:var(--ui-fg, #1c1c1c);cursor:pointer}.jr-badge{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:19px;line-height:1;border:3px solid color-mix(in srgb,var(--ui-fg, #e7ece7) 30%,var(--ui-border, #d4d4d4));background:color-mix(in srgb,var(--ui-panel-bg, #fff) 86%,#000 14%);box-shadow:var(--ui-shadow),0 0 0 4px color-mix(in srgb,var(--ui-bg, #0a0e0b) 55%,transparent)}.jr-node-title{font-size:11px;font-weight:700;line-height:1.25;text-align:center;max-width:96px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jr-node-xp{font-size:10px;font-weight:800;color:var(--ui-accent, #16a34a)}.jr-onode.done .jr-badge{background:var(--ui-accent, #16a34a);border-color:var(--ui-accent, #16a34a);color:var(--ui-on-accent, #fff);font-size:24px;font-weight:900}.jr-onode.done{opacity:.92}.jr-onode.next .jr-badge{border-color:var(--ui-accent, #16a34a);box-shadow:var(--ui-glow-strong);animation:jr-pulse 1.6s ease-in-out infinite}.jr-onode.locked{cursor:default;opacity:.72}.jr-onode.locked .jr-badge{font-size:18px}.jr-onode.quiz .jr-badge{border-color:#d4a72c;background:color-mix(in srgb,#d4a72c 12%,var(--ui-panel-bg, #fff))}.jr-onode.quiz.done .jr-badge{background:#d4a72c;border-color:#d4a72c;color:#241a02}.jr-next-chip{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-on-accent, #fff);background:var(--ui-accent, #16a34a);border-radius:999px;padding:2px 8px}@keyframes jr-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--ui-accent, #16a34a) 45%,transparent)}60%{box-shadow:0 0 0 9px transparent}}@media (prefers-reduced-motion: reduce){.jr-onode.next .jr-badge{animation:none}}@media (width < 620px){.jr-badge{width:44px;height:44px;font-size:19px;border-width:2px}.jr-onode.done .jr-badge{font-size:17px}.jr-onode.locked .jr-badge{font-size:14px}.jr-onode{width:96px}.jr-node-title{font-size:10px}.jr-node-xp{font-size:9px}}.jr-side{display:none}.jr-card{border:1px solid var(--ui-border, #e5e5e5);border-radius:16px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);padding:14px 16px;margin-bottom:14px}.jr-card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.jr-card-head span{color:var(--ui-accent, #16a34a);font-weight:800;font-size:13px}.jr-xp{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.jr-xp-num{font-size:20px;font-weight:900}.jr-xp-need{font-size:11.5px;color:var(--ui-muted, #6b7280)}.jr-streak{margin-top:10px;font-size:13px;font-weight:700}.jr-nextup-title{font-weight:800;margin-bottom:2px}.jr-nextup-sub{font-size:12.5px;color:var(--ui-muted, #6b7280);margin-bottom:10px}.jr-upnext{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--ui-muted, #6b7280)}.jr-quote{font-size:12.5px;font-style:italic;color:var(--ui-muted, #6b7280);text-align:center}@media (width >= 1000px){.jr-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;max-width:1100px}.jr-side{display:block;position:sticky;top:12px}.jr-badge{width:50px;height:50px;font-size:21px}}.jr-trail{position:relative;margin-top:8px;border-radius:18px}.jr-trailline{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.jr-tl{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.jr-tl-done{stroke:var(--ui-accent, #16a34a)}.jr-tl-rest{stroke:color-mix(in srgb,var(--ui-fg, #e7ece7) 34%,transparent);stroke-dasharray:1 9}.jr-onode{position:absolute;z-index:2;transform:translate(-50%,-50%);padding:0;border:none;background:none;cursor:pointer}.jr-onode:disabled{cursor:default}.jr-olabel{position:absolute;z-index:2;transform:translateY(-50%);padding-left:40px;max-width:60%;pointer-events:none}.jr-olabel.locked{opacity:.7}.jr-olabel-title{font-weight:800;font-size:15px;color:#fff;text-shadow:0 1px 4px rgb(0 0 0 / 70%);white-space:nowrap}.jr-olabel-sub{display:block;font-size:11.5px;font-weight:600;color:#ffffff9e;text-shadow:0 1px 4px rgb(0 0 0 / 70%)}.jr-olabel-sub.next{color:var(--ui-accent, #16a34a);font-weight:800}.jr-onode.summit .jr-badge{border-color:#e9c46a;box-shadow:0 0 22px #e9c46a8c;background:color-mix(in srgb,#e9c46a 16%,#0a0e0b);color:#f6e4b0}.jr-camp{position:absolute;z-index:3;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;white-space:nowrap;background:var(--ui-panel-bg, #161d17);border:1px solid var(--ui-border, #2a352c);box-shadow:0 2px 8px #0000008c}.jr-camp-icon{font-size:15px}.jr-camp-name{font-weight:800;font-size:12.5px;overflow:hidden;text-overflow:ellipsis}.jr-camp-steps{font-size:11px;font-weight:700;color:var(--ui-accent, #16a34a)}.bp{--bp-cap: 640px;--bp-lane: 18px;box-sizing:border-box;width:100%;max-width:calc(var(--bp-cap) + var(--bp-lane) + 18px);margin-inline:auto;display:flex;flex-direction:column;padding:8px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);border:1px solid var(--ui-border, #d4d4d4);border-radius:14px}.bp-noeval{--bp-lane: 0px}@media (width < 900px){.bp{max-width:none}}.bp-row{display:flex;gap:8px;align-items:stretch;justify-content:center}.bp-eval{display:flex;flex:0 0 10px}.bp-eval>[aria-hidden=true]{opacity:.35}.bp-evalwrap{display:flex;flex:1}.bp-slot{position:relative;container-type:size;flex:0 1 auto;width:calc(100% - var(--bp-lane));max-width:var(--bp-cap);aspect-ratio:1 / 1;display:grid;place-items:center}.bp-nav{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--ui-border, #d4d4d4)}.board-wrap{display:flex;justify-content:center;align-items:center;width:100%}.board{width:min(100cqw,100cqh,640px);aspect-ratio:1 / 1;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);min-width:0;min-height:0;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:0;box-shadow:var(--ui-shadow),0 0 0 1px #0000000f}.sq-coord{position:absolute;font-size:clamp(8px,2vmin,12px);font-weight:700;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.sq-coord.file{right:5%;bottom:4%}.sq-coord.rank{left:5%;top:4%}.sq.light .sq-coord{color:var(--sq-dark-color, #769656)}.sq.dark .sq-coord{color:var(--sq-light-color, #eeeed2)}.sq{position:relative;width:100%;height:100%;min-width:0;min-height:0}.sq.light{background-color:var(--sq-light-color, #eeeed2)}.sq.dark{background-color:var(--sq-dark-color, #769656)}.piece-icon{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1.5px rgb(0 0 0 / 35%));-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.sq.selected{box-shadow:inset 0 0 0 9999px #ffd54a73}.sq.last-move{box-shadow:inset 0 0 0 9999px #ffd54a3d}.sq.hint-blink{animation:cc-hint-blink 1.1s ease-in-out infinite}@keyframes cc-hint-blink{0%,to{box-shadow:inset 0 0 0 9999px #22c55e26}50%{box-shadow:inset 0 0 0 9999px #22c55e7a}}@media (prefers-reduced-motion: reduce){.sq.hint-blink{animation:none;box-shadow:inset 0 0 0 9999px #22c55e66}}.sq.legal:after{content:"";position:absolute;left:50%;top:50%;width:30%;height:30%;transform:translate(-50%,-50%);border-radius:50%;background:#14141438;pointer-events:none}.sq.capture:after{content:"";position:absolute;top:5%;right:5%;bottom:5%;left:5%;border-radius:50%;border:6px solid rgb(20 20 20 / 22%);pointer-events:none}.mark{position:absolute;top:3%;right:3%;width:30%;height:30%;max-width:18px;max-height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:900;line-height:1;z-index:7;box-shadow:0 1px 3px #00000059;animation:cc-mark-pop .14s ease-out;pointer-events:none}.mark-quality{background:none;box-shadow:none;top:0;right:0;width:36%;height:36%;max-width:20px;max-height:20px}.mark-quality svg{display:block;width:100%;height:100%;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 35%))}.wrong-ghost-icon{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:.4;filter:grayscale(.35);pointer-events:none;z-index:4}.sq.wrong-target{outline:3px dashed rgb(239 68 68 / 75%);outline-offset:-3px}.mark-correct{background:#22c55e}.mark-correct:after{content:"✓"}.mark-wrong{background:#ef4444}.mark-wrong:after{content:"✗"}.mark-good{background:#7a9b76}.mark-good:after{content:"✓"}.mark-excellent{background:#81b64c}.mark-excellent:after{content:"!"}.mark-brilliant{background:#1baca6}.mark-brilliant:after{content:"‼"}.mark-great{background:#4f6d94}.mark-great:after{content:"!"}.mark-best{background:#7c9c3f}.mark-best:after{content:"★"}.mark-book{background:#a88865}.mark-book:after{content:"📖";font-size:.8em}.mark-forced{background:#9aa0aa}.mark-forced:after{content:"="}.mark-inaccuracy{background:#d9a334}.mark-inaccuracy:after{content:"?!";font-size:.72em}.mark-mistake{background:#e07a24}.mark-mistake:after{content:"?"}.mark-miss{background:#d66a53}.mark-miss:after{content:"✗"}.mark-blunder{background:#ca3431}.mark-blunder:after{content:"??";font-size:.72em}@keyframes cc-mark-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.sq.dragging{box-shadow:inset 0 0 0 9999px #00000026}.dragging-piece{width:12vmin;height:12vmin;max-width:80px;max-height:80px;filter:drop-shadow(0 4px 6px rgb(0 0 0 / 40%));z-index:10}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:6}.cc-arrow-g{filter:drop-shadow(0 1px 1px rgb(0 0 0 / 40%))}.cc-arrow{stroke:var(--ui-accent, #2b7fff);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.92}.cc-arrowhead{fill:var(--ui-accent, #2b7fff);opacity:.92}.cc-arrow-shine{stroke:#ffffff61;stroke-width:.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.ghost-piece{position:absolute;width:12.5%;height:12.5%;object-fit:contain;transform:translate(-50%,-50%);transition-property:left,top;transition-timing-function:cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:5}.cc-arrowhead.dim{fill:#64748b}.cc-arrow-step .cc-arrow{stroke-width:1.5}.cc-arrow-step.dim .cc-arrow{stroke:#64748b}.cc-arrow-num{fill:var(--ui-accent, #2b7fff);stroke:#fff;stroke-width:.6}.cc-arrow-num.dim{fill:#64748b}.trainer-app{display:flex;flex-direction:column;gap:10px;width:100%;max-width:640px;min-height:calc(100svh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:0 auto;padding:8px;box-sizing:border-box}@media (width < 900px){.trainer-app{min-height:calc(100svh - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}.trainer-app .topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.trainer-app .page-heading{text-align:center;font-weight:800;letter-spacing:.2px}.trainer-app .nav-icon,.trainer-app .nav-spacer{width:40px;height:40px}.trainer-app .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}.trainer-app .nav-icon svg{width:60%;height:60%}.trainer-app .trainer-head{display:flex;flex-direction:column;gap:10px}.trainer-app .progress{width:100%;height:8px;background:var(--ui-border, #d4d4d4);border-radius:999px;overflow:hidden}.trainer-app .progress .fill{height:100%;width:0%;background:var(--ui-accent, #2563eb);transition:width .25s ease;border-radius:999px}.trainer-app .page-title{text-align:center;font-weight:700}.trainer-app .line-num{color:var(--ui-muted, #6b7280);font-weight:500;font-size:.85em}.trainer-app .info-slot{height:76px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 8px;overflow:hidden}.trainer-app .status-text{font-weight:600;color:var(--ui-fg, #1c1c1c)}.trainer-app .lesson-instruction{min-height:76px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;text-align:center;line-height:1.4;color:var(--ui-fg, #1c1c1c);font-weight:500}.trainer-app .lesson-instruction .lesson-text{max-width:46ch}.trainer-app .lesson-coach{min-height:22px;margin-top:8px;text-align:center;color:var(--ui-accent, #16a34a);font-weight:600}.trainer-app .lesson-tutor{color:var(--ui-accent, #16a34a);font-weight:800}.trainer-app .puzzle-verdict{position:absolute;top:10px;left:50%;transform:translate(-50%);padding:6px 16px;border-radius:999px;color:#fff;font-weight:800;font-size:15px;z-index:8;box-shadow:var(--ui-shadow);animation:cc-mark-pop .2s ease-out}.trainer-app .verdict-good{background:#7fa650}.trainer-app .verdict-excellent{background:#96bc4b}.trainer-app .verdict-brilliant{background:#26c2a3}.trainer-app .board-slot{position:relative;flex:1 1 0;min-height:0;container-type:size;display:grid;place-items:center}.trainer-app .confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:7;overflow:hidden}.trainer-app .paper{position:absolute;top:-12%;left:50%;transform:translate(-50%);animation:cc-drop var(--dur, 2.4s) linear forwards var(--delay, 0s)}@keyframes cc-drop{to{top:110%}}.trainer-app .wob{display:block;animation:cc-sway var(--sway, 1.2s) ease-in-out infinite alternate}@keyframes cc-sway{0%{transform:translate(calc(-1 * var(--amp, 12px)))}to{transform:translate(var(--amp, 12px))}}.trainer-app .chip{display:block;width:var(--w, 8px);height:var(--h, 12px);background:linear-gradient(180deg,hsl(var(--hue, 0) 90% 60%),hsl(calc(var(--hue, 0) + 30) 90% 50%));border-radius:1px;opacity:.95;animation:cc-spin var(--spin, .9s) linear infinite}.trainer-app .complete-card{display:grid;grid-template-columns:auto 1fr auto;border:1px solid var(--ui-border, #d4d4d4);border-radius:12px;overflow:hidden;width:100%;background:var(--panel-grad, none),var(--ui-panel-bg, #fff)}.trainer-app .complete-card .eval{display:flex;align-items:center;justify-content:center;padding:8px 10px;font-weight:800;color:#22c55e;background:#22c55e1f;border-right:1px solid var(--ui-border, #d4d4d4)}.trainer-app .complete-card .desc{padding:8px 10px;font-weight:600;line-height:1.3;border-right:1px solid var(--ui-border, #d4d4d4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.trainer-app .complete-card .stats{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 10px;font-weight:700;font-size:.85em}.trainer-app .complete-card .times{color:var(--ui-accent, #2563eb)}.trainer-app .complete-card .conf{color:#22c55e}.trainer-app .controls{display:flex;justify-content:center}.trainer-app .icon-btn{position:relative;width:48px;height:48px;display:grid;place-items:center;border-radius:12px;border:2px solid var(--ui-border, #d4d4d4);background:transparent;font-size:20px;color:var(--ui-fg, #1c1c1c);cursor:pointer}.trainer-app .btn-countdown{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;display:grid;place-items:center;border-radius:999px;background:var(--ui-accent, #16a34a);color:#fff;font-size:11px;font-weight:800;line-height:1}.trainer-app .icon-btn svg{width:22px;height:22px}.trainer-app .icon-btn:active{transform:translateY(1px)}.trainer-app .pill-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;border:2px solid var(--ui-border, #d4d4d4);background:var(--ui-panel-bg, #fff);color:var(--ui-fg, #1c1c1c);font-weight:700;font-size:15px;cursor:pointer;transition:border-color var(--ui-transition),transform .05s ease}.trainer-app .pill-btn svg{width:18px;height:18px}.trainer-app .pill-btn:hover{border-color:var(--ui-accent, #16a34a)}.trainer-app .pill-btn:active{transform:translateY(1px)}@keyframes cc-pulse-green{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 14px #22c55e00}to{box-shadow:0 0 #22c55e00}}.trainer-app .glow-cta{border-color:#22c55e;animation:cc-pulse-green 1.4s ease-in-out infinite}@keyframes cc-pulse-hint{0%{box-shadow:0 0 #facc158c}70%{box-shadow:0 0 0 14px #facc1500}to{box-shadow:0 0 #facc1500}}.trainer-app .glow-hint{border-color:#facc15;animation:cc-pulse-hint 1.4s ease-in-out infinite}.puzzle-verdict .verdict-pts{margin-left:6px;font-size:.85em;opacity:.9}.tr-bp{--bp-cap: min(600px, max(240px, calc(100svh - 340px) ))}.pz-bp{--bp-cap: min(600px, max(240px, calc(100svh - 300px) ))}.puzzle-app .info-slot{padding:0}.ls-bp,.eg-bp{--bp-cap: min(600px, max(240px, calc(100svh - 320px) ))}@media (width < 900px){.tr-bp{--bp-cap: min(600px, max(240px, calc(100svh - 420px) ))}.pz-bp{--bp-cap: min(600px, max(240px, calc(100svh - 380px) ))}.ls-bp,.eg-bp{--bp-cap: min(600px, max(240px, calc(100svh - 400px) ))}}.puzzle-app .puzzle-info{box-sizing:border-box;width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 12px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);border:1px solid var(--ui-border, #d4d4d4);border-radius:12px}.puzzle-app .pz-row{display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%;white-space:nowrap;overflow:hidden}.puzzle-app .pz-theme{overflow:hidden;text-overflow:ellipsis}.puzzle-app .pz-turn{color:var(--ui-muted, #6b7280)}.puzzle-app .pz-hintmove{color:var(--ui-accent, #16a34a)}.puzzle-app .pz-substats{font-size:12px;color:var(--ui-muted, #6b7280)}.puzzle-app .pz-diff{flex:0 0 auto;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em;color:#fff}.puzzle-app .pz-easy{background:#22c55e;color:#0b1a0f}.puzzle-app .pz-medium{background:#d9a334;color:#1a1405}.puzzle-app .pz-hard{background:#dc2626}.trainer-app .tr-nudge{display:flex;align-items:center;gap:8px;max-width:46ch;padding:8px 14px;border:1px solid color-mix(in srgb,var(--ui-accent, #16a34a) 30%,var(--ui-border, #d4d4d4));border-radius:12px;background:linear-gradient(160deg,color-mix(in srgb,var(--ui-accent, #16a34a) 18%,transparent),transparent 65%),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow),var(--ui-glow);color:var(--ui-fg, #1c1c1c);font-weight:600;font-size:13.5px;line-height:1.35;text-align:left}.trainer-app .tr-nudge-ico{flex:0 0 auto;font-size:16px}.puzzle-app .pz-done{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:420px;margin:8vh auto 0;padding:26px 20px;border:1px solid color-mix(in srgb,var(--ui-accent, #16a34a) 30%,var(--ui-border, #d4d4d4));border-radius:var(--radius-card, 18px);background:linear-gradient(160deg,color-mix(in srgb,var(--ui-accent, #16a34a) 14%,transparent),transparent 65%),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow),var(--ui-glow);text-align:center}.puzzle-app .pz-done-ico{font-size:44px;line-height:1}.puzzle-app .pz-done-title{font-size:20px;font-weight:800;color:var(--ui-fg, #1c1c1c)}.puzzle-app .pz-done-sub{color:var(--ui-muted, #6b7280);font-size:13.5px}.puzzle-app .pz-done-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-top:8px}.puzzle-app .pz-done-stats .pc-stat{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border:1px solid var(--ui-border, #d4d4d4);border-radius:10px;text-align:left}.puzzle-app .pz-done-stats .pc-stat b{font-size:18px;font-weight:800}.puzzle-app .pz-done-stats .pc-stat span{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--ui-muted, #6b7280)}.puzzle-app .pz-done-stats .pc-stat span svg{width:12px;height:12px}.puzzle-app .pz-done-ctas{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;justify-content:center}.ls-learned{list-style:none;margin:4px 0 0;padding:0;font-size:13.5px;color:var(--ui-muted, #6b7280);display:flex;flex-direction:column;gap:3px;text-align:left}.pz-sol{display:flex;flex-wrap:wrap;gap:6px}.pz-sol b{font-weight:700;font-size:12px;color:var(--ui-muted, #6b7280);background:var(--ui-panel-bg, #fff);border:1px solid var(--ui-border, #d4d4d4);border-radius:8px;padding:1px 8px}.pz-sol b.played{color:var(--ui-accent, #16a34a);border-color:var(--ui-accent, #16a34a)}.pill-glow{background:var(--ui-accent, #16a34a);color:var(--ui-on-accent, #fff);border-color:var(--ui-accent, #16a34a);animation:pill-pulse 1.6s ease-in-out infinite}@keyframes pill-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--ui-accent, #16a34a) 45%,transparent)}60%{box-shadow:0 0 0 8px transparent}}@media (prefers-reduced-motion: reduce){.pill-glow{animation:none;box-shadow:var(--ui-glow)}}.gr-run{max-width:640px;margin-inline:auto}.gr,.gr-run{display:flex;flex-direction:column;gap:12px;min-width:0}.gr-head,.gr-left,.gr-hero-text{min-width:0}.gr-intro{color:var(--ui-muted, #6b7280);margin:0}.gr-head{display:flex;flex-direction:column;gap:4px}.gr-players{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ui-fg, #1c1c1c);flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;min-width:0;max-width:100%}.gr-players>*{flex:0 0 auto}.gr-avatar{border-radius:50%;object-fit:cover;background:color-mix(in srgb,var(--ui-border, #d4d4d4) 50%,transparent);flex:0 0 auto}.gr-avatar-sm{width:28px;height:28px}.gr-avatar-lg{width:48px;height:48px}.gr-avatar-default{display:grid;place-items:center;color:var(--ui-accent, #16a34a);background:color-mix(in srgb,var(--ui-accent, #16a34a) 14%,transparent)}.gr-avatar-default svg{width:60%;height:60%}.gr-flag{font-size:15px;line-height:1}.gr-player{display:inline-flex;align-items:center;gap:6px;min-width:0}.gr-player-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12ch}.gr-player-rating{color:var(--ui-muted, #6b7280);font-weight:600;font-size:13px}.gr-tc{display:inline-flex;align-items:center;gap:4px;color:var(--ui-muted, #6b7280);font-size:13px;font-weight:600}.gr-tc svg{width:15px;height:15px}.gr-tc-label{text-transform:capitalize}.gr-side{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--ui-border, #d4d4d4)}.gr-side svg{width:14px;height:14px}.gr-side.white{background:#eef1f4;color:#0f172a}.gr-side.black{background:#2b2f36;color:#f1f5f9;border-color:#2b2f36}.gr-back{align-self:flex-start;font-weight:700}.gr-acc{display:flex;gap:8px;flex-wrap:wrap}.gr-acc-pill{padding:3px 12px;border-radius:999px;font-weight:800;font-size:13px;border:1px solid var(--ui-border, #d4d4d4)}.gr-acc-pill.you{color:#fff;background:var(--ui-accent, #16a34a);border-color:var(--ui-accent, #16a34a)}.gr-acc-pill.opp{color:var(--ui-muted, #6b7280)}.gr-hero{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 16px;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)}.gr-hero-title{margin:0;font-size:19px;font-weight:800;color:var(--ui-fg, #1c1c1c)}.gr-hero-blurb{margin:4px 0 0;color:var(--ui-muted, #6b7280);max-width:54ch;line-height:1.45}.gr-hero-sub{margin-top:6px;font-size:13px;color:var(--ui-muted, #6b7280)}.gr-ring{position:relative;width:64px;flex:0 0 auto;text-align:center}.gr-ring svg{width:64px;height:64px;display:block}.gr-ring-track{fill:none;stroke:color-mix(in srgb,var(--ui-border, #d4d4d4) 70%,transparent);stroke-width:6}.gr-ring-fill{fill:none;stroke:var(--ui-accent, #16a34a);stroke-width:6;stroke-linecap:round;transition:stroke-dasharray .4s ease;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--ui-accent, #16a34a) 55%,transparent))}.gr-ring-num{position:absolute;top:19px;left:0;right:0;font-weight:800;font-size:20px;color:var(--ui-fg, #1c1c1c)}.gr-ring-label{font-size:11px;color:var(--ui-muted, #6b7280)}.gr-journey{width:100%;height:84px;display:block;cursor:pointer;border:1px solid var(--ui-border, #d4d4d4);border-radius:14px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff)}.gr-journey-mid{stroke:color-mix(in srgb,var(--ui-border, #d4d4d4) 70%,transparent);stroke-width:.5;stroke-dasharray:1.5 1.5;vector-effect:non-scaling-stroke}.gr-journey-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) 60%,transparent))}.gr-journey-cursor{stroke:var(--ui-fg, #1c1c1c);stroke-width:1.5;opacity:.45;vector-effect:non-scaling-stroke}.gr-phases{position:relative;display:flex;gap:4px;overflow-x:auto;padding:10px 8px 8px;min-width:0;max-width:100%;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)}.gr-phases,.gr-players,.gr-mc-main,.gr-explain-caption{scrollbar-width:none}.gr-phases::-webkit-scrollbar,.gr-players::-webkit-scrollbar,.gr-mc-main::-webkit-scrollbar,.gr-explain-caption::-webkit-scrollbar{display:none}.gr-phases:before{content:"";position:absolute;left:16px;right:16px;top:24px;height:2px;background:color-mix(in srgb,var(--ui-border, #d4d4d4) 80%,transparent)}.gr-phase{position:relative;flex:1 1 0;min-width:52px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 4px;border:none;background:none;color:var(--ui-fg, #1c1c1c);font:inherit;cursor:pointer}.gr-phase-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;border:2px solid var(--ui-bg, #f5f5f4)}.gr-phase-icon svg{width:14px;height:14px}.gr-phase-icon.great{background:#1baca6}.gr-phase-icon.good{background:#16a34a}.gr-phase-icon.neutral{background:#9aa0aa}.gr-phase-icon.bad{background:#ca3431}.gr-phase-icon.sharp{background:#2f6fed}.gr-phase-icon.win{background:#d4a422}.gr-phase-title{font-size:11px;font-weight:800;white-space:nowrap}.gr-phase-range{font-size:10px;font-weight:600;color:var(--ui-muted, #6b7280)}.gr-phase.active .gr-phase-icon{box-shadow:var(--ui-glow-strong);outline:2px solid var(--ui-accent, #16a34a);outline-offset:1px}.gr-phase.active .gr-phase-title{color:var(--ui-accent, #16a34a)}.gr-journey-wrap{position:relative}.gr-journey-pin{position:absolute;top:6px;transform:translate(-50%);width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--ui-panel-bg, #fff);background:#9aa0aa;color:#fff;cursor:pointer;padding:0;box-shadow:0 1px 4px #00000040}.gr-journey-pin svg{width:13px;height:13px}.gr-journey-pin.active{outline:2px solid var(--ui-accent, #16a34a);outline-offset:1px}.gr-journey-pin.good{background:#16a34a}.gr-journey-pin.bad{background:#ca3431}.gr-journey-pin.sharp{background:#2f6fed}.gr-journey-pin.win{background:#d4a422}.gr-moments{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);padding:12px 14px}.gr-moments-title{font-weight:800;margin-bottom:10px;color:var(--ui-fg, #1c1c1c)}.gr-moments-title span{font-weight:500;color:var(--ui-muted, #6b7280);font-size:13px;margin-left:6px}.gr-moments-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.gr-moment{flex:1 0 auto;min-width:120px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 12px;border:1px solid var(--ui-border, #d4d4d4);border-radius:12px;background:var(--ui-bg, #f5f5f4);color:var(--ui-fg, #1c1c1c);cursor:pointer;font:inherit;text-align:center}.gr-moment.active{border-color:var(--ui-accent, #16a34a);box-shadow:inset 0 0 0 1px var(--ui-accent, #16a34a),var(--ui-glow)}.gr-moment-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff}.gr-moment-icon svg{width:16px;height:16px}.gr-moment-icon.good{background:#16a34a}.gr-moment-icon.bad{background:#ca3431}.gr-moment-icon.sharp{background:#2f6fed}.gr-moment-icon.win{background:#d4a422}.gr-moment-move{font-weight:800;font-size:14px}.gr-moment-title{color:var(--ui-muted, #6b7280);font-size:12px;font-weight:600}.gr-statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gr-stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--ui-border, #d4d4d4);border-radius:12px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow)}.gr-stat-k{color:var(--ui-muted, #6b7280);font-size:12px;font-weight:600}.gr-stat-v{font-weight:800;font-size:18px;color:var(--ui-fg, #1c1c1c)}.gr-stat-v.pos{color:#16a34a}.gr-stat-v.neg{color:#ca3431}.gr-badge.tone-great{background:#1baca6}.gr-badge.tone-good{background:#7c9c3f}.gr-badge.tone-neutral{background:#9aa0aa}.gr-badge.tone-bad{background:#ca3431}.gr-turning{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800;color:#e07a24;border:1px solid #e07a24}.gr-better{display:flex;flex-direction:column;gap:6px;padding:12px 14px;margin-bottom:12px;border:1px solid var(--ui-border, #d4d4d4);border-left:3px solid var(--ui-accent, #16a34a);border-radius:14px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow),var(--ui-glow)}.gr-better-head{display:flex;align-items:center;gap:6px;font-weight:800;color:var(--ui-accent, #16a34a)}.gr-better-move{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--ui-fg, #1c1c1c)}.gr-better-eval{font-size:13px;font-weight:800;color:#16a34a;background:color-mix(in srgb,var(--ui-accent, #16a34a) 14%,transparent);padding:2px 8px;border-radius:8px}.gr-better-why{color:var(--ui-muted, #6b7280);line-height:1.45}.gr-better-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.gr-chips{display:inline-flex;gap:6px}.gr-chip{padding:3px 10px;border-radius:999px;border:1px solid var(--ui-accent, #16a34a);background:color-mix(in srgb,var(--ui-accent, #16a34a) 10%,transparent);color:var(--ui-accent, #16a34a);font-weight:700;font-size:13px;cursor:pointer}.gr-chip:hover{background:color-mix(in srgb,var(--ui-accent, #16a34a) 20%,transparent)}.gr-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;text-align:center}.gr-loading-title{font-weight:800;font-size:17px}.gr-loading-sub{color:var(--ui-muted, #6b7280)}.gr-loading .progress{width:min(320px,100%)}.gr-loading-pct{font-weight:800;color:var(--ui-accent, #16a34a)}.cc-spinner{width:40px;height:40px;border-radius:50%;border:4px solid var(--ui-border, #d4d4d4);border-top-color:var(--ui-accent, #16a34a);animation:cc-spin .8s linear infinite}@keyframes cc-spin{to{transform:rotate(360deg)}}.gr-errorcard{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 16px;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);text-align:center}.gr-error-emoji{font-size:32px}.gr-error-msg{font-weight:600;color:var(--ui-fg, #1c1c1c)}.gr-coach{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:12px 16px}.gr-coach-title{font-weight:800;margin-bottom:6px}.gr-coach ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;color:var(--ui-fg, #1c1c1c)}.gr-evalbar{position:relative;box-sizing:border-box;width:10px;flex:0 0 10px;border-radius:0;overflow:hidden;background:#403d39;border:1px solid var(--ui-border, #d4d4d4)}.gr-evalbar-white{position:absolute;left:0;right:0;bottom:0;background:#f7f6f4;transition:height .25s ease}.gr-evalbar.flip .gr-evalbar-white{bottom:auto;top:0}.gr-bp{--bp-cap: min(440px, calc(100svh - 330px) )}@media (width < 560px){.gr-bp{--bp-cap: min(432px, max(240px, calc(100svh - var(--gr-chrome, 90px) - 175px)));padding:6px}}.gr-layout{display:grid;gap:16px}.gr-left{display:flex;flex-direction:column;gap:10px}.gr-right{min-width:0}@media (width >= 860px){.gr-layout{grid-template-columns:minmax(0,520px) 1fr;align-items:start}.gr-bp{--bp-cap: 100%}.gr-right{max-height:calc(100svh - 160px);overflow:auto;padding-right:4px}.gr-gamelist{display:grid;grid-template-columns:1fr 1fr;gap:12px}}@media (width >= 1100px){.gr-layout{grid-template-columns:minmax(0,640px) 1fr}}.gr-reason{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;min-height:40px;min-width:0;max-width:100%}.gr-explain-below{color:var(--ui-muted, #6b7280);line-height:1.45;text-align:center;padding:2px 4px;min-height:44px}.gr-try-prompt{font-weight:700;color:var(--ui-fg, #1c1c1c)}.gr-movecard{display:flex;flex-direction:column;gap:6px;padding:10px 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);min-width:0;max-width:100%}.gr-mc-top{display:flex;align-items:center;justify-content:space-between;min-height:26px}.gr-mc-count{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted, #6b7280)}.gr-mc-main{display:flex;align-items:center;gap:10px;min-height:30px;flex-wrap:nowrap;overflow-x:auto;min-width:0}.gr-mc-eval{margin-left:auto;font-size:13px;font-weight:800;padding:2px 8px;border-radius:8px;border:1px solid var(--ui-border, #d4d4d4);color:var(--ui-fg, #1c1c1c);white-space:nowrap}.gr-mc-count-inline,.gr-turning-inline{display:none}.gr-mc-explain{color:var(--ui-muted, #6b7280);line-height:1.4;font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}@media (width < 860px){.gr-better{display:none}}.gr-table{width:100%;border-collapse:collapse;font-size:14px;border:1px solid var(--ui-border, #d4d4d4)}.gr-table th{padding:6px 8px;text-align:left;font-size:12px;font-weight:700;color:var(--ui-muted, #6b7280);background:color-mix(in srgb,var(--ui-border, #d4d4d4) 35%,transparent);border-bottom:1px solid var(--ui-border, #d4d4d4)}.gr-table td{padding:2px 6px;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--ui-border, #d4d4d4) 55%,transparent)}.gr-table tr:last-child td{border-bottom:none}.gr-tn{width:2.4em;text-align:right;color:var(--ui-muted, #6b7280)}.gr-cell{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;border:1px solid transparent;border-radius:6px;background:none;color:var(--ui-fg, #1c1c1c);cursor:pointer;font:inherit}.gr-cell:hover{background:#7f7f7f14}.gr-cell.active{border-color:var(--ui-accent, #16a34a);background:color-mix(in srgb,var(--ui-accent, #16a34a) 12%,transparent)}.gr-cs{font-weight:700}.gr-gamelist{display:flex;flex-direction:column;gap:8px}.gr-gameitem{position:relative;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 14px;border:2px solid var(--ui-border, #d4d4d4);border-radius:14px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);box-shadow:var(--ui-shadow);cursor:pointer;text-align:left;color:var(--ui-fg, #1c1c1c);font:inherit;overflow:hidden}.gr-gameitem:hover{border-color:var(--ui-accent, #16a34a)}.gr-gi-id{min-width:0;flex:1 1 auto}.gr-gi-name{font-weight:800;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gr-gi-tc{display:flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--ui-fg, #1c1c1c)}.gr-gi-tc-icon{display:grid;place-items:center;color:var(--ui-accent, #16a34a)}.gr-gi-tc-icon svg{width:20px;height:20px}.gr-gi-tc-class{font-weight:700;text-transform:capitalize;line-height:1.1}.gr-gi-tc-time{color:var(--ui-muted, #6b7280);font-size:13px}.gr-gameitem.gr-side-w{border-color:#e2e6ea}.gr-gameitem.gr-side-b{border-color:#3a4048}.gr-gi-strip{position:absolute;top:0;right:0;bottom:0;width:5px}.gr-gi-won .gr-gi-strip{background:#16a34a}.gr-gi-lost .gr-gi-strip{background:#ca3431}.gr-gi-draw .gr-gi-strip{background:#9aa0aa}@media (width < 380px){.gr-gi-tc{display:none}}.gr-outcome{padding:2px 8px;border-radius:999px;color:#fff;font-weight:800;font-size:12px}.gr-outcome.won{background:#16a34a}.gr-outcome.lost{background:#ca3431}.gr-outcome.draw{background:#9aa0aa}.gr-vs{font-weight:700}.gr-meta{margin-left:auto;color:var(--ui-muted, #6b7280);font-size:13px}.gr-move-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gr-move-san{font-weight:700}.gr-explain{color:var(--ui-muted, #6b7280)}.gr-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-weight:800;font-size:13px;color:#fff}.gr-badge .q-ico,.gr-cell .q-ico{flex:0 0 auto;display:block}.gr-ct{margin-left:auto;font-size:10px;font-weight:600;color:var(--ui-muted, #6b7280);font-variant-numeric:tabular-nums}.gr-clk{position:absolute;right:6px;z-index:7;padding:1px 8px;border-radius:8px;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;background:#0a0e0b9e;color:#fff;pointer-events:none}.gr-clk-top{top:6px}.gr-clk-bot{bottom:6px}.gr-nav-btn{flex:1;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ui-border, #d4d4d4);border-radius:14px;background:var(--ui-panel-bg, #fff);color:var(--ui-fg, #1c1c1c);font:inherit;font-weight:800;font-size:16px;cursor:pointer}.gr-nav-btn:hover{border-color:var(--ui-accent, #16a34a)}.gr-nav-btn:disabled{opacity:.4;cursor:default}.gr-nav-btn svg{width:20px;height:20px}.gr-play{flex:0 0 auto;width:56px;height:56px;display:grid;place-items:center;border:none;border-radius:50%;background:var(--ui-accent, #16a34a);color:var(--ui-on-accent, #fff);cursor:pointer;box-shadow:var(--ui-glow);transition:box-shadow var(--ui-transition, .16s ease),transform .12s ease}.gr-play:hover{box-shadow:var(--ui-glow-strong)}.gr-play:active{transform:translateY(1px)}.gr-play svg{width:24px;height:24px}.gr-move-counter{text-align:center;font-size:12px;font-weight:700;color:var(--ui-muted, #6b7280)}.gr .icon-btn{width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--ui-border, #d4d4d4);border-radius:12px;background:var(--ui-panel-bg, #fff);color:var(--ui-fg, #1c1c1c);cursor:pointer}.gr .icon-btn svg{width:20px;height:20px}.gr-link{border:none;background:none;padding:0;color:var(--ui-accent, #16a34a);font:inherit;font-weight:700;cursor:pointer}.gr-explain-caption{line-height:1.5;color:var(--ui-fg, #1c1c1c);white-space:nowrap;overflow-x:auto;max-width:100%;flex-wrap:nowrap}.gr-pv-cur{font-weight:800;color:var(--ui-accent, #16a34a)}.gr-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.gr-movelist{display:flex;flex-wrap:wrap;gap:6px}.gr-move{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--ui-border, #d4d4d4);border-radius:8px;background:var(--ui-panel-bg, #fff);color:var(--ui-fg, #1c1c1c);cursor:pointer;font-size:13px}.gr-move.active{border-color:var(--ui-accent, #16a34a);box-shadow:inset 0 0 0 1px var(--ui-accent, #16a34a)}.gr-num{color:var(--ui-muted, #6b7280)}.gr-san{font-weight:700}.gr-dot{font-weight:800}.gr-badge.brilliant{background:#1baca6}.gr-badge.great{background:#5b8bcc}.gr-badge.best{background:#7c9c3f}.gr-badge.excellent{background:#81b64c}.gr-badge.good{background:#7a9b76}.gr-badge.book{background:#a88865}.gr-badge.forced{background:#9aa0aa}.gr-badge.inaccuracy{background:#d9a334}.gr-badge.mistake{background:#e07a24}.gr-badge.miss{background:#d66a53}.gr-badge.blunder{background:#ca3431}.gr-dot.brilliant{color:#1baca6}.gr-dot.best{color:#7c9c3f}.gr-dot.excellent{color:#81b64c}.gr-dot.good{color:#7a9b76}.gr-dot.book{color:#a88865}.gr-dot.forced{color:#9aa0aa}.gr-dot.inaccuracy{color:#d9a334}.gr-dot.mistake{color:#e07a24}.gr-dot.miss{color:#d66a53}.gr-dot.blunder{color:#ca3431}.gr-nav-btn:hover:not(:disabled),.icon-btn:hover{border-color:var(--ui-accent, #16a34a);box-shadow:var(--ui-glow)}@media (hover: hover){.gr-moment{transition:transform var(--ui-transition, .16s ease),box-shadow var(--ui-transition, .16s ease),border-color var(--ui-transition, .16s ease)}.gr-moment:hover{transform:translateY(-2px);box-shadow:var(--ui-glow);border-color:color-mix(in srgb,var(--ui-accent, #16a34a) 40%,var(--ui-border, #d4d4d4))}}@media (prefers-reduced-motion: no-preference){@keyframes gr-pin-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--ui-accent, #16a34a) 55%,transparent)}50%{box-shadow:0 0 10px 2px color-mix(in srgb,var(--ui-accent, #16a34a) 55%,transparent)}}.gr-journey-pin.active{animation:gr-pin-pulse 1.6s ease-in-out infinite}.gr-gamelist>*{animation:cc-fade-up .3s ease both}.gr-gamelist>*:nth-child(2){animation-delay:.04s}.gr-gamelist>*:nth-child(3){animation-delay:.08s}.gr-gamelist>*:nth-child(4){animation-delay:.12s}.gr-gamelist>*:nth-child(5){animation-delay:.16s}}.gr-deskhead{display:none}@media (width >= 900px){.gr-deskhead{display:flex;align-items:center;gap:18px;padding:4px 2px}.gr-deskhead-label{font-size:13px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--ui-muted, #6b7280)}.gr-deskhead-players{display:flex;align-items:center;gap:8px;margin-inline:auto;min-width:0}.gr-dh-name{font-weight:800;color:var(--ui-fg, #1c1c1c)}.gr-dh-sub{color:var(--ui-muted, #6b7280);font-size:13px;font-weight:600}.gr-deskhead-actions{display:flex;gap:10px}.gr-hero-title{font-size:26px}.gr-phases{padding:16px 12px 12px;background-color:var(--ui-panel-bg, #fff);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60 L40 34 80 46 130 20 180 38 240 14 300 32 350 18 400 42 400 60 Z' fill='%23233521' opacity='0.55'/%3E%3Cpath d='M0 60 L60 44 120 52 200 30 260 46 330 26 400 50 400 60 Z' fill='%23182415' opacity='0.85'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:100% 100%}.gr-phases:before{top:30px;left:20px;right:20px}.gr-phase-icon{width:34px;height:34px}.gr-phase-icon svg{width:17px;height:17px}.gr-phase-title{font-size:12px}}.gr-phase-title.t-great{color:#1baca6}.gr-phase-title.t-good{color:#4ade80}.gr-phase-title.t-neutral{color:var(--ui-muted, #6b7280)}.gr-phase-title.t-bad{color:#f87171}.gr-phase-title.t-sharp{color:#60a5fa}.gr-phase-title.t-win{color:#facc15}.gr-better-board{align-self:center;width:150px}.gr-better-board .mini-board{width:150px;box-shadow:var(--ui-shadow)}.gr-moment-thumb{width:64px;display:block}.gr-moment-thumb .mini-board{width:64px}.gr-quote{text-align:center;color:var(--ui-muted, #6b7280);font-style:italic;padding:10px 0 4px;border-top:1px solid var(--ui-border, #d4d4d4)}.gr-quote-by{font-style:normal;font-weight:600}.gr-movecard.q-book{background:linear-gradient(135deg,color-mix(in srgb,#a88865 26%,var(--ui-panel-bg, #fff)),var(--ui-panel-bg, #fff) 65%);border-color:color-mix(in srgb,#a88865 45%,var(--ui-border, #d4d4d4))}.gr-movecard.q-brilliant{background:linear-gradient(135deg,color-mix(in srgb,#1baca6 30%,var(--ui-panel-bg, #fff)),var(--ui-panel-bg, #fff) 65%);border-color:color-mix(in srgb,#1baca6 50%,var(--ui-border, #d4d4d4))}.gr-movecard.q-great{background:linear-gradient(135deg,color-mix(in srgb,#1d4ed8 30%,var(--ui-panel-bg, #fff)),var(--ui-panel-bg, #fff) 65%);border-color:color-mix(in srgb,#1d4ed8 50%,var(--ui-border, #d4d4d4))}.gr-movecard.q-best{background:linear-gradient(135deg,color-mix(in srgb,#15803d 28%,var(--ui-panel-bg, #fff)),var(--ui-panel-bg, #fff) 65%);border-color:color-mix(in srgb,#15803d 48%,var(--ui-border, #d4d4d4))}.gr-movecard.q-excellent{background:linear-gradient(135deg,color-mix(in srgb,#22c55e 24%,var(--ui-panel-bg, #fff)),var(--ui-panel-bg, #fff) 65%);border-color:color-mix(in srgb,#22c55e 44%,var(--ui-border, #d4d4d4))}.gr-movecard.q-good{background:linear-gradient(135deg,color-mix(in srgb,#4ade80 18%,var(--ui-panel-bg, #fff)),var(--ui-panel-bg, #fff) 65%);border-color:color-mix(in srgb,#4ade80 38%,var(--ui-border, #d4d4d4))}.gr-movecard.q-inaccuracy{background:linear-gradient(135deg,color-mix(in srgb,#d9a334 24%,var(--ui-panel-bg, #fff)),var(--ui-panel-bg, #fff) 65%);border-color:color-mix(in srgb,#d9a334 44%,var(--ui-border, #d4d4d4))}.gr-movecard.q-mistake{background:linear-gradient(135deg,color-mix(in srgb,#f97316 26%,var(--ui-panel-bg, #fff)),var(--ui-panel-bg, #fff) 65%);border-color:color-mix(in srgb,#f97316 46%,var(--ui-border, #d4d4d4))}.gr-movecard.q-miss{background:linear-gradient(135deg,color-mix(in srgb,#ec4899 26%,var(--ui-panel-bg, #fff)),var(--ui-panel-bg, #fff) 65%);border-color:color-mix(in srgb,#ec4899 46%,var(--ui-border, #d4d4d4))}.gr-movecard.q-blunder{background:linear-gradient(135deg,color-mix(in srgb,#dc2626 30%,var(--ui-panel-bg, #fff)),var(--ui-panel-bg, #fff) 65%);border-color:color-mix(in srgb,#dc2626 50%,var(--ui-border, #d4d4d4))}.gr-movecard.q-forced,.gr-movecard.q-unclear{background:var(--panel-grad, none),var(--ui-panel-bg, #fff)}.gr-bestline{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}.gr-bl-step{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 3px;border:1px solid color-mix(in srgb,var(--ui-accent, #16a34a) 35%,var(--ui-border, #d4d4d4));border-radius:999px;font-weight:700;font-size:13px}.gr-bl-step b{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:var(--ui-accent, #16a34a);color:var(--ui-on-accent, #fff);font-size:10.5px}.gr-bl-step.theirs{border-color:var(--ui-border, #d4d4d4);color:var(--ui-muted, #6b7280)}.gr-bl-step.theirs b{background:#64748b;color:#fff}.gr-line-toggle{flex:0 0 auto;width:44px;min-height:52px;display:grid;place-items:center;border:2px solid var(--ui-border, #d4d4d4);border-radius:14px;background:var(--ui-panel-bg, #fff);color:var(--ui-muted, #6b7280);cursor:pointer}.gr-line-toggle svg{width:20px;height:20px}.gr-line-toggle.on{border-color:var(--ui-accent, #16a34a);color:var(--ui-accent, #16a34a);box-shadow:var(--ui-glow)}.gr-guess-pill{position:relative;margin-right:auto;flex:0 0 auto;display:grid;place-items:center;width:44px;min-height:52px;border:2px solid var(--ui-border, #d4d4d4);border-radius:14px;background:var(--ui-panel-bg, #fff);color:var(--ui-muted, #6b7280);font:inherit;font-size:18px;cursor:pointer}.gr-gp-score{position:absolute;top:-7px;right:-9px;font-size:9.5px;font-weight:900;line-height:1;padding:3px 5px;border-radius:999px;background:var(--ui-accent, #16a34a);color:var(--ui-on-accent, #fff)}.gr-guess-pill.on{border-color:var(--ui-accent, #16a34a);color:var(--ui-accent, #16a34a);box-shadow:var(--ui-glow)}.gr-guess-verdict{font-weight:700;color:var(--ui-fg, #1c1c1c);margin-bottom:3px}.gr-gi-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;color:var(--ui-muted, #6b7280)}.gr-gi-tcinline{display:inline-flex;align-items:center;gap:4px;text-transform:capitalize}.gr-gi-tcinline svg{width:13px;height:13px}.gr-gi-right{flex:0 0 auto;display:flex;align-items:center;gap:16px}.gr-gi-accbox{flex:0 0 auto;text-align:right;line-height:1.1}.gr-gi-accbox b{font-size:19px;font-weight:900;color:var(--ui-accent, #16a34a)}.gr-gi-accbox b.muted{color:var(--ui-muted, #6b7280)}.gr-gi-accbox span{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted, #6b7280)}.gr-gi-endcol{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:58px}.gr-gi-delta{font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.gr-gi-delta.pos{color:#16a34a}.gr-gi-delta.neg{color:#d9584f}.gr-gi-delta.zero{color:var(--ui-fg, #1c1c1c);opacity:.7}.gr-gi-result{flex:0 0 auto;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.gr-gi-result.won{background:color-mix(in srgb,#16a34a 20%,transparent);color:#16a34a}.gr-gi-result.lost{background:color-mix(in srgb,#ca3431 20%,transparent);color:#d9584f}.gr-gi-result.draw{background:color-mix(in srgb,var(--ui-muted, #6b7280) 22%,transparent);color:var(--ui-muted, #9aa2ac)}@media (width < 560px){.gr,.gr-left{gap:6px}.gr-hero{gap:8px;padding:6px 10px}.gr-hero-title{font-size:13.5px;line-height:1.25}.gr-hero-blurb,.gr-hero-sub{display:none}.gr-ring{width:42px}.gr-ring svg{width:42px;height:42px}.gr-ring-num{top:11px;font-size:13px}.gr-ring-label{font-size:8px}.gr-phases{padding:4px 4px 2px}.gr-phases:before{top:13px}.gr-phase{min-width:42px}.gr-phase-icon{width:20px;height:20px}.gr-phase-icon svg{width:10px;height:10px}.gr-phase-title{font-size:10px}.gr-phase-range{font-size:9px}.gr-movecard{padding:5px 10px;gap:1px}.gr-mc-top{display:none}.gr-guess-pill{width:38px;min-height:40px;border-width:1px;background:transparent;font-size:15px}.gr-mc-count-inline{display:inline;font-size:9px;font-weight:800;letter-spacing:.05em;color:var(--ui-muted, #6b7280);white-space:nowrap}.gr-mc-main{min-height:22px;gap:6px}.gr-movecard .gr-badge{font-size:11px;padding:1px 7px}.gr-move-san{font-size:13px}.gr-mc-eval{font-size:11px;padding:0 5px}.gr-mc-explain{font-size:11.5px;line-height:1.3;min-height:30px}.gr-turning{font-size:9px;padding:1px 6px}.gr-turning-inline{display:inline-flex;flex:0 0 auto}.gr-nav-btn{min-height:40px;border-width:1px;background:transparent}.gr-line-toggle{width:38px;min-height:40px;border-width:1px;background:transparent}.gr-play{width:44px;height:44px}.gr-play svg{width:20px;height:20px}.gr-stat{padding:8px 10px}.gr-stat-v{font-size:16px}.gr-stat-k{font-size:11px}}.analyze-panel{display:flex;flex-direction:column;gap:14px;width:100%;max-width:560px;box-sizing:border-box;margin:8px auto 0;padding:0}.analyze-panel.analyze-wide{max-width:1320px}@media (width >= 700px){.analyze-panel{max-width:860px}.analyze-panel .home-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}}.analyze-panel label{font-weight:600;color:var(--ui-fg, #1c1c1c)}.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, #2563eb);background:var(--ui-accent, #2563eb);color:var(--ui-on-accent, #fff)}.cc-link{background:none;border:none;padding:0;color:var(--ui-accent, #2563eb);cursor:pointer;text-decoration:underline;font:inherit}.analyze-who{color:var(--ui-muted, #6b7280)}.analyze-tabs{align-self:center;display:flex;width:min(360px,100%)}.analyze-tabs button{flex:1;text-align:center}.analyze-panel .progress{height:8px;border-radius:999px;background:color-mix(in srgb,var(--ui-border, #d4d4d4) 70%,transparent);overflow:hidden}.analyze-panel .progress .fill{height:100%;border-radius:999px;background:var(--ui-accent, #16a34a);transition:width .2s ease}.progress-indeterminate{overflow:hidden}.progress-indeterminate .fill{width:40%;animation:analyze-indet 1.1s ease-in-out infinite}@keyframes analyze-indet{0%{margin-left:-40%}to{margin-left:100%}}.analyze-empty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:28px 20px;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)}.analyze-empty-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--ui-accent, #16a34a) 14%,transparent);color:var(--ui-accent, #16a34a)}.analyze-empty-icon svg{width:26px;height:26px}.analyze-empty-title{font-weight:800;font-size:18px}.analyze-empty-sub{color:var(--ui-muted, #6b7280);max-width:42ch;margin:0}.analyze-hint{color:var(--ui-muted, #6b7280);margin:-4px 0 0}.analyze-rep{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:12px 16px}.analyze-rep-title{font-weight:800;margin-bottom:8px}.analyze-rep-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.analyze-rep-row{display:flex;align-items:center;gap:8px}.analyze-rep-side{width:14px;height:14px;border-radius:4px;flex:0 0 auto;border:1px solid var(--ui-border, #d4d4d4)}.analyze-rep-side.white{background:#eef1f4}.analyze-rep-side.black{background:#2b2f36}.analyze-rep-name{font-weight:600;color:var(--ui-fg, #1c1c1c)}.analyze-rep-stat{margin-left:auto;color:var(--ui-muted, #6b7280);font-size:13px;white-space:nowrap}.analyze-rerun{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:4px;padding-top:12px;border-top:1px solid var(--ui-border, #d4d4d4)}.analyze-summary{font-weight:600;color:var(--ui-fg, #1c1c1c)}.analyze-status{color:var(--ui-muted, #6b7280)}.analyze-error{padding:10px 12px;border-radius:10px;background:#ef44441f;color:#b91c1c;font-weight:600}.analyze-format{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.analyze-format-label{color:var(--ui-muted, #6b7280);font-weight:600}.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, #2563eb);background:var(--ui-accent, #2563eb);color:var(--ui-on-accent, #fff)}.wk-head{font-weight:800;font-size:15px;color:var(--ui-fg, #1c1c1c);margin:4px 0 -4px}.wk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}.wk-card{display:flex;gap:12px;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);min-width:0}.wk-thumb{flex:0 0 auto;width:96px}.wk-thumb .mini-board{width:96px;box-shadow:var(--ui-shadow)}.wk-body{display:flex;flex-direction:column;gap:4px;min-width:0}.wk-top{display:flex;align-items:center;gap:8px;min-width:0}.wk-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-fix{font-size:13.5px;color:var(--ui-fg, #1c1c1c)}.wk-bad{color:#ca3431}.wk-good{color:var(--ui-accent, #16a34a)}.wk-stats{font-size:12px;color:var(--ui-muted, #6b7280)}.wk-drill{margin-top:auto;align-self:flex-start}.wk-tactics{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px;padding:14px 16px;border:1px solid var(--ui-border, #e5e5e5);border-radius:16px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff)}.wk-tactics-body{flex:1 1 240px;min-width:0}.wk-tactics-title{font-size:14px}.wk-tactics-sub{font-size:12.5px;color:var(--ui-muted, #6b7280);margin-top:2px}.pl-bp{--bp-cap: min(600px, max(240px, calc(100svh - 300px) ))}@media (width < 900px){.pl-bp{--bp-cap: min(600px, max(240px, calc(100svh - 380px) ))}}.play-setup{display:flex;flex-direction:column;align-items:center;gap:18px;padding:18px 8px}.play-group{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.play-label{font-weight:800;font-size:14px;color:var(--ui-fg, #1c1c1c)}.play-strengths{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;width:min(460px,100%)}.play-strength{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:1px solid var(--ui-border, #d4d4d4);border-radius:12px;background:var(--panel-grad, none),var(--ui-panel-bg, #fff);color:var(--ui-fg, #1c1c1c);font:inherit;cursor:pointer}.play-strength b{font-size:14px}.play-strength span{font-size:11px;color:var(--ui-muted, #6b7280)}.play-strength.selected{border-color:var(--ui-accent, #16a34a);box-shadow:var(--ui-glow)}.play-start{min-width:220px}.play-vs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.play-opp{font-weight:800;color:var(--ui-fg, #1c1c1c)}.play-from{font-size:12px;color:var(--ui-muted, #6b7280)}.play-think{font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;border:1px solid var(--ui-border, #d4d4d4);color:var(--ui-muted, #6b7280)}.play-think.on{color:var(--ui-on-accent, #fff);background:var(--ui-accent, #16a34a);border-color:var(--ui-accent, #16a34a)}.play-animal{font-size:22px;line-height:1}: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)}*{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}.learn-intro{color:var(--ui-muted, #6b7280);margin:0 0 4px}.prog-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.prog-card{padding:14px 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);text-align:center}.prog-card-v{font-size:26px;font-weight:800;color:var(--ui-accent, #16a34a)}.prog-card-total{font-size:15px;color:var(--ui-muted, #6b7280);font-weight:700}.prog-card-k{margin-top:2px;font-size:12px;font-weight:600;color:var(--ui-muted, #6b7280)}.prog-panel{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:14px 16px}.prog-panel-title{font-weight:800;margin-bottom:10px;color:var(--ui-fg, #1c1c1c)}.prog-skill-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.prog-skill{display:grid;grid-template-columns:minmax(110px,1fr) 2fr auto;align-items:center;gap:10px}.prog-skill-name{border:none;background:none;padding:0;font:inherit;font-weight:600;color:var(--ui-fg, #1c1c1c);text-align:left;cursor:pointer}.prog-skill-name:hover{color:var(--ui-accent, #16a34a)}.prog-skill-bar{height:8px;border-radius:999px;background:color-mix(in srgb,var(--ui-border, #d4d4d4) 70%,transparent);overflow:hidden}.prog-skill-bar>div{height:100%;border-radius:999px;background:var(--ui-accent, #16a34a);box-shadow:var(--ui-glow);transition:width .4s ease}.prog-skill-pct{font-size:12px;font-weight:700;color:var(--ui-muted, #6b7280);white-space:nowrap}.prog-improve{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;color:var(--ui-fg, #1c1c1c)}.prog-empty{margin:0;color:var(--ui-muted, #6b7280)}.prog-cta{align-self:center}@media (width < 480px){.prog-skill{grid-template-columns:1fr auto}.prog-skill-bar{grid-column:1 / -1;order:3}}.prog-ratings{display:grid;grid-template-columns:1fr;gap:10px}.prog-rating{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);padding:12px 14px}.prog-rating-head{display:flex;align-items:center;gap:6px;font-weight:800;text-transform:capitalize;color:var(--ui-accent, #16a34a);margin-bottom:8px}.prog-rating-head svg{width:16px;height:16px}.prog-rating-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.prog-rating-cell{display:flex;flex-direction:column;gap:2px}@media (width >= 700px){.prog-ratings{grid-template-columns:1fr 1fr}}.prog-chart-head{display:flex;align-items:center;justify-content:space-between}.prog-range{display:inline-flex;gap:6px}.prog-range-btn{padding:3px 10px;border:1px solid var(--ui-border, #d4d4d4);border-radius:999px;background:transparent;color:var(--ui-muted, #6b7280);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.prog-range-btn.selected{background:#22d3ee;border-color:#22d3ee;color:#06282e}.prog-chart-svg{width:100%;height:120px;display:block}.prog-chart-line{fill:none;stroke:#22d3ee;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgb(34 211 238 / 45%))}.prog-chart-area{fill:#22d3ee1f}.prog-chart-minmax{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;font-weight:600;color:var(--ui-muted, #6b7280)}.prog-chart-now{color:#22d3ee;font-weight:800}@media (width >= 900px){.prog-card{padding:20px 16px}.prog-card-v{font-size:34px}.prog-card-k{font-size:13px}.prog-rating{padding:18px 20px}.prog-rating-head{font-size:17px}.prog-panel{padding:18px 22px}.prog-panel-title{font-size:18px}.prog-skill-list{gap:14px}.prog-skill-name{font-size:16px}.prog-skill-bar{height:10px}.prog-skill-pct{font-size:13px}.prog-chart-svg{height:160px}}.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}}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-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}
