:root{--bg:#1a1a1c;--bg-elev:#242428;--bg-elev-2:#2d2d32;--text:#f5f5f5;--text-dim:#8a8a90;--text-mid:#b8b8bc;--accent:#e63946;--accent-soft:#2a1518;--gold:#d4a574;--border:#33333a;--hover-tint:#e639460f;--hover-tint-strong:#e639461f;--hover-tint-play:#e6394624;--sans:"Noto Sans KR", "Noto Sans", system-ui, sans-serif;--sans-latin:"Noto Sans", "Noto Sans KR", system-ui, sans-serif;--serif-zh:"Noto Serif SC", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;-webkit-text-size-adjust:100%;touch-action:manipulation;overflow:hidden}:root{--sa-top:env(safe-area-inset-top,0px);--sa-bot:env(safe-area-inset-bottom,0px);--sa-left:env(safe-area-inset-left,0px);--sa-right:env(safe-area-inset-right,0px)}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}#root{justify-content:center;align-items:stretch;min-height:100dvh;display:flex}.screen{justify-content:center;width:100%;height:100%;display:flex}@keyframes screen-slide-forward{0%{opacity:.4;transform:translate(28%)}to{opacity:1;transform:translate(0,0)}}@keyframes screen-slide-back{0%{opacity:.4;transform:translate(-28%)}to{opacity:1;transform:translate(0,0)}}.screen[data-nav-dir=forward]{animation:.32s cubic-bezier(.32,.72,0,1) both screen-slide-forward}.screen[data-nav-dir=back]{animation:.32s cubic-bezier(.32,.72,0,1) both screen-slide-back}@keyframes card-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.card{animation:.24s cubic-bezier(.16,1,.3,1) both card-in}@media (prefers-reduced-motion:reduce){.screen[data-nav-dir=forward],.screen[data-nav-dir=back],.card{animation:none}}.level-view{flex-direction:column;width:min(480px,100%);height:100dvh;display:flex}.level-view .navbar{padding:calc(16px + var(--sa-top)) calc(20px + var(--sa-right)) 12px calc(20px + var(--sa-left));flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.level-view .navbar-title{font-size:16px;font-weight:600}.level-grid{padding:12px calc(16px + var(--sa-right)) calc(24px + var(--sa-bot)) calc(16px + var(--sa-left));flex-direction:column;flex:1;gap:12px;display:flex;overflow-y:auto}.level-card{background:var(--bg-elev);border:1px solid var(--border);text-align:left;border-radius:20px;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;column-gap:16px;padding:22px 24px;transition:transform .12s,border-color .15s,background .15s;display:grid;position:relative;overflow:hidden}.level-card:hover{border-color:var(--accent-level);background:var(--bg-elev-2)}.level-card:active{transform:scale(.985)}.level-card:before{content:"";background:var(--accent-level);opacity:.12;filter:blur(40px);pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute;top:50%;right:-60px;transform:translateY(-50%)}.level-card-badge{font-family:var(--sans-latin);letter-spacing:.12em;color:var(--accent-level);text-transform:uppercase;grid-area:1/1;font-size:11px;font-weight:700}.level-card-num{font-family:var(--sans-latin);color:var(--text);grid-area:2/1;margin-top:2px;font-size:56px;font-weight:700;line-height:1}.level-card-sub{color:var(--text-mid);grid-area:2/2;align-self:end;padding-bottom:4px;font-size:14px}.level-card-progress{color:var(--gold);font-family:var(--sans-latin)}.level-card.placeholder{opacity:.45;cursor:not-allowed}.level-card.placeholder:hover{border-color:var(--border);background:var(--bg-elev)}.level-card.placeholder:active{transform:none}.coming-soon{letter-spacing:.08em;color:var(--text-dim);background:var(--bg-elev-2);text-transform:uppercase;z-index:1;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;position:absolute;top:14px;right:16px}.chapter-view{flex-direction:column;width:min(480px,100%);height:100dvh;display:flex}.chapter-view .navbar{padding:calc(16px + var(--sa-top)) calc(20px + var(--sa-right)) 12px calc(20px + var(--sa-left));flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.chapter-view .navbar-title{font-size:16px;font-weight:600}.chapter-view .nav-btn{width:40px;height:40px;color:var(--text);border-radius:10px;justify-content:center;justify-self:start;align-items:center;transition:background .15s;display:flex}.chapter-view .nav-btn:hover{background:var(--bg-elev)}.chapter-body{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:12px;min-height:0;padding:8px 16px 20px;display:flex;overflow-y:auto}.chapter-body::-webkit-scrollbar{display:none}.chapter-summary{color:var(--text-dim);font-size:12px;font-family:var(--sans-latin);padding:4px 8px}.chapter-tabs{background:var(--bg-elev);border-radius:12px;gap:2px;margin:0 4px;padding:3px;display:flex}.chapter-tab{color:var(--text-dim);border-radius:9px;flex:1;padding:9px 12px;font-size:13px;font-weight:600;transition:color .18s cubic-bezier(.16,1,.3,1),background .18s cubic-bezier(.16,1,.3,1)}.chapter-tab:hover:not(.active){color:var(--text-mid)}.chapter-tab.active{background:var(--bg-elev-2);color:var(--text)}.chapter-row.topic-row{gap:12px}.topic-icon{background:var(--bg-elev-2);width:36px;height:36px;color:var(--gold);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s cubic-bezier(.16,1,.3,1);display:inline-flex}.chapter-row.topic-row:hover .topic-icon{background:color-mix(in srgb, var(--gold) 18%, var(--bg-elev-2))}.chapter-loading,.chapter-error{text-align:center;color:var(--text-dim);padding:40px 20px;font-size:14px}.chapter-error{color:var(--accent)}.chapter-list{flex-direction:column;gap:8px;display:flex}.chapter-row{background:var(--bg-elev);text-align:left;border:1px solid #0000;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.chapter-row:hover{border-color:var(--border);background:var(--bg-elev-2)}.chapter-row-left{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.chapter-row-title{color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.chapter-row.placeholder{opacity:.55}.chapter-row.placeholder:hover{opacity:.8}.chapter-row.favorites-row{background:linear-gradient(135deg, color-mix(in srgb, var(--gold) 14%, var(--bg-elev)), var(--bg-elev));border-color:color-mix(in srgb, var(--gold) 30%, transparent)}.chapter-row.favorites-row:hover{border-color:var(--gold);background:linear-gradient(135deg, color-mix(in srgb, var(--gold) 22%, var(--bg-elev)), var(--bg-elev-2))}.favorites-icon{color:var(--gold);align-items:center;display:inline-flex}.chapter-row.favorites-row.empty{border:1px dashed color-mix(in srgb, var(--gold) 32%, var(--border));cursor:default;background:0 0}.chapter-row.favorites-row.empty:hover{border-color:color-mix(in srgb, var(--gold) 32%, var(--border));background:0 0}.chapter-row.favorites-row.empty .chapter-row-title{color:var(--text-mid)}.chapter-row.favorites-row.empty .favorites-icon{color:color-mix(in srgb, var(--gold) 60%, var(--text-dim))}.chapter-row.favorites-row.empty .chapter-row-preview{font-family:var(--sans);color:var(--text-dim);font-style:italic}.coming-soon-inline{letter-spacing:.08em;color:var(--text-dim);background:var(--bg-elev-2);text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:700}.chapter-row-progress{font-size:11px;font-weight:500;font-family:var(--sans-latin);color:var(--gold)}.chapter-row-preview{font-family:var(--serif-zh);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.chapter-row-right{color:var(--text-dim);flex-shrink:0;align-items:center;gap:4px;display:flex}.chapter-row-range{font-family:var(--sans-latin);font-size:12px}.chapter-row-chevron{opacity:.6;width:16px;height:16px;transform:rotate(180deg)}.select-hint{color:var(--accent);font-size:13px;font-weight:500}.chapter-row.selectable{cursor:pointer}.chapter-row.selected{border-color:var(--accent);background:var(--accent-soft)}.chapter-row.selected:hover{background:var(--accent-soft)}.chapter-check{color:var(--text-dim);justify-content:center;align-items:center;transition:color .15s;display:flex}.chapter-row.selected .chapter-check{color:var(--accent)}.chapter-cta{padding:12px calc(16px + var(--sa-right)) calc(20px + var(--sa-bot)) calc(16px + var(--sa-left));flex-shrink:0;gap:10px;display:flex}.cta-btn{border-radius:16px;flex:1;padding:14px;font-size:15px;font-weight:600;transition:transform .12s,background .15s,color .15s,filter .15s,border-color .15s,opacity .15s}.cta-btn:not(:disabled):active{transform:scale(.98)}.cta-btn:disabled{opacity:.4;cursor:not-allowed}.cta-btn.primary{background:var(--accent);color:#fff}.cta-btn.primary:not(:disabled):hover{filter:brightness(1.1)}.cta-btn.secondary{color:var(--text-mid);border:1px solid var(--border);background:0 0}.cta-btn.secondary:not(:disabled):hover{color:var(--text);border-color:var(--text-mid)}.words-view{flex-direction:column;width:min(480px,100%);height:100dvh;display:flex}.words-loading{color:var(--text-dim);justify-content:center;align-items:center;font-size:14px}.words-view .navbar{padding:calc(16px + var(--sa-top)) calc(20px + var(--sa-right)) 12px calc(20px + var(--sa-left));flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.words-view .navbar-title{font-size:16px;font-weight:600}.words-view .nav-btn{width:40px;height:40px;color:var(--text);border-radius:10px;justify-content:center;justify-self:start;align-items:center;transition:background .15s;display:flex}.words-view .nav-btn:hover{background:var(--bg-elev)}.words-summary{color:var(--text-dim);font-size:12px;font-family:var(--sans-latin);flex-shrink:0;padding:4px 20px 10px}.words-list{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:6px;min-height:0;padding:0 16px 8px;display:flex;overflow-y:auto}.words-list::-webkit-scrollbar{display:none}.word-row{background:var(--bg-elev);text-align:left;color:var(--text);border:1px solid #0000;border-radius:14px;grid-template-columns:28px auto 1fr auto;align-items:center;gap:14px;width:100%;padding:12px 16px;transition:border-color .15s,background .15s;display:grid}.word-row:hover{border-color:var(--border);background:var(--bg-elev-2)}.word-row-index{font-family:var(--sans-latin);color:var(--text-dim);font-size:12px;font-weight:500}.word-row-hanzi{font-family:var(--serif-zh);letter-spacing:-.01em;min-width:56px;font-size:24px;font-weight:500;line-height:1.1}.word-row-body{flex-direction:column;gap:2px;min-width:0;display:flex}.word-row-pinyin{font-family:var(--sans-latin);color:var(--gold);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.word-row-meaning{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.word-row-meaning.empty{color:var(--text-dim);font-style:italic}.word-row-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.word-row-speaker{color:var(--text-dim);opacity:.6;flex-shrink:0;transition:opacity .15s,color .15s;display:inline-flex}.word-row:hover .word-row-speaker{opacity:1;color:var(--text-mid)}.word-row-star{width:32px;height:32px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;transition:color .15s,background .15s,transform .12s;display:inline-flex}.word-row-star:hover{background:var(--bg-elev-2);color:var(--gold)}.word-row-star:active{transform:scale(.9)}.word-row-star.on{color:var(--gold)}.words-cta{padding:12px calc(16px + var(--sa-right)) calc(20px + var(--sa-bot)) calc(16px + var(--sa-left));flex-shrink:0}.start-btn{background:var(--accent);color:#fff;border-radius:16px;width:100%;padding:14px;font-size:15px;font-weight:600;transition:transform .12s,filter .15s}.start-btn:hover{filter:brightness(1.1)}.start-btn:active{transform:scale(.98)}.card{background:var(--bg-elev);border-radius:22px;flex-direction:column;flex:1;min-height:0;max-height:640px;margin:4px 16px 16px;display:flex;overflow:hidden}.region{cursor:pointer;padding:0 20px;transition:background .22s cubic-bezier(.16,1,.3,1);position:relative}.region:hover{background:var(--hover-tint)}.region:active{background:var(--hover-tint-strong)}.region.playing{background:var(--hover-tint-play)}.word-region{flex-direction:column;flex:auto;min-height:180px;padding-top:16px;padding-bottom:20px;display:flex}.card-top{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.star{width:32px;height:32px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;transition:color .2s,background .2s,transform .12s;display:inline-flex}.star:hover{background:var(--bg-elev-2);color:var(--gold)}.star:active{transform:scale(.9)}.star.on{color:var(--gold)}.card-top-right{align-items:center;gap:6px;display:flex}.script-toggle{background:var(--bg-elev-2);border-radius:14px;gap:2px;padding:3px;display:inline-flex}.script-opt{font-family:var(--serif-zh);color:var(--text-dim);border-radius:11px;min-width:28px;padding:4px 10px;font-size:14px;font-weight:500;transition:color .2s,background .2s}.script-opt:hover:not(.active){color:var(--text-mid)}.script-opt.active{background:var(--accent);color:#fff}.icon-btn{background:var(--bg-elev-2);width:32px;height:32px;color:var(--text-mid);border-radius:50%;justify-content:center;align-items:center;transition:color .2s,background .2s;display:flex}.icon-btn:hover{color:var(--text)}.eye-btn.active{background:var(--accent-soft);color:var(--accent)}.word-display{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;min-height:0;display:flex}.hanzi{font-family:var(--serif-zh);letter-spacing:-.02em;font-size:84px;font-weight:500;line-height:1.1}.pinyin{font-family:var(--sans-latin);color:var(--gold);letter-spacing:.06em;opacity:0;font-size:22px;font-weight:500;transition:opacity .3s}.pinyin.revealed{opacity:1}.meaning{color:var(--text);opacity:0;min-height:1.4em;font-size:15px;font-weight:500;transition:opacity .3s}.meaning.revealed{opacity:1}.meaning.empty{color:var(--text-dim);font-style:italic}.divider{background:var(--border);flex-shrink:0;height:1px;margin:0 20px}.example-region{text-align:center;flex-direction:column;flex-shrink:0;padding-top:14px;padding-bottom:18px;display:flex}.example-region.empty{cursor:default}.example-region.empty:hover,.example-region.empty:active{background:0 0}.example-empty{color:var(--text-dim);padding:20px 0 8px;font-size:13px;font-style:italic}.example{padding-top:26px;padding-bottom:6px;position:relative}.example-zh{font-family:var(--serif-zh);color:var(--text);font-size:18px;font-weight:500;line-height:1.5}.example-pinyin{font-family:var(--sans-latin);color:var(--gold);letter-spacing:.04em;opacity:0;margin-top:6px;font-size:13px;line-height:1.4;transition:opacity .3s}.example-pinyin.revealed{opacity:1}.example-ko{color:var(--text-dim);opacity:0;margin-top:8px;font-size:14px;line-height:1.5;transition:opacity .3s}.example-ko.revealed{opacity:1}.speaker-hint{color:var(--text-dim);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .2s,color .2s;display:flex;position:absolute;left:50%;transform:translate(-50%)}.word-hint{bottom:16px}.example-hint{top:4px}.word-region:hover .word-hint,.example-region:hover .example-hint{opacity:.6}.word-region.playing .word-hint,.example-region.playing .example-hint{opacity:1;color:var(--accent)}.reveal-bar{cursor:default;grid-template-columns:40px 1fr 1fr 1fr;align-items:center;gap:8px;margin-top:14px;display:grid}.reveal-bar .slot-hidden{opacity:0;pointer-events:none}.hide-btn{border:1px solid var(--border);width:40px;height:40px;color:var(--text-dim);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:color .15s,border-color .15s,opacity .2s cubic-bezier(.16,1,.3,1);display:flex}.hide-btn:hover{color:var(--text);border-color:var(--text-mid)}.reveal-btn{border:1px solid var(--border);color:var(--text-mid);background:0 0;border-radius:20px;padding:10px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s,background .15s,opacity .2s cubic-bezier(.16,1,.3,1)}.reveal-btn:hover{color:var(--text);border-color:var(--text-mid)}.reveal-btn.active{background:var(--bg-elev-2);color:var(--text);border-color:var(--bg-elev-2)}.audio-settings{position:relative}.settings-btn.active{background:var(--bg-elev);color:var(--text)}.audio-settings-popover{background:var(--bg-elev);border:1px solid var(--border);z-index:50;transform-origin:100% 0;border-radius:14px;flex-direction:column;gap:12px;min-width:230px;padding:10px;animation:.18s cubic-bezier(.16,1,.3,1) both settings-pop;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000059}@keyframes settings-pop{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.audio-settings-popover{animation:none}}.setting-group{flex-direction:column;gap:6px;display:flex}.setting-label{color:var(--text-dim);letter-spacing:.04em;padding:0 4px;font-size:11px;font-weight:600}.segmented{background:var(--bg-elev-2);border-radius:10px;gap:2px;padding:3px;display:flex}.segment{color:var(--text-dim);white-space:nowrap;border-radius:8px;flex:1;padding:7px 8px;font-size:12px;font-weight:600;transition:color .18s cubic-bezier(.16,1,.3,1),background .18s cubic-bezier(.16,1,.3,1)}.segment:hover:not(.active){color:var(--text-mid)}.segment.active{background:var(--bg-elev);color:var(--text);box-shadow:0 1px 2px #0003}.learn-view{flex-direction:column;width:min(480px,100%);height:100dvh;display:flex}.learn-loading{color:var(--text-dim);justify-content:center;align-items:center;font-size:14px}.preload-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px 24px;display:flex}.preload-glyph{font-family:var(--serif-zh);color:var(--gold);margin-bottom:12px;font-size:72px;line-height:1;animation:1.6s ease-in-out infinite preload-pulse}@keyframes preload-pulse{0%,to{opacity:.6}50%{opacity:1}}.preload-title{font-size:18px;font-weight:700}.preload-sub{color:var(--text-dim);max-width:280px;margin-bottom:12px;font-size:13px;line-height:1.5}.preload-bar{background:var(--bg-elev);border-radius:3px;width:min(320px,80%);height:6px;overflow:hidden}.preload-fill{background:linear-gradient(90deg, var(--gold), #e0b383);border-radius:3px;height:100%;transition:width .2s linear}.preload-count{font-family:var(--sans-latin);color:var(--text-dim);font-size:12px}.navbar{padding:calc(16px + var(--sa-top)) calc(20px + var(--sa-right)) 12px calc(20px + var(--sa-left));flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.navbar>:first-child{justify-self:start}.navbar>:last-child{justify-self:end}.navbar-title{font-size:16px;font-weight:600}.nav-btn{width:40px;height:40px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;transition:background .15s;display:flex}.nav-btn:hover{background:var(--bg-elev)}.shuffle-btn{width:40px;height:40px;color:var(--text-dim);border-radius:10px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.shuffle-btn:hover{background:var(--bg-elev);color:var(--text)}.shuffle-btn.active{color:var(--accent);background:var(--accent-soft)}.navbar-actions{align-items:center;gap:4px;display:flex}.navbar-actions .nav-btn{color:var(--text-dim)}.navbar-actions .nav-btn:hover{color:var(--text)}.progress-row{font-family:var(--sans-latin);flex-shrink:0;align-items:center;gap:14px;padding:4px 20px 14px;display:flex}.progress-count{min-width:52px;font-size:14px;font-weight:600}.progress-bar{background:var(--bg-elev);border-radius:3px;flex:1;height:6px;position:relative}.progress-fill{background:linear-gradient(90deg, var(--gold), #e0b383);border-radius:3px;transition:width .4s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;bottom:0;left:0}.progress-dot{background:var(--gold);border-radius:50%;width:10px;height:10px;transition:left .4s cubic-bezier(.2,.8,.2,1);position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px #d4a574b3}.answer-counts{flex-shrink:0;gap:6px;display:flex}.count-badge{min-width:22px;height:22px;font-size:11px;font-weight:700;font-family:var(--sans-latin);color:#fff;border-radius:11px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.count-badge.again{background:var(--accent)}.count-badge.know{background:var(--gold);color:#1a1a1c}.action-bar{padding:12px calc(16px + var(--sa-right)) calc(20px + var(--sa-bot)) calc(16px + var(--sa-left));flex-shrink:0;align-items:center;gap:12px;display:flex}.action-pills{flex:1;align-items:stretch;gap:8px;display:flex}.action-icon{width:48px;height:48px;color:var(--text-dim);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .12s,background .15s,color .15s,opacity .15s;display:flex;position:relative}.action-icon:not(:disabled):hover{background:var(--bg-elev-2);color:var(--text)}.action-icon:not(:disabled):active{transform:scale(.94)}.action-icon:disabled{opacity:.35;cursor:not-allowed}.action-icon.autoplay.playing{background:var(--accent);color:#fff}.action-icon.autoplay.playing:hover{background:var(--accent);filter:brightness(1.1)}.action-icon.autoplay.playing:before{content:"";-webkit-mask-composite:xor;filter:drop-shadow(0 0 4px #ffffff80);pointer-events:none;background:conic-gradient(#0000 0deg 230deg,#fff6 270deg,#fff 320deg,#fff6 350deg,#0000 360deg);border-radius:50%;padding:2px;animation:2.6s linear infinite spin-stroke;position:absolute;inset:-3px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes spin-stroke{to{transform:rotate(1turn)}}.action-pill{border-radius:16px;flex:1;padding:14px;font-size:15px;font-weight:600;transition:transform .12s,background .15s,color .15s,filter .15s}.action-pill:active{transform:scale(.97)}.action-pill.again{background:var(--bg-elev);color:var(--text-mid)}.action-pill.again:hover{background:var(--bg-elev-2);color:var(--text)}.action-pill.know{background:var(--accent);color:#fff}.action-pill.know:hover{filter:brightness(1.1)}.done{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.done-glyph{font-family:var(--serif-zh);color:var(--accent);margin-bottom:24px;font-size:96px;line-height:1}.done.all-known .done-glyph{color:var(--gold)}.done-title{margin-bottom:8px;font-size:22px;font-weight:700}.done-sub{color:var(--text-dim);margin-bottom:36px;font-size:14px}.done-stats{gap:48px;margin-bottom:40px;display:flex}.stat-num{font-family:var(--sans-latin);color:var(--text);font-size:36px;font-weight:700}.stat-num.again-num{color:var(--accent)}.stat-label{color:var(--text-dim);margin-top:4px;font-size:12px}.done-buttons{flex-direction:column;gap:10px;width:100%;max-width:320px;display:flex}.done-btn{border-radius:16px;width:100%;padding:14px;font-size:15px;font-weight:600;transition:transform .12s,filter .15s,background .15s,color .15s}.done-btn:active{transform:scale(.98)}.done-btn.primary{background:var(--accent);color:#fff}.done-btn.primary:hover{filter:brightness(1.1)}.done-btn.secondary{color:var(--text-mid);border:1px solid var(--border);background:0 0}.done-btn.secondary:hover{color:var(--text);border-color:var(--text-mid)}
