.welcome-wrap.svelte-12b1q1n{padding:var(--space-8) var(--space-4);justify-content:center;align-items:flex-start;display:flex}.welcome-card.svelte-12b1q1n{gap:var(--space-8);flex-direction:column;width:100%;max-width:780px;display:flex}.welcome-header.svelte-12b1q1n{text-align:center}.chess-icon.svelte-12b1q1n{background:var(--color-logo-bg);width:48px;height:48px;margin:0 auto var(--space-4);border-radius:8px;padding:2px;display:block}.welcome-title.svelte-12b1q1n{margin:0 0 var(--space-2);font-family:var(--font-body);color:var(--color-text-primary);font-size:1.8rem}.welcome-subtitle.svelte-12b1q1n{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.6}.create-section.svelte-12b1q1n{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);gap:var(--space-5);box-shadow:var(--shadow-surface);flex-direction:column;display:flex}.create-heading.svelte-12b1q1n{font-family:var(--font-body);color:var(--color-text-primary);margin:0;font-size:1.1rem}.create-hint.svelte-12b1q1n{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.6}.form-group.svelte-12b1q1n{gap:var(--space-2);flex-direction:column;display:flex}.field-label.svelte-12b1q1n{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:500}.text-input.svelte-12b1q1n{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-body);box-sizing:border-box;transition:border-color var(--dur-fast) var(--ease-snap);font-size:14px}.text-input.svelte-12b1q1n:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow);outline:none}.text-input.svelte-12b1q1n:disabled{opacity:.5;cursor:not-allowed}.color-row.svelte-12b1q1n{gap:var(--space-4);display:flex}.color-label.svelte-12b1q1n{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease-snap), color var(--dur-fast) var(--ease-snap);border:1px solid #0000;font-size:14px;display:flex}.color-label.selected.svelte-12b1q1n{border-color:var(--color-accent);color:var(--color-accent)}.color-label.svelte-12b1q1n input[type=radio]:where(.svelte-12b1q1n){accent-color:var(--color-accent);cursor:pointer}.color-opt.svelte-12b1q1n{-webkit-user-select:none;user-select:none}.error-msg.svelte-12b1q1n{color:var(--color-danger);margin:0;font-size:13px}.btn-create.svelte-12b1q1n{padding:var(--space-3) var(--space-6);background:var(--color-accent);border-radius:var(--radius-md);color:var(--color-base);font-family:var(--font-body);cursor:pointer;border:none;border:1px solid var(--color-accent);transition:border-color var(--dur-fast) var(--ease-snap), transform var(--dur-fast) var(--ease-snap);align-self:flex-start;font-size:14px;font-weight:600}.btn-create.svelte-12b1q1n:hover:not(:disabled){border-color:var(--color-border-strong);box-shadow:var(--glow-accent)}.btn-create.svelte-12b1q1n:active:not(:disabled){transform:scale(.97)}.btn-create.svelte-12b1q1n:disabled{opacity:.4;cursor:not-allowed}h1.svelte-lztlh0{margin:0 0 var(--space-4);font-family:var(--font-body);color:var(--color-text-primary);font-size:1.5rem}.page-wrapper.svelte-lztlh0{max-width:840px;margin:0 auto}.widget-grid.svelte-lztlh0{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=480px){.widget-grid.svelte-lztlh0{grid-template-columns:repeat(3,1fr)}}.widget.svelte-lztlh0{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);gap:var(--space-1);box-shadow:var(--shadow-surface);transition:border-color var(--dur-base) var(--ease-snap), box-shadow var(--dur-base) var(--ease-snap);flex-direction:column;display:flex;overflow:hidden}.widget-wide.svelte-lztlh0{grid-column:1/-1}.widget-link.svelte-lztlh0{color:inherit;cursor:pointer;text-decoration:none}.widget-link.svelte-lztlh0:hover{border-color:var(--color-border-strong);box-shadow:var(--glow-accent)}.widget-label.svelte-lztlh0{align-items:center;gap:var(--space-2);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:500;display:flex}.widget-value.svelte-lztlh0{color:var(--color-text-primary);font-size:1.8rem;font-weight:700;line-height:1.2}.widget-denom.svelte-lztlh0,.widget-unit.svelte-lztlh0{color:var(--color-text-muted);font-size:1rem;font-weight:400}.widget-hint.svelte-lztlh0{color:var(--color-text-muted);font-size:12px}.widget-empty.svelte-lztlh0{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:13px}.due-positive.svelte-lztlh0{color:var(--color-accent)}.mastered-value.svelte-lztlh0{color:var(--color-success)}.streak-value.svelte-lztlh0{color:var(--color-accent-dim)}.next-value.svelte-lztlh0{color:var(--color-text-secondary)}.health-green.svelte-lztlh0{color:var(--color-success)}.health-yellow.svelte-lztlh0{color:var(--color-accent-dim)}.health-red.svelte-lztlh0{color:var(--color-danger)}.health-action.svelte-lztlh0{color:inherit;text-decoration:none}.health-action.svelte-lztlh0:hover{text-decoration:underline}.state-bar.svelte-lztlh0{border-radius:var(--radius-sm);height:20px;margin-top:var(--space-2);display:flex;overflow:hidden}.state-segment.svelte-lztlh0{min-width:4px;transition:width var(--dur-slow)}.state-new.svelte-lztlh0{background:var(--color-accent)}.state-learning.svelte-lztlh0{background:var(--color-accent-dim)}.state-review.svelte-lztlh0{background:var(--color-success)}.state-relearning.svelte-lztlh0{background:var(--color-danger)}.state-legend.svelte-lztlh0{gap:var(--space-3);margin-top:var(--space-2);color:var(--color-text-secondary);flex-wrap:wrap;font-size:12px;display:flex}.legend-item.svelte-lztlh0{align-items:center;gap:var(--space-1);display:flex}.legend-dot.svelte-lztlh0{border-radius:2px;width:8px;height:8px;display:inline-block}.trend-row.svelte-lztlh0{gap:var(--space-1);margin-top:var(--space-2);display:flex}.trend-block.svelte-lztlh0{border-radius:3px;width:28px;height:28px}.acc-green.svelte-lztlh0{background:var(--color-success)}.acc-yellow.svelte-lztlh0{background:var(--color-accent-dim)}.acc-red.svelte-lztlh0{background:var(--color-danger)}.trend-legend.svelte-lztlh0{gap:var(--space-3);margin-top:var(--space-2);color:var(--color-text-secondary);font-size:12px;display:flex}.gap-threshold.svelte-lztlh0{background:var(--color-surface-alt);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;margin-left:auto;padding:2px 4px;font-size:11px}.gap-badge.svelte-lztlh0{background:var(--color-accent);min-width:20px;height:20px;color:var(--color-base);border-radius:10px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.gap-list.svelte-lztlh0{margin:var(--space-2) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.gap-item.svelte-lztlh0{padding:var(--space-2) var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;font-size:13px;display:flex}.gap-info.svelte-lztlh0{flex-direction:column;gap:2px;min-width:0;display:flex}.gap-line.svelte-lztlh0{color:var(--color-text-secondary)}.gap-popularity.svelte-lztlh0{color:var(--color-text-muted);font-size:11px}.gap-link.svelte-lztlh0{color:var(--color-accent);white-space:nowrap;transition:color var(--dur-fast) var(--ease-snap);font-size:12px;text-decoration:none}.gap-link.svelte-lztlh0:hover{color:var(--color-text-primary)}.gap-covered.svelte-lztlh0 p:where(.svelte-lztlh0){margin:var(--space-1) 0 0;color:var(--color-success);font-size:13px}.trouble-list.svelte-lztlh0{margin:var(--space-2) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.trouble-item.svelte-lztlh0{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-sm);font-size:13px;display:flex}.trouble-move.svelte-lztlh0{color:var(--color-text-primary);font-weight:600}.trouble-fen.svelte-lztlh0{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.trouble-lapses.svelte-lztlh0{color:var(--color-danger);white-space:nowrap;font-size:12px}.goal-met.svelte-lztlh0{color:var(--color-success)}.goal-progress.svelte-lztlh0{color:var(--color-accent)}.goal-bar.svelte-lztlh0{background:var(--color-surface-alt);height:6px;margin-top:var(--space-1);border-radius:3px;overflow:hidden}.goal-bar-fill.svelte-lztlh0{background:var(--color-accent);height:100%;transition:width var(--dur-slow);border-radius:3px;min-width:2px}.goal-bar-complete.svelte-lztlh0{background:var(--color-success)}.goal-link.svelte-lztlh0{color:var(--color-accent);margin-top:var(--space-1);transition:color var(--dur-fast) var(--ease-snap);font-size:12px;text-decoration:none}.goal-link.svelte-lztlh0:hover{color:var(--color-text-primary)}.goal-complete-hint.svelte-lztlh0{color:var(--color-success)}.goal-setup.svelte-lztlh0{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;min-width:0;display:flex}.goal-form-row.svelte-lztlh0{gap:var(--space-1);align-items:center;min-width:0;display:flex}.goal-input.svelte-lztlh0{background:var(--color-surface-alt);min-width:40px;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-1);font-family:var(--font-body);flex:0 45px;font-size:.8rem}.goal-input.svelte-lztlh0:focus{border-color:var(--color-accent);outline:none}.goal-freq-select.svelte-lztlh0{background:var(--color-surface-alt);min-width:0;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-1);font-family:var(--font-body);flex:auto;font-size:.8rem}.goal-form-actions.svelte-lztlh0{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.goal-save-btn.svelte-lztlh0{background:var(--color-accent);color:var(--color-base);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none;font-size:.75rem;font-weight:600}.goal-save-btn.svelte-lztlh0:disabled{opacity:.5;cursor:not-allowed}.goal-clear-btn.svelte-lztlh0{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;font-size:.75rem}.goal-clear-btn.svelte-lztlh0:hover{color:var(--color-text-secondary);border-color:var(--color-text-muted)}.goal-edit-btn.svelte-lztlh0{color:var(--color-text-muted);cursor:pointer;margin-top:var(--space-1);font-size:.7rem;font-family:var(--font-body);background:0 0;border:none;padding:0}.goal-edit-btn.svelte-lztlh0:hover{color:var(--color-text-secondary)}@media (width<=479px){.page-wrapper.svelte-lztlh0{padding:0}.widget-grid.svelte-lztlh0{gap:var(--space-2);grid-template-columns:1fr}.widget.svelte-lztlh0{padding:var(--space-3)}}.landing.svelte-1uha8ag{color:var(--color-text-primary);font-family:var(--font-body);background:#09090b;overflow-x:hidden}.btn-primary.svelte-1uha8ag{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;letter-spacing:.01em;transition:filter var(--dur-fast) var(--ease-snap), transform var(--dur-fast) var(--ease-snap), box-shadow var(--dur-base) var(--ease-snap);border:none;padding:14px 32px;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}.btn-primary.svelte-1uha8ag:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 0 20px #4a8ac24d,0 0 60px #4a8ac21a}.btn-primary.svelte-1uha8ag:active{transform:translateY(0)scale(.98)}.btn-secondary.svelte-1uha8ag{color:var(--color-text-primary);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;letter-spacing:.01em;transition:background var(--dur-fast) var(--ease-snap), border-color var(--dur-fast) var(--ease-snap), color var(--dur-fast) var(--ease-snap), transform var(--dur-fast) var(--ease-snap);background:#ffffff0a;border:1px solid #ffffff1a;padding:14px 32px;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}.btn-secondary.svelte-1uha8ag:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}.hero.svelte-1uha8ag{min-height:100vh;padding:var(--space-8);text-align:center;justify-content:center;align-items:center;display:flex;position:relative}.hero-bg.svelte-1uha8ag{pointer-events:none;background:radial-gradient(80% 50% at 50% -10%,#4a8ac21f 0%,#0000 60%),radial-gradient(60% 40% at 50% 100%,#4a8ac20f 0%,#0000 50%);position:absolute;inset:0}.hero-fade.svelte-1uha8ag{pointer-events:none;background:linear-gradient(#0000,#09090b);height:120px;position:absolute;bottom:0;left:0;right:0}.hero-content.svelte-1uha8ag{z-index:1;max-width:680px;animation:svelte-1uha8ag-heroIn .6s var(--ease-snap) both;position:relative}@keyframes svelte-1uha8ag-heroIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-brand.svelte-1uha8ag{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-10);display:flex}.hero-logo.svelte-1uha8ag{background:var(--color-logo-bg);border-radius:10px;width:48px;height:48px;padding:2px}.hero-brand-text.svelte-1uha8ag{color:var(--color-text-primary);letter-spacing:-.03em;font-size:1.5rem;font-weight:700}.hero-tagline.svelte-1uha8ag{margin:0 0 var(--space-5) 0;letter-spacing:-.04em;color:#fff;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;line-height:1.05}.hero-subtitle.svelte-1uha8ag{color:var(--color-text-secondary);margin:0 0 var(--space-10) 0;max-width:520px;margin-left:auto;margin-right:auto;font-size:clamp(1rem,2vw,1.2rem);line-height:1.65}.hero-ctas.svelte-1uha8ag{gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.problem.svelte-1uha8ag{padding:80px var(--space-6);text-align:center;background:#0e0e12;border-top:1px solid #ffffff0a;border-bottom:1px solid #ffffff0a}.problem-inner.svelte-1uha8ag{max-width:560px;margin:0 auto}.problem.svelte-1uha8ag h2:where(.svelte-1uha8ag){margin:0 0 var(--space-8) 0;letter-spacing:-.02em;color:#fff;font-size:clamp(1.4rem,3vw,1.75rem);font-weight:700}.problem-list.svelte-1uha8ag{gap:var(--space-4);text-align:left;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.problem-list.svelte-1uha8ag li:where(.svelte-1uha8ag){color:var(--color-text-secondary);padding-left:28px;font-size:1rem;line-height:1.55;position:relative}.problem-list.svelte-1uha8ag li:where(.svelte-1uha8ag):before{content:"";background:var(--color-danger);opacity:.7;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;left:4px}.feature.svelte-1uha8ag{padding:100px var(--space-6);position:relative}.feature.svelte-1uha8ag:before{content:"";background:linear-gradient(90deg,#0000,#ffffff0f 30% 70%,#0000);width:min(80%,800px);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.feature-inner.svelte-1uha8ag{grid-template-columns:7fr 3fr;align-items:center;gap:48px;max-width:1200px;margin:0 auto;display:grid}.feature-right.svelte-1uha8ag .feature-inner:where(.svelte-1uha8ag){grid-template-columns:3fr 7fr}.feature-label.svelte-1uha8ag{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4);border-radius:var(--radius-sm);background:#4a8ac20f;border:1px solid #4a8ac240;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.feature-text.svelte-1uha8ag h2:where(.svelte-1uha8ag){margin:0 0 var(--space-5) 0;letter-spacing:-.025em;color:#fff;font-size:clamp(1.3rem,2.5vw,1.65rem);font-weight:700;line-height:1.3}.feature-text.svelte-1uha8ag p:where(.svelte-1uha8ag){color:var(--color-text-secondary);margin:0;font-size:15px;line-height:1.75}.screenshot-frame.svelte-1uha8ag{transition:border-color var(--dur-base) var(--ease-snap);border:1px solid #ffffff14;border-radius:10px;position:relative;overflow:hidden}.screenshot-frame.svelte-1uha8ag:hover{border-color:#ffffff24}.screenshot-frame.svelte-1uha8ag img:where(.svelte-1uha8ag){width:100%;height:auto;display:block}.open-source.svelte-1uha8ag{padding:100px var(--space-6);text-align:center;background:#0e0e12;border-top:1px solid #ffffff0a;border-bottom:1px solid #ffffff0a;position:relative}.open-source-inner.svelte-1uha8ag{max-width:580px;margin:0 auto}.open-source-badge.svelte-1uha8ag{width:44px;height:44px;color:var(--color-accent);margin:0 auto var(--space-6);border-radius:var(--radius-lg);background:#4a8ac214;border:1px solid #4a8ac226;padding:10px}.open-source-badge.svelte-1uha8ag svg:where(.svelte-1uha8ag){width:100%;height:100%}.open-source.svelte-1uha8ag h2:where(.svelte-1uha8ag){letter-spacing:-.02em;margin:0 0 var(--space-5) 0;color:#fff;font-size:clamp(1.3rem,2.5vw,1.6rem);font-weight:700}.open-source.svelte-1uha8ag p:where(.svelte-1uha8ag){color:var(--color-text-secondary);margin:0 0 var(--space-8) 0;font-size:15px;line-height:1.75}.open-source-ctas.svelte-1uha8ag{gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.faq.svelte-1uha8ag{padding:100px var(--space-6);position:relative}.faq.svelte-1uha8ag:before{content:"";background:linear-gradient(90deg,#0000,#ffffff0f 30% 70%,#0000);width:min(80%,800px);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.faq-inner.svelte-1uha8ag{max-width:660px;margin:0 auto}.faq.svelte-1uha8ag h2:where(.svelte-1uha8ag){text-align:center;letter-spacing:-.02em;color:#fff;margin:0 0 48px;font-size:clamp(1.4rem,3vw,1.75rem);font-weight:700}.faq-item.svelte-1uha8ag{border-radius:var(--radius-lg);margin-bottom:var(--space-3);transition:border-color var(--dur-base) var(--ease-snap);background:#ffffff05;border:1px solid #ffffff0f;overflow:hidden}.faq-item.svelte-1uha8ag:hover{border-color:#ffffff1a}.faq-item[open].svelte-1uha8ag{background:#4a8ac208;border-color:#4a8ac233}.faq-item.svelte-1uha8ag summary:where(.svelte-1uha8ag){cursor:pointer;color:var(--color-text-primary);justify-content:space-between;align-items:center;gap:var(--space-4);transition:color var(--dur-fast) var(--ease-snap);padding:18px 20px;font-size:15px;font-weight:600;list-style:none;display:flex}.faq-item.svelte-1uha8ag summary:where(.svelte-1uha8ag):hover{color:#fff}.faq-item.svelte-1uha8ag summary:where(.svelte-1uha8ag):after{content:"+";color:var(--color-text-muted);transition:transform var(--dur-base) var(--ease-snap), color var(--dur-base) var(--ease-snap);flex-shrink:0;font-size:1.3rem;font-weight:300}.faq-item[open].svelte-1uha8ag summary:where(.svelte-1uha8ag):after{content:"−";color:var(--color-accent)}.faq-item.svelte-1uha8ag summary:where(.svelte-1uha8ag)::-webkit-details-marker{display:none}.faq-item.svelte-1uha8ag p:where(.svelte-1uha8ag){color:var(--color-text-secondary);margin:0;padding:0 20px 20px;font-size:14px;line-height:1.75}.landing-footer.svelte-1uha8ag{padding:48px var(--space-6);border-top:1px solid #ffffff0a}.footer-inner.svelte-1uha8ag{justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap;max-width:1200px;margin:0 auto;display:flex}.footer-brand.svelte-1uha8ag{align-items:center;gap:var(--space-2);display:flex}.footer-logo.svelte-1uha8ag{background:var(--color-logo-bg);border-radius:4px;width:22px;height:22px;padding:1px}.footer-brand-text.svelte-1uha8ag{color:var(--color-text-muted);font-size:14px;font-weight:600}.footer-links.svelte-1uha8ag{gap:var(--space-6);flex-wrap:wrap;display:flex}.footer-links.svelte-1uha8ag a:where(.svelte-1uha8ag){color:var(--color-text-muted);transition:color var(--dur-fast) var(--ease-snap);font-size:13px;text-decoration:none}.footer-links.svelte-1uha8ag a:where(.svelte-1uha8ag):hover{color:var(--color-text-primary)}@media (width<=900px){.feature-inner.svelte-1uha8ag,.feature-right.svelte-1uha8ag .feature-inner:where(.svelte-1uha8ag){grid-template-columns:1fr;gap:40px}.feature-right.svelte-1uha8ag .feature-text:where(.svelte-1uha8ag){order:1}.feature-right.svelte-1uha8ag .feature-screenshot:where(.svelte-1uha8ag){order:0}.feature.svelte-1uha8ag{padding:64px var(--space-6)}}@media (width<=480px){.hero-ctas.svelte-1uha8ag{flex-direction:column;align-items:center}.hero-ctas.svelte-1uha8ag .btn-primary:where(.svelte-1uha8ag),.hero-ctas.svelte-1uha8ag .btn-secondary:where(.svelte-1uha8ag){text-align:center;width:100%;max-width:280px}.open-source-ctas.svelte-1uha8ag{flex-direction:column;align-items:center}.footer-inner.svelte-1uha8ag{flex-direction:column;align-items:flex-start}}
