:root{--bg: #f6f7f9;--card: #ffffff;--ink: #1c2024;--muted: #6b7280;--line: #e5e7eb;--primary: #2563eb;--primary-ink: #ffffff;--good: #16a34a;--easy: #0891b2;--hard: #d97706;--again: #dc2626}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}.center{min-height:100vh;display:grid;place-items:center;padding:1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--again)}.app{max-width:720px;margin:0 auto;padding:0 1rem 4rem}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--line);margin-bottom:1.5rem}.topbar nav a{margin-right:1rem;text-decoration:none;color:var(--ink);font-weight:600}.topbar .user{display:flex;align-items:center;gap:.75rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.25rem}.login{display:flex;flex-direction:column;gap:.9rem;width:min(360px,92vw)}.login h1{margin:0 0 .5rem}.login label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}input{padding:.6rem .7rem;border:1px solid var(--line);border-radius:9px;font-size:1rem}.stack{display:flex;flex-direction:column;gap:1.25rem}.row{display:flex;gap:.75rem;flex-wrap:wrap}.rowbetween{display:flex;justify-content:space-between;align-items:baseline}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}.btn{padding:.7rem 1.1rem;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:1rem;cursor:pointer;text-decoration:none;color:var(--ink)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}button.link{background:none;border:none;color:var(--primary);cursor:pointer;font-size:1rem;padding:0}.stat{display:flex;flex-direction:column;gap:.25rem;text-decoration:none;color:var(--ink)}.stat .big{font-size:2rem;font-weight:700}.wordcard{text-align:center}.headword{font-size:2.4rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.25rem}.details{text-align:left;margin-top:1rem}.meaning .pos{font-style:italic;color:var(--muted)}.examples{margin-top:1rem;border-top:1px solid var(--line);padding-top:.75rem}.examples h4{margin:0 0 .5rem}.examples li,.meaning li{margin-bottom:.35rem;line-height:1.4}.grades .grade.again{border-color:var(--again);color:var(--again)}.grades .grade.hard{border-color:var(--hard);color:var(--hard)}.grades .grade.good{border-color:var(--good);color:var(--good)}.grades .grade.easy{border-color:var(--easy);color:var(--easy)}.grades .grade{flex:1}.examplelist{text-align:left;margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.example{position:relative;margin:0;padding:.75rem .9rem .75rem 2.2rem;background:#f8fafc;border-left:3px solid var(--primary);border-radius:8px;line-height:1.5}.example .exnum{position:absolute;left:.7rem;top:.75rem;font-size:.8rem;font-weight:700;color:var(--muted)}.example strong{color:var(--primary)}.wordcard .btn.primary{margin-top:1rem}.answer{text-align:left}.answer h4{margin:0 0 .5rem}.center-text{text-align:center}.quizprompt{font-size:1.25rem;line-height:1.4;text-align:center;padding:.5rem 0}.quizoptions{display:flex;flex-direction:column;gap:.5rem}.quizoption{text-align:left;white-space:normal;padding:.75rem 1rem}.quizoption.correct{border-color:var(--good);background:color-mix(in srgb,var(--good) 12%,var(--card));color:var(--good)}.quizoption.wrong{border-color:var(--again);background:color-mix(in srgb,var(--again) 12%,var(--card));color:var(--again)}.quizoption.dim{opacity:.55}.feedback{font-weight:600;margin:0}.feedback.ok{color:var(--good)}.feedback.bad{color:var(--again)}.backlink{color:var(--primary);text-decoration:none;font-size:.9rem}.sectionhead{margin:0;padding-bottom:.4rem;border-bottom:1px solid var(--line)}.wordgroup{display:flex;flex-wrap:wrap;gap:.4rem}.wordchip{display:inline-flex;align-items:baseline;gap:.3rem;padding:.3rem .6rem;background:var(--card);border:1px solid var(--line);border-radius:999px;font-size:.9rem}.chippos{color:var(--muted);font-style:italic;font-size:.75rem}.progrow{display:grid;grid-template-columns:minmax(7rem,9rem) 1fr auto;align-items:center;gap:.75rem;width:100%}.progword{display:inline-flex;align-items:baseline;gap:.3rem;font-size:.95rem}.progbar{height:8px;background:var(--line);border-radius:999px;overflow:hidden}.progfill{display:block;height:100%;background:var(--primary);border-radius:999px}.proglabel{white-space:nowrap}
