.landing-v2{--bg: #FBFAF7;--bg-tint: #F5F3EE;--surface: #FFFFFF;--surface-2: #FAF9F5;--fg: #1A1815;--fg-2: #4A4640;--fg-3: #6B6660;--fg-4: #9A938A;--hairline: rgba(26, 24, 21, .1);--hairline-strong: rgba(26, 24, 21, .16);--accent: oklch(.52 .28 268);--accent-hover: oklch(.42 .28 268);--accent-soft: oklch(.52 .28 268 / .08);--accent-tint: oklch(.52 .28 268 / .04);--accent-ring: oklch(.52 .28 268 / .2);--accent-fg: oklch(.42 .28 268);--r-again: #B91C1C;--r-hard: #A16207;--r-good: #15803D;--r-easy: var(--accent);--ff-display: "Fraunces", "Iowan Old Style", Georgia, serif;--ff-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--ff-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(26,24,21,.04), 0 1px 0 rgba(255,255,255,.6) inset;--sh-2: 0 1px 2px rgba(26,24,21,.06), 0 4px 12px -2px rgba(26,24,21,.06);--sh-3: 0 24px 48px -16px rgba(26,24,21,.18), 0 1px 2px rgba(26,24,21,.06);--sh-accent: 0 6px 18px var(--accent-ring), 0 1px 0 rgba(255,255,255,.2) inset;--ease: cubic-bezier(.22, 1, .36, 1);background:var(--bg);color:var(--fg);font-family:var(--ff-body);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh;line-height:1.55}.landing-v2 *,.landing-v2 *:before,.landing-v2 *:after{box-sizing:border-box}.landing-v2 a{color:inherit;text-decoration:none}.landing-v2 button{font:inherit;cursor:pointer}.landing-v2 img{display:block;max-width:100%}.landing-v2 ::selection{background:var(--accent);color:#fff}.landing-v2 h1,.landing-v2 h2,.landing-v2 h3,.landing-v2 h4{font-family:var(--ff-display);font-weight:500;letter-spacing:-.022em;font-variation-settings:"opsz" 144,"SOFT" 50;margin:0;color:var(--fg);text-wrap:balance}.landing-v2 h1{font-size:clamp(40px,6vw,72px);line-height:1.02;letter-spacing:-.028em}.landing-v2 h2{font-size:clamp(32px,4vw,48px);line-height:1.05;letter-spacing:-.025em}.landing-v2 h3{font-size:clamp(22px,2vw,28px);line-height:1.2;letter-spacing:-.015em;font-weight:500}.landing-v2 h4{font-size:18px;line-height:1.3;letter-spacing:-.01em;font-weight:600}.landing-v2 em.accent,.landing-v2 .accent-text{font-style:italic;color:var(--accent);font-weight:400}.landing-v2 p{margin:0;line-height:1.55;color:var(--fg-2)}.landing-v2 .lead{font-size:clamp(17px,1.4vw,19px);line-height:1.55;color:var(--fg-2);text-wrap:pretty}.landing-v2 .eyebrow{font-family:var(--ff-body);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-fg)}.landing-v2 .container{max-width:1180px;margin:0 auto;padding:0 32px}.landing-v2 .section{padding:96px 0;position:relative}.landing-v2 .section--tight{padding:72px 0}.landing-v2 .section--cream{background:var(--bg-tint)}.landing-v2 .section--dark{background:var(--bg-tint);color:var(--fg)}.landing-v2 .section--dark h1,.landing-v2 .section--dark h2,.landing-v2 .section--dark h3{color:var(--fg)}.landing-v2 .section--dark p{color:var(--fg-2)}.landing-v2 .section--dark .eyebrow{color:var(--fg-3)}.landing-v2 .section-head{max-width:720px;margin:0 auto 56px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.landing-v2 .section-head .lead{max-width:580px}.landing-v2 .v2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border:0;border-radius:var(--r-pill);font-family:var(--ff-body);font-size:15px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;position:relative;overflow:hidden;transition:transform .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease),color .15s var(--ease);text-decoration:none}.landing-v2 .v2-btn:active{transform:scale(.98)}.landing-v2 .v2-btn-primary{background:var(--accent);color:#fff;box-shadow:var(--sh-accent)}.landing-v2 .v2-btn-primary:hover{background:var(--accent-hover);color:#fff}.landing-v2 .v2-btn-secondary{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px var(--hairline-strong)}.landing-v2 .v2-btn-secondary:hover{background:var(--surface);box-shadow:inset 0 0 0 1px var(--fg-3);color:var(--fg)}.landing-v2 .v2-btn-ghost{background:transparent;color:var(--fg);height:38px;padding:0 14px;font-size:14px}.landing-v2 .v2-btn-ghost:hover{background:#1a18150a;color:var(--fg)}.landing-v2 .v2-btn-sm{height:38px;padding:0 16px;font-size:13px}.landing-v2 .v2-btn-lg{height:52px;padding:0 26px;font-size:16px}.landing-v2 .section--dark .v2-btn-secondary{color:var(--fg);box-shadow:inset 0 0 0 1px var(--hairline)}.landing-v2 .section--dark .v2-btn-secondary:hover{background:var(--surface);color:var(--fg)}.landing-v2 .v2-topbar{position:sticky;top:0;z-index:50;height:64px;transition:background .25s var(--ease),border-color .25s var(--ease),backdrop-filter .25s var(--ease);border-bottom:1px solid transparent}.landing-v2 .v2-topbar.scrolled{background:#fbfaf7c7;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border-bottom-color:var(--hairline)}.landing-v2 .v2-topbar-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:1180px;margin:0 auto;padding:0 32px}.landing-v2 .v2-topbar-inner>.v2-brand{justify-self:start}.landing-v2 .v2-topbar-inner>.v2-topbar-right{justify-self:end}.landing-v2 .v2-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-display);font-weight:500;font-size:19px;letter-spacing:-.015em;color:var(--fg)}.landing-v2 .v2-brand img{width:28px;height:28px;border-radius:7px}.landing-v2 .v2-nav{display:flex;gap:4px;justify-self:center}.landing-v2 .v2-nav a{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:var(--r-pill);color:var(--fg-2);font-size:14px;font-weight:500;transition:color .15s,background .15s}.landing-v2 .v2-nav a:hover{color:var(--fg);background:#1a18150a}.landing-v2 .v2-topbar-right{display:flex;align-items:center;gap:8px}.landing-v2 .v2-menu-toggle{display:none}.landing-v2 .v2-hero{position:relative;padding:64px 0 80px;overflow:hidden}.landing-v2 .v2-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(180deg,#0000,#00000014 18%,#0000001a 60%,#0000);mask-image:linear-gradient(180deg,#0000,#00000014 18%,#0000001a 60%,#0000)}.landing-v2 .v2-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.landing-v2 .v2-hero-badge{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 14px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-fg);font-size:12px;font-weight:500;letter-spacing:.01em;margin-bottom:28px}.landing-v2 .v2-hero-badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.85;animation:v2DotPulse 2.2s ease-in-out infinite}@keyframes v2DotPulse{0%,to{opacity:.85}50%{opacity:.35}}.landing-v2 .v2-hero h1{margin-bottom:22px}.landing-v2 .v2-hero .lead{max-width:480px;margin-bottom:32px}.landing-v2 .v2-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}.landing-v2 .v2-hero-trust{margin-top:18px;font-size:13px;color:var(--fg-3)}.landing-v2 .v2-demo-wrap{position:relative}.landing-v2 .v2-trust-band{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-2);overflow:hidden;position:relative;z-index:2}.landing-v2 .v2-trust-cell{display:flex;flex-direction:column;gap:6px;padding:22px 24px;border-right:1px solid var(--hairline);font-size:13px}.landing-v2 .v2-trust-cell:last-child{border-right:0}.landing-v2 .v2-trust-cell .ic{width:22px;height:22px;color:var(--accent)}.landing-v2 .v2-trust-cell .t{color:var(--fg);font-weight:600;font-size:14px}.landing-v2 .v2-trust-cell .s{color:var(--fg-3);font-size:13px;line-height:1.45}.landing-v2 .v2-bento{display:grid;grid-template-columns:2fr 1fr;grid-auto-rows:minmax(260px,auto);gap:16px}.landing-v2 .v2-bento-row-2{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.landing-v2 .v2-feature-card{background:var(--surface);border-radius:var(--r-xl);padding:32px;box-shadow:var(--sh-2);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px;min-height:260px}.landing-v2 .v2-feature-card .eyebrow{color:var(--accent-fg)}.landing-v2 .v2-feature-card h3{font-family:var(--ff-display)}.landing-v2 .v2-feature-card p{font-size:15px;color:var(--fg-2);max-width:38ch}.landing-v2 .v2-feature-fsrs{grid-column:1 / 2;grid-row:1;min-height:360px}.landing-v2 .v2-feature-sync{grid-column:2 / 3;grid-row:1;min-height:360px}.landing-v2 .v2-curve-stage{position:relative;height:200px;margin-top:auto}.landing-v2 .v2-curve-stage svg{width:100%;height:100%;overflow:visible}.landing-v2 .v2-curve-pin{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--fg-3);font-variant-numeric:tabular-nums;transform:translate(-50%,-100%);opacity:0;transition:opacity .4s var(--ease) .2s}.landing-v2 .v2-curve-pin.is-shown{opacity:1}.landing-v2 .v2-curve-pin .pip{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.landing-v2 .v2-curve-pin .lbl{background:var(--surface);padding:3px 8px;border-radius:var(--r-pill);box-shadow:var(--sh-1);color:var(--fg);font-weight:500;font-size:11px}.landing-v2 .v2-sync-stage{margin-top:auto;height:200px;position:relative;display:flex;align-items:center;justify-content:center;gap:28px}.landing-v2 .v2-sync-device{border-radius:14px;background:var(--surface-2);box-shadow:var(--sh-1),inset 0 0 0 1px var(--hairline);display:flex;flex-direction:column;overflow:hidden;position:relative}.landing-v2 .v2-sync-laptop{width:132px;height:88px}.landing-v2 .v2-sync-laptop:after{content:"";position:absolute;bottom:-6px;left:-10px;right:-10px;height:4px;background:var(--surface-2);box-shadow:0 1px 0 var(--hairline);border-radius:0 0 6px 6px}.landing-v2 .v2-sync-phone{width:56px;height:100px;border-radius:10px}.landing-v2 .v2-sync-screen{flex:1;background:linear-gradient(180deg,oklch(.52 .28 268 / .06),transparent 40%),var(--surface);position:relative;display:flex;align-items:center;justify-content:center}.landing-v2 .v2-sync-glyph{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.landing-v2 .v2-sync-phone .v2-sync-glyph{width:24px;height:24px;border-radius:6px}.landing-v2 .v2-sync-arrow{width:60px;height:2px;position:relative;background:linear-gradient(90deg,var(--accent-soft),var(--accent),var(--accent-soft));border-radius:2px}.landing-v2 .v2-sync-arrow:before{content:"";position:absolute;left:0;top:-3px;width:16px;height:8px;background:linear-gradient(90deg,transparent,var(--accent));filter:blur(2px);border-radius:4px;animation:v2SyncPulse 2.4s linear infinite}@keyframes v2SyncPulse{0%{transform:translate(-10%);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(120%);opacity:0}}.landing-v2 .v2-heatmap{margin-top:auto;display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center}.landing-v2 .v2-heatmap-days{display:grid;grid-template-rows:repeat(7,1fr);gap:3px;font-size:9px;color:var(--fg-4);font-variant-numeric:tabular-nums;line-height:1}.landing-v2 .v2-heatmap-days span{height:11px;display:flex;align-items:center}.landing-v2 .v2-heatmap-days span:nth-child(1){grid-row:1}.landing-v2 .v2-heatmap-days span:nth-child(2){grid-row:3}.landing-v2 .v2-heatmap-days span:nth-child(3){grid-row:5}.landing-v2 .v2-heatmap-grid{display:grid;gap:3px}.landing-v2 .v2-heatmap-col{display:grid;grid-template-rows:repeat(7,1fr);gap:3px}.landing-v2 .v2-heatmap-cell{aspect-ratio:1;border-radius:2px;background:var(--bg-tint);box-shadow:inset 0 0 0 1px var(--hairline);display:inline-block}.landing-v2 .v2-heatmap-cell.l0{background:var(--bg-tint)}.landing-v2 .v2-heatmap-cell.l1{background:#2f47ff2e;background:oklch(.52 .28 268 / .18);box-shadow:none}.landing-v2 .v2-heatmap-cell.l2{background:#2f47ff61;background:oklch(.52 .28 268 / .38);box-shadow:none}.landing-v2 .v2-heatmap-cell.l3{background:#2f47ffa6;background:oklch(.52 .28 268 / .65);box-shadow:none}.landing-v2 .v2-heatmap-cell.l4{background:var(--accent);box-shadow:none}.landing-v2 .v2-heatmap-legend{display:flex;align-items:center;gap:4px;justify-content:flex-end;margin-top:10px;font-size:10px;color:var(--fg-4)}.landing-v2 .v2-heatmap-legend .v2-heatmap-cell{width:10px;height:10px;aspect-ratio:auto}.landing-v2 .v2-ai-stage{margin-top:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:10px;padding:14px;border-radius:var(--r-md);background:var(--bg-tint);box-shadow:inset 0 0 0 1px var(--hairline)}.landing-v2 .v2-ai-source,.landing-v2 .v2-ai-out{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:var(--r-sm);background:var(--surface);box-shadow:inset 0 0 0 1px var(--hairline);min-height:88px}.landing-v2 .v2-ai-label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-4);margin-bottom:2px}.landing-v2 .v2-ai-bar{height:5px;border-radius:3px;background:var(--hairline)}.landing-v2 .v2-ai-card{height:14px;border-radius:4px;background:var(--accent-soft);box-shadow:inset 0 0 0 1px #2f47ff2e;box-shadow:inset 0 0 0 1px oklch(.52 .28 268 / .18);animation:v2AiCardIn 1.6s ease-out backwards}.landing-v2 .v2-ai-card:nth-child(2){animation-delay:.15s}.landing-v2 .v2-ai-card:nth-child(3){animation-delay:.3s}.landing-v2 .v2-ai-card:nth-child(4){animation-delay:.45s}@keyframes v2AiCardIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.landing-v2 .v2-ai-arrow{display:flex;align-items:center;justify-content:center;color:var(--accent)}.landing-v2 .v2-cram-stage{margin-top:auto;display:flex;flex-direction:column;gap:6px}.landing-v2 .v2-cram-choice{height:36px;padding:0 14px;display:flex;align-items:center;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--hairline);font-size:13px;color:var(--fg)}.landing-v2 .v2-cram-choice.correct{background:#15803d14;color:var(--r-good);box-shadow:inset 0 0 0 1.5px #15803d73}.landing-v2 .v2-diagram-stage{margin-top:auto;position:relative;width:100%;border-radius:var(--r-md);overflow:hidden;background:var(--bg-tint);box-shadow:inset 0 0 0 1px var(--hairline)}.landing-v2 .v2-diagram-thumb{width:100%;display:block;-webkit-user-select:none;user-select:none}.landing-v2 .v2-diagram-box{position:absolute;border-radius:3px;display:flex;align-items:center;justify-content:center}.landing-v2 .v2-diagram-box-hidden{background:#fff;box-shadow:inset 0 0 0 1px #1a18152e}.landing-v2 .v2-diagram-box-revealed{background:#15803d1a;box-shadow:inset 0 0 0 1.5px #15803d8c;color:var(--r-good)}.landing-v2 .v2-share-stage{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--r-md);background:var(--bg-tint);box-shadow:inset 0 0 0 1px var(--hairline)}.landing-v2 .v2-share-link{font-family:var(--ff-mono);font-size:12px;color:var(--accent-fg);background:var(--surface);padding:8px 12px;border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--hairline);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-v2 .v2-modes-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.landing-v2 .v2-mode-card{background:var(--surface);border-radius:var(--r-xl);padding:32px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--sh-2),inset 0 0 0 1px var(--hairline);position:relative;overflow:hidden}.landing-v2 .v2-mode-card .tag{display:inline-flex;align-items:center;height:24px;padding:0 12px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-fg);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;align-self:flex-start}.landing-v2 .v2-mode-card h3{color:var(--fg);font-family:var(--ff-display)}.landing-v2 .v2-mode-card p{color:var(--fg-2)}.landing-v2 .v2-mode-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;color:var(--fg-2);font-size:14px}.landing-v2 .v2-mode-card ul li{display:flex;align-items:center;gap:10px}.landing-v2 .v2-mode-card ul li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.landing-v2 .v2-mode-preview{margin-top:auto;background:var(--bg-tint);border-radius:var(--r-md);padding:16px;box-shadow:inset 0 0 0 1px var(--hairline)}.landing-v2 .v2-mode-preview .q{font-family:var(--ff-display);font-size:18px;font-weight:500;color:var(--fg);margin-bottom:12px}.landing-v2 .v2-mode-preview .row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.landing-v2 .v2-mode-mini{height:38px;border-radius:8px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hairline);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:9px;color:var(--fg-3)}.landing-v2 .v2-mode-mini b{font-size:11px}.landing-v2 .v2-mode-mini[data-r=again] b{color:var(--r-again)}.landing-v2 .v2-mode-mini[data-r=hard] b{color:var(--r-hard)}.landing-v2 .v2-mode-mini[data-r=good] b{color:var(--r-good)}.landing-v2 .v2-mode-mini[data-r=easy] b{color:var(--accent-fg)}.landing-v2 .v2-mode-mini.pulse{background:#2f47ff2e;background:oklch(.52 .28 268 / .18);box-shadow:inset 0 0 0 1.5px var(--accent);animation:v2ModePulse 2.6s ease-in-out infinite}@keyframes v2ModePulse{0%,to{box-shadow:inset 0 0 0 1.5px var(--accent),0 0 0 0 var(--accent-ring)}50%{box-shadow:inset 0 0 0 1.5px var(--accent),0 0 0 6px transparent}}.landing-v2 .v2-mode-cram-choice{display:flex;align-items:center;height:32px;padding:0 12px;border-radius:8px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hairline);font-size:12px;color:var(--fg-2);margin-bottom:4px}.landing-v2 .v2-mode-cram-choice.correct{background:#15803d14;color:var(--r-good);box-shadow:inset 0 0 0 1px #15803d4d}.landing-v2 .v2-browse-controls{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap;align-items:center}.landing-v2 .v2-browse-search{position:relative;flex:1;min-width:240px;display:flex;align-items:center;background:var(--surface);border-radius:var(--r-pill);padding:0 16px;box-shadow:inset 0 0 0 1px var(--hairline);height:42px}.landing-v2 .v2-browse-search svg{color:var(--fg-4);margin-right:8px;flex-shrink:0}.landing-v2 .v2-browse-input{border:0;background:transparent;outline:0;font:inherit;font-size:14px;color:var(--fg);flex:1;padding:0}.landing-v2 .v2-browse-input::placeholder{color:var(--fg-4)}.landing-v2 .v2-browse-filters{display:flex;gap:6px;flex-wrap:wrap}.landing-v2 .v2-filter-btn{height:36px;padding:0 14px;border:0;background:transparent;color:var(--fg-2);font-size:13px;font-weight:500;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--hairline);transition:all .15s var(--ease)}.landing-v2 .v2-filter-btn:hover{background:var(--surface);color:var(--fg)}.landing-v2 .v2-filter-btn.active{background:var(--fg);color:var(--bg);box-shadow:none}.landing-v2 .v2-sort-select{height:42px;padding:0 36px 0 16px;border:0;background:var(--surface);border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--hairline);font:inherit;font-size:14px;color:var(--fg);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6660' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 14px center}.landing-v2 .v2-deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.landing-v2 .v2-deck-card{background:var(--surface);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--sh-1);border:1px solid var(--hairline);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease);min-height:180px;position:relative;overflow:hidden}.landing-v2 .v2-deck-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:var(--hairline-strong)}.landing-v2 .v2-deck-accent{position:absolute;left:0;top:0;bottom:0;width:4px}.landing-v2 .v2-deck-title{font-family:var(--ff-display);font-weight:500;font-size:17px;color:var(--fg);letter-spacing:-.01em;line-height:1.25}.landing-v2 .v2-deck-desc{font-size:13px;color:var(--fg-3);line-height:1.5;flex:1}.landing-v2 .v2-deck-footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--hairline)}.landing-v2 .v2-deck-meta{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--fg-3)}.landing-v2 .v2-deck-tag{font-size:11px;padding:3px 8px;border-radius:var(--r-pill);background:var(--bg-tint);color:var(--fg-2);font-weight:500}.landing-v2 .v2-deck-copy{height:30px;padding:0 14px;border:0;background:transparent;color:var(--accent-fg);font-weight:500;font-size:13px;border-radius:var(--r-pill);cursor:pointer;transition:background .15s}.landing-v2 .v2-deck-copy:hover{background:var(--accent-soft)}.landing-v2 .v2-browse-meta{font-size:13px;color:var(--fg-3);margin-bottom:16px}.landing-v2 .v2-browse-empty{text-align:center;padding:64px 24px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.landing-v2 .v2-browse-empty h3{margin-bottom:8px}.landing-v2 .v2-browse-empty p{color:var(--fg-3);font-size:14px}.landing-v2 .v2-pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:880px;margin:0 auto}.landing-v2 .v2-price-card{background:var(--surface);border-radius:var(--r-xl);padding:36px 32px;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:18px;position:relative}.landing-v2 .v2-price-card.pro{background:linear-gradient(180deg,var(--accent-tint),var(--surface) 30%);box-shadow:var(--sh-3),inset 0 0 0 1px var(--accent);padding:44px 36px}.landing-v2 .v2-price-badge{position:absolute;top:-14px;left:32px;display:inline-flex;align-items:center;height:28px;padding:0 14px;background:var(--accent);color:#fff;border-radius:var(--r-pill);font-size:12px;font-weight:500;letter-spacing:.02em;box-shadow:0 4px 12px var(--accent-ring)}.landing-v2 .v2-price-card .plan-name{font-family:var(--ff-display);font-size:22px;font-weight:500}.landing-v2 .v2-price-card .price-row{display:flex;align-items:baseline;gap:10px}.landing-v2 .v2-price-card .price{font-family:var(--ff-display);font-weight:500;font-size:56px;letter-spacing:-.03em;line-height:1;color:var(--fg)}.landing-v2 .v2-price-card .price-suffix{color:var(--fg-3);font-size:14px}.landing-v2 .v2-price-card .price-reframe{font-size:13px;color:var(--fg-3);margin-top:-10px}.landing-v2 .v2-price-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--fg-2)}.landing-v2 .v2-price-card ul li{display:flex;align-items:flex-start;gap:10px}.landing-v2 .v2-price-card ul li svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.landing-v2 .v2-price-card ul li.muted{color:var(--fg-4)}.landing-v2 .v2-price-card ul li.muted svg{color:var(--fg-4)}.landing-v2 .v2-price-cta-row{margin-top:auto;display:flex;flex-direction:column;gap:12px}.landing-v2 .v2-price-trust{font-size:12px;color:var(--fg-3);text-align:center}.landing-v2 .v2-faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-2);overflow:hidden}.landing-v2 .v2-faq-item{border-bottom:1px solid var(--hairline)}.landing-v2 .v2-faq-item:last-child{border-bottom:0}.landing-v2 .v2-faq-q{width:100%;background:transparent;border:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:22px 28px;text-align:left;font-family:var(--ff-body);font-size:16px;font-weight:500;color:var(--fg);transition:background .15s}.landing-v2 .v2-faq-q:hover{background:var(--surface-2)}.landing-v2 .v2-faq-q .chev{color:var(--fg-3);transition:transform .25s var(--ease);flex-shrink:0;margin-left:16px}.landing-v2 .v2-faq-item.open .v2-faq-q .chev{transform:rotate(180deg);color:var(--accent)}.landing-v2 .v2-faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}.landing-v2 .v2-faq-item.open .v2-faq-a{max-height:320px}.landing-v2 .v2-faq-a-inner{padding:0 28px 22px;font-size:15px;line-height:1.6;color:var(--fg-2)}.landing-v2 .v2-download-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:720px;margin:0 auto}.landing-v2 .v2-dl-btn{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--surface);border-radius:var(--r-md);box-shadow:var(--sh-1),inset 0 0 0 1px var(--hairline);color:var(--fg);font-size:14px;font-weight:500;transition:transform .15s,box-shadow .15s}.landing-v2 .v2-dl-btn:hover{transform:translateY(-2px);box-shadow:var(--sh-2),inset 0 0 0 1px var(--accent);color:var(--fg)}.landing-v2 .v2-dl-btn .platform{font-size:11px;color:var(--fg-3);letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}.landing-v2 .v2-final-cta{background:var(--surface);border-radius:var(--r-xl);padding:64px 56px;text-align:center;box-shadow:var(--sh-2);position:relative;overflow:hidden}.landing-v2 .v2-final-cta-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;-webkit-mask-image:linear-gradient(180deg,#0000002e,#0000);mask-image:linear-gradient(180deg,#0000002e,#0000)}.landing-v2 .v2-final-cta h2{margin-bottom:14px;position:relative}.landing-v2 .v2-final-cta .lead{max-width:520px;margin:0 auto 28px;position:relative}.landing-v2 .v2-final-cta-ctas{display:flex;gap:12px;justify-content:center;position:relative;flex-wrap:wrap}.landing-v2 .v2-footer{border-top:1px solid var(--hairline);padding:64px 0 40px;background:var(--bg)}.landing-v2 .v2-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:48px}.landing-v2 .v2-footer-brand-col{display:flex;flex-direction:column;gap:14px;max-width:320px}.landing-v2 .v2-footer-tagline{color:var(--fg-3);font-size:14px;line-height:1.5}.landing-v2 .v2-footer-col h4{font-family:var(--ff-body);font-size:12px;font-weight:600;color:var(--fg-4);letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px}.landing-v2 .v2-footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.landing-v2 .v2-footer-col a{color:var(--fg-2);font-size:14px;transition:color .15s}.landing-v2 .v2-footer-col a:hover{color:var(--fg)}.landing-v2 .v2-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--hairline);font-size:13px;color:var(--fg-4)}.landing-v2 .v2-reveal{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.landing-v2 .v2-reveal.in{opacity:1;transform:none}.landing-v2 .v2-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg);display:none;flex-direction:column;padding:80px 32px 32px}.landing-v2 .v2-menu-overlay.open{display:flex}.landing-v2 .v2-menu-overlay a{font-family:var(--ff-display);font-size:32px;font-weight:500;color:var(--fg);padding:16px 0;border-bottom:1px solid var(--hairline);letter-spacing:-.01em}.landing-v2 .v2-menu-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:10px;background:transparent;border:0;color:var(--fg);display:inline-flex;align-items:center;justify-content:center}@media(max-width:1024px){.landing-v2 .v2-hero-grid{grid-template-columns:1fr;gap:40px}.landing-v2 .v2-bento{grid-template-columns:1fr}.landing-v2 .v2-feature-fsrs,.landing-v2 .v2-feature-sync{grid-column:1;min-height:280px}.landing-v2 .v2-bento-row-2,.landing-v2 .v2-modes-grid{grid-template-columns:1fr}.landing-v2 .v2-download-grid{grid-template-columns:repeat(2,1fr)}.landing-v2 .v2-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.landing-v2 .container{padding:0 22px}.landing-v2 .section{padding:64px 0}.landing-v2 .v2-nav,.landing-v2 .v2-topbar-right .nav-secondary{display:none}.landing-v2 .v2-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:transparent;border:0;color:var(--fg)}.landing-v2 .v2-trust-band{grid-template-columns:1fr 1fr}.landing-v2 .v2-trust-cell:nth-child(2){border-right:0}.landing-v2 .v2-trust-cell:nth-child(1),.landing-v2 .v2-trust-cell:nth-child(2){border-bottom:1px solid var(--hairline)}.landing-v2 .v2-pricing-grid{grid-template-columns:1fr}.landing-v2 .v2-pricing-grid .pro{order:-1}.landing-v2 .v2-footer-grid{grid-template-columns:1fr;gap:24px}.landing-v2 .v2-download-grid{grid-template-columns:1fr}.landing-v2 h1,.landing-v2 .v2-price-card .price{font-size:44px}.landing-v2 .v2-final-cta{padding:44px 28px}.landing-v2 .v2-deck-grid{grid-template-columns:1fr}}.landing-v2 .demo-window{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-3);border:1px solid var(--hairline);overflow:hidden}.landing-v2 .demo-chrome{background:var(--bg-tint);border-bottom:1px solid var(--hairline)}.landing-v2 .demo-chrome-tabs{gap:4px}.landing-v2 .demo-tab{color:var(--fg-3);background:transparent;border-radius:8px}.landing-v2 .demo-tab:hover{color:var(--fg);background:#1a18150a}.landing-v2 .demo-tab-active{color:var(--fg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--hairline)}.landing-v2 .demo-progress{background:var(--bg-tint)}.landing-v2 .demo-progress-fill{background:var(--accent)}.landing-v2 .demo-progress-label{color:var(--fg-3);font-variant-numeric:tabular-nums}.landing-v2 .demo-card-face{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--hairline);border-radius:var(--r-lg)}.landing-v2 .demo-card-face-back{background:var(--bg-tint)}.landing-v2 .demo-card-label{color:var(--fg-4);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.landing-v2 .demo-card-text{color:var(--fg);font-family:var(--ff-display);font-weight:500;letter-spacing:-.01em}.landing-v2 .demo-flip-hint{color:var(--fg-4);font-size:12px}.landing-v2 .demo-ratings{gap:8px}.landing-v2 .demo-ratings .rating-btn{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--hairline);border-radius:var(--r-md);border:0}.landing-v2 .demo-ratings .rating-btn:hover{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.landing-v2 .demo-ratings .rating-label{color:var(--fg)}.landing-v2 .demo-ratings .rating-sub{color:var(--fg-3)}.landing-v2 .demo-ratings .rating-again .rating-label{color:var(--r-again)}.landing-v2 .demo-ratings .rating-hard .rating-label{color:var(--r-hard)}.landing-v2 .demo-ratings .rating-good .rating-label{color:var(--r-good)}.landing-v2 .demo-ratings .rating-easy .rating-label{color:var(--r-easy)}.landing-v2 .demo-cram-q{background:var(--bg-tint);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--hairline)}.landing-v2 .demo-cram-q p{color:var(--fg);font-family:var(--ff-display);font-weight:500}.landing-v2 .demo-choice{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--hairline);border:0;border-radius:var(--r-md)}.landing-v2 .demo-choice:hover{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.landing-v2 .demo-choice-correct{background:#15803d14!important;color:var(--r-good)!important;box-shadow:inset 0 0 0 1.5px #15803d73!important}.landing-v2 .demo-choice-wrong{background:#b91c1c14!important;color:var(--r-again)!important;box-shadow:inset 0 0 0 1.5px #b91c1c73!important}.landing-v2 .demo-subtab,.landing-v2 .demo-diagram-pill{background:transparent;color:var(--fg-3);border:0;border-radius:var(--r-pill)}.landing-v2 .demo-subtab:hover,.landing-v2 .demo-diagram-pill:hover{background:#1a18150a;color:var(--fg)}.landing-v2 .demo-subtab-active,.landing-v2 .demo-diagram-pill-active{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--hairline)}.landing-v2 .demo-short-input{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--hairline);border:0;border-radius:var(--r-md)}.landing-v2 .demo-short-input::placeholder{color:var(--fg-4)}.landing-v2 .demo-short-submit{background:var(--accent);color:#fff;border:0;border-radius:var(--r-pill)}.landing-v2 .demo-short-submit:disabled{background:var(--hairline-strong);color:var(--fg-4);cursor:not-allowed}.landing-v2 .demo-short-feedback.correct{color:var(--r-good)}.landing-v2 .demo-short-feedback.wrong{color:var(--r-again)}.landing-v2 .demo-cram-flip-face,.landing-v2 .demo-cram-flip-face-back{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--hairline)}.landing-v2 .demo-cram-flip-face-back{background:var(--bg-tint)}.landing-v2 .demo-cram-flip-next{background:var(--accent);color:#fff;border-radius:var(--r-pill);border:0}.landing-v2 .demo-done{color:var(--fg)}.landing-v2 .demo-done-icon{color:var(--accent)}.auth-v2{--bg: #FBFAF7;--bg-tint: #F5F3EE;--surface: #FFFFFF;--surface-2: #FAF9F5;--fg: #1A1815;--fg-2: #4A4640;--fg-3: #6B6660;--fg-4: #9A938A;--hairline: rgba(26, 24, 21, .1);--hairline-strong: rgba(26, 24, 21, .16);--accent: oklch(.52 .28 268);--accent-hover: oklch(.42 .28 268);--accent-soft: oklch(.52 .28 268 / .08);--accent-tint: oklch(.52 .28 268 / .04);--accent-ring: oklch(.52 .28 268 / .2);--accent-fg: oklch(.42 .28 268);--danger: #B91C1C;--danger-soft: rgba(185, 28, 28, .06);--danger-ring: rgba(185, 28, 28, .2);--ff-display: "Fraunces", "Iowan Old Style", Georgia, serif;--ff-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(26,24,21,.04), 0 1px 0 rgba(255,255,255,.6) inset;--sh-2: 0 1px 2px rgba(26,24,21,.06), 0 4px 12px -2px rgba(26,24,21,.06);--sh-3: 0 24px 48px -16px rgba(26,24,21,.18), 0 1px 2px rgba(26,24,21,.06);--sh-accent: 0 6px 18px var(--accent-ring), 0 1px 0 rgba(255,255,255,.2) inset;--ease: cubic-bezier(.22, 1, .36, 1);position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);color:var(--fg);font-family:var(--ff-body);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;display:flex;align-items:flex-start;justify-content:center;padding:56px 24px 48px;overflow-y:auto;line-height:1.5}.auth-v2 *,.auth-v2 *:before,.auth-v2 *:after{box-sizing:border-box}.auth-v2 a{color:inherit;text-decoration:none}.auth-v2 button{font:inherit;cursor:pointer}.auth-v2 ::selection{background:var(--accent);color:#fff}.auth-v2-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.7;-webkit-mask-image:linear-gradient(180deg,#0000001a,#0000 80%);mask-image:linear-gradient(180deg,#0000001a,#0000 80%)}.auth-v2-bg svg{width:100%;height:100%;display:block}.auth-v2-shell{position:relative;z-index:1;width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:28px}.auth-v2-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-display);font-weight:500;font-size:22px;letter-spacing:-.015em;color:var(--fg)}.auth-v2-brand img{width:32px;height:32px;border-radius:8px}.auth-v2-card{width:100%;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-3);padding:36px;display:flex;flex-direction:column;gap:22px;position:relative}.auth-v2-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--bg-tint);border-radius:var(--r-pill);padding:4px;box-shadow:inset 0 0 0 1px var(--hairline)}.auth-v2-tab{display:inline-flex;align-items:center;justify-content:center;height:36px;border-radius:var(--r-pill);font-size:13px;font-weight:500;color:var(--fg-3);transition:color .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease)}.auth-v2-tab:hover{color:var(--fg)}.auth-v2-tab.active{background:var(--surface);color:var(--fg);box-shadow:var(--sh-1),inset 0 0 0 1px var(--hairline)}.auth-v2-header{display:flex;flex-direction:column;gap:6px;text-align:center;margin-top:4px}.auth-v2-header h1{font-family:var(--ff-display);font-weight:500;font-size:32px;line-height:1.1;letter-spacing:-.025em;color:var(--fg);margin:0;font-variation-settings:"opsz" 144,"SOFT" 50}.auth-v2-header h1 em{font-style:italic;color:var(--accent);font-weight:400}.auth-v2-header p{font-size:14px;color:var(--fg-3);margin:0}.auth-v2-error{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--danger-soft);box-shadow:inset 0 0 0 1px #b91c1c2e;color:var(--danger);font-size:13px;line-height:1.4}.auth-v2-error svg{flex-shrink:0;margin-top:1px}.auth-v2-form{display:flex;flex-direction:column;gap:14px}.auth-v2-field{display:flex;flex-direction:column;gap:6px}.auth-v2-label-row{display:flex;justify-content:space-between;align-items:baseline}.auth-v2-field label{font-size:13px;font-weight:500;color:var(--fg-2)}.auth-v2-label-link{font-size:12px;color:var(--accent-fg);font-weight:500;transition:color .15s}.auth-v2-label-link:hover{color:var(--accent-hover)}.auth-v2-input-wrap{position:relative;display:flex;align-items:center}.auth-v2-input-wrap svg.lead-icon{position:absolute;left:14px;color:var(--fg-4);pointer-events:none}.auth-v2 input[type=email],.auth-v2 input[type=password],.auth-v2 input[type=text]{width:100%;height:46px;padding:0 16px 0 42px;border:0;background:var(--surface);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--hairline);font:inherit;font-size:15px;color:var(--fg);outline:none;transition:box-shadow .15s var(--ease),background .15s var(--ease)}.auth-v2 input::placeholder{color:var(--fg-4)}.auth-v2 input:hover{box-shadow:inset 0 0 0 1px var(--hairline-strong)}.auth-v2 input:focus,.auth-v2 input:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent),0 0 0 4px var(--accent-ring);background:var(--surface)}.auth-v2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;padding:0 22px;border:0;border-radius:var(--r-pill);font-family:var(--ff-body);font-size:15px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;transition:transform .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease),color .15s var(--ease);text-decoration:none}.auth-v2-btn:active:not(:disabled){transform:scale(.985)}.auth-v2-btn:disabled{opacity:.6;cursor:not-allowed}.auth-v2-btn-primary{background:var(--accent);color:#fff;box-shadow:var(--sh-accent)}.auth-v2-btn-primary:hover:not(:disabled){background:var(--accent-hover);color:#fff}.auth-v2-btn-secondary{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--hairline-strong)}.auth-v2-btn-secondary:hover:not(:disabled){background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--fg-3);color:var(--fg)}.auth-v2-btn-secondary svg{flex-shrink:0}.auth-v2-divider{display:flex;align-items:center;gap:12px;color:var(--fg-4);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.auth-v2-divider:before,.auth-v2-divider:after{content:"";flex:1;height:1px;background:var(--hairline)}.auth-v2-oauth-row{display:flex;flex-direction:column;gap:10px}.auth-v2-back{display:inline-flex;align-items:center;gap:6px;align-self:center;margin-top:4px;font-size:13px;color:var(--fg-3);transition:color .15s}.auth-v2-back:hover{color:var(--fg)}.auth-v2-footer-hint{font-size:13px;color:var(--fg-3);text-align:center}.auth-v2-footer-hint a{color:var(--accent-fg);font-weight:500}.auth-v2-footer-hint a:hover{color:var(--accent-hover)}@media(max-width:540px){.auth-v2{padding:32px 16px}.auth-v2-card{padding:28px 22px;gap:18px}.auth-v2-header h1{font-size:26px}}.account-v2{--bg: #FBFAF7;--bg-tint: #F5F3EE;--surface: #FFFFFF;--surface-2: #FAF9F5;--fg: #1A1815;--fg-2: #4A4640;--fg-3: #6B6660;--fg-4: #9A938A;--hairline: rgba(26, 24, 21, .1);--hairline-strong: rgba(26, 24, 21, .16);--accent: oklch(.52 .28 268);--accent-hover: oklch(.42 .28 268);--accent-soft: oklch(.52 .28 268 / .08);--accent-tint: oklch(.52 .28 268 / .04);--accent-ring: oklch(.52 .28 268 / .2);--accent-fg: oklch(.42 .28 268);--success: #15803D;--success-soft: rgba(21, 128, 61, .08);--danger: #B91C1C;--danger-soft: rgba(185, 28, 28, .06);--danger-ring: rgba(185, 28, 28, .2);--ff-display: "Fraunces", "Iowan Old Style", Georgia, serif;--ff-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(26,24,21,.04), 0 1px 0 rgba(255,255,255,.6) inset;--sh-2: 0 1px 2px rgba(26,24,21,.06), 0 4px 12px -2px rgba(26,24,21,.06);--sh-3: 0 24px 48px -16px rgba(26,24,21,.18), 0 1px 2px rgba(26,24,21,.06);--sh-accent: 0 6px 18px var(--accent-ring), 0 1px 0 rgba(255,255,255,.2) inset;--ease: cubic-bezier(.22, 1, .36, 1);position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);color:var(--fg);font-family:var(--ff-body);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;display:flex;flex-direction:column;overflow-y:auto;line-height:1.55}.account-v2 *,.account-v2 *:before,.account-v2 *:after{box-sizing:border-box}.account-v2 a{color:inherit;text-decoration:none}.account-v2 button{font:inherit;cursor:pointer}.account-v2 ::selection{background:var(--accent);color:#fff}.account-v2-topbar{position:sticky;top:0;z-index:30;height:64px;background:#fbfaf7c7;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--hairline)}.account-v2-topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;max-width:920px;margin:0 auto;padding:0 32px}.account-v2-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-display);font-weight:500;font-size:19px;letter-spacing:-.015em;color:var(--fg)}.account-v2-brand img{width:28px;height:28px;border-radius:7px}.account-v2-topbar-right{display:flex;align-items:center;gap:8px}.account-v2-container{width:100%;max-width:760px;margin:0 auto;padding:56px 32px 80px;display:flex;flex-direction:column;gap:28px}.account-v2-header{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.account-v2-eyebrow{font-family:var(--ff-body);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-fg)}.account-v2-title{font-family:var(--ff-display);font-weight:500;font-size:clamp(36px,5vw,52px);line-height:1.05;letter-spacing:-.025em;color:var(--fg);margin:0;font-variation-settings:"opsz" 144,"SOFT" 50}.account-v2-title em{font-style:italic;color:var(--accent);font-weight:400}.account-v2-subtitle{font-size:16px;color:var(--fg-3);line-height:1.5;margin:0}.account-v2-banner{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:var(--r-md);font-size:14px;line-height:1.45}.account-v2-banner svg{flex-shrink:0;margin-top:1px}.account-v2-banner.error{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px #b91c1c2e}.account-v2-banner.success{background:var(--success-soft);color:var(--success);box-shadow:inset 0 0 0 1px #15803d2e}.account-v2-card{background:var(--surface);border-radius:var(--r-xl);padding:28px;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:16px}.account-v2-card-title{font-family:var(--ff-display);font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--fg);margin:0}.account-v2-profile-row{display:flex;align-items:center;gap:16px}.account-v2-avatar{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);color:var(--accent-fg);display:flex;align-items:center;justify-content:center;font-family:var(--ff-display);font-weight:500;font-size:24px;letter-spacing:-.02em;flex-shrink:0}.account-v2-profile-info{display:flex;flex-direction:column;gap:2px;min-width:0}.account-v2-email{font-size:15px;color:var(--fg);font-weight:500;word-break:break-all}.account-v2-meta{font-size:13px;color:var(--fg-3)}.account-v2-meta a{color:var(--accent-fg);font-weight:500}.account-v2-meta a:hover{color:var(--accent-hover)}.account-v2-field{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--hairline)}.account-v2-field-label{font-size:13px;font-weight:500;color:var(--fg-2);letter-spacing:.02em}.account-v2-field-value-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.account-v2-field-value{font-size:15px;color:var(--fg)}.account-v2-field-value.empty{color:var(--fg-4)}.account-v2-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.account-v2 input[type=text],.account-v2 input[type=email],.account-v2 input[type=password]{height:42px;padding:0 14px;border:0;background:var(--surface);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--hairline);font:inherit;font-size:14px;color:var(--fg);outline:none;transition:box-shadow .15s var(--ease);width:100%}.account-v2 input::placeholder{color:var(--fg-4)}.account-v2 input:hover{box-shadow:inset 0 0 0 1px var(--hairline-strong)}.account-v2 input:focus,.account-v2 input:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent),0 0 0 4px var(--accent-ring)}.account-v2-inline-input{flex:1;min-width:180px}.account-v2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border:0;border-radius:var(--r-pill);font-family:var(--ff-body);font-size:14px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;transition:transform .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease),color .15s var(--ease);text-decoration:none;flex-shrink:0}.account-v2-btn:active:not(:disabled){transform:scale(.985)}.account-v2-btn:disabled{opacity:.6;cursor:not-allowed}.account-v2-btn-primary{background:var(--accent);color:#fff;box-shadow:var(--sh-accent)}.account-v2-btn-primary:hover:not(:disabled){background:var(--accent-hover);color:#fff}.account-v2-btn-secondary{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--hairline-strong)}.account-v2-btn-secondary:hover:not(:disabled){background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--fg-3)}.account-v2-btn-ghost{background:transparent;color:var(--fg-2);height:36px;padding:0 14px;font-size:13px}.account-v2-btn-ghost:hover:not(:disabled){background:#1a18150a;color:var(--fg)}.account-v2-btn-danger{background:var(--danger);color:#fff;box-shadow:0 6px 18px var(--danger-ring),0 1px #fff3 inset}.account-v2-btn-danger:hover:not(:disabled){background:#951616;color:#fff}.account-v2-btn-sm{height:36px;padding:0 14px;font-size:13px}.account-v2-btn-lg{height:50px;padding:0 24px;font-size:16px}.account-v2-plan-row{display:flex;flex-direction:column;gap:10px}.account-v2-plan-badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 14px;background:var(--accent);color:#fff;border-radius:var(--r-pill);font-size:12px;font-weight:500;letter-spacing:.02em;align-self:flex-start;box-shadow:0 4px 12px var(--accent-ring)}.account-v2-plan-badge.free{background:var(--bg-tint);color:var(--fg-2);box-shadow:inset 0 0 0 1px var(--hairline)}.account-v2-plan-badge.ending{background:#a162071a;color:#a16207;box-shadow:inset 0 0 0 1px #a1620740}.account-v2-card-hint{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-tint);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--hairline);font-size:13px;color:var(--fg-2);align-self:flex-start}.account-v2-card-hint svg{color:var(--fg-3);flex-shrink:0}.account-v2-card-hint .account-v2-card-dots{font-family:var(--ff-mono);letter-spacing:.16em;color:var(--fg-3)}.account-v2-cancel-confirm{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border-radius:var(--r-md);background:#a162070f;box-shadow:inset 0 0 0 1px #a162072e}.account-v2-cancel-confirm h3{font-family:var(--ff-display);font-weight:500;font-size:18px;letter-spacing:-.012em;color:var(--fg);margin:0}.account-v2-cancel-confirm p{font-size:14px;color:var(--fg-2);margin:0;line-height:1.55}.account-v2-cancel-confirm ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.account-v2-cancel-confirm ul li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--fg-2);line-height:1.55}.account-v2-cancel-confirm ul li:before{content:"✕";color:#a16207;font-weight:600;flex-shrink:0;margin-top:1px}.account-v2-plan-desc{font-size:14px;color:var(--fg-2);line-height:1.55;margin:0}.account-v2-upgrade-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px;background:var(--bg-tint);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--hairline)}.account-v2-upgrade-info{display:flex;flex-direction:column;gap:4px;min-width:0}.account-v2-upgrade-name{font-family:var(--ff-display);font-weight:500;font-size:17px;color:var(--fg)}.account-v2-upgrade-price{font-size:13px;color:var(--fg-3)}.account-v2-upgrade-features{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--fg-2)}.account-v2-upgrade-features li{display:flex;align-items:center;gap:6px}.account-v2-upgrade-features li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0}.account-v2-checkout{display:flex;flex-direction:column;gap:16px}.account-v2-checkout-header{display:flex;flex-direction:column;gap:4px}.account-v2-checkout-header h3{font-family:var(--ff-display);font-size:20px;font-weight:500;letter-spacing:-.015em;color:var(--fg);margin:0}.account-v2-checkout-header p{font-size:14px;color:var(--fg-3);margin:0}.account-v2-checkout-secure{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-3);margin:0}.account-v2-checkout-secure svg{flex-shrink:0}.account-v2-checkout-summary{background:var(--bg-tint);border-radius:var(--r-md);padding:16px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 0 0 1px var(--hairline)}.account-v2-checkout-summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.account-v2-checkout-summary-row.total{align-items:center}.account-v2-checkout-summary-name{font-family:var(--ff-display);font-weight:500;font-size:16px;color:var(--fg);letter-spacing:-.01em}.account-v2-checkout-summary-sub{font-size:12px;color:var(--fg-3);margin-top:2px}.account-v2-checkout-summary-price{font-family:var(--ff-display);font-weight:500;font-size:18px;color:var(--fg);letter-spacing:-.015em;font-variant-numeric:tabular-nums}.account-v2-checkout-summary-row.total .account-v2-checkout-summary-price{font-size:22px;color:var(--accent-fg)}.account-v2-checkout-summary-interval{font-family:var(--ff-body);font-weight:400;font-size:13px;color:var(--fg-3);letter-spacing:0}.account-v2-checkout-summary-divider{height:1px;background:var(--hairline)}.account-v2-form{display:flex;flex-direction:column;gap:14px}.account-v2-form-field{display:flex;flex-direction:column;gap:6px}.account-v2-form-field label{font-size:13px;font-weight:500;color:var(--fg-2)}.account-v2-divider{height:1px;background:var(--hairline);margin:4px 0}.account-v2-linked-row{display:flex;align-items:center;gap:14px;padding-top:12px;border-top:1px solid var(--hairline)}.account-v2-linked-row:first-of-type{border-top:none;padding-top:4px}.account-v2-linked-mark{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:var(--bg-tint);box-shadow:inset 0 0 0 1px var(--hairline);flex:0 0 32px}.account-v2-linked-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.account-v2-linked-name{font-size:14px;font-weight:500;color:var(--fg)}.account-v2-linked-meta{font-size:12px;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-v2-linked-meta.empty{color:var(--fg-4)}.account-v2-linked-pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:11px;font-weight:600;letter-spacing:.04em;flex-shrink:0}.account-v2-linked-pill.linked{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-ring)}.account-v2-linked-pill.unlinked{background:transparent;color:var(--fg-4);box-shadow:inset 0 0 0 1px var(--hairline)}.account-v2-linked-banner{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:var(--r-md);background:var(--bg-tint);color:var(--fg);font-size:13px;line-height:1.45;margin-bottom:14px}.account-v2-linked-banner.kind-info{background:#3a4fe014;box-shadow:inset 0 0 0 1px #3a4fe038}.account-v2-linked-banner.kind-error{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px #b91c1c2e}.account-v2-linked-banner.kind-merge{background:#a162071a;color:#a16207;box-shadow:inset 0 0 0 1px #a1620740}.account-v2-linked-banner>span{flex:1}.account-v2-linked-banner-dismiss{background:transparent;border:none;padding:0;font-size:12px;font-weight:600;color:inherit;opacity:.7;cursor:pointer}.account-v2-linked-banner-dismiss:hover{opacity:1}.account-v2-set-pw-form{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:14px;border-radius:var(--r-md);background:var(--bg-tint);box-shadow:inset 0 0 0 1px var(--hairline)}.account-v2-set-pw-actions{display:flex;gap:8px;justify-content:flex-end}.account-v2-pending-merge{display:flex;flex-direction:column;gap:10px;padding:14px;margin-bottom:14px;border-radius:var(--r-md);background:#a1620714;box-shadow:inset 0 0 0 1px #a1620738}.account-v2-pending-merge-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.account-v2-pending-merge-time{font-size:12px;color:var(--fg-2)}.account-v2-pending-merge-status{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.account-v2-pending-merge-status .done{color:var(--accent);font-weight:600}.account-v2-pending-merge-status .pending{color:var(--fg-4)}.account-v2-pending-merge-desc{font-size:12px;color:var(--fg-2);margin:0;line-height:1.45}.account-v2-merge-success{display:flex;flex-direction:column;gap:10px;padding:14px;margin-bottom:14px;border-radius:var(--r-md);background:#3a4fe014;box-shadow:inset 0 0 0 1px #3a4fe038}.account-v2-merge-success-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.account-v2-merge-success-body{font-size:13px;color:var(--fg);margin:0;line-height:1.55}.account-v2-merge-success-body strong{color:var(--accent)}.account-v2-merge-success button{align-self:flex-start}.account-v2-merge-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;padding:20px;z-index:1000}.account-v2-merge-dialog{width:100%;max-width:480px;background:var(--bg);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-3);max-height:90vh;overflow-y:auto}.account-v2-merge-dialog input[type=email]{width:100%;margin-bottom:16px}.account-v2-merge-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.account-v2-merge-compare{display:flex;flex-direction:column;gap:10px}.account-v2-merge-side{display:flex;gap:12px;padding:14px;border-radius:var(--r-md);background:var(--bg-tint);box-shadow:inset 0 0 0 1px var(--hairline);cursor:pointer;transition:box-shadow .12s ease,background-color .12s ease}.account-v2-merge-side.selected{background:var(--bg);box-shadow:inset 0 0 0 2px var(--accent),0 4px 12px var(--accent-ring)}.account-v2-merge-side input[type=radio]{flex:0 0 auto;margin-top:4px}.account-v2-merge-side-body{flex:1;display:flex;flex-direction:column;gap:6px}.account-v2-merge-side-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.account-v2-merge-side-email{font-size:13px;color:var(--fg-2)}.account-v2-merge-side-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--fg-2)}.merge-confirm-status{display:flex;flex-direction:column;gap:10px;margin:16px 0 20px;padding:14px;border-radius:var(--r-md);background:var(--bg-tint)}.merge-confirm-row{display:flex;align-items:center;gap:10px;font-size:14px}.merge-confirm-row.done{color:var(--accent);font-weight:500}.merge-confirm-row.pending{color:var(--fg-4)}.merge-confirm-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 1px currentColor;font-size:13px;font-weight:700}.account-v2-danger-zone{box-shadow:var(--sh-2),inset 0 0 0 1px #b91c1c2e}.account-v2-danger-zone .account-v2-card-title{color:var(--danger)}.account-v2-danger-confirm{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--danger-soft);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px #b91c1c1f}.account-v2-danger-confirm input{font-family:var(--ff-mono);letter-spacing:.06em}.account-v2-loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.account-v2-spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--hairline);border-top-color:var(--accent);animation:account-v2-spin .8s linear infinite}@keyframes account-v2-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.account-v2-container{padding:32px 20px 60px}.account-v2-card{padding:22px}.account-v2-topbar-inner{padding:0 22px}.account-v2-upgrade-row{flex-direction:column;align-items:stretch}.account-v2-upgrade-row .account-v2-btn{width:100%}.account-v2-inline-form{flex-direction:column;align-items:stretch}.account-v2-inline-form .account-v2-btn{width:100%}.account-v2-profile-row{gap:14px}.account-v2-avatar{width:52px;height:52px;font-size:22px}}.legal-v2{--bg: #FBFAF7;--bg-tint: #F5F3EE;--surface: #FFFFFF;--surface-2: #FAF9F5;--fg: #1A1815;--fg-2: #4A4640;--fg-3: #6B6660;--fg-4: #9A938A;--hairline: rgba(26, 24, 21, .1);--hairline-strong: rgba(26, 24, 21, .16);--accent: oklch(.52 .28 268);--accent-hover: oklch(.42 .28 268);--accent-soft: oklch(.52 .28 268 / .08);--accent-fg: oklch(.42 .28 268);--ff-display: "Fraunces", "Iowan Old Style", Georgia, serif;--ff-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--ff-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(26,24,21,.04), 0 1px 0 rgba(255,255,255,.6) inset;--sh-2: 0 1px 2px rgba(26,24,21,.06), 0 4px 12px -2px rgba(26,24,21,.06);--ease: cubic-bezier(.22, 1, .36, 1);position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);color:var(--fg);font-family:var(--ff-body);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;display:flex;flex-direction:column;overflow-y:auto;line-height:1.6}.legal-v2 *,.legal-v2 *:before,.legal-v2 *:after{box-sizing:border-box}.legal-v2 a{color:var(--accent-fg);text-decoration:none;transition:color .15s}.legal-v2 a:hover{color:var(--accent-hover);text-decoration:underline}.legal-v2 ::selection{background:var(--accent);color:#fff}.legal-v2-topbar{position:sticky;top:0;z-index:30;height:64px;background:#fbfaf7c7;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--hairline)}.legal-v2-topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;max-width:920px;margin:0 auto;padding:0 32px}.legal-v2-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-display);font-weight:500;font-size:19px;letter-spacing:-.015em;color:var(--fg)!important}.legal-v2-brand:hover{text-decoration:none!important;color:var(--fg)!important}.legal-v2-brand img{width:28px;height:28px;border-radius:7px}.legal-v2-back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--fg-3)!important;font-weight:500}.legal-v2-back-link:hover{color:var(--fg)!important;text-decoration:none!important}.legal-v2-container{width:100%;max-width:760px;margin:0 auto;padding:56px 32px 96px}.legal-v2-header{display:flex;flex-direction:column;gap:12px;margin-bottom:40px}.legal-v2-eyebrow{font-family:var(--ff-body);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-fg)}.legal-v2-title{font-family:var(--ff-display);font-weight:500;font-size:clamp(40px,6vw,60px);line-height:1.02;letter-spacing:-.028em;color:var(--fg);margin:0;font-variation-settings:"opsz" 144,"SOFT" 50}.legal-v2-title em{font-style:italic;color:var(--accent);font-weight:400}.legal-v2-meta{font-size:13px;color:var(--fg-3);display:flex;gap:16px;flex-wrap:wrap}.legal-v2-meta span{display:inline-flex;gap:4px}.legal-v2-meta b{color:var(--fg-2);font-weight:500}.legal-v2-toc{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:24px 28px;margin-bottom:40px}.legal-v2-toc h2{font-family:var(--ff-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-4);margin:0 0 14px}.legal-v2-toc ol{list-style:none;padding:0;margin:0;counter-reset:toc;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}.legal-v2-toc li{counter-increment:toc;font-size:14px}.legal-v2-toc li:before{content:counter(toc) ".";display:inline-block;margin-right:8px;color:var(--fg-4);font-variant-numeric:tabular-nums;font-size:13px;width:18px}.legal-v2-toc li a{color:var(--fg-2)}.legal-v2-toc li a:hover{color:var(--accent-fg);text-decoration:underline}.legal-v2-body{display:flex;flex-direction:column;gap:36px}.legal-v2-section{scroll-margin-top:84px}.legal-v2-section h2{font-family:var(--ff-display);font-weight:500;font-size:26px;line-height:1.15;letter-spacing:-.02em;color:var(--fg);margin:0 0 14px;font-variation-settings:"opsz" 144,"SOFT" 50}.legal-v2-section h2 .num{font-family:var(--ff-body);font-weight:500;font-size:14px;letter-spacing:.04em;color:var(--accent-fg);display:block;margin-bottom:4px}.legal-v2-section h3{font-family:var(--ff-display);font-weight:500;font-size:18px;line-height:1.3;letter-spacing:-.012em;color:var(--fg);margin:24px 0 8px}.legal-v2-section p{font-size:15.5px;color:var(--fg-2);line-height:1.65;margin:0 0 12px;text-wrap:pretty}.legal-v2-section p:last-child{margin-bottom:0}.legal-v2-section ul,.legal-v2-section ol{margin:0 0 12px;padding-left:22px;display:flex;flex-direction:column;gap:6px}.legal-v2-section li{font-size:15.5px;color:var(--fg-2);line-height:1.6}.legal-v2-section strong{color:var(--fg);font-weight:600}.legal-v2-section em{font-style:italic}.legal-v2-section code{font-family:var(--ff-mono);font-size:13px;background:var(--bg-tint);padding:1px 6px;border-radius:4px;color:var(--fg)}.legal-v2-callout{background:var(--accent-soft);border-radius:var(--r-md);padding:14px 18px;font-size:14px;line-height:1.55;color:var(--fg-2);margin:12px 0;box-shadow:inset 0 0 0 1px #2f47ff26;box-shadow:inset 0 0 0 1px oklch(.52 .28 268 / .15)}.legal-v2-callout strong{color:var(--fg)}.legal-v2-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px;background:var(--surface);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-1),inset 0 0 0 1px var(--hairline)}.legal-v2-table th,.legal-v2-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--hairline);vertical-align:top;color:var(--fg-2)}.legal-v2-table tr:last-child th,.legal-v2-table tr:last-child td{border-bottom:0}.legal-v2-table th{font-weight:600;color:var(--fg);background:var(--bg-tint);font-size:13px;letter-spacing:.01em}.legal-v2-table td:first-child{font-weight:500;color:var(--fg);width:32%}.legal-v2-footer{border-top:1px solid var(--hairline);margin-top:48px;padding-top:24px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--fg-4);flex-wrap:wrap;gap:12px}.legal-v2-footer a{font-weight:500}@media(max-width:600px){.legal-v2-container{padding:40px 22px 64px}.legal-v2-toc{padding:20px 22px}.legal-v2-toc ol{grid-template-columns:1fr}.legal-v2-topbar-inner{padding:0 22px}.legal-v2-section h2{font-size:22px}.legal-v2-section h3{font-size:17px}.legal-v2-table{font-size:13px}.legal-v2-table th,.legal-v2-table td{padding:10px 12px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FBFAF7;--surface: #FFFFFF;--fg: #1A1815;--accent: oklch(.52 .28 268);--accent-hover: oklch(.42 .28 268);--bg-card: #FFFFFF;--bg-card-hover: #F5F3EE;--bg-input: #FFFFFF;--accent-light: oklch(.42 .28 268);--text: #1A1815;--text-muted: #4A463E;--text-dim: #7A7468;--border: rgba(26, 24, 21, .1);--danger: #B91C1C;--danger-hover: #991B1B;--success: #15803D;--warning: #A16207;--radius: 10px;--radius-sm: 6px;--radius-lg: 16px;--shadow: 0 6px 18px rgba(26, 24, 21, .06);--shadow-lg: 0 14px 40px rgba(26, 24, 21, .1);--transition: .15s ease}::selection{background:var(--accent);color:#fff}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:none;scroll-behavior:smooth}html::-webkit-scrollbar{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-d0{transition-delay:0ms}.reveal-d1{transition-delay:80ms}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}.reveal-d4{transition-delay:.32s}.reveal-d5{transition-delay:.4s}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Arial,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;overflow-x:hidden}a{color:var(--accent-light);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent)}img{max-width:100%;display:block}.layout{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1100px;margin:0 auto;padding:32px 24px 60px;width:100%;flex:1}.page-center{display:flex;align-items:center;justify-content:center;min-height:100vh;flex-direction:column;gap:16px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.page-header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--fg)}.topbar{border-bottom:1px solid var(--border);background:#fbfaf7d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}.topbar-inner{max-width:1120px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.topbar-logo{display:inline-flex;align-items:center;gap:10px;font-size:1.0625rem;font-weight:700;color:var(--text)!important;letter-spacing:-.01em;text-decoration:none}.topbar-nav{display:flex;align-items:center;gap:8px}.topbar-sep{display:block;width:1px;height:18px;background:var(--border);margin:0 4px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all var(--transition);white-space:nowrap;line-height:1.4}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #4338ca2e}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--text-dim)}.btn-ghost{background:transparent;color:var(--text-muted);padding:8px 14px}.btn-ghost:hover{color:var(--text);background:var(--bg-card)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-full{width:100%}.btn-sm{padding:6px 12px;font-size:.8125rem}.btn-google{background:var(--bg-input);border:1px solid var(--border)}.btn-google:hover{background:var(--bg-card-hover);border-color:var(--text-dim)}.btn-apple{background:#000;color:#fff;border:1px solid #000000}.btn-apple:hover{background:#1a1a1a;border-color:#1a1a1a}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px;flex:1}.form-group label{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.form-group input,.form-group textarea{padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-size:.9375rem;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition);outline:none;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-dim)}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4338ca26}.form-check{flex-direction:row;align-items:center;gap:10px}.form-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.form-check label{text-transform:none;font-size:.875rem;color:var(--text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#ffffffd9;border:1px solid rgba(26,24,21,.08);border-radius:var(--radius-lg);padding:36px 32px;width:100%;max-width:420px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 0 0 1px #4338ca0f,0 24px 48px #1a18151a,inset 0 1px #fff9}.auth-header{text-align:center;margin-bottom:28px}.auth-logo{display:inline-flex;margin-bottom:16px}.auth-header h1{font-size:1.5rem;font-weight:700;margin-bottom:6px;letter-spacing:-.02em}.auth-subtitle{color:var(--text-muted);font-size:.9375rem}.auth-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:var(--text-dim);font-size:.8125rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-footer{text-align:center;margin-top:24px;font-size:.875rem;color:var(--text-muted)}.error-banner{background:#b91c1c14;border:1px solid rgba(185,28,28,.25);color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:8px}.info-banner{background:#4338ca14;border:1px solid rgba(67,56,202,.2);color:var(--accent-light);padding:10px 14px;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:8px}.form-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.form-label-row label{margin-bottom:0}.form-label-link{font-size:.8125rem;color:var(--text-muted);text-decoration:none;transition:color var(--transition)}.form-label-link:hover{color:var(--accent-light)}.auth-resend{margin-top:16px;text-align:center}.btn-link{background:none;border:0;color:var(--accent-light);font-size:.875rem;cursor:pointer;padding:4px 8px;text-decoration:none;transition:color var(--transition)}.btn-link:hover:not(:disabled){color:var(--accent);text-decoration:underline}.btn-link:disabled{color:var(--text-dim);cursor:not-allowed}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.deck-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px;transition:all var(--transition);cursor:pointer;position:relative;overflow:hidden;text-decoration:none;color:var(--text)}.deck-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 24px #4338ca1a;color:var(--text)}.deck-card-accent{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-light));opacity:0;transition:opacity var(--transition)}.deck-card-title{font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;overflow-wrap:break-word;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deck-card-desc{color:var(--text-muted);font-size:.875rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deck-card-footer{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px}.deck-card-count{font-size:.8125rem;color:var(--text-dim)}.badge{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#4338ca1a;color:var(--accent-light)}.browse-card{cursor:default}.browse-card:hover{transform:none;cursor:default}.back-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:.875rem;margin-bottom:20px;transition:color var(--transition)}.back-link:hover{color:var(--text)}.deck-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:32px;flex-wrap:wrap}.deck-header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.deck-description{color:var(--text-muted);font-size:.9375rem;margin-bottom:8px}.deck-meta{display:flex;gap:12px;align-items:center;font-size:.875rem;color:var(--text-dim)}.deck-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.card-form-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px}.card-form-container h3{font-size:1.125rem;font-weight:600;margin-bottom:16px}.card-list{display:flex;flex-direction:column;gap:8px}.card-item{display:flex;align-items:center;gap:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color var(--transition)}.card-item:hover{border-color:var(--text-dim)}.card-item-number{font-size:.8125rem;font-weight:700;color:var(--text-dim);min-width:24px;text-align:center}.card-item-content{flex:1;display:flex;gap:16px;min-width:0}.card-item-side{flex:1;min-width:0}.card-item-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);display:block;margin-bottom:4px}.card-item-side p{font-size:.875rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-item-img{width:60px;height:40px;object-fit:cover;border-radius:var(--radius-sm);margin-top:6px}.card-item-divider{width:1px;align-self:stretch;background:var(--border)}@media(max-width:600px){.card-item-content{flex-direction:column}.card-item-divider{width:100%;height:1px}.deck-header{flex-direction:column}}.study-container{max-width:680px}.study-title{font-size:1.25rem;font-weight:600;margin-bottom:20px;color:var(--text-muted)}.study-progress{display:flex;align-items:center;gap:12px;margin-bottom:24px}.study-progress-bar{flex:1;height:6px;background:var(--bg-card);border-radius:999px;overflow:hidden}.study-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:999px;transition:width .3s ease}.study-progress-text{font-size:.8125rem;color:var(--text-dim);font-weight:600;min-width:60px;text-align:right}.study-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 32px;min-height:280px;display:flex;flex-direction:column;gap:24px;cursor:pointer;transition:border-color var(--transition);outline:none}.study-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #4338ca26}.study-card-side{flex:1}.study-card-back{border-top:1px solid var(--border);padding-top:24px;animation:fadeIn .2s ease}.study-card-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-light);display:block;margin-bottom:10px}.study-card-text{font-size:1.25rem;font-weight:500;line-height:1.6}.study-card-img{max-width:300px;border-radius:var(--radius);margin-top:12px}.study-reveal-btn{display:block;width:100%;padding:14px;background:var(--bg-input);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-dim);font-size:.9375rem;font-family:inherit;cursor:pointer;transition:all var(--transition)}.study-reveal-btn:hover{border-color:var(--accent);color:var(--accent-light);background:#4338ca0d}.study-ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px;animation:fadeIn .2s ease}.rating-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);cursor:pointer;transition:all var(--transition);font-family:inherit}.rating-btn:hover{transform:translateY(-2px)}.rating-label{font-size:.875rem;font-weight:700}.rating-sub{font-size:.6875rem;color:var(--text-dim)}.rating-again{color:var(--danger);border-color:#b91c1c40}.rating-again:hover{background:#b91c1c0f;border-color:var(--danger)}.rating-hard{color:var(--warning);border-color:#a1620740}.rating-hard:hover{background:#a162070f;border-color:var(--warning)}.rating-good{color:var(--success);border-color:#15803d40}.rating-good:hover{background:#15803d0f;border-color:var(--success)}.rating-easy{color:var(--accent-light);border-color:#4338ca33}.rating-easy:hover{background:#4338ca0f;border-color:var(--accent)}.study-done{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 20px;gap:12px}.study-done-icon{margin-bottom:12px;animation:scaleIn .4s ease}.study-done h2{font-size:1.5rem;font-weight:700}.study-done p{color:var(--text-muted)}.study-done-actions{display:flex;gap:10px;margin-top:16px}.search-bar{position:relative;margin-bottom:24px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-dim);pointer-events:none}.search-input{width:100%;padding:12px 14px 12px 42px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);font-size:.9375rem;font-family:inherit;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.search-input::placeholder{color:var(--text-dim)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4338ca1f}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 20px;gap:8px}.empty-icon{margin-bottom:12px;opacity:.5}.empty-state h2{font-size:1.25rem;font-weight:600}.empty-state p{color:var(--text-muted);margin-bottom:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a18154d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fadeIn .15s ease}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:480px;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.modal h2{font-size:1.25rem;font-weight:700;margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(max-width:480px){.auth-card{padding:28px 20px}.study-card{padding:24px 20px}.study-ratings{grid-template-columns:repeat(2,1fr)}.deck-grid{grid-template-columns:1fr}}.landing{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);position:relative}.landing-topbar{position:sticky;top:0;z-index:50;background:#fbfaf7bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.landing-topbar-inner{max-width:1120px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}.landing-brand{display:inline-flex;align-items:center;gap:10px;font-size:1.0625rem;font-weight:700;color:var(--text)!important;letter-spacing:-.01em}.landing-nav{display:flex;align-items:center;gap:8px}.landing-nav-link{color:var(--text-muted);font-size:.9375rem;padding:8px 12px;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition);text-decoration:none}.landing-nav-link:hover{color:var(--text);background:var(--bg-card)}.landing-hero{min-height:100vh;display:flex;align-items:center;padding:80px 24px 48px}.landing-hero-inner{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:center}.landing-hero-copy{display:flex;flex-direction:column;align-items:flex-start}.landing-hero-demo{position:relative}@media(max-width:960px){.landing-hero-inner{grid-template-columns:1fr;gap:48px}.landing-hero-copy{align-items:center;text-align:center}.landing-hero-demo{width:100%;max-width:560px;margin:0 auto}}.landing-hero-badge{display:inline-flex;padding:6px 14px;border-radius:999px;background:#4338ca14;border:1px solid rgba(67,56,202,.2);color:var(--accent-light);font-size:.8125rem;font-weight:500;margin-bottom:28px}.landing-hero h1{font-size:clamp(2.5rem,4.5vw,3.875rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin-bottom:20px}.accent-gradient{background:linear-gradient(135deg,#5f85ff,#395afa 50%,#2b42f4,#231eec);background:linear-gradient(135deg,color(xyz 0.319 0.262 1.051),#395afa 50%,#2b42f4,#231eec);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.landing-hero-sub{font-size:1.0625rem;color:var(--text-muted);max-width:480px;margin:0 0 32px;line-height:1.65}.landing-hero-cta{display:flex;gap:12px;justify-content:flex-start;flex-wrap:wrap;margin-bottom:16px}.btn-lg{padding:14px 28px;font-size:.9375rem}.landing-hero-trust{font-size:.8125rem;color:var(--text-dim)}.landing-section{padding:72px 24px}.landing-section-alt{background:#f5f3ee99;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-section-inner{max-width:1120px;margin:0 auto}.landing-section-title{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;letter-spacing:-.02em;text-align:center;margin-bottom:12px}.landing-section-sub{text-align:center;color:var(--text-muted);font-size:1rem;margin-bottom:48px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:900px){.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.feature-grid{grid-template-columns:1fr}}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:border-color var(--transition),transform var(--transition)}.feature-card:hover{border-color:var(--accent-light);transform:translateY(-2px)}.feature-icon{font-size:1.75rem;margin-bottom:12px}.feature-card h3{font-size:1.0625rem;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}.feature-card p{color:var(--text-muted);font-size:.9375rem;line-height:1.55}.download-group{max-width:640px;margin:0 auto 36px}.download-group-title{text-align:center;font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:16px}.download-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:500px){.download-buttons{grid-template-columns:1fr}}.download-btn{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text)!important;transition:all var(--transition)}.download-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-light);transform:translateY(-1px)}.download-btn svg{flex-shrink:0;color:var(--text)}.download-btn span{display:flex;flex-direction:column;line-height:1.2}.download-btn small{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.download-btn strong{font-size:1rem;font-weight:700}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:20px;justify-content:center;margin-top:8px}@media(max-width:720px){.pricing-grid{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}}.pricing-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 28px;display:flex;flex-direction:column;position:relative;transition:transform .2s ease}.pricing-card-featured{border-color:#c89b3c;box-shadow:0 0 0 1px #c89b3c73,0 12px 56px #d4af3738;transform:scale(1.04);background:linear-gradient(180deg,rgba(212,175,55,.07) 0%,var(--bg-card) 55%)}@media(max-width:720px){.pricing-card-featured{transform:none}}.pricing-grid>.pricing-card:not(.pricing-card-featured){opacity:.82}.pricing-badge{position:absolute;top:-14px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#f5c518,#c8970f);color:#1c1000;padding:6px 16px;border-radius:999px;font-size:.8125rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;box-shadow:0 4px 20px #d4af378c}.pricing-pro-title{background:linear-gradient(135deg,#fcd34d,#d4af37 60%,#b8860b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pricing-card-featured .pricing-features li:before{color:#f5c518}.pricing-card-featured .btn-primary{background:linear-gradient(135deg,#f5c518,#c8970f);color:#1c1000;font-weight:700;animation:goldCtaGlow 3.5s ease-in-out infinite}.pricing-card-featured .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#fcd34d,#d97706);box-shadow:0 6px 28px #d4af3780;transform:translateY(-1px)}@keyframes goldCtaGlow{0%,to{box-shadow:0 4px 14px #d4af374d}50%{box-shadow:0 4px 28px #d4af3799}}.pricing-price-note{color:var(--text-muted);font-size:.8125rem;margin:-18px 0 20px}.pricing-trust-line{text-align:center;color:var(--text-muted);font-size:.8125rem;margin-top:12px}.pricing-features li.pricing-feature-excluded{color:var(--text-muted);opacity:.6;text-decoration:line-through}.pricing-features li.pricing-feature-excluded:before{content:"✗";color:var(--text-muted)}.pricing-card h3{font-size:1.25rem;font-weight:700;margin-bottom:4px}.pricing-desc{color:var(--text-muted);font-size:.875rem;margin-bottom:16px}.pricing-price{display:flex;align-items:baseline;gap:6px;margin:16px 0 24px}.price-amount{font-size:2.5rem;font-weight:800;letter-spacing:-.03em}.price-interval{color:var(--text-muted);font-size:.9375rem}.pricing-features{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px;flex:1}.pricing-features li{padding-left:24px;position:relative;font-size:.9375rem;color:var(--text)}.pricing-features li:before{content:"✓";position:absolute;left:0;color:var(--accent-light);font-weight:700}.landing-footer{margin-top:auto;padding:40px 24px 32px;border-top:1px solid var(--border);background:#fbfaf799}.landing-footer-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.landing-footer-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700}.landing-footer-links{display:flex;gap:20px}.landing-footer-links a{color:var(--text-muted);font-size:.875rem}.landing-footer-links a:hover{color:var(--text)}.landing-footer-copy{color:var(--text-dim);font-size:.8125rem}.success-banner{padding:12px 16px;background:#15803d14;border:1px solid rgba(21,128,61,.3);color:var(--success);border-radius:var(--radius-sm);font-size:.9375rem;margin-bottom:20px}.subscription-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.subscription-card h2{font-size:1.375rem;font-weight:700;letter-spacing:-.01em}.subscription-sub{color:var(--text-muted);font-size:.9375rem;margin-top:-12px}.subscription-status{display:flex;flex-direction:column;gap:8px}.subscription-status-badge{align-self:flex-start;background:var(--accent);color:#fff;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.subscription-status p{color:var(--text-muted)}.checkout-form{display:flex;flex-direction:column;gap:16px}.checkout-secure{display:flex;align-items:center;gap:6px;color:var(--text-dim);font-size:.8125rem;justify-content:center}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.auth-body{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.auth-page-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);position:relative;overflow:hidden}.auth-page-wrap:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(67,56,202,.08) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 85% 85%,rgba(99,102,241,.05) 0%,transparent 60%);pointer-events:none;z-index:0}.auth-page-wrap:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(26,24,21,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(26,24,21,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0}.auth-card-wrap{position:relative;z-index:1;width:100%;max-width:420px;animation:authSlideUp .35s cubic-bezier(.16,1,.3,1) both}@keyframes authSlideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.auth-logo-row{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:20px;text-decoration:none;color:var(--text)}.auth-logo-row span{font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.auth-tabs{display:flex;background:#1a18150a;border:1px solid rgba(26,24,21,.08);border-radius:10px;padding:4px;margin-bottom:24px;gap:3px}.auth-tab{flex:1;text-align:center;padding:8px 12px;border-radius:7px;font-size:.875rem;font-weight:600;color:var(--text-muted);text-decoration:none;transition:background .2s,color .2s,border-color .2s;border:1px solid transparent}.auth-tab:hover{color:var(--text);background:#1a18150d}.auth-tab.active{background:#4338ca1a;color:#2000e2;border-color:#4338ca40}.auth-card .form-group input{background:#1a181508;border-color:#1a18151a}.auth-card .form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4338ca26}.auth-card .btn-primary{background:var(--accent);box-shadow:0 4px 16px #4338ca33;transition:background .2s,box-shadow .2s,transform .15s}.auth-card .btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 24px #4338ca47;transform:translateY(-1px)}.auth-card .btn-google{background:#1a181508;border-color:#1a18151a;color:var(--text)}.auth-card .btn-google:hover{background:#1a18150d;border-color:#1a181529}.auth-card .btn-apple{background:#000;color:#fff;border-color:#000;margin-top:8px}.auth-card .btn-apple:hover{background:#1a1a1a;border-color:#1a1a1a}.btn-icon-right{display:inline-flex;align-items:center;gap:6px}.btn-icon-right svg{flex-shrink:0}.auth-back-link{display:flex;justify-content:center;margin-top:20px}.auth-back-link a{font-size:.8125rem;color:var(--text-dim);text-decoration:none;transition:color .15s}.auth-back-link a:hover{color:var(--text-muted)}.account-sections{display:flex;flex-direction:column;gap:20px;max-width:700px;margin:0 auto;width:100%}.account-card{background:#ffffffd9;border:1px solid rgba(26,24,21,.08);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 24px #1a18150f}.account-card-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:16px}.account-profile-row{display:flex;align-items:center;gap:16px}.account-avatar{width:48px;height:48px;border-radius:50%;background:var(--accent);box-shadow:0 4px 16px #4338ca40;color:#fff;font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.account-profile-info{display:flex;flex-direction:column;gap:4px}.account-email{font-size:.9375rem;font-weight:600}.account-meta{font-size:.8125rem;color:var(--text-muted)}.account-plan-row{display:flex;align-items:flex-start;gap:16px}.account-plan-desc{font-size:.9375rem;color:var(--text-muted);line-height:1.5}.account-free-badge{display:inline-flex;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--bg-card-hover);border:1px solid var(--border);color:var(--text-muted)}.account-upgrade-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.account-upgrade-price{color:var(--text-muted);font-size:.9375rem}.account-upgrade-features{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:6px}.account-upgrade-features li{font-size:.875rem;color:var(--text-muted);padding-left:18px;position:relative}.account-upgrade-features li:before{content:"✓";position:absolute;left:0;color:var(--accent-light);font-weight:700}.account-field-label{font-size:.8125rem;font-weight:600;color:var(--text-muted);margin-bottom:6px}.account-field-value-row{display:flex;align-items:center;gap:10px}.account-field-value{font-size:.9375rem;color:var(--text)}.account-inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-inline-input{padding:7px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9375rem;font-family:inherit;outline:none;transition:border-color .13s ease;width:200px}.account-inline-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4338ca26}.account-security-form{display:flex;flex-direction:column;gap:14px}.account-security-divider{border:none;border-top:1px solid var(--border);margin:20px 0}.account-link{color:var(--accent-light);text-decoration:none;font-weight:500;transition:color .13s ease}.account-link:hover{color:var(--text);text-decoration:underline}.deck-card-accent{opacity:1}.study-card-flip-container{perspective:1200px}.study-card-flip-inner{position:relative;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.4,0,.2,1);min-height:280px}.study-card-flip-inner.is-flipped{transform:rotateY(180deg)}.study-card-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}.study-card-face-back{transform:rotateY(180deg);position:absolute;top:0;right:0;bottom:0;left:0}.study-card-text-dim{opacity:.55;font-size:1rem!important}.study-reveal-hint{margin-top:auto;padding:12px;text-align:center;color:var(--text-dim);font-size:.875rem;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-input)}.study-remaining{font-size:.8125rem;color:var(--text-dim);text-align:center;margin-top:6px}.demo-window{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 32px 80px #1a18151a,0 0 0 1px #1a18150a}.demo-chrome{display:flex;align-items:center;gap:12px;padding:11px 16px;background:#1a18150d}.demo-chrome-dots{display:flex;gap:6px;flex-shrink:0}.demo-chrome-dots span{width:11px;height:11px;border-radius:50%}.demo-chrome-dots span:nth-child(1){background:#ff5f57}.demo-chrome-dots span:nth-child(2){background:#febc2e}.demo-chrome-dots span:nth-child(3){background:#28c840}.demo-chrome-tabs{display:flex;gap:2px}.demo-tab{background:transparent;border:none;color:var(--text-dim);font-size:.8125rem;font-family:inherit;font-weight:500;padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.demo-tab:hover{color:var(--text-muted);background:#1a18150d}.demo-tab-active{color:var(--text);background:#1a181514}.demo-progress{height:1px;background:var(--border);position:relative;display:flex;align-items:center}.demo-progress-fill{height:100%;background:var(--accent);transition:width .5s ease;flex-shrink:0}.demo-progress-label{font-size:.6875rem;color:var(--text-dim);letter-spacing:.04em}.demo-fsrs{padding:20px;display:flex;flex-direction:column;gap:12px}.demo-card-wrap{perspective:1100px;cursor:pointer;-webkit-user-select:none;user-select:none}.demo-card-inner{position:relative;width:100%;min-height:170px;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.4,0,.2,1)}.demo-card-inner.is-flipped{transform:rotateY(180deg)}.demo-card-face-back{transform:rotateY(180deg);position:absolute;top:0;right:0;bottom:0;left:0;border-color:#4338ca33}.demo-card-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-light)}.demo-card-text{font-size:1rem;font-weight:500;line-height:1.55;color:var(--text);flex:1}.demo-flip-hint{margin-top:auto;font-size:.8125rem;color:var(--text-dim);text-align:center;border-top:1px solid var(--border);padding-top:10px}.demo-ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;animation:demoSlideUp .2s cubic-bezier(.22,1,.36,1)}@keyframes demoSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes demoCardEnter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.demo-card-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:10px;min-height:170px;animation:demoCardEnter .25s cubic-bezier(.22,1,.36,1)}.demo-cram{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px}.demo-subtabs{display:flex;gap:4px;background:var(--bg);border-radius:var(--radius-sm);padding:3px}.demo-subtab{flex:1;padding:5px 8px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:.75rem;font-family:inherit;font-weight:500;cursor:pointer;transition:all .13s ease;white-space:nowrap}.demo-subtab:hover{color:var(--text)}.demo-subtab-active{background:var(--bg-card);color:var(--text)}.demo-cram-q{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:20px;min-height:72px;display:flex;align-items:center}.demo-cram-q p{font-size:1rem;font-weight:500;line-height:1.5;color:var(--text)}.demo-cram-choices{display:flex;flex-direction:column;gap:7px}.demo-choice{width:100%;padding:11px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9375rem;font-family:inherit;text-align:left;cursor:pointer;transition:all .13s ease}.demo-choice:hover{border-color:var(--accent);background:#4338ca0f}.demo-choice-correct{border-color:var(--success)!important;background:#15803d14!important;color:var(--success);cursor:default}.demo-choice-wrong{border-color:var(--danger)!important;background:#b91c1c14!important;color:var(--danger);cursor:default}.demo-choice-dim{opacity:.35;cursor:default;pointer-events:none}.demo-short-row{display:flex;gap:8px}.demo-short-input{flex:1;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9375rem;font-family:inherit;outline:none;transition:border-color .13s ease}.demo-short-input:focus{border-color:var(--accent)}.demo-short-input:disabled{opacity:.5}.demo-short-submit{padding:10px 16px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:.875rem;font-family:inherit;font-weight:600;cursor:pointer;transition:background .13s ease;white-space:nowrap}.demo-short-submit:hover{background:var(--accent-hover)}.demo-short-submit:disabled{opacity:.45;cursor:default}.demo-short-feedback{padding:10px 14px;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;animation:demoSlideUp .2s cubic-bezier(.22,1,.36,1)}.demo-short-feedback.correct{background:#15803d14;border:1px solid var(--success);color:var(--success)}.demo-short-feedback.wrong{background:#b91c1c14;border:1px solid var(--danger);color:var(--danger)}.demo-cram-flip-wrap{perspective:1100px;cursor:pointer;-webkit-user-select:none;user-select:none}.demo-cram-flip-inner{position:relative;width:100%;min-height:130px;transform-style:preserve-3d;transition:transform .38s cubic-bezier(.4,0,.2,1)}.demo-cram-flip-inner.is-flipped{transform:rotateY(180deg)}.demo-cram-flip-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px;min-height:130px}.demo-cram-flip-face-back{transform:rotateY(180deg);position:absolute;top:0;right:0;bottom:0;left:0;border-color:#4338ca33}.demo-cram-flip-next{padding:9px 18px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;font-family:inherit;font-weight:500;cursor:pointer;transition:all .13s ease;align-self:flex-end;animation:demoSlideUp .2s cubic-bezier(.22,1,.36,1)}.demo-cram-flip-next:hover{border-color:var(--accent);color:var(--accent)}.demo-done{padding:36px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.demo-done-icon{width:44px;height:44px;border-radius:50%;background:#15803d1a;border:1px solid rgba(21,128,61,.3);color:var(--success);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.demo-done p{color:var(--text-muted);font-size:.9375rem}.study-modes-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:800px;margin:0 auto}@media(max-width:640px){.study-modes-grid{grid-template-columns:1fr}}.study-mode-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:16px}.study-mode-card-featured{border-color:var(--accent);background:linear-gradient(160deg,rgba(67,56,202,.06) 0%,var(--bg-card) 60%)}.study-mode-icon{font-size:1.75rem}.study-mode-card h3{font-size:1.125rem;font-weight:700;letter-spacing:-.01em}.study-mode-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.study-mode-list li{font-size:.9375rem;color:var(--text-muted);padding-left:20px;position:relative}.study-mode-list li:before{content:"✓";position:absolute;left:0;color:var(--accent-light);font-weight:700}.study-mode-tag{display:inline-flex;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;background:#4338ca14;color:var(--accent-light);align-self:flex-start}.browse-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:36px}.browse-preview-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:8px;transition:border-color var(--transition),transform var(--transition);position:relative;overflow:hidden}.browse-preview-card:hover{border-color:var(--accent-light);transform:translateY(-2px)}.browse-preview-card-accent{position:absolute;top:0;left:0;right:0;height:3px}.browse-preview-card h4{font-size:1rem;font-weight:600;letter-spacing:-.01em}.browse-preview-card-meta{display:flex;align-items:center;gap:8px;margin-top:auto}.browse-preview-card-count{font-size:.8125rem;color:var(--text-dim)}.browse-preview-cta{text-align:center}.accent-gradient{background:linear-gradient(135deg,#b9cdff,#7598ff,#3958ff);background:linear-gradient(135deg,color(xyz 0.608 0.609 1.183),color(xyz 0.375 0.332 1.088),color(xyz 0.233 0.15 0.972));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.rating-btn:active{transform:scale(.96)}.btn-primary:active:not(:disabled){transform:translateY(0)}.deck-card,.feature-card{transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.feature-card:hover{box-shadow:0 4px 24px #4338ca14}.study-done-stats{display:flex;gap:24px;margin-top:8px}.study-done-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.study-done-stat-value{font-size:1.5rem;font-weight:700;color:var(--accent-light)}.study-done-stat-label{font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.browse-heading-sub{color:var(--text-muted);font-size:.9375rem;margin-bottom:20px}.subscription-pro-badge{align-self:flex-start;background:var(--accent);color:#fff;padding:4px 14px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.feature-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.feature-bento-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s ease;overflow:hidden;position:relative}.feature-bento-card:hover{border-color:#4338ca4d}.feature-bento-main{grid-column:span 8}.feature-bento-side{grid-column:span 4}.feature-bento-quarter{grid-column:span 3}@media(max-width:900px){.feature-bento-main{grid-column:span 12}.feature-bento-side,.feature-bento-quarter{grid-column:span 6}}@media(max-width:560px){.feature-bento-side,.feature-bento-quarter{grid-column:span 12}}.feature-bento-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--accent-light);background:#4338ca14;border-radius:var(--radius-sm);flex-shrink:0}.feature-bento-card h3{font-size:1rem;font-weight:700;letter-spacing:-.01em;margin-top:-4px}.feature-bento-card p{font-size:.875rem;color:var(--text-muted);line-height:1.6}.fsrs-viz{display:flex;align-items:center;width:100%;margin-top:8px;position:relative}.fsrs-viz-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex-shrink:0;position:relative;z-index:1}.fsrs-viz-line{height:2px;background:linear-gradient(90deg,var(--accent),var(--border));position:relative;min-width:12px}.fsrs-viz-line span{position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:.625rem;color:var(--text-dim);white-space:nowrap;letter-spacing:.02em}.decks-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap}.decks-header-copy h1{font-size:1.875rem;font-weight:800;letter-spacing:-.02em;line-height:1.25}.decks-header-copy p{color:var(--text-muted);font-size:.9375rem;margin-top:4px}.deck-card{transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.deck-card:hover{box-shadow:0 6px 28px #4338ca1a}.landing-bg-mesh{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 800px 500px at 10% 0%,rgba(99,102,241,.06) 0%,transparent 55%),radial-gradient(ellipse 500px 400px at 90% 10%,rgba(139,92,246,.05) 0%,transparent 50%),radial-gradient(ellipse 400px 300px at 50% 60%,rgba(59,130,246,.04) 0%,transparent 50%)}.landing-bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(26,24,21,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(26,24,21,.04) 1px,transparent 1px);background-size:48px 48px}.landing-scan-line{position:fixed;left:0;right:0;height:1px;top:0;background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.18) 30%,rgba(139,92,246,.18) 70%,transparent 100%);animation:landingScan 14s linear infinite;pointer-events:none;z-index:1;opacity:0}@keyframes landingScan{0%{top:-2px;opacity:0}5%{opacity:1}95%{opacity:1}to{top:100vh;opacity:0}}@media(max-width:768px){.landing-nav-link,.topbar-sep{display:none}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFadeRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes heroFadeIn{0%{opacity:0}to{opacity:1}}.landing-hero-badge{animation:heroFadeUp .6s cubic-bezier(.16,1,.3,1) .1s both}.landing-hero-copy h1{animation:heroFadeUp .7s cubic-bezier(.16,1,.3,1) .22s both}.landing-hero-sub{animation:heroFadeUp .7s cubic-bezier(.16,1,.3,1) .38s both}.landing-hero-cta{animation:heroFadeUp .6s cubic-bezier(.16,1,.3,1) .52s both}.landing-hero-trust{animation:heroFadeIn .6s ease .68s both}.landing-hero-demo-wrap{animation:heroFadeRight .8s cubic-bezier(.16,1,.3,1) .3s both}.landing-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:999px;background:#6366f114;border:1px solid rgba(99,102,241,.2);color:var(--accent-light);font-size:.8rem;font-weight:600;margin-bottom:24px;box-shadow:0 0 20px #6366f10f}.landing-badge-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;flex-shrink:0;animation:landingBadgePulse 2.4s ease-in-out infinite}@keyframes landingBadgePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.6)}}.btn-primary{animation:landingCtaGlow 3.5s ease-in-out infinite}@keyframes landingCtaGlow{0%,to{box-shadow:0 4px 14px #6366f12e}50%{box-shadow:0 4px 24px #6366f14d}}.landing-hero-demo-wrap{position:relative}.landing-proof-strip{position:relative;z-index:2;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#6366f10a}.landing-proof-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}.landing-proof-item{padding:24px 20px;text-align:center;border-right:1px solid var(--border)}.landing-proof-item:last-child{border-right:none}.landing-proof-num{font-size:1.75rem;font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,var(--accent-light),var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.landing-proof-lbl{font-size:.8125rem;color:var(--text-muted);margin-top:3px}@media(max-width:640px){.landing-proof-inner{grid-template-columns:1fr 1fr}.landing-proof-item:nth-child(2){border-right:none}}.landing-section-header{text-align:center;margin-bottom:48px}.landing-eyebrow{display:inline-flex;align-items:center;gap:6px;background:#6366f10f;border:1px solid rgba(99,102,241,.16);color:var(--accent-light);padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}.landing-platform-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.landing-platform-chip{display:inline-flex;align-items:center;gap:5px;background:#1a18150a;border:1px solid var(--border);border-radius:7px;padding:5px 10px;font-size:.75rem;color:var(--text-muted)}.landing-study-modes{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:880px;margin:0 auto}@media(max-width:680px){.landing-study-modes{grid-template-columns:1fr}}.landing-mode-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s}.landing-mode-card:hover{border-color:#6366f138}.landing-mode-featured{border-color:#6366f138;background:linear-gradient(160deg,rgba(99,102,241,.05) 0%,var(--bg-card) 60%)}.landing-mode-preview{background:#f5f3ee99;border-bottom:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:12px;min-height:172px}.landing-mode-mini-card{background:#6366f10f;border:1px solid rgba(99,102,241,.14);border-radius:8px;padding:14px}.landing-mode-mini-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-light);margin-bottom:6px}.landing-mode-mini-text{font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:12px}.landing-mode-mini-ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.landing-mini-btn{padding:6px 4px;border-radius:6px;border:1px solid;text-align:center;font-size:.6875rem;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:1px}.landing-mini-btn span{font-size:.5625rem;font-weight:400;opacity:.7}.landing-mode-progress-row{display:flex;align-items:center;gap:10px}.landing-mode-progress-bar{flex:1;height:3px;background:#6366f11a;border-radius:999px;overflow:hidden}.landing-mode-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:999px}.landing-mode-progress-green{background:linear-gradient(90deg,var(--success),#86efac)}.landing-mode-progress-lbl{font-size:.6875rem;color:var(--text-dim);white-space:nowrap}.landing-cram-question{background:#f5f3ee99;border:1px solid var(--border);border-radius:8px;padding:12px 14px}.landing-cram-question p{font-size:.875rem;font-weight:600;color:var(--text);line-height:1.4}.landing-cram-choices{display:flex;flex-direction:column;gap:6px}.landing-cram-choice{padding:8px 12px;border-radius:7px;font-size:.8125rem;background:#1a181508;border:1px solid var(--border);color:var(--text-muted)}.landing-cram-correct{background:#15803d14;border-color:#15803d40;color:var(--success)}.landing-cram-dim{opacity:.32}.landing-mode-body{padding:20px}.landing-mode-tag{display:inline-flex;padding:3px 10px;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#6366f114;color:var(--accent-light);margin-bottom:10px}.landing-mode-tag-green{background:#15803d14;color:var(--success);border:1px solid rgba(21,128,61,.2)}.landing-mode-card h3{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;margin-bottom:6px}.landing-mode-body>p{font-size:.875rem;color:var(--text-muted);line-height:1.6;margin-bottom:14px}.landing-mode-features{list-style:none;padding:0;display:flex;flex-direction:column;gap:7px}.landing-mode-features li{font-size:.875rem;color:var(--text-muted);padding-left:18px;position:relative}.landing-mode-features li:before{content:"✓";position:absolute;left:0;color:var(--accent-light);font-weight:700}.landing-browse-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.landing-browse-search{flex:1;min-width:220px;position:relative}.landing-browse-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-dim);pointer-events:none}.landing-browse-input{width:100%;padding:10px 14px 10px 40px;background:var(--bg-card);border:1px solid var(--border);border-radius:9px;color:var(--text);font-size:.9375rem;font-family:inherit;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.landing-browse-input::placeholder{color:var(--text-dim)}.landing-browse-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.landing-browse-filters{display:flex;gap:6px;flex-wrap:wrap}.landing-filter-btn{padding:8px 13px;border-radius:8px;font-size:.8125rem;font-weight:600;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all .12s;font-family:inherit}.landing-filter-btn:hover{background:#6366f10f;border-color:#6366f133;color:var(--accent-light)}.landing-filter-btn.active{background:#6366f11a;border-color:#6366f147;color:var(--accent-light)}.landing-sort-select{padding:8px 13px;border-radius:8px;font-size:.8125rem;font-weight:600;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);font-family:inherit;cursor:pointer;outline:none;transition:border-color var(--transition)}.landing-sort-select:focus{border-color:var(--accent)}.landing-browse-meta{margin-bottom:16px}.landing-browse-count{font-size:.875rem;color:var(--text-dim)}@media(max-width:640px){.landing-browse-controls{flex-direction:column;align-items:stretch}}.landing-deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:32px}.landing-deck-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:border-color .18s,transform .18s,box-shadow .18s}.landing-deck-card:hover{border-color:#6366f138;transform:translateY(-2px);box-shadow:0 8px 32px #6366f114}.landing-deck-accent{height:3px;flex-shrink:0}.landing-deck-body{padding:16px 18px 12px;flex:1;display:flex;flex-direction:column;gap:6px}.landing-deck-title{font-size:.9375rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.landing-deck-desc{font-size:.8125rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.landing-deck-footer{padding:10px 18px 14px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border)}.landing-deck-meta{display:flex;align-items:center;gap:8px}.landing-deck-count{font-size:.75rem;color:var(--text-dim);font-weight:500}.landing-deck-copy-btn{font-size:.75rem;font-weight:700;color:var(--accent-light);background:#6366f114;border:1px solid rgba(99,102,241,.18);padding:5px 10px;border-radius:7px;cursor:pointer;transition:all .12s;font-family:inherit}.landing-deck-copy-btn:hover{background:#6366f124;border-color:#6366f14d}.landing-browse-load-more{text-align:center;margin-top:8px}.landing-download-banner{position:relative;z-index:2;background:linear-gradient(135deg,#6366f114,#4338ca0d);border-top:1px solid rgba(99,102,241,.16);border-bottom:1px solid rgba(99,102,241,.16);padding:72px 28px;overflow:hidden}.landing-download-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 700px 400px at 50% 50%,rgba(99,102,241,.06),transparent 70%)}.landing-download-banner-inner{max-width:1120px;margin:0 auto;position:relative;z-index:1;text-align:center}.landing-download-banner-inner h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;letter-spacing:-.03em;margin-bottom:10px}.landing-download-banner-inner p{font-size:1.0625rem;color:var(--text-muted);margin-bottom:40px}.landing-download-groups{display:flex;justify-content:center;gap:44px;flex-wrap:wrap}.landing-download-group{display:flex;flex-direction:column;align-items:center}.landing-download-group-lbl{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:12px;text-align:center}.landing-download-btns{display:flex;gap:10px}@media(max-width:500px){.landing-download-btns{flex-direction:column}.landing-download-groups{gap:28px}}.landing-footer{margin-top:auto;padding:52px 0 0;border-top:1px solid var(--border);background:#f5f3ee99;position:relative;z-index:2}.landing-footer-inner{max-width:1120px;margin:0 auto;padding:0 28px;display:block}.landing-footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px}@media(max-width:900px){.landing-footer-top{grid-template-columns:1fr 1fr}}@media(max-width:560px){.landing-footer-top{grid-template-columns:1fr}}.landing-footer-brand{display:flex;align-items:center;gap:9px;margin-bottom:12px}.landing-footer-brand-name{font-size:.9375rem;font-weight:800;letter-spacing:-.02em}.landing-footer-desc{font-size:.8125rem;color:var(--text-muted);line-height:1.65;max-width:210px}.landing-footer-col h4{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:14px}.landing-footer-col ul{list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.landing-footer-col ul li a{font-size:.875rem;color:var(--text-muted);transition:color var(--transition)}.landing-footer-col ul li a:hover{color:var(--text)}.landing-footer-bottom{border-top:1px solid var(--border);padding:18px 28px;display:flex;align-items:center;justify-content:center;margin-top:0}.landing-footer-copy{font-size:.8125rem;color:var(--text-dim)}.landing-topbar,.landing-hero,.landing-proof-strip,.landing-section,.landing-download-banner,.landing-footer{position:relative;z-index:2}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skel{border-radius:6px;background:linear-gradient(90deg,#1a18150a 25%,#1a181514,#1a18150a 75%);background-size:800px 100%;animation:shimmer 1.6s infinite linear}.deck-skeleton{pointer-events:none;cursor:default}.deck-skeleton .skel-accent{position:absolute;top:0;left:0;right:0;height:3px;border-radius:0;opacity:.5}.deck-skeleton .skel-title{height:18px;width:65%;margin-top:8px}.deck-skeleton .skel-desc{height:13px;width:90%}.deck-skeleton .skel-desc-short{width:60%}.deck-skeleton .skel-footer{height:13px;width:40%;margin-top:auto;padding-top:8px}.pro-gate-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 40px;max-width:400px;width:100%}.pro-gate-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#4338ca14;border:1px solid rgba(67,56,202,.2);color:var(--accent-light);margin-bottom:4px}.pro-gate-card h2{font-size:1.375rem;font-weight:700;letter-spacing:-.02em}.pro-gate-card p{color:var(--text-muted);font-size:.9375rem;line-height:1.6;margin-bottom:8px}.decks-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 24px;text-align:center}.decks-empty-logo{width:96px;height:96px;border-radius:28px;background:#4338ca0f;border:1px solid rgba(67,56,202,.16);display:flex;align-items:center;justify-content:center;margin-bottom:8px;box-shadow:0 0 40px #4338ca1a}.decks-empty h2{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;color:var(--fg)}.decks-empty p{color:var(--text-muted);font-size:.9375rem;max-width:340px;line-height:1.6;margin-bottom:4px}.decks-empty .btn-primary{background:var(--accent);box-shadow:0 4px 16px #4338ca33}.layout{background:var(--bg);position:relative}.layout:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 50% at 50% -5%,rgba(67,56,202,.06) 0%,transparent 65%),radial-gradient(ellipse 40% 30% at 90% 90%,rgba(99,102,241,.04) 0%,transparent 55%);pointer-events:none;z-index:0}.layout:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(26,24,21,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(26,24,21,.04) 1px,transparent 1px);background-size:52px 52px;pointer-events:none;z-index:0}.layout>*{position:relative;z-index:1}.topbar{border-bottom-color:#4338ca1a;background:#fbfaf7d9}.deck-card{background:#ffffffd9;border-color:#1a181514;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.deck-card:hover{background:#fff;border-color:#4338ca4d;box-shadow:0 8px 32px #4338ca1a,0 0 0 1px #4338ca1a;transform:translateY(-3px)}.deck-card .deck-card-accent{opacity:.7}.deck-card:hover .deck-card-accent{opacity:1}.decks-header h1{color:var(--fg)}.modal{background:#fffffff2;border-color:#1a181514;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 0 0 1px #4338ca0f,0 32px 64px #1a18151f,inset 0 1px #fff9}.modal .btn-primary{background:var(--accent);box-shadow:0 4px 16px #4338ca33}.modal .btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 20px #4338ca47;transform:translateY(-1px)}.animated-height{overflow:hidden;transition:height .28s cubic-bezier(.4,0,.2,1)}.demo-diagram-card{display:flex;flex-direction:column;gap:10px}.demo-diagram-prompt{font-size:.9375rem;font-weight:500;color:var(--text);line-height:1.5}.demo-diagram-wrapper{position:relative;width:100%;border-radius:var(--radius-sm);overflow:hidden;-webkit-user-select:none;user-select:none}.demo-diagram-img{width:100%;display:block}.demo-diagram-box{position:absolute;display:flex;align-items:center;justify-content:center;background-color:#fff;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background-color .18s,border-color .18s,opacity .18s;overflow:hidden}.demo-diagram-box:hover:not(.revealed):not(.drop-box):not(.type-box){background-color:#eef0ff;border-color:var(--accent)}.demo-diagram-box.revealed{background-color:transparent;border-color:#4338ca40;border-style:dashed;cursor:pointer}.demo-diagram-box.revealed:hover{background-color:#4338ca1a;border-color:#4338ca8c}.demo-diagram-hidden{color:var(--text-muted);font-size:.875rem;font-weight:700}.demo-diagram-label{color:var(--text);font-size:.6875rem;font-weight:600;text-align:center;padding:2px 4px;line-height:1.2}.demo-diagram-num{color:var(--text-muted);font-size:.75rem;font-weight:700}.demo-diagram-box.drop-box{cursor:default;background-color:#fff;border:1.5px dashed var(--border)}.demo-diagram-drop-hint{color:var(--text-dim);font-size:.625rem}.demo-diagram-chip-placed{color:var(--text);font-size:.6875rem;font-weight:600;text-align:center;padding:2px 4px;cursor:grab;line-height:1.2}.demo-diagram-correct-hint{position:absolute;bottom:2px;left:0;right:0;font-size:.5625rem;color:var(--success);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}.demo-diagram-box.type-box{cursor:default;background-color:#fff;border-color:var(--border)}.demo-diagram-box.type-box.active{background-color:#fff;border-color:var(--accent);box-shadow:0 0 0 2px #4338ca4d}.demo-diagram-box.correct{background-color:transparent;border-color:#15803db3;border-style:solid;box-shadow:0 0 0 2px #15803d33}.demo-diagram-box.incorrect{background-color:transparent;border-color:#b91c1cb3;border-style:solid;box-shadow:0 0 0 2px #b91c1c33}.demo-diagram-pool{display:flex;flex-wrap:wrap;gap:6px;min-height:34px;padding:8px;background:var(--bg);border-radius:var(--radius-sm);border:1px dashed var(--border)}.demo-diagram-chip{padding:4px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.75rem;color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color var(--transition),background var(--transition)}.demo-diagram-chip:hover{border-color:var(--accent);background:var(--bg-card-hover)}.demo-diagram-pool-empty{font-size:.75rem;color:var(--text-dim)}.demo-diagram-grade{display:flex;gap:8px}.demo-grade-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-muted);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:all var(--transition)}.demo-grade-btn.correct:hover{border-color:var(--success);color:var(--success);background:#15803d0f}.demo-grade-btn.wrong:hover{border-color:var(--danger);color:var(--danger);background:#b91c1c0f}.demo-diagram-hint{font-size:.75rem;color:var(--text-dim);text-align:center}.demo-diagram-pills{display:flex;gap:4px}.demo-diagram-pill{padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-size:.6875rem;font-family:inherit;cursor:pointer;transition:all var(--transition)}.demo-diagram-pill:hover{border-color:var(--text-muted);color:var(--text)}.demo-diagram-pill-active{border-color:var(--accent);color:var(--accent);background:#4338ca14}.demo-type-area{display:flex;flex-direction:column;gap:6px}.demo-type-hint{font-size:.75rem;color:var(--text-muted)}.demo-type-override-row{display:flex;align-items:center;gap:8px;margin-top:6px}.demo-override-btn{background:transparent;border:none;color:var(--text-muted);font-size:.75rem;font-family:inherit;cursor:pointer;text-decoration:underline;padding:0}.demo-override-btn:hover{color:var(--text)}.demo-short-input.correct{border-color:var(--success)}.demo-short-input.incorrect{border-color:var(--danger)}.btn-sm{font-size:.75rem;padding:5px 12px}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.route-wrapper{animation:pageFadeIn .24s cubic-bezier(.22,1,.36,1)}
