:root{--bg:#f5f5f7;--bg-grad-1:#ff95001a;--bg-grad-2:#007aff1a;--card:#ffffffdb;--card-solid:#fff;--ink:#1d1d1f;--sub:#6e6e73;--brand:#007aff;--brand-soft:#007aff1f;--ok:#34c759;--ok-soft:#34c75924;--bad:#ff3b30;--bad-soft:#ff3b301f;--warn:#ff9500;--line:#00000014;--radius:16px;--shadow-win:0 24px 70px #00000029, 0 2px 8px #00000014;--shadow-card:0 1px 3px #0000000f, 0 8px 24px #0000000d;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 700px at 12% -8%, var(--bg-grad-1), transparent 60%), radial-gradient(1100px 700px at 100% 8%, var(--bg-grad-2), transparent 55%), var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;padding:0}#root{min-height:100vh}.app{max-width:620px;margin:0 auto;padding:48px 16px 72px}.mac-window{background:var(--card);-webkit-backdrop-filter:blur(28px)saturate(1.5);box-shadow:var(--shadow-win);border:1px solid #ffffff8c;border-radius:14px;margin-bottom:20px;overflow:hidden}.mac-titlebar{border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none;background:#f6f6f8e6;align-items:center;gap:8px;padding:11px 14px;display:flex}.mac-titlebar .title{text-align:center;color:var(--sub);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:600;overflow:hidden}.mac-titlebar{position:relative}.mac-titlebar .traffic,.mac-titlebar .traffic-spacer{display:none}.traffic span{border-radius:50%;width:12px;height:12px;display:inline-block}.traffic .c{background:#ff5f57}.traffic .m{background:#febc2e}.traffic .g{background:#28c840}.traffic-spacer{width:40px}.mac-body{padding:22px 22px 26px}.card{background:var(--card);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid #ffffff80;margin-bottom:16px;padding:18px 20px}.card h2{letter-spacing:.2px;margin:0 0 12px;font-size:18px;font-weight:700}.app-title{letter-spacing:.3px;margin:0 0 6px;font-size:26px;font-weight:800}.subtitle{color:var(--sub);margin:0 0 24px;font-size:15px;line-height:1.5}textarea,input[type=text]{border:1.5px solid var(--line);background:var(--card-solid);border-radius:10px;outline:none;width:100%;padding:11px 13px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}textarea:focus,input[type=text]:focus{border-color:var(--brand);box-shadow:0 0 0 3.5px var(--brand-soft)}textarea{resize:vertical;min-height:130px;font-size:14px;line-height:1.6}::placeholder{color:#a1a1a6}.btn{cursor:pointer;background:var(--brand);color:#fff;touch-action:manipulation;border:none;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:12px 20px;font-family:inherit;font-size:17px;font-weight:600;transition:transform 80ms,filter .15s;display:inline-flex}.btn:active{filter:brightness(.92);transform:scale(.97)}.btn:hover{filter:brightness(1.06)}.btn.secondary{color:var(--ink);background:#78788024}.btn.secondary:hover{filter:none;background:#78788038}.btn.ghost{color:var(--brand);background:0 0;box-shadow:inset 0 0 0 1.5px #007aff66}.btn.small{border-radius:8px;padding:7px 13px;font-size:14px}.btn.big{border-radius:12px;padding:17px;font-size:21px}.btn:disabled{opacity:.45;cursor:not-allowed}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.deck-item{border:1px solid var(--line);background:var(--card-solid);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:13px 15px;transition:border-color .15s,background .15s;display:flex}.deck-item.selected{border-color:var(--brand);background:#007aff0d}.deck-name{font-size:16px;font-weight:700}.deck-meta{color:var(--sub);margin-top:3px;font-size:13px;line-height:1.45}.toggle-row{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.chip{border:1px solid var(--line);background:var(--card-solid);color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:999px;padding:8px 15px;font-family:inherit;font-size:15px;font-weight:600;transition:all .15s}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.stepper{align-items:center;gap:12px;display:inline-flex}.stepper button{border:1px solid var(--line);background:var(--card-solid);cursor:pointer;width:40px;height:40px;color:var(--ink);border-radius:10px;font-family:inherit;font-size:20px;font-weight:700}.stepper .num{text-align:center;min-width:56px;font-size:20px;font-weight:700}.wiz-steps{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin:0 0 18px;display:flex}.wiz-step-wrap{align-items:center;gap:4px;display:inline-flex}.wiz-sep{background:var(--line);width:22px;height:1.5px}.wiz-step{border:1.5px solid var(--line);background:var(--card-solid);color:var(--sub);cursor:pointer;touch-action:manipulation;border-radius:999px;align-items:center;gap:7px;padding:7px 14px 7px 8px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.wiz-step:disabled{opacity:.4;cursor:not-allowed}.wiz-num{width:22px;height:22px;color:var(--sub);background:#78788029;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.wiz-step.on{border-color:var(--brand);color:var(--ink);background:#fff}.wiz-step.on .wiz-num{background:var(--brand);color:#fff}.wiz-step.done{color:var(--ok)}.wiz-step.done .wiz-num{background:var(--ok-soft);color:var(--ok)}.deck-item.as-btn{border:1.5px solid var(--line);background:var(--card-solid);cursor:pointer;text-align:left;width:100%;font-family:inherit}.deck-item.as-btn:active{transform:scale(.99)}.deck-item.as-btn .deck-go{color:var(--sub);padding:0 4px;font-size:26px;font-weight:400}.deck-tools{border-top:1px dashed var(--line);margin-top:6px;padding-top:10px}.deck-tool-row{align-items:center;gap:8px;padding:4px 2px;display:flex}.deck-tool-name{color:var(--sub);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.quiz-head{color:var(--sub);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:15px;display:flex}.streak{color:var(--warn);font-size:17px;font-weight:700}.progress-bar{background:#00000012;border-radius:999px;height:8px;margin-bottom:20px;overflow:hidden}.progress-bar>div{background:linear-gradient(90deg, var(--brand), #5ac8fa);border-radius:999px;height:100%;transition:width .3s}.kind-tag{background:var(--brand-soft);color:var(--brand);border-radius:8px;margin-bottom:14px;padding:4px 11px;font-size:14px;font-weight:600;display:inline-block}.prompt{text-align:center;word-break:break-word;margin:8px 0 6px;font-size:40px;font-weight:800;line-height:1.2}.prompt.small{font-size:26px}.hint{text-align:center;color:var(--sub);margin:0 0 20px;font-size:15px}.speak-btn{background:var(--brand-soft);cursor:pointer;border:none;border-radius:50%;width:80px;height:80px;margin:4px auto 20px;font-size:34px;transition:transform .1s;display:block}.speak-btn:active{transform:scale(.92)}.cloze-line{text-align:center;word-break:break-word;margin:10px 4px 4px;font-size:22px;line-height:1.65}.cloze-blank{border-bottom:2.5px solid var(--brand);min-width:76px;color:var(--brand);letter-spacing:1px;padding:0 6px;font-weight:700;display:inline-block}.options{flex-direction:column;gap:10px;display:flex}.option{border:1.5px solid var(--line);background:var(--card-solid);text-align:left;cursor:pointer;color:var(--ink);touch-action:manipulation;border-radius:12px;padding:14px 18px;font-family:inherit;font-size:19px;font-weight:600;transition:background .15s,border-color .15s,transform 80ms}.option:active{transform:scale(.98)}.option.correct{background:var(--ok-soft);border-color:var(--ok)}.option.wrong{background:var(--bad-soft);border-color:var(--bad)}.option:disabled{cursor:default}.spell-input{text-align:center;letter-spacing:2px;font-size:24px}.feedback{text-align:center;min-height:26px;margin:14px 0;font-size:17px;font-weight:700;line-height:1.5}.feedback.ok{color:var(--ok)}.feedback.bad{color:var(--bad)}.usage-card{background:#007aff0b;border:1px solid #007aff2e;border-radius:12px;margin-top:14px;padding:13px 15px;animation:.3s usage-in}@keyframes usage-in{0%{opacity:0;transform:translateY(6px)}}.usage-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.usage-speak{background:var(--brand-soft);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:38px;height:38px;font-size:17px}.usage-term{font-size:17px;font-weight:800}.usage-meaning{color:var(--sub);font-size:15px}.usage-row{align-items:flex-start;gap:8px;margin-top:7px;display:flex}.usage-label{color:var(--brand);background:var(--brand-soft);letter-spacing:.5px;border-radius:5px;flex-shrink:0;margin-top:2px;padding:2.5px 7px;font-size:11px;font-weight:700}.usage-label.green{color:#248a3d;background:var(--ok-soft)}.usage-label.purple{color:#8944ab;background:#af52de1f}.usage-text{word-break:break-word;flex:1;font-size:15px;line-height:1.55}.usage-trans{color:var(--sub);margin-top:3px;font-size:13px;display:block}.usage-mini-speak{cursor:pointer;opacity:.65;background:0 0;border:none;margin-left:6px;font-size:14px}.usage-card.compact{padding:10px 12px}.usage-card.compact .usage-row{margin-top:5px}.score-big{text-align:center;color:var(--brand);margin:8px 0;font-size:52px;font-weight:800}.score-meta{text-align:center;color:var(--sub);margin-bottom:18px;font-size:15px}.stars{text-align:center;margin-bottom:6px;font-size:38px}.miss-list{margin:0;padding:0;list-style:none}.miss-list li{background:#ff3b300f;border-radius:10px;justify-content:space-between;gap:12px;margin-bottom:8px;padding:11px 14px;font-size:16px;display:flex}.miss-term{font-weight:700}.miss-mean{color:var(--sub);text-align:right}.prompt-box-wrap{margin-top:12px}.prompt-box{width:100%;min-height:110px;color:var(--sub);background:#00000008;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}.steps-hint{color:var(--sub);margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.7}.steps-hint b{color:var(--ink)}.nav-row{justify-content:space-between;align-items:center;gap:8px;margin-top:14px;display:flex}.nav-row .btn{flex:1;padding:11px 10px;font-size:15px}.history-day{margin-bottom:18px}.history-day-title{color:var(--sub);align-items:center;gap:8px;margin:0 2px 10px;font-size:15px;font-weight:700;display:flex}.history-item{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:0;font-family:inherit;display:block}.history-main{align-items:center;gap:12px;padding:13px 16px;display:flex}.history-score{color:var(--brand);text-align:center;background:var(--brand-soft);border-radius:10px;min-width:64px;padding:6px 8px;font-size:20px;font-weight:800}.history-deck{font-size:16px;font-weight:700}.history-meta{color:var(--sub);margin-top:2px;font-size:13px}.history-pct{font-size:16px;font-weight:700}.history-pct.ok{color:var(--ok)}.history-pct.mid{color:var(--warn)}.history-pct.bad{color:var(--bad)}.history-words{flex-wrap:wrap;gap:7px;display:flex}.history-word{border-radius:8px;padding:5px 10px;font-size:13.5px;font-weight:600}.history-word.ok{background:var(--ok-soft);color:#1d7a35}.history-word.bad{background:var(--bad-soft);color:var(--bad)}.history-kind{opacity:.7;font-size:12px;font-weight:400}.deck-date{color:var(--sub);font-size:13px;font-weight:400}.retry-tag{color:var(--warn);background:#ff950024;border-radius:8px;margin-bottom:10px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-block}.toast{color:#fff;z-index:99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1d1d1feb;border-radius:12px;max-width:86vw;padding:12px 20px;font-size:14px;animation:.25s toast-in;position:fixed;bottom:34px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}.bounce{animation:.4s bounce;display:inline-block}@keyframes bounce{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}@media (width<=560px){.app{max-width:100%;padding:14px 10px 60px}.mac-window{border-radius:14px;box-shadow:0 2px 16px #00000014}.mac-titlebar{padding:9px 12px}.mac-titlebar .title{font-size:13px}.wiz-step{padding:6px 11px 6px 6px;font-size:12.5px}.wiz-num{width:19px;height:19px;font-size:11px}.wiz-sep{width:12px}.mac-body{padding:16px 14px 20px}.card{padding:15px 16px}.app-title{font-size:22px}.prompt{font-size:32px}.prompt.small{font-size:22px}.cloze-line{font-size:18px}.option{padding:13px 15px;font-size:17px}.btn.big{font-size:19px}.score-big{font-size:44px}.speak-btn{width:72px;height:72px;font-size:30px}.usage-text{font-size:14px}.history-main{gap:9px;padding:11px 12px}.history-score{min-width:54px;font-size:17px}.history-words{gap:5px}.history-word{padding:4px 8px;font-size:12.5px}}@supports (padding:max(0px)){.app{padding-bottom:max(60px, env(safe-area-inset-bottom))}}
