:root{--bg:#fdf6ec;--surface:#fff;--text:#2b2119;--muted:#7a6b5d;--primary:#ff8a5b;--primary-dark:#e96f3f;--accent:#4f8a8b;--danger:#d9534f;--border:#eadfce;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Segoe UI,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.app{max-width:720px;margin:0 auto;padding:24px 20px 60px}.app-header{text-align:center;margin-bottom:28px}.app-header h1{margin:0 0 6px;font-size:2.2rem}.app-header p{color:var(--muted);margin:0}.account-bar{font-size:.85rem;margin-top:6px!important}.link-button{font-size:inherit;color:var(--accent);background:0 0;border:none;margin:0;padding:0;font-weight:600;text-decoration:underline}.link-button:active{transform:none}.login-form{max-width:360px;margin:0 auto}.empty-state{text-align:center;color:var(--muted);background:var(--surface);border:2px dashed var(--border);border-radius:16px;padding:28px}.deck-list{flex-direction:column;gap:12px;margin:0 0 28px;padding:0;list-style:none;display:flex}.deck-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.deck-card-main{flex-direction:column;flex:1;gap:4px;min-width:160px;display:flex}.deck-label-input{color:var(--text);background:0 0;border:none;padding:2px 0;font-size:1.15rem;font-weight:600}.deck-label-input:focus{outline:2px solid var(--accent);border-radius:6px}.deck-count{color:var(--muted);font-size:.9rem}.deck-card-actions{gap:8px;display:flex}button{background:var(--border);color:var(--text);border:none;border-radius:10px;padding:10px 16px;font-size:.95rem;font-weight:600;transition:transform 50ms,background .15s}button:active{transform:scale(.97)}button.primary{background:var(--primary);color:#fff}button.primary:hover{background:var(--primary-dark)}button.danger{color:var(--danger);border:1px solid var(--danger);background:0 0}button:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:16px;width:100%;max-width:360px;padding:24px;box-shadow:0 12px 32px #0003}.modal h3{margin:0 0 8px}.modal p{color:var(--muted);margin:0 0 20px}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.add-deck-form{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:14px;padding:20px;display:flex}.add-deck-form h2{margin:0;font-size:1.2rem}.add-deck-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;display:flex}.add-deck-form input{border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;font-size:1rem}.add-deck-form input:focus{outline:2px solid var(--accent)}.hint{color:var(--muted);margin:0;font-size:.85rem}.error{color:var(--danger);margin:0;font-weight:600}.study-view{flex-direction:column;align-items:center;gap:16px;display:flex}.study-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.study-header h2{text-align:center;flex:1;margin:0;font-size:1.3rem}.progress{color:var(--muted);margin:0;font-weight:600}.flashcard{aspect-ratio:3/2;perspective:1200px;width:100%;max-width:480px}.flashcard-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s;position:relative}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;text-align:center;border-radius:20px;justify-content:center;align-items:center;padding:24px;font-size:1.8rem;font-weight:700;display:flex;position:absolute;inset:0;box-shadow:0 8px 24px #00000014}.flashcard-front{background:var(--primary);color:#fff}.flashcard-back{background:var(--accent);color:#fff;font-size:1.3rem;font-weight:500;transform:rotateY(180deg)}.tap-hint{color:var(--muted);margin:0;font-size:.85rem}.study-controls{gap:10px;display:flex}@media (width<=480px){.flashcard-face{font-size:1.4rem}.flashcard-back{font-size:1.1rem}}.quiz-view{flex-direction:column;align-items:center;gap:16px;display:flex}.quiz-question{background:var(--primary);color:#fff;text-align:center;border-radius:20px;width:100%;max-width:480px;padding:28px 24px;font-size:1.8rem;font-weight:700;box-shadow:0 8px 24px #00000014}.quiz-options{flex-direction:column;gap:10px;width:100%;max-width:480px;display:flex}.quiz-option{background:var(--surface);border:2px solid var(--border);text-align:left;color:var(--text);border-radius:12px;padding:14px 18px;font-size:1rem;font-weight:500}.quiz-option.correct{color:#1b5e20;background:#e8f5e9;border-color:#4caf50}.quiz-option.incorrect{border-color:var(--danger);color:#7a1e1a;background:#fdecea}.quiz-summary{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:480px;animation:.4s summary-in;display:flex}@keyframes summary-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}.quiz-score{margin:0;font-size:1.6rem;font-weight:700}.score-ring{width:160px;height:160px;margin-top:4px;position:relative}.score-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.score-ring-track{fill:none;stroke:var(--border);stroke-width:10px}.score-ring-fill{fill:none;stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.22,1,.36,1)}.score-ring--great .score-ring-fill{stroke:#4caf50}.score-ring--ok .score-ring-fill{stroke:var(--primary)}.score-ring--low .score-ring-fill{stroke:var(--danger)}.score-ring-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.score-ring-pct{font-size:1.7rem;font-weight:800}.score-ring-count{color:var(--muted);font-size:.85rem;font-weight:600}.result-emoji{margin:0;font-size:2.4rem;animation:.5s cubic-bezier(.34,1.56,.64,1) .15s both pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.missed-list{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;margin-top:6px;padding:14px 16px}.missed-title{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-size:.85rem;font-weight:700}.missed-list ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.missed-item{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.95rem;display:flex}.missed-word{font-weight:700}.missed-arrow,.missed-definition{color:var(--muted)}
