:root{color-scheme:light;--bg:#faf8f3;--card:#ffffff;--ink:#26221c;--muted:#8c8578;--accent:#c17a3d;--accent-soft:#f5e6d3;--verb:#3f7d68;--verb-soft:#e3f1ea;--noun:#3f628f;--noun-soft:#e4ecf6;--adj:#a24d4d;--adj-soft:#f6e2e2;--line:#ece6d9;--radius:20px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(1200px 300px at 50% -80px,#fff 0%,var(--bg) 60%);color:var(--ink);-webkit-font-smoothing:antialiased;padding:max(14px,env(safe-area-inset-top)) 16px calc(80px + env(safe-area-inset-bottom));min-height:100vh}.wrap{max-width:480px;margin:0 auto}.welcome{min-height:calc(100vh - 30px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;max-width:420px;margin:0 auto}.welcome-emoji{font-size:56px;margin-bottom:6px}.welcome-title{font-size:30px;font-weight:800;margin:0 0 6px;letter-spacing:-.02em}.welcome-tagline{font-size:15px;color:var(--accent);font-weight:700;margin:0 0 16px}.welcome-text{font-size:14.5px;color:var(--muted);line-height:1.55;margin:0 0 28px}.welcome-btn{width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.brand{display:flex;align-items:center;gap:10px}.brand .flag{font-size:26px;line-height:1}.brand h1{font-size:17px;margin:0;font-weight:800;letter-spacing:-.01em}.brand p{margin:1px 0 0;font-size:12px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:10px}.fav-toggle{background:var(--card);border:1px solid var(--line);color:var(--accent);font-size:13px;font-weight:800;padding:8px 12px;border-radius:999px}.ring{position:relative;width:52px;height:52px;flex:none}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:4}.ring-bg{stroke:var(--line)}.ring-fg{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .5s ease}.ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--accent)}.progress-box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:9px 14px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.progress-box .day-label{font-weight:800;font-size:13.5px}.progress-box .sub{font-size:11px;color:var(--muted);margin-top:1px}.theme-tag{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:4px 10px;border-radius:999px;white-space:nowrap}.done-banner{background:var(--verb-soft);border:1px solid #cde3d7;color:#2b5c46;border-radius:12px;padding:8px 14px;font-size:12.5px;text-align:center;margin-bottom:8px;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:11px 13px 10px;margin-bottom:8px;box-shadow:0 1px 2px #1e190f08,0 6px 14px -12px #1e190f26}.card-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.card-clickable:active{transform:scale(.99)}.card-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.card-hint{margin-left:auto;font-size:15px;color:var(--line);font-weight:700}.badge{width:24px;height:24px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px}.badge-verb{background:var(--verb-soft);color:var(--verb)}.badge-noun{background:var(--noun-soft);color:var(--noun)}.badge-adj{background:var(--adj-soft);color:var(--adj)}.pos-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.pos-label.pv{color:var(--verb)}.pos-label.pn{color:var(--noun)}.pos-label.pa{color:var(--adj)}.word{font-size:16.5px;font-weight:800;line-height:1.2;letter-spacing:-.01em}.translation{font-size:12.5px;color:var(--muted);margin-top:1px}.note{display:inline-block;font-size:10px;color:var(--adj);background:var(--adj-soft);padding:2px 8px;border-radius:999px;margin-top:5px}.examples{margin:6px 0 0;padding:0;list-style:none}.examples li{position:relative;font-size:12.5px;line-height:1.4;color:#3a352c;padding:6px 10px 6px 13px;background:#f8f6f1;border-radius:9px;margin-bottom:5px}.examples li:last-child{margin-bottom:0}.examples li:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--line)}.mark-done-wrap{margin:4px 0 18px}button{font-family:inherit;font-size:15.5px;font-weight:700;border-radius:14px;padding:14px 18px;border:none;cursor:pointer;-webkit-appearance:none}.btn-primary{width:100%;background:var(--accent);color:#fff;box-shadow:0 10px 24px -10px #c17a3d99}.btn-primary:disabled{background:#ded6c4;box-shadow:none;color:#8c8578}.btn-primary:active{transform:scale(.985)}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--card);border-top:1px solid var(--line);padding:6px 10px calc(6px + env(safe-area-inset-bottom))}.tab-bar-inner{max-width:480px;margin:0 auto;display:flex;align-items:stretch;gap:4px}.tab-btn{flex:1;background:none;border:none;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 6px;font-size:11px;font-weight:700;color:var(--muted)}.tab-btn .tab-icon{font-size:19px;line-height:1}.tab-btn.active{color:var(--accent);background:var(--accent-soft)}section.review{margin-top:26px}section.review h2{font-size:14px;margin:0 0 10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.review-card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden;cursor:pointer}.review-card .front{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px}.review-card .word{font-weight:700;font-size:14.5px}.review-card .interval{font-size:11.5px;color:var(--accent);white-space:nowrap;font-weight:700}.review-card .chev{color:var(--muted);transition:transform .25s ease;font-size:12px;margin-left:4px}.review-card.open .chev{transform:rotate(180deg)}.review-card .back{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 15px;font-size:13.5px;color:#3a352c}.review-card.open .back{max-height:220px;padding:0 15px 14px}.review-card .back div{padding:5px 0;border-top:1px dashed var(--line)}.review-card .back div:first-child{border-top:none}.review-empty{font-size:13.5px;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:14px;padding:16px;text-align:center}.finished{text-align:center;padding:50px 20px 20px}.finished .emoji{font-size:44px}.finished h2{margin:10px 0 6px}.finished p{color:var(--muted);font-size:14.5px}.footer-actions{text-align:center;margin-top:30px}.link-btn{background:none;border:none;color:var(--muted);font-size:12.5px;text-decoration:underline;cursor:pointer;padding:6px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#26221c73;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-sheet{width:100%;max-width:480px;max-height:85vh;overflow-y:auto;background:var(--bg);border-radius:22px 22px 0 0;padding:10px 16px calc(24px + env(safe-area-inset-bottom));animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:.6}to{transform:translateY(0);opacity:1}}.modal-handle{width:40px;height:4px;background:var(--line);border-radius:999px;margin:6px auto 14px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.modal-title{font-size:16px;font-weight:800}.modal-root{font-size:12.5px;color:var(--muted);margin-top:2px}.modal-close{background:var(--card);border:1px solid var(--line);border-radius:50%;width:32px;height:32px;font-size:14px;color:var(--muted);padding:0;flex:none}.modal-list{display:flex;flex-direction:column;gap:10px}.modal-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.modal-item-word{font-weight:800;font-size:15px}.modal-item-translation{font-size:13px;color:var(--muted);margin-top:2px}.modal-item-example{font-size:13px;color:#3a352c;margin-top:6px;font-style:italic}.star-btn{background:none;border:none;font-size:22px;line-height:1;padding:2px 4px;color:var(--line);flex:none}.star-btn.active{color:var(--accent)}.fav-remove{font-size:13px;color:var(--muted);padding:2px 4px;cursor:pointer}.search-box{width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 14px;font-size:14.5px;font-family:inherit;color:var(--ink);margin-bottom:12px}.search-box::placeholder{color:var(--muted)}.search-box:focus{outline:none;border-color:var(--accent)}.settings-wrap{position:relative}.settings-btn{background:var(--card);border:1px solid var(--line);border-radius:50%;width:36px;height:36px;font-size:16px;color:var(--muted);padding:0;flex:none}.settings-menu{position:absolute;right:0;top:42px;z-index:30;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px -8px #1e190f40;padding:6px;min-width:190px}.settings-menu button{width:100%;text-align:left;background:none;border:none;font-size:13.5px;font-weight:600;color:var(--ink);padding:10px 12px;border-radius:10px;cursor:pointer}.settings-menu button:active{background:var(--bg)}.settings-menu button.danger{color:#a24d4d}.screen-header{margin-bottom:12px}.screen-title{font-size:19px;font-weight:800}.screen-sub{font-size:12.5px;color:var(--muted);margin-top:2px}.quiz-progress{font-size:12.5px;color:var(--muted);font-weight:700;margin-bottom:10px;text-align:center}.quiz-prompt{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 18px;text-align:center;margin-bottom:16px}.quiz-prompt .pos-label{margin-bottom:8px;display:inline-block}.quiz-prompt .word{display:block;font-size:22px}.quiz-options{display:flex;flex-direction:column;gap:10px}.quiz-option{width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:14.5px;font-weight:600;color:var(--ink)}.quiz-option.correct{background:var(--verb-soft);border-color:#cde3d7;color:#2b5c46}.quiz-option.wrong{background:var(--adj-soft);border-color:#e7c9c9;color:#7a3232}.quiz-option:disabled{opacity:.75}.quiz-score{text-align:center;padding:40px 20px}.quiz-score .big{font-size:40px;font-weight:800;margin:8px 0}.quiz-empty{font-size:13.5px;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:14px;padding:24px;text-align:center}
