:root{--display:"Bricolage Grotesque","Noto Sans SC",system-ui,sans-serif;--body:"Latin Punct","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--zh-serif:"Noto Serif SC","Songti SC","SimSun",serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--bg:#f5f7f6;--surface:#fff;--ink:#1c2422;--muted:#5d6b67;--line:#d9e1de;--accent:#1f6b5c;--accent-soft:#e2efeb;--on-accent:#fff;--yellow:#e8b923;--yellow-ink:#3b2e00;--good:#1e7a45;--good-bg:#e3f3e9;--bad:#b3382c;--bad-bg:#f9e5e2;--paper:#fbfaf6;--paper-ink:#2a2620;--skill-reading:#2b5faa;--skill-reading-bg:#e8eff9;--skill-listening:#7347b8;--skill-listening-bg:#f0eafa;--skill-writing:#a84f0d;--skill-writing-bg:#fbefe4;--skill-speaking:#a8357a;--skill-speaking-bg:#f9e9f2;--shadow:0 1px 2px #1c24220d,0 6px 20px #1c24220f;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--r-control:12px;--r-card:16px;--r-hero:20px;--r-pill:999px;--tap:44px;--content-max:860px;--editor-max:1100px;--sidenav-w:232px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121816;--surface:#1a2220;--ink:#e6eeeb;--muted:#9aaba6;--line:#2d3a37;--accent:#6cc4ad;--accent-soft:#1f3631;--on-accent:#0e1513;--yellow:#e8b923;--yellow-ink:#2a2000;--good:#7fd6a0;--good-bg:#16301f;--bad:#f19a8f;--bad-bg:#3a1c18;--paper:#202826;--paper-ink:#ece6da;--skill-reading:#8db0ea;--skill-reading-bg:#1d2838;--skill-listening:#b79aeb;--skill-listening-bg:#272137;--skill-writing:#f0a060;--skill-writing-bg:#33241a;--skill-speaking:#eb94c8;--skill-speaking-bg:#33202c;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121816;--surface:#1a2220;--ink:#e6eeeb;--muted:#9aaba6;--line:#2d3a37;--accent:#6cc4ad;--accent-soft:#1f3631;--on-accent:#0e1513;--yellow:#e8b923;--yellow-ink:#2a2000;--good:#7fd6a0;--good-bg:#16301f;--bad:#f19a8f;--bad-bg:#3a1c18;--paper:#202826;--paper-ink:#ece6da;--skill-reading:#8db0ea;--skill-reading-bg:#1d2838;--skill-listening:#b79aeb;--skill-listening-bg:#272137;--skill-writing:#f0a060;--skill-writing-bg:#33241a;--skill-speaking:#eb94c8;--skill-speaking-bg:#33202c;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--read:var(--skill-reading);--read-bg:var(--skill-reading-bg);--listen:var(--skill-listening);--listen-bg:var(--skill-listening-bg);--write:var(--skill-writing);--write-bg:var(--skill-writing-bg);--speak:var(--skill-speaking);--speak-bg:var(--skill-speaking-bg);--skel:#e7ecea;--topbar-h:56px;--bnav-h:82px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--skel:#24302d}}:root[data-theme=dark]{--skel:#24302d}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--body);margin:0;font-size:16px;line-height:1.55;overflow-x:hidden}p{margin:0}a{color:var(--accent)}a:hover{color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:50;background:var(--accent);color:var(--on-accent);border-radius:12px;padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{color:var(--on-accent);top:12px}.col{flex-direction:column;display:flex}.row{align-items:center;display:flex}.wrapr{flex-wrap:wrap;display:flex}.grow{flex:1;min-width:0}.d{font-family:var(--display)}.zh{font-family:var(--zh-serif)}.mono{font-family:var(--mono)}.mut{color:var(--muted)}.sm{font-size:14px}.xs{font-size:13px}.b{font-weight:700}.h1{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:26px;font-weight:800;line-height:1.15}.h2{font-family:var(--display);margin:0;font-size:20px;font-weight:800;line-height:1.25}.h3{font-family:var(--display);margin:0;font-size:17px;font-weight:600;line-height:1.3}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-hero);box-shadow:var(--shadow)}.paper{background:var(--paper);color:var(--paper-ink);font-family:var(--zh-serif);border:6px solid var(--line);border-radius:4px}.soft{background:var(--accent-soft);border-radius:14px}.btn{border-radius:var(--r-control);background:var(--accent);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 24px;font-size:17px;font-weight:700;text-decoration:none;display:flex;color:var(--on-accent)!important}.btn2{min-height:var(--tap);border-radius:var(--r-control);border:1.5px solid var(--accent);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;color:var(--accent)!important}.lnk{min-height:var(--tap);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex;color:var(--accent)!important}.danger{min-height:var(--tap);border-radius:var(--r-control);background:var(--bad);cursor:pointer;border:0;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:15px;font-weight:700;display:inline-flex;color:var(--surface)!important}.ibtn{width:var(--tap);height:var(--tap);border-radius:var(--r-control);color:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.btn:disabled,.btn2:disabled,.lnk:disabled{opacity:.5;cursor:not-allowed}.pill{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:6px;height:30px;padding:0 12px 0 9px;font-size:14px;font-weight:700;display:inline-flex}.tag{border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);white-space:nowrap;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.bar{background:var(--line);border-radius:3px;height:6px;display:block;overflow:hidden}.bar>span{background:var(--accent);height:100%;display:block}.seg{border-radius:var(--r-control);background:var(--surface);border:1px solid var(--line);padding:3px;display:flex}.seg button{min-height:38px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;flex:1;padding:0 12px;font-size:14px;font-weight:500}.seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:700}.chipbtn{border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.chipbtn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.skel{background:var(--skel);border-radius:8px}.fld{flex-direction:column;gap:6px;display:flex}.fld>label,.lab{font-size:15px;font-weight:700}.inp{border-radius:var(--r-control);border:1.5px solid var(--line);background:var(--surface);min-height:48px;color:var(--ink);width:100%;padding:0 14px}.inp.err{border-color:var(--bad)}.alert{border-radius:var(--r-control);gap:10px;padding:12px 14px;font-size:15px;display:flex}.alert.bad{background:var(--bad-bg);color:var(--ink)}.alert.info{background:var(--accent-soft)}.check{min-height:var(--tap);cursor:pointer;align-items:flex-start;gap:10px;font-size:15px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}.opt{text-align:left;border-radius:var(--r-control);border:2px solid var(--line);background:var(--surface);min-height:54px;color:var(--ink);cursor:pointer;align-items:center;gap:12px;width:100%;padding:8px 12px;display:flex}.opt .k{border:1.5px solid var(--line);width:30px;height:30px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.opt .t{flex:1;min-width:0}.opt .s{flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.opt.sel{background:var(--accent-soft);border-color:var(--accent)}.opt.sel .k{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.opt.ok{background:var(--good-bg);border-color:var(--good)}.opt.ok .k{background:var(--good);border-color:var(--good);color:var(--good-bg)}.opt.ok .s{color:var(--good)}.opt.no{background:var(--bad-bg);border-color:var(--bad)}.opt.no .k{background:var(--bad);border-color:var(--bad);color:var(--bad-bg)}.opt.no .t{text-decoration:line-through}.opt.no .s{color:var(--bad)}.opt.dim{color:var(--muted)}mark{background:var(--yellow);color:var(--yellow-ink);border-radius:3px;padding:0 2px}.mark{background:var(--accent);width:28px;height:28px;color:var(--on-accent);font-family:var(--zh-serif);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.mark.lg{border-radius:9px;width:34px;height:34px;font-size:19px}.av{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.app{min-height:100vh;min-height:100dvh;display:flex}.app-body{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:3;height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 6px 0 16px;display:flex;position:sticky;top:0}.topbar .brand{color:var(--ink);min-height:var(--tap);align-items:center;gap:8px;text-decoration:none;display:flex}.topbar .brand-name{font-family:var(--display);font-size:16px;font-weight:800}.topbar .ibtn{text-decoration:none}.snav{width:var(--sidenav-w);background:var(--surface);border-right:1px solid var(--line);height:100vh;flex-direction:column;flex-shrink:0;gap:4px;height:100dvh;padding:20px 14px;display:none;position:sticky;top:0;overflow-y:auto}.snav .brand{color:var(--ink);align-items:center;gap:10px;padding:4px 8px 22px;text-decoration:none;display:flex}.snav .brand-text{flex-direction:column;line-height:1.15;display:flex}.snav .brand-text b{font-family:var(--display);font-size:16px;font-weight:800}.snav .brand-text span{color:var(--muted);font-size:13px}.snav a.it{height:var(--tap);border-radius:var(--r-control);color:var(--muted);align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.snav a.it:hover{color:var(--ink);background:color-mix(in srgb, var(--accent-soft) 50%, transparent)}.snav a.it[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}.snav .spacer{flex:1}.snav .profile{border-radius:var(--r-control);min-height:48px;color:var(--ink);border:1px solid var(--line);align-items:center;gap:10px;padding:6px 10px;text-decoration:none;display:flex}.snav .profile[aria-current=page]{border-color:var(--accent);background:var(--accent-soft)}.snav .profile-text{flex-direction:column;line-height:1.2;display:flex}.snav .profile-text b{font-size:15px}.snav .profile-text span{color:var(--muted);font-size:13px}.snav .disclaimer{color:var(--muted);margin:10px 8px 0;font-size:12px;line-height:1.45}.bnav{z-index:4;padding:6px 4px calc(12px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #00000014}.bnav a{min-height:52px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.bnav a .ib{border-radius:var(--r-pill);justify-content:center;align-items:center;width:56px;height:30px;display:flex}.bnav a[aria-current=page]{color:var(--accent);font-weight:700}.bnav a[aria-current=page] .ib{background:var(--accent-soft)}.main{min-width:0;padding:18px 16px calc(96px + env(safe-area-inset-bottom,0px));flex:1}.main:focus{outline:none}.page{max-width:var(--content-max);flex-direction:column;gap:16px;margin:0 auto;display:flex}.page.wide{max-width:var(--editor-max)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.page-head h1:focus,.page-head h1:focus-visible{outline:none}.app.focus .snav,.app.focus .bnav,.app.focus .topbar{display:none}.app.focus .main{padding:0!important}@media (min-width:768px){.snav{display:flex}.topbar,.bnav{display:none}.main{padding:28px 32px 32px}.page{gap:18px}.h1{font-size:30px}}.empty{align-items:flex-start;gap:12px;padding:22px}.empty .ico{border-radius:var(--r-control);background:var(--accent-soft);width:44px;height:44px;color:var(--accent);justify-content:center;align-items:center;display:flex}.empty .actions{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.empty .actions .btn{flex:220px}.note{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.setting{gap:10px;padding:18px}.setting .seg{max-width:360px}.kv{grid-template-columns:auto 1fr;gap:4px 16px;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@font-face{font-family:Latin Punct;src:local(Segoe UI),local(Helvetica Neue),local(Helvetica),local(Arial),local(Roboto),local(DejaVu Sans),local(Liberation Sans);unicode-range:U+2018-201D,U+2026}.crumb{color:var(--muted);align-items:center;gap:4px;min-height:32px;font-size:14px;display:flex}.crumb a{color:var(--accent)}.back{min-height:var(--tap);color:var(--accent);align-items:center;gap:4px;font-weight:500;text-decoration:none;display:inline-flex}.lede{color:var(--muted)}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sel{border-radius:var(--r-control);border:1.5px solid var(--line);background:var(--surface);min-height:48px;color:var(--ink);width:100%;padding:0 14px;font-size:16px}.dot{border-radius:3px;flex-shrink:0;width:9px;height:9px;display:inline-block}.muted-note{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.pill-saved{color:var(--good);white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:inline-flex}.pill-saved.off{color:var(--muted)}.chip-timer{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);white-space:nowrap;align-items:center;gap:6px;height:40px;padding:0 14px;font-size:15px;display:inline-flex}.chip-timer b{font-family:var(--display);font-size:17px}.chip-timer.low{border-color:var(--bad)}.skill-chip{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:6px;height:30px;padding:0 12px 0 9px;font-size:14px;font-weight:700;display:inline-flex}.skill-chip.reading{background:var(--read-bg);color:var(--read)}.skill-chip.listening{background:var(--listen-bg);color:var(--listen)}.skill-chip.writing{background:var(--write-bg);color:var(--write)}.skill-chip.speaking{background:var(--speak-bg);color:var(--speak)}.alert.warn{background:var(--accent-soft);color:var(--ink)}.alert svg{flex-shrink:0;margin-top:2px}.acts{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.act{border-radius:var(--r-card);border:1px solid var(--line);background:var(--surface);color:var(--ink);align-items:center;gap:14px;min-height:88px;padding:16px 14px;text-decoration:none;display:flex}.act:hover{border-color:var(--accent)}.act[aria-disabled=true]{opacity:.65;cursor:default}.act[aria-disabled=true]:hover{border-color:var(--line)}.act .tile{width:44px;height:44px;font-family:var(--zh-serif);background:var(--accent-soft);color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:flex}.act .tile.reading{background:var(--read-bg);color:var(--read)}.act .tile.listening{background:var(--listen-bg);color:var(--listen)}.act .tile.writing{background:var(--write-bg);color:var(--write)}.act .tile.speaking{background:var(--speak-bg);color:var(--speak)}.act .t{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.act .t b{font-family:var(--display);font-size:17px;font-weight:600}.act .t span{color:var(--muted);font-size:14px}.act .t em{color:var(--accent);font-size:13px;font-style:normal;font-weight:700}.act .chev{color:var(--muted);flex-shrink:0}.filters{flex-direction:column;gap:12px;display:flex}.filters .two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.offline-card{gap:10px;padding:16px}.fshell{min-height:100vh;background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.fbar{z-index:3;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:64px;padding:8px 12px;display:flex;position:sticky;top:0}.fbar .exit{min-height:var(--tap);color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;font-size:16px;text-decoration:none;display:inline-flex}.fbar .mid{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.fbar .mid b{font-size:15px}.fbar .mid .bar{width:100%;max-width:520px;height:6px}.fbar .end{align-items:center;gap:10px;display:flex}.fbody{flex:1;padding:18px 16px 24px}.fbody>.inner{max-width:var(--content-max);flex-direction:column;gap:16px;margin:0 auto;display:flex}.fbody>.inner.wide{max-width:var(--editor-max)}.ffoot{z-index:3;background:var(--surface);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));position:sticky;bottom:0}.ffoot>.inner{max-width:var(--content-max);align-items:center;gap:16px;margin:0 auto;display:flex}.ffoot>.inner.wide{max-width:var(--editor-max)}.ffoot .hint{color:var(--muted);flex:1;font-size:14px;display:none}.ffoot .btn{flex:1}@media (min-width:768px){.fbar{padding:8px 28px}.fbody{padding:24px 32px 32px}.ffoot{padding:14px 32px}.ffoot .hint{display:block}.ffoot .btn{flex:none;min-width:180px}}.situation .eyebrow{color:var(--muted)}.situation p{margin-top:2px}.passage{background:var(--paper);color:var(--paper-ink);font-family:var(--zh-serif);border:6px solid var(--line);overflow-wrap:anywhere;border-radius:4px;padding:18px;font-size:22px;line-height:1.8}.passage.article,.passage.message{font-size:19px;line-height:1.85}.passage.sign,.passage.card{text-align:center;padding:26px 18px;font-size:24px}.passage .big{letter-spacing:.08em;font-size:40px;font-weight:600;line-height:1.3}.passage.card .big{letter-spacing:.02em;font-size:34px}.passage table{border-collapse:collapse;margin:0 auto 10px;font-size:20px}.passage th,.passage td{border-bottom:1px solid var(--line);text-align:left;padding:6px 14px}.passage th{font-weight:600}.passage mark{background:var(--yellow);color:var(--yellow-ink)}.qlayout{flex-direction:column;gap:16px;display:flex}@media (min-width:1024px){.qlayout.split{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}}.stem{font-family:var(--display);font-size:19px;font-weight:600;line-height:1.3}.opts{flex-direction:column;gap:10px;display:flex}.opt .k{text-transform:uppercase}.fb{border-radius:var(--r-card);gap:12px;padding:16px;display:flex}.fb.ok{background:var(--good-bg)}.fb.no{background:var(--surface);border:1px solid var(--line)}.fb .ic{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.fb.ok .ic{background:var(--good);color:var(--good-bg)}.fb.no .ic{background:var(--bad-bg);color:var(--bad)}.fb .body{flex-direction:column;gap:6px;min-width:0;display:flex}.fb .body b.v{font-family:var(--display);font-size:17px}.fb.ok .body b.v{color:var(--good)}.fb .ev{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.fb .ev mark{font-family:var(--zh-serif);font-size:19px}.score-line{color:var(--muted);font-size:14px}.wgrid{flex-direction:column;gap:16px;display:flex}@media (min-width:1024px){.wgrid{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:28px;display:grid}}.prompt-card{gap:8px;padding:18px}.prompt-card ul{flex-direction:column;gap:6px;margin:4px 0 0;padding-left:20px;display:flex}.editor{resize:vertical;border-radius:var(--r-control);border:2px solid var(--accent);background:var(--surface);width:100%;min-height:320px;color:var(--ink);font-family:var(--body);padding:14px 16px;font-size:18px;line-height:1.9}@media (min-width:1024px){.editor{min-height:460px}}.meter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;display:flex}.meter-row .m{flex-direction:column;flex:220px;gap:6px;display:flex}.ime-note{color:var(--muted);align-items:flex-start;gap:8px;font-size:14px;display:flex}.ime-note .k{border:1px solid var(--line);font-family:var(--body);color:var(--ink);background:var(--surface);border-radius:6px;padding:0 6px}.model{font-family:var(--zh-serif);font-size:19px;line-height:1.9}.model mark{background:var(--yellow);color:var(--yellow-ink)}.selfcheck{flex-direction:column;gap:8px;margin:0;padding-left:22px;display:flex}.prompt-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.prompt-list a{color:var(--ink);text-decoration:none}.daybar{scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.daybar .chipbtn{flex-shrink:0}.stack{background:var(--line);border-radius:5px;height:10px;display:flex;overflow:hidden}.stack span{height:100%;display:block}.stack .k{background:var(--accent)}.stack .l{background:var(--yellow)}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:14px;display:flex}.legend b{color:var(--ink)}.legend .sw{border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.fcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);flex-direction:column;gap:10px;min-height:190px;padding:14px;display:flex;position:relative}.fcard.open{border:1.5px solid var(--accent)}.fcard .top{justify-content:space-between;align-items:center;gap:8px;display:flex}.fcard .face{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:130px;display:flex}.fcard .face:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fcard .face .zh{font-family:var(--zh-serif);color:var(--ink);font-size:36px}.fcard .face small{color:var(--muted);font-size:13px}.fcard .back{flex-direction:column;gap:4px;display:flex}.fcard .head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-bottom:8px;display:flex}.fcard .head .zh{font-family:var(--zh-serif);font-size:26px}.fcard .py{font-family:var(--mono);color:var(--accent)}.fcard .ex{border-bottom:1px solid var(--line);align-items:flex-start;gap:8px;padding:8px 0;display:flex}.fcard .ex .s{flex:1;min-width:0}.fcard .ex .zh{font-family:var(--zh-serif);font-size:18px;line-height:1.6}.fcard .ex .en{color:var(--muted);font-size:14px}.st{border-radius:var(--r-pill);align-items:center;height:24px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.st.new{background:var(--line);color:var(--ink)}.st.learning{background:var(--yellow);color:var(--yellow-ink)}.st.known{background:var(--good-bg);color:var(--good)}.gotit{border:1px solid var(--line);border-radius:var(--r-control);grid-template-columns:1fr 1fr;gap:0;margin-top:6px;padding:3px;display:grid}.gotit button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:15px}.gotit button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:700}.flipback{align-self:center}@media (prefers-reduced-motion:no-preference){.fcard .back,.fcard .face{animation:.18s ease-out fadein}}@keyframes fadein{0%{opacity:0}to{opacity:1}}.spk{width:40px;height:40px;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.spk.big{background:var(--accent-soft);width:56px;height:56px}.spk.on{background:var(--accent);color:var(--on-accent)}.spk[data-src=device]:after{content:""}.drill{gap:14px;padding:16px}.drill .ask{align-items:center;gap:14px;display:flex}.drill .ask .inp{font-family:var(--mono);font-size:20px}.drill .ask .zhinp{font-family:var(--body);font-size:20px}.drill .prompt-big{font-family:var(--zh-serif);font-size:34px}.drill .prompt-en{font-family:var(--display);font-size:20px;font-weight:600}.letters{flex-wrap:wrap;gap:6px;display:flex}.letters span{min-width:34px;height:42px;font-family:var(--mono);border-radius:8px;justify-content:center;align-items:center;padding:0 6px;font-size:20px;font-weight:600;display:inline-flex}.letters.zh span{font-family:var(--body)}.letters .ok{background:var(--good-bg);color:var(--good)}.letters .extra{background:var(--bad-bg);color:var(--bad);text-decoration:line-through;text-decoration-thickness:2px}.letters .miss{color:var(--bad);border:2px dashed var(--bad);text-underline-offset:4px;text-decoration:underline}.answer-card{border-radius:var(--r-card);background:var(--paper);border:1px solid var(--line);align-items:center;gap:16px;padding:14px 16px;display:flex}.answer-card .zh{font-family:var(--zh-serif);color:var(--paper-ink);font-size:34px}.answer-card .py{font-family:var(--mono);color:var(--accent);font-size:19px;font-weight:700}.tipbox{border-radius:var(--r-control);background:var(--accent-soft);gap:10px;padding:12px 14px;font-size:15px;display:flex}.drill .acts2{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.drill .acts2 .btn{flex:200px}details.sheet{padding:14px 16px}details.sheet summary{cursor:pointer;min-height:var(--tap);align-items:center;gap:10px;list-style:none;display:flex}details.sheet summary::-webkit-details-marker{display:none}details.sheet ul{flex-direction:column;gap:6px;margin:10px 0 0;padding-left:20px;font-size:15px;display:flex}.hlist{flex-direction:column;gap:10px;display:flex}.hitem{gap:10px;padding:14px}.hitem .sent{font-family:var(--zh-serif);font-size:21px}.hitem .blank{border-bottom:2px solid var(--accent);text-align:center;min-width:1.6em;display:inline-block}.hitem .choices{flex-wrap:wrap;gap:8px;display:flex}.hitem .choices button{min-width:56px;min-height:48px;font-family:var(--zh-serif);border-radius:var(--r-control);border:2px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font-size:22px}.hitem .choices button.right{border-color:var(--good);background:var(--good-bg);color:var(--good)}.hitem .choices button.wrong{border-color:var(--bad);background:var(--bad-bg);color:var(--bad);text-decoration:line-through}.ref{border-collapse:collapse;background:var(--surface);width:100%}.ref th,.ref td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px;font-size:15px}.ref th{color:var(--muted);font-size:13px;font-weight:700}.ref .zh{font-family:var(--zh-serif);font-size:19px}.ref .py{font-family:var(--mono);color:var(--accent)}.tablebox{border:1px solid var(--line);border-radius:var(--r-card);overflow-x:auto}.hide-py .py{visibility:hidden}.sents{font-family:var(--zh-serif);flex-direction:column;gap:8px;margin:0;padding-left:26px;font-size:19px;display:flex}.sents b{color:var(--accent)}.dict-words{flex-wrap:wrap;gap:4px 16px;display:flex}.cont{gap:10px;padding:18px}.cont .eyebrow{color:var(--accent)}dialog.dialog{background:var(--surface);color:var(--ink);border:0;border-radius:20px;max-width:min(420px,100vw - 32px);padding:22px;box-shadow:0 20px 60px #00000059}dialog.dialog::backdrop{background:#0a100e8c}dialog.dialog .row-wrap{justify-content:flex-end;margin-top:14px}
