:root{--bg: #12101f;--bg-card: #1d1a30;--ink: #f2f0ff;--muted: #9a94c2;--accent: #c8f542;--accent-ink: #1a2004;--know: #c8f542;--no: #363252;--warn: #ffb35c;--radius: 20px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 800px at 70% -10%,#241f45 0%,var(--bg) 55%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh}.shell{max-width:640px;margin:0 auto;padding:20px 20px 60px;display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 28px}.logo{font-size:26px;font-weight:800;letter-spacing:-.5px}.logo-up{color:var(--accent)}.lang-select{font-size:13px;color:var(--muted);background:transparent;border:1px solid #35315a;border-radius:999px;padding:4px 12px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.lang-select:hover{color:var(--ink);border-color:var(--muted)}.lang-select option{background:var(--bg-card);color:var(--ink)}.landing{margin-top:8vh;text-align:center}.landing h1{font-size:clamp(32px,6vw,44px);line-height:1.15;letter-spacing:-1px;margin:0 0 18px}.landing h1 em{font-style:normal;color:var(--accent)}.sub{color:var(--muted);font-size:17px;line-height:1.55;max-width:46ch;margin:0 auto 34px}.btn-primary{background:var(--accent);color:var(--accent-ink);font-size:19px;font-weight:700;border:none;border-radius:999px;padding:16px 44px;cursor:pointer;transition:transform .08s ease,box-shadow .2s ease;box-shadow:0 6px 30px #c8f54240}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 36px #c8f54259}.fineprint{list-style:none;padding:0;margin:40px 0 0;color:var(--muted);font-size:14px;display:flex;flex-direction:column;gap:8px}.test{margin-top:4vh;display:flex;flex-direction:column;align-items:center}.progress{width:100%;height:6px;background:#262242;border-radius:999px;overflow:hidden;margin-bottom:7vh}.progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .25s ease}.word-card{background:var(--bg-card);border:1px solid #2e2a4e;border-radius:var(--radius);width:100%;min-height:180px;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;margin-bottom:34px;padding:26px 22px;transition:border-color .15s ease,background .15s ease}.meaning{color:var(--muted);font-size:16px;line-height:1.5;text-align:center;max-width:46ch;border-top:1px solid #2e2a4e;padding-top:14px}.word-card.slim{min-height:120px;margin-bottom:20px}.option kbd{font-size:11px;opacity:.5;margin-right:8px;font-family:inherit}.option.dont-know{text-align:center;color:var(--muted)}.review-link{background:none;border:none;color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;margin-top:20px;padding:6px}.review-link:hover{color:var(--ink)}.review-title{font-size:20px;margin:0 0 18px}.review-list{width:100%;margin-bottom:26px;max-height:50vh;overflow-y:auto;border:1px solid #2e2a4e;border-radius:14px;background:var(--bg-card)}.review-row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid #2e2a4e}.review-row:last-child{border-bottom:none}.review-icon{flex-shrink:0;font-size:14px;width:34px;text-align:center;padding-top:2px}.review-icon.good{color:var(--accent)}.review-icon.bad{color:#f5655c}.review-body{display:flex;flex-direction:column;gap:2px;text-align:left}.review-word{font-weight:700;font-size:16px}.review-detail{color:var(--muted);font-size:13.5px;line-height:1.4}.review-details{width:100%;margin-top:34px}.review-details summary{color:var(--muted);font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin-bottom:14px}.review-details summary:hover{color:var(--ink)}.lang-picker-label{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:2px;margin:0 0 12px}.lang-picker{display:flex;gap:14px;justify-content:center;margin-bottom:34px}.lang-card{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:2px solid #35315a;color:var(--muted);font-size:18px;font-weight:700;border-radius:16px;padding:14px 26px;cursor:pointer;transition:border-color .12s ease,color .12s ease,transform .08s ease}.lang-card:hover{transform:translateY(-1px);color:var(--ink)}.lang-card.active{border-color:var(--accent);color:var(--ink)}.lang-flag{font-size:24px}.word{font-size:clamp(34px,7vw,52px);font-weight:700;letter-spacing:-.5px}.hint{color:var(--muted);font-size:13px;margin-top:26px}.result-actions{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:30px}.btn-secondary{background:none;border:1px solid #35315a;color:var(--muted);font-size:15px;font-weight:600;border-radius:999px;padding:10px 28px;cursor:pointer}.btn-secondary:hover{color:var(--ink);border-color:var(--muted)}.link-row{display:flex;gap:26px;justify-content:center;margin-top:28px}.text-link{background:none;border:none;color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px}.text-link:hover{color:var(--ink)}.growth-note{color:var(--accent);font-size:17px;margin:4px 0 10px}.danger-link{background:none;border:none;color:var(--muted);font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;margin-top:34px;padding:6px;opacity:.7}.danger-link:hover{color:#f5655c;opacity:1}.danger-confirm{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:30px;font-size:14px;color:var(--warn)}.btn-danger{background:#33191c;border:1px solid #f5655c;color:#f5655c;font-size:14px;font-weight:700;border-radius:999px;padding:8px 24px;cursor:pointer}.btn-danger:hover{background:#47201f}.result{margin-top:4vh;text-align:center;display:flex;flex-direction:column;align-items:center}.result-kicker{color:var(--muted);font-size:15px;text-transform:uppercase;letter-spacing:2px;margin:0 0 4px}.result-number{font-size:clamp(64px,14vw,96px);font-weight:800;letter-spacing:-3px;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums}.result-number .approx{color:var(--muted);font-weight:600}.result-words{color:var(--muted);margin:6px 0 22px}.level-chip{background:var(--bg-card);border:1px solid var(--accent);color:var(--accent);font-weight:700;font-size:17px;border-radius:999px;padding:8px 24px}.level-blurb{color:var(--muted);max-width:42ch;line-height:1.5;margin:14px 0 4px}.honesty-note{color:var(--muted);font-size:14px;margin:14px 0 0}.honesty-note.warn{color:var(--warn);max-width:46ch;line-height:1.5}.rankbar{width:100%;max-width:420px;margin:30px 0 8px}.rankbar-track{height:10px;background:#262242;border-radius:999px;overflow:hidden}.rankbar-fill{height:100%;background:linear-gradient(90deg,#6d5ff0,var(--accent));border-radius:999px;transition:width 1.1s cubic-bezier(.22,1,.36,1)}.rankbar-labels{position:relative;height:16px;color:var(--muted);font-size:11px;margin-top:6px}.rankbar-tick{position:absolute;transform:translate(-50%)}.rankbar-tick:first-child{transform:none}.rankbar-tick:last-child{transform:translate(-100%)}.frontier{margin-top:44px;width:100%}.frontier h2{font-size:20px;margin:0 0 6px}.frontier-sub{color:var(--muted);font-size:14px;margin:0 0 16px}.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.chip{background:var(--bg-card);border:1px solid #35315a;border-radius:999px;padding:8px 18px;font-size:16px;font-style:italic}.coming-soon{color:var(--muted);font-size:14px;margin:22px 0 34px}.coming-soon strong{color:var(--ink)}.deck{margin-top:4vh;display:flex;flex-direction:column;align-items:center}.reveal,.challenge{width:100%;display:flex;flex-direction:column;align-items:center}.reveal-kicker{color:var(--accent);font-size:13px;text-transform:uppercase;letter-spacing:2px;margin:0 0 16px}.study-nav{display:flex;gap:12px;align-items:center}.reveal-example{color:var(--muted);font-style:italic;font-size:15px;line-height:1.5;text-align:center;max-width:50ch;margin:0}.challenge-prompt{color:var(--muted);font-size:16px;margin:0 0 18px}.challenge-prompt strong{color:var(--ink);font-size:22px}.cloze-sentence{font-size:20px;line-height:1.6;text-align:center;margin:0}.options{display:grid;grid-template-columns:1fr;gap:10px;width:100%;margin-top:8px}.option{background:var(--bg-card);border:1px solid #35315a;color:var(--ink);font-size:16px;text-align:left;border-radius:14px;padding:14px 18px;cursor:pointer;transition:border-color .12s ease,background .12s ease,opacity .12s ease}.option:hover{border-color:var(--muted)}.option.correct{border-color:var(--accent);background:#232c14}.option.wrong{border-color:#f5655c;background:#33191c}.option.faded{opacity:.45}.feedback{margin-top:22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.feedback-good{color:var(--accent);margin:0}.feedback-bad{color:var(--ink);line-height:1.5;margin:0}.feedback-bad span{color:var(--muted);font-size:14px}.deck-done{text-align:center;display:flex;flex-direction:column;align-items:center;margin-top:8vh}.deck-done-emoji{font-size:56px}.deck-done h1{margin:10px 0 24px}.deck-done-sub{color:var(--muted);max-width:44ch;line-height:1.5;margin:0 0 28px}.deck-stats{display:flex;gap:28px;justify-content:center;margin:18px 0}.stat{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-num{font-size:24px;font-weight:800;color:var(--ink)}.stat-label{font-size:12px;color:var(--muted)}.dashboard .result-number{font-size:clamp(52px,11vw,76px)}
