.ic{vertical-align:-.14em;flex:none;width:1em;height:1em}:root{--sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--serif:"Noto Serif TC", "Songti TC", "PMingLiU", serif;--bg:#f7f3ea;--bg2:#efe8d8;--card:#fffdf8;--ink:#1d2b27;--muted:#56655f;--line:#e4dccb;--accent:#17453d;--accent-hover:#0f342e;--accent-soft:#e3ece6;--accent-ink:#fff;--gold:#a87a22;--gold-soft:#f3e6c4;--ok:#2b7346;--half:#a86b00;--bad:#b04a32;--tested:#17453d;--assumed:#cfdcd5;--shadow:0 1px 2px #4632140d, 0 10px 30px -14px #4632142e;--radius:20px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121a18;--bg2:#18221f;--card:#1b2522;--ink:#ecebe4;--muted:#a7b3ac;--line:#2d3b36;--accent:#8fcbb7;--accent-hover:#a9dccb;--accent-soft:#233630;--accent-ink:#0f1a17;--gold:#e2bf72;--gold-soft:#3a3322;--ok:#6fcf97;--half:#e0a83e;--bad:#f08a72;--tested:#8fcbb7;--assumed:#34484b;--shadow:0 1px 2px #0000004d, 0 10px 30px -14px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121a18;--bg2:#18221f;--card:#1b2522;--ink:#ecebe4;--muted:#a7b3ac;--line:#2d3b36;--accent:#8fcbb7;--accent-hover:#a9dccb;--accent-soft:#233630;--accent-ink:#0f1a17;--gold:#e2bf72;--gold-soft:#3a3322;--ok:#6fcf97;--half:#e0a83e;--bad:#f08a72;--tested:#8fcbb7;--assumed:#34484b;--shadow:0 1px 2px #0000004d, 0 10px 30px -14px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--bg);background-image:radial-gradient(1200px 500px at 50% -120px, color-mix(in srgb, var(--gold-soft) 55%, transparent), transparent 70%);color:var(--ink);font-family:var(--sans);letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-repeat:no-repeat;margin:0;font-size:18px;line-height:1.75}::selection{background:var(--gold-soft);color:var(--ink)}a{color:var(--accent);text-underline-offset:3px}.skip{z-index:50;background:var(--accent);color:var(--accent-ink);border-radius:10px;padding:8px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}main:focus{outline:none}.top{z-index:30;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);position:sticky;top:0}.topin{max-width:900px;padding:12px max(20px, env(safe-area-inset-left,0px));align-items:center;gap:12px;margin:0 auto;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;min-width:0;margin-right:auto;line-height:1.2;text-decoration:none;display:flex}.mark{color:#e9d6a6;background:#17453d;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 0 0 1px #e9d6a659,0 2px 6px #17453d40}.mark svg{width:24px;height:24px}.brand .bname{flex-wrap:wrap;align-items:baseline;column-gap:6px;min-width:0;display:flex}.brand .parent{color:var(--muted);letter-spacing:.04em;font-size:14px}.brand .parent i{opacity:.5;margin-left:6px;font-style:normal}.brand b{font-family:var(--serif);letter-spacing:.1em;font-size:21px;font-weight:700}.brand small{color:var(--gold);letter-spacing:.22em;flex-basis:100%;margin-top:2px;font-size:13px}.tabs{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:99px;flex-shrink:0;gap:4px;padding:4px;display:flex}.tabs a{color:var(--muted);white-space:nowrap;border-radius:99px;padding:8px 18px;font-size:17px;font-weight:700;text-decoration:none;transition:background .2s,color .2s}.tabs a:hover{color:var(--ink);background:var(--accent-soft)}.tabs a[aria-current=true]{background:var(--accent);color:var(--accent-ink)}@media (width<=560px){.topin{gap:8px;padding-block:10px}.tabs{gap:2px;padding:3px}.tabs a{padding:7px 9px;font-size:14px}.tabs a.more{display:none}.brand{gap:9px}.brand b{letter-spacing:.04em;white-space:nowrap;font-size:17px}.brand .parent,.brand small{display:none}.mark{border-radius:11px;width:38px;height:38px}.mark svg{width:21px;height:21px}.top{position:static}main{padding-inline:14px!important;padding-top:18px!important}}main{max-width:900px;padding:28px max(20px, env(safe-area-inset-left,0px)) 40px;margin:0 auto}.card{background:var(--card);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 22px;padding:clamp(22px,4vw,36px)}.card>h2:first-child{align-items:center;gap:12px;display:flex}.card>h2:first-child:before{content:"";background:var(--gold);border-radius:3px;width:6px;height:1em}h1,h2{font-family:var(--serif);letter-spacing:.04em;font-weight:700;line-height:1.35}h1{margin:0 0 12px;font-size:clamp(30px,5vw,40px)}h2{margin:0 0 12px;font-size:clamp(22px,3.4vw,26px)}h3{margin:24px 0 8px;font-size:19px;line-height:1.5}.h2ic{width:.9em;height:.9em;color:var(--gold);vertical-align:-.08em;margin-right:10px}p{margin:0 0 12px}.lead{color:var(--muted);font-size:19px;line-height:1.85}.small{color:var(--muted);font-size:15px;line-height:1.7}.kicker{color:var(--muted);letter-spacing:.03em;margin:0 0 6px;font-size:15px}.eyebrow{letter-spacing:.16em;color:var(--gold);align-items:center;gap:10px;margin:0 0 14px;font-size:15px;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:currentColor;border-radius:2px;width:28px;height:2px}.tag{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:1px 10px;font-size:14px}.note ul{margin:8px 0;padding-left:22px}.note li{margin-bottom:6px}.note>summary{cursor:pointer;color:var(--muted);margin-top:18px;font-weight:600}.note>summary:hover{color:var(--ink)}.hero{grid-template-columns:1fr auto;align-items:center;gap:36px;padding:20px 4px 36px;display:grid}.hero h1{letter-spacing:.06em;text-wrap:balance;margin-bottom:18px;font-size:clamp(34px,5.4vw,50px);line-height:1.25}.hero .lead{max-width:34em}.ra{aspect-ratio:1;width:330px;height:auto;font-family:"BiauKai", "DFKai-SB", "標楷體", "TW-Kai", var(--serif);overflow:visible}.ra text{text-anchor:middle;dominant-baseline:central}.spec{background:var(--card);border:1px solid var(--line);width:300px;box-shadow:0 30px 60px -30px #28322840, 0 1px 0 var(--line);border-radius:24px;margin:0;padding:22px 26px 24px;font-family:inherit;transform:rotate(1.5deg)}.spec-head{letter-spacing:.24em;color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.spec-seal{color:#b8402a;width:30px;height:30px;font-family:var(--serif);letter-spacing:0;writing-mode:vertical-rl;opacity:.85;border:1.5px solid #b8402a;border-radius:5px;place-items:center;font-size:11px;line-height:1.05;display:grid;transform:rotate(6deg)}.spec-grid{aspect-ratio:1;border:1px solid color-mix(in srgb, #b8402a 35%, var(--line));background:linear-gradient(90deg,#0000 calc(50% - .5px),#b8402a38 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)),linear-gradient(#0000 calc(50% - .5px),#b8402a38 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px));place-items:center;width:200px;margin:14px auto 0;display:grid;position:relative}.spec-ch{font-family:"BiauKai", "DFKai-SB", "標楷體", "TW-Kai", var(--serif);color:var(--ink);font-size:140px;line-height:1;transition:opacity .45s,filter .45s,transform .45s}.spec-ch.out{opacity:0;filter:blur(6px);transform:scale(.96)}.spec-zy{text-align:center;letter-spacing:.3em;color:var(--muted);min-height:1.5em;margin:10px 0 0;font-size:15px}.spec-scale{margin-top:14px}.spec-rank{color:var(--muted);text-align:center;margin:0 0 8px;font-size:14px}.spec-rank b{color:var(--accent);font-variant-numeric:tabular-nums;font-size:18px}.spec-bar{background:linear-gradient(to right, var(--accent), color-mix(in srgb, var(--gold) 70%, var(--line)));opacity:.9;border-radius:4px;height:4px;position:relative}.spec-dot{background:var(--card);border:3px solid var(--accent);border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;transition:left .9s cubic-bezier(.3,.7,.2,1);position:absolute;top:50%;box-shadow:0 2px 6px #00000026}.spec-ticks{height:1.4em;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-top:8px;font-size:11px;position:relative}.spec-ticks span{position:absolute;transform:translate(-50%)}.spec-ticks span:first-child{transform:none}.spec-ticks span:last-child{transform:translate(-100%)}.ra .ra-paper{fill:var(--card);stroke:var(--line);filter:drop-shadow(0 18px 30px #1e281e1a)}.ra .ra-rule{stroke:#b8402a;stroke-width:1px;opacity:.35}.ra .ra-t{fill:var(--ink);font-size:23px}.ra .ra-key{fill:var(--accent);font-size:23px;font-weight:700}.ra .ra-hl{fill:var(--gold);opacity:.28}.ra .ra-circle{fill:none;stroke:#b8402a;stroke-width:1.6px;opacity:.85;transform-box:fill-box;transform-origin:50%;transform:rotate(-2deg)}.ra .ra-lead{fill:none;stroke:#b8402a;stroke-width:1.2px;opacity:.7;stroke-dasharray:3 3}.ra .ra-note,.ra .ra-mark{fill:#b8402a;font-size:15px;font-weight:700}.ra .ra-mark{writing-mode:vertical-rl;font-size:13px}@media (prefers-reduced-motion:no-preference){.ra text{animation:.7s cubic-bezier(.2,.7,.2,1) both haIn;animation-delay:var(--d,0s)}}@keyframes haIn{0%{opacity:0}}.facts{flex-wrap:wrap;gap:12px 20px;margin:22px 0 0;padding:0;list-style:none;display:flex}.facts li{color:var(--muted);align-items:center;gap:10px;font-size:15px;line-height:1.35;display:flex}.facts li .ic{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:12px;padding:9px}@media (width>=721px){.facts{grid-template-columns:repeat(3,max-content);gap:12px 18px;display:grid}}.facts b{color:var(--ink);font-size:17px;display:block}@media (width<=720px){.hero{grid-template-columns:1fr;gap:0;padding:8px 2px 24px}.heroart{display:none}}.setup{gap:22px;margin-top:18px;display:grid}.setup label,legend{gap:8px;font-weight:700;display:grid}legend{margin-bottom:10px;padding:0}fieldset{border:0;min-width:0;margin:0;padding:0}.step{grid-template-columns:36px 1fr;align-items:start;gap:14px;display:grid}.stepn{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;margin-top:2px;font-size:16px;font-weight:700;display:grid}.stepbody{min-width:0}.stepbody>.small{margin:8px 0 0}.pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=560px){.pair,.step{grid-template-columns:1fr}.stepn{display:none}}.choices{gap:12px;display:grid}.choices.two{grid-template-columns:1fr 1fr}.choices.three{grid-template-columns:repeat(3,1fr)}@media (width<=640px){.choices.two,.choices.three{grid-template-columns:1fr}}.choice{border:1.5px solid var(--line);cursor:pointer;background:var(--card);border-radius:16px;align-items:flex-start;gap:12px;padding:16px;line-height:1.65;transition:border-color .15s,background .15s,box-shadow .15s;position:relative;font-weight:400!important;display:flex!important}.choice:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.choice b{margin-bottom:2px;font-size:18px;display:block}.choice>span:last-child{color:var(--muted);font-size:16px}.choice input{width:20px;height:20px;accent-color:var(--accent);margin:0;padding:0;position:absolute;top:16px;right:16px}.choice:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--card));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent)}.choice:has(input:checked) b{color:var(--accent)}.choice:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.cico{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.cico .ic{width:24px;height:24px}.choice .cico+span{padding-right:26px}.choice.compact{padding:14px 16px}.choice .rec{background:var(--gold-soft);color:color-mix(in srgb, var(--gold) 70%, var(--ink));vertical-align:2px;border-radius:99px;margin-left:8px;padding:1px 8px;font-size:12px;font-style:normal;font-weight:700;display:none}.choice.recd .rec,.nb{display:inline-block}.choice.compact>span{padding-right:26px}select,input{font:inherit;border:1.5px solid var(--line);background:var(--bg);min-height:52px;color:var(--ink);border-radius:12px;width:100%;padding:10px 14px;font-size:18px;font-weight:400}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356655f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:18px;padding-right:44px}select:hover,input:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}input::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}button{font:inherit;cursor:pointer;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:11px 20px;font-size:17px;font-weight:500;line-height:1.4;transition:background .15s,border-color .15s,transform .1s}@media (hover:hover){button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button .ic{margin:0 6px 0 0}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 6px 16px -8px color-mix(in srgb, var(--accent) 80%, transparent);font-weight:700}.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.primary.cta{letter-spacing:.08em;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:60px;font-size:20px;display:flex}.primary.cta .ic{width:22px;height:22px;margin:0;transition:transform .2s}.primary.cta:hover .ic{transform:translate(4px)}.ghost{background:0 0}.row{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.row .primary{margin-left:auto}.row.center{justify-content:center}.row.center .primary{margin-left:0}.features{grid-template-columns:1fr 1fr;gap:22px 28px;list-style:none;display:grid;margin:16px 0 0!important;padding:0!important}@media (width<=640px){.features{grid-template-columns:1fr}}.features li{color:var(--muted);grid-template-columns:42px 1fr;gap:14px;margin:0;font-size:16px;line-height:1.75;display:grid}.features li>.ic{background:var(--gold-soft);width:42px;height:42px;color:var(--gold);border-radius:12px;padding:10px}.features b{color:var(--ink);margin-bottom:2px;font-size:18px;display:block}.features div b:not(:first-child){font-size:inherit;display:inline}.resume{border-color:color-mix(in srgb, var(--gold) 55%, var(--line));background:color-mix(in srgb, var(--gold-soft) 45%, var(--card));align-items:flex-start;gap:16px;display:flex}.resume b{font-size:19px}.resume p{color:var(--muted);margin:4px 0 0}.resume .row{margin-top:14px}.resume .row .primary{margin-left:0}.resumeic{background:var(--gold-soft);width:46px;height:46px;color:var(--gold);border-radius:50%;flex:none;place-items:center;display:grid}.resumeic .ic{width:24px;height:24px}.tablewrap{overflow-x:auto}.hist{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:16px}.hist th{color:var(--muted);letter-spacing:.05em;font-size:14px;font-weight:600}.hist th,.hist td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 8px}.hist tbody tr:last-child td{border-bottom:0}.quiz{padding-top:clamp(18px,3vw,28px)}.quizhead{color:var(--muted);justify-content:space-between;gap:6px;font-size:16px;font-weight:600;display:flex}.bands{grid-template-columns:repeat(20,1fr);gap:3px;display:grid}.bands i{background:var(--line);border-radius:3px;height:8px}.bands i.done{background:var(--assumed)}.bands i.now{background:var(--accent)}.bandlabel{font-size:14px}.glyph{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;aspect-ratio:1;background:linear-gradient(var(--line), var(--line)) center / 100% 1px no-repeat, linear-gradient(var(--line), var(--line)) center / 1px 100% no-repeat, color-mix(in srgb, var(--gold-soft) 35%, var(--card));border:2px solid color-mix(in srgb, var(--gold) 30%, var(--line));border-radius:28px;place-items:center;width:clamp(196px,min(58vw,28vh),300px);margin:14px auto 18px;font-family:BiauKai,DFKai-SB,標楷體,TW-Kai,Noto Serif TC,serif;font-size:clamp(136px,min(39vw,19vh),204px);line-height:1;display:grid}.prompt{text-align:center;color:var(--muted);font-size:19px}.keys{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=520px){.keys{grid-template-columns:repeat(2,1fr)}}.key{text-align:left;border-radius:14px;align-items:center;gap:12px;min-height:64px;font-size:17px;display:flex}.key kbd{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:8px;flex:none;place-items:center;font:700 16px ui-monospace,monospace;display:grid}@media (hover:hover){.key:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 5%, var(--card))}}.teacher{border-top:1px dashed var(--line);margin-top:18px;padding-top:12px;font-size:16px}.teacher>summary{cursor:pointer;color:var(--muted);font-weight:600}.teacher p{margin:6px 0}.teacher a,.missed a{color:var(--accent)}.teacher h4{color:var(--muted);margin:12px 0 4px;font-size:15px}.teacher .pos{border:1px solid var(--line);color:var(--muted);border-radius:4px;margin-right:4px;padding:0 5px;font-size:13px;display:inline-block}.wdefs{gap:4px;margin:0;padding-left:1.2em;font-size:16px;display:grid}.selfform{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.selfform input{text-align:center;width:min(260px,100%);font-size:22px}.msg{text-align:center;color:var(--bad);min-height:1.6em}.zyshow{text-align:center;letter-spacing:4px;background:var(--bg);border:1.5px solid var(--line);border-radius:16px;place-items:center;max-width:260px;height:64px;margin:0 auto 16px;font-size:38px;line-height:1;display:grid}.zyshow .small{letter-spacing:.05em;font-size:16px}.zkb{background:var(--bg2);border-radius:18px;gap:8px;padding:14px 10px;display:grid}.zrow{flex-wrap:wrap;justify-content:center;gap:8px 18px;display:flex}.zg{gap:7px;display:flex}.zk{min-width:50px;min-height:52px;box-shadow:0 1px 0 var(--line), 0 2px 4px #46321414;border-color:#0000;border-radius:12px;padding:6px;font-size:23px}@media (hover:hover){.zk:hover:not(:disabled){background:var(--accent-soft);border-color:#0000}}.zk.tone{min-width:66px}@media (width<=560px){.zrow{gap:5px}.zg{display:contents}}@media (width<=420px){.zk{min-width:43px;min-height:50px;font-size:21px}.zk.tone{min-width:50px}.zkb{margin-inline:-6px;padding:10px 4px}}.mcq{grid-template-columns:1fr 1fr;gap:12px;display:grid}.opt{letter-spacing:.08em;border-radius:16px;justify-content:center;align-items:center;gap:12px;min-height:84px;padding:18px 14px;font-size:30px;display:flex}@media (hover:hover){.opt:hover:not(:disabled){background:var(--accent-soft)}}.opt kbd{border:1px solid var(--line);color:var(--muted);letter-spacing:0;border-radius:6px;padding:0 6px;font:700 14px ui-monospace,monospace}.opt ruby{ruby-align:center}.opt rt{letter-spacing:0;color:var(--muted);font-size:.4em;font-weight:500}.mcq.zyhint .opt{min-height:100px}.oral{place-items:center;margin:6px 0 10px;display:grid}.mic{background:var(--accent-soft);border:2px solid var(--accent);width:min(100%,320px);min-height:120px;color:var(--accent);border-radius:24px;place-items:center;gap:8px;padding:18px;font-size:20px;font-weight:700;display:grid}.mic svg{width:44px;height:44px}.mic small{opacity:.85;font-size:14px;font-weight:500}.mic.listening{background:var(--accent);color:#fff;animation:1.2s ease-in-out infinite micpulse}@keyframes micpulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:0 0 0 14px #0000}}.oralmsg{text-align:center;margin:0 0 8px;font-size:18px}.small.center{text-align:center}label.sub{background:var(--bg2);color:var(--muted);border-radius:14px;align-items:flex-start;gap:10px;margin:12px 0 0;padding:12px 14px;font-size:15px;font-weight:400;line-height:1.6;display:flex}label.sub input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:5px 0 0}label.sub b{color:var(--ink)}#undo .ic{margin-right:6px}.big{font-family:var(--serif);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:clamp(56px,11vw,80px);line-height:1.05}.result h1{align-items:baseline;gap:8px;margin:6px 0 14px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:14px;margin:20px 0;display:grid}.grid4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=600px){.grid4{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}.stat{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 55%, var(--card));border-radius:16px;align-content:start;gap:6px;padding:16px 18px;display:grid}.stat span{color:var(--muted);font-size:15px;line-height:1.6}.stat>b{font-size:20px;line-height:1.5}.grid4 .stat>b{font-family:var(--serif);color:var(--accent);font-size:32px;line-height:1.2}.stat .pr{font-family:var(--serif);color:var(--accent);font-variant-numeric:tabular-nums;font-size:46px;line-height:1.1}.pr small{font-size:.4em;font-weight:400}.titlecard .title{font-family:var(--serif);color:var(--accent);letter-spacing:.1em;font-size:36px}.warn{border-left:4px solid var(--half);background:color-mix(in srgb, var(--half) 8%, var(--card));color:var(--ink);border-radius:0 12px 12px 0;padding:12px 16px}.chart{width:100%;height:auto}.chart .curve{fill:none;stroke:var(--accent);stroke-width:2.5px}.chart .grid{stroke:var(--line);stroke-dasharray:2 4}.chart .extzone{fill:var(--assumed);opacity:.35}.chart .dot-ok,.sw.ok{fill:var(--ok);background:var(--ok)}.chart .dot-no,.sw.no{fill:var(--bad);background:var(--bad)}.chart .axis{stroke:var(--line)}.chart .lbl{fill:var(--muted);font-size:12px}.chart .mark{stroke:var(--ink);stroke-dasharray:4 3}.chartwrap{margin-top:6px;overflow-x:auto}.sw{vertical-align:-1px;border-radius:3px;width:12px;height:12px;display:inline-block}.missed{font-size:32px;font-family:"BiauKai", "DFKai-SB", "標楷體", "TW-Kai", var(--serif);flex-wrap:wrap;gap:8px 16px;display:flex}.missed a{text-decoration:none}.maybe{color:var(--muted);font-size:26px;font-family:"BiauKai", "DFKai-SB", "標楷體", "TW-Kai", var(--serif);flex-wrap:wrap;gap:6px 14px;display:flex}.chart .track{fill:var(--assumed);opacity:.45}.chart .band{fill:var(--accent);opacity:.3}.chart .fillbar{fill:var(--accent)}.chart .tick{stroke:var(--muted);stroke-width:1px}.chart .tick-me{stroke:var(--ink);stroke-width:2px;stroke-dasharray:3 2}.chart .lbl.strong{fill:var(--ink);font-weight:700}.chart .you{fill:var(--accent);font-size:18px;font-weight:700}.sw.fill{background:var(--accent)}.sw.band{background:var(--accent);opacity:.3}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{font-size:24px;font-family:"BiauKai", "DFKai-SB", "標楷體", "TW-Kai", var(--serif);border:1.5px solid;border-radius:10px;align-items:baseline;gap:3px;padding:4px 10px;display:inline-flex}.chip i{align-self:center;font-size:14px;font-style:normal;display:inline-flex}.chip.ok{border-color:color-mix(in srgb, var(--ok) 55%, transparent);color:var(--ok);background:color-mix(in srgb, var(--ok) 7%, var(--card))}.chip.no{border-color:color-mix(in srgb, var(--bad) 55%, transparent);color:var(--bad);background:color-mix(in srgb, var(--bad) 7%, var(--card))}.ruler{max-width:680px}.ruler .lbl{font-size:13px}.milestones{gap:12px;margin:10px 0 14px;padding:0;list-style:none;display:grid}.milestones li{color:var(--muted);align-items:flex-start;gap:12px;display:flex}.milestones li.done{color:var(--ink)}.milestones .mk{text-align:center;width:26px;color:var(--muted);justify-content:center;padding-top:3px;font-size:22px;display:inline-flex}.milestones li.done .mk,.milestones li.done .mk .ic{color:var(--ok)}.reading h2{margin-bottom:18px;font-size:clamp(24px,4vw,30px)}.passage{max-width:38em}.passage p{text-indent:2em;letter-spacing:.03em;margin:0 0 1em;font-size:20px;line-height:2}.passage p.plain{text-indent:0}.rq{gap:30px;margin:18px 0 0;padding-left:1.6em;display:grid}.rq>li{padding-left:6px}.rq>li::marker{color:var(--muted);font-weight:700}.rq .stem{margin:0 0 12px;font-size:19px;font-weight:700;line-height:1.7}.ropts{gap:8px;display:grid}.ropt{text-align:left;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;align-items:baseline;gap:14px;padding:14px 16px;font-size:18px;line-height:1.6;display:flex}.ropt:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent) 3%, var(--card))}.ropt .k{background:var(--bg2);min-width:30px;height:30px;color:var(--muted);border-radius:8px;flex:none;align-self:center;place-items:center;font-size:16px;font-weight:700;display:inline-grid}.ropt[aria-checked=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--card));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.ropt[aria-checked=true] .k{background:var(--accent);color:var(--accent-ink)}.levelbar{height:80px;margin:30px 8px 10px;position:relative}.levelbar:before{content:"";background:var(--assumed);opacity:.45;border-radius:8px;height:16px;position:absolute;top:8px;left:0;right:0}.levelbar .lvband{background:var(--accent);opacity:.3;border-radius:8px;height:16px;position:absolute;top:8px}.levelbar .lvme{background:var(--gold);border-radius:3px;width:5px;height:32px;margin-left:-2.5px;position:absolute;top:0}.levelbar span{color:var(--muted);text-align:center;white-space:nowrap;font-size:14px;line-height:1.3;position:absolute;top:38px;transform:translate(-50%)}.levelbar span small{font-size:12px}@media (width<=560px){.levelbar span small{display:none}}.procs{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px;margin-bottom:12px;display:grid}.proc{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 55%, var(--card));border-radius:14px;padding:14px 16px}.proc .ph{justify-content:space-between;display:flex}.pbar{background:var(--line);border-radius:5px;height:10px;margin:6px 0;overflow:hidden}.pbar i{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 60%, var(--gold)));border-radius:5px;height:100%;display:block}.guide{background:color-mix(in srgb, var(--gold-soft) 50%, var(--card));border:1px solid color-mix(in srgb, var(--gold) 30%, var(--line));border-radius:14px;align-items:flex-start;gap:12px;margin:8px 0 16px;padding:14px 16px;display:flex}.guide p{margin:0}.avatar{background:var(--accent);width:38px;height:38px;color:var(--accent-ink);font-weight:700;font-family:var(--serif);border-radius:50%;flex:none;place-items:center;display:grid}.qguide{color:var(--gold);margin:0 0 6px;font-size:16px;font-weight:600}.qtag{color:var(--gold);background:var(--gold-soft);vertical-align:1px;border-radius:6px;margin-right:8px;padding:0 7px;font-size:.8em;font-weight:700;display:inline-block}.rmulti .k{align-items:center;gap:4px;display:inline-flex}.rmulti .cb-on,.rmulti[aria-checked=true] .cb-off{display:none}.rmulti[aria-checked=true] .cb-on{display:inline-block}.rmulti .k{min-width:52px}.rorder{gap:8px;margin:8px 0;padding-left:1.6em;list-style:decimal;display:grid}.rorder li{border:1.5px dashed var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 8px 12px;display:flex}.rorder.done li{border-style:solid;border-color:var(--accent)}.rorder .otext{flex:1}.omove{flex-shrink:0;gap:6px;display:flex}.omove button{border:1.5px solid var(--line);background:var(--card);width:40px;height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;place-items:center;padding:0;display:grid}.omove button:disabled{opacity:.3;cursor:default}.omove .ic{width:20px;height:20px;margin:0}.rmatch{gap:10px;margin:8px 0;display:grid}.mrow{border-bottom:1px solid var(--line);grid-template-columns:1fr minmax(8em,42%);align-items:center;gap:10px;padding-bottom:10px;font-weight:400!important;display:grid!important}.mrow select{background-color:var(--card);min-height:46px;font-size:17px}@media (width<=560px){.mrow{grid-template-columns:1fr}}.rpicked{border-left:4px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--card));border-radius:0 10px 10px 0;margin:10px 0 0;padding:10px 14px}.marking .sent{cursor:pointer;background:color-mix(in srgb, var(--half) 12%, transparent);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--half) 45%, transparent);border-radius:3px}.marking .sent:hover{background:color-mix(in srgb, var(--half) 30%, transparent)}.sent.picked{background:color-mix(in srgb, var(--accent) 22%, transparent)}.marking{outline:2px dashed var(--half);outline-offset:6px;border-radius:4px}.markhint{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:40;background:var(--ink);color:var(--card);white-space:nowrap;border-radius:999px;align-items:center;gap:12px;padding:10px 12px 10px 18px;font-size:16px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.markhint button{color:var(--card);border-color:var(--card);padding:4px 14px;font-size:15px}.browser{--card:#fff;--bg:#f1f3f4;--ink:#202124;--muted:#5f6368;--line:#dadce0;--accent:#1a0dab;--half:#b06000;--assumed:#dfe3e6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);letter-spacing:0;background:#fff;border:1px solid #c4c7c5;border-radius:12px;font-family:system-ui,-apple-system,PingFang TC,Microsoft JhengHei,Noto Sans TC,sans-serif;font-size:16px;line-height:1.6;overflow:hidden;box-shadow:0 12px 32px -14px #0000004d,0 1px 3px #00000014}.browser h2,.browser h3{letter-spacing:0;font-family:inherit}.browser button{font-weight:400;transition:none}.browser button:active:not(:disabled){transform:none}.browser button .ic{margin:0}.browser input,.browser select{width:auto;min-height:0;font-size:inherit}.btabs{scrollbar-width:none;background:#dee1e6;align-items:flex-end;gap:2px;padding:8px 8px 0;display:flex;overflow-x:auto}.btab{color:#3c4043;min-width:92px;height:34px;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px 10px 0 0;flex:0 200px;align-items:center;gap:7px;padding:0 10px;font-size:12.5px;display:flex;position:relative}.btab:hover{background:#ffffff73}.btab[aria-selected=true]{color:#202124;background:#fff}.btab:not([aria-selected=true])+.btab:not([aria-selected=true]):before{content:"";background:#9aa0a6;width:1px;position:absolute;top:9px;bottom:9px;left:-1px}.bttl{white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;min-width:0;overflow:hidden}.btx{color:#5f6368;font-size:14px}.bnew{color:#5f6368;align-self:center;padding:0 8px 4px;font-size:16px}.bbar{background:#fff;border-bottom:1px solid #dadce0;align-items:center;gap:4px;padding:5px 8px;display:flex}.bnav{color:#3c4043;cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;min-height:0;padding:0;font-size:17px;line-height:1;display:grid}.bnav:hover:not(:disabled){background:#f1f3f4}.bnav:disabled{color:#bdc1c6;cursor:default}.burl{white-space:nowrap;background:#f1f3f4;border-radius:99px;flex:1;align-items:center;gap:6px;min-width:0;height:32px;padding:0 14px;font-size:14px;display:flex;overflow:hidden}.block{color:#5f6368;flex:none;width:13px;height:13px}.bhost{color:#202124}.burltext{text-overflow:ellipsis;min-width:0;overflow:hidden}.bpath{color:#5f6368}.bdots{color:#5f6368;padding:0 6px}.fav{background:var(--fav,#5f6368);color:#fff;text-align:center;border-radius:4px;flex:none;width:16px;height:16px;font-size:10px;font-weight:700;line-height:16px;overflow:hidden}.fav.ks{background:conic-gradient(#4285f4 0 25%, #ea4335 0 50%, #fbbc04 0 75%, #34a853 0)}.bframe{position:relative}.bview{background:#fff;max-height:70vh;overflow-y:auto}.bview a{color:inherit}.bgovbar{color:#5f6368;background:#f5f5f5;border-bottom:1px solid #e5e5e5;justify-content:flex-end;gap:14px;padding:3px 14px;font-size:12px;display:flex}.bgovbar span:first-child{color:#bbb;margin-right:auto}.bsitehead{background:var(--site);color:#fff;align-items:center;gap:10px;padding:10px 14px;display:flex}.bsitehead b{letter-spacing:.04em;font-size:17px}.blogo{background:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:17px;display:grid;box-shadow:0 0 0 2px #ffffff59}.btools{opacity:.92;white-space:nowrap;gap:12px;margin-left:auto;font-size:12.5px;display:flex}@media (width<=520px){.btools span:not(:last-child){display:none}}.bmenu{border-bottom:2px solid var(--site);background:#fafafa;flex-wrap:wrap;gap:0;padding:0 8px;font-size:14px;display:flex}.bmenu .wlink{color:#333;padding:8px 10px;text-decoration:none}.bmenu .wlink:hover{color:var(--site)}.bmenu .wlink.on{color:var(--site);box-shadow:inset 0 -3px 0 var(--site);font-weight:700}.bbody{grid-template-columns:1fr;gap:16px;padding:10px 16px 18px;display:grid}@media (width>=640px){.bbody{grid-template-columns:1fr 160px}.bbody.noad{grid-template-columns:1fr}}.bcrumb{color:#70757a;margin:0 0 4px;font-size:12px}.bpage{min-width:0}.bpage h2{color:#111;margin:2px 0 6px;font-size:22px;line-height:1.4}.bpage h3{color:#222;border-left:4px solid var(--site);margin:14px 0 4px;padding-left:8px;font-size:17px}.bpage p,.bpage li{line-height:1.85}.bpage table{border-collapse:collapse;font-size:14px}.bpage th{background:color-mix(in srgb, var(--site) 10%, #fff)}.bpage th,.bpage td{text-align:left;border:1px solid #ddd;padding:5px 9px}.bsite{color:#70757a;border-bottom:1px solid #eee;margin:0 0 8px;padding-bottom:8px;font-size:13px}.bpage .wlink{color:var(--site);cursor:pointer;text-decoration:underline}.bshare{color:#70757a;border-top:1px solid #eee;align-items:center;gap:8px;margin-top:14px;padding-top:10px;font-size:12.5px;display:flex}.bshare i{color:#3c4043;background:#f1f3f4;border-radius:99px;padding:3px 10px;font-style:normal}.bshare .fb{color:#fff;background:#1877f2;font-weight:700}.bshare .ln{color:#fff;background:#06c755;font-weight:700}.bfoot{color:#70757a;background:#f5f5f5;border-top:1px solid #e5e5e5;padding:12px 16px 14px;font-size:12px}.bfoot p{margin:2px 0}.bfoot p:first-child span+span:before{content:"｜";color:#bbb}.wad{color:#b06000;border:1px solid #b06000;border-radius:4px;margin-right:6px;padding:0 4px;font-size:11px;display:inline-block}.bad{background:linear-gradient(160deg,#fff7e0,#ffe0e6);border:1px solid #e0e0e0;border-radius:4px;align-self:start;padding:0 0 10px;font-size:14px;overflow:hidden}.badtop{color:#777;background:#ffffffb3;justify-content:space-between;padding:2px 6px;font-size:10.5px;display:flex}.bad .adlink{padding:10px 10px 8px;font-weight:700;line-height:1.5;text-decoration:none;display:block;color:#222!important}.bad .badgo{cursor:pointer;background:#ff6d00;border-radius:99px;margin:0 10px;padding:4px 12px;font-size:13px;font-weight:700;display:inline-block;color:#fff!important}.bpopad{z-index:5;background:#00000073;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.bpopin{color:#222;background:linear-gradient(160deg,#fff,#fff3e0);border-radius:12px;gap:6px;max-width:300px;padding:20px 18px 16px;display:grid;position:relative;box-shadow:0 10px 30px #00000059}.bpopin b{color:#d84315;font-size:20px}.bpopin p{margin:0;font-size:14px}.bpopx{color:#999;cursor:pointer;background:0 0;border:none;min-height:0;padding:0 6px;font-size:22px;position:absolute;top:4px;right:6px}.bpopgo{background:#ff6d00;border-radius:99px;justify-self:start;padding:6px 16px;font-size:14px;font-weight:700;text-decoration:none;color:#fff!important}.bpopin .wad{justify-self:start}.wnav{border-bottom:1px solid #eee;flex-wrap:wrap;gap:4px 14px;margin-bottom:6px;padding:6px 0 8px;font-size:14px;display:flex}.wpop{border:1px dashed var(--site,#1a0dab);color:var(--site,#1a0dab);font:inherit;cursor:pointer;background:0 0;border-radius:6px;min-height:0;padding:1px 8px}.wpopbox{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;margin:-4px 0 8px;padding:8px 10px;font-size:14px}.wchart{border:1px solid #eee;border-radius:6px;margin:12px 0;padding:10px 12px}.wchart figcaption{margin-bottom:4px;font-size:14px;font-weight:700}.wchart svg{width:100%;max-width:480px;height:auto;display:block}.wchart .cl{fill:#333;font-size:13px}.wchart .cv{fill:#666;font-size:12px}.wchart .cb{fill:var(--site,#1a73e8)}.wcomments{border-top:1px solid #eee;margin-top:12px}.wchead{margin:8px 0 2px;font-size:14px;font-weight:700}.wc{border-bottom:1px solid #f0f0f0;gap:10px;padding:10px 0;display:flex}.wc p{margin:0}.wcav{background:var(--av,#9e9e9e);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:grid}.wch{align-items:baseline;gap:8px;font-size:13px;display:flex}.wch span,.wclike{color:#70757a;font-size:12px}.wclike{margin-top:2px!important}.wsearch{gap:6px;margin:8px 0;display:flex}.wsearch input{min-width:0;font:inherit;color:#202124;background:#fff;border:1px solid #dfe1e5;border-radius:99px;flex:1;padding:8px 16px;box-shadow:0 1px 4px #2021241f}.wsearch button{font:inherit;color:#3c4043;cursor:pointer;background:#f8f9fa;border:1px solid #f1f3f4;border-radius:6px;padding:6px 16px;font-size:14px}.wimg{margin:12px 0}.wimgbox{background:linear-gradient(160deg, hsl(var(--h) 55% 88%), hsl(calc(var(--h) + 40) 45% 70%));border-radius:6px;place-items:center;height:160px;font-size:64px;display:grid}.wimg figcaption{color:#70757a;justify-content:space-between;gap:8px;margin-top:4px;font-size:13px;display:flex}.wvideo summary{color:#70757a;margin-top:4px;font-size:13px}.wvbox{aspect-ratio:16/9;color:#fff;background:radial-gradient(circle at 30% 30%,#4a5a60,#111);border-radius:6px;place-items:center;max-height:260px;display:grid;position:relative}.wvtitle{text-shadow:0 1px 2px #000;font-size:14px;position:absolute;top:8px;left:10px;right:10px}.wvplay{background:#f03;border-radius:12px;place-items:center;width:60px;height:42px;font-size:20px;display:grid}.wvctl{background:linear-gradient(#0000,#0009);flex-wrap:wrap;justify-content:space-between;padding:0 10px 6px;font-size:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.wvbar{background:#ffffff59;flex-basis:100%;height:3px;margin:0 0 6px}.wvideo details p{font-size:14px}.kslogo{letter-spacing:.02em;font-size:22px;font-style:italic;font-weight:800;display:inline-flex}.kslogo i:first-child{color:#1a73e8;font-style:inherit}.kslogo i:last-child{color:#ea4335;font-style:inherit}.kslogo.big{justify-content:center;margin:22px 0 10px;font-size:46px}.kshome{text-align:center;max-width:560px;margin:0 auto;padding:10px 16px 24px}.kshome .wsearch{flex-direction:column;align-items:center}.kshome .wsearch input{width:100%;padding:11px 20px}.kslinks{color:#1a0dab;justify-content:center;gap:14px;font-size:13px;display:flex}.serp{padding:10px 16px 18px}.serphead{align-items:center;gap:14px;display:flex}.serpbox{background:#fff;border:1px solid #dfe1e5;border-radius:99px;flex:1;min-width:0;display:flex;overflow:hidden;box-shadow:0 1px 6px #2021242e}.serpbox input{min-width:0;font:inherit;color:#202124;background:0 0;border:none;outline:none;flex:1;padding:9px 16px}.serpbox button{cursor:pointer;background:0 0;border:none;min-height:0;padding:0 14px;font-size:16px}.serptabs{color:#5f6368;white-space:nowrap;border-bottom:1px solid #ebebeb;gap:18px;margin:10px 0 0;padding-bottom:6px;font-size:13.5px;display:flex;overflow-x:auto}.serptabs b{color:#1a73e8;box-shadow:0 8px 0 -5px #1a73e8}.serpstat{color:#70757a;margin:8px 0 4px;font-size:13px}.wresults{gap:22px;max-width:620px;margin:0;padding:0;list-style:none;display:grid}.sr{min-width:0}.srad{color:#202124;margin-bottom:2px;font-size:13px;font-weight:700;display:block}.srsite{align-items:center;gap:10px;display:flex}.srsite .fav{border:1px solid #ecedef;border-radius:50%;width:26px;height:26px;font-size:13px;line-height:26px}.srsite div{min-width:0;line-height:1.3;display:grid}.srsite b{color:#202124;font-size:14px;font-weight:400}.srsite div span{color:#4d5156;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.srmore{color:#70757a;margin-left:2px}.srtitle{cursor:pointer;margin:5px 0 3px;font-size:19px;line-height:1.3;text-decoration:none;display:inline-block;color:#1a0dab!important}.srtitle:hover{text-decoration:underline}.wsnip{color:#4d5156;font-size:14px;line-height:1.6}.wsnip b,.srtitle b{font-weight:700}.srtitle b{font-weight:inherit}.srdate{color:#70757a}.srnote{color:#b06000;margin:4px 0 0}.serppager{color:#1a0dab;flex-direction:column;align-items:center;gap:4px;margin-top:26px;font-size:14px;display:flex}.serppager .pages{gap:14px;display:flex}.serppager b{color:#202124}@media (width<=520px){.srtitle{font-size:17px}.serphead .kslogo{display:none}}.fpost{background:#fcfcfc;border:1px solid #e8e8e8;border-radius:8px;margin:8px 0;padding:10px 12px}.fpost .wch span{margin-left:auto}.fpost .wch .fop{color:#fff;background:var(--site);border-radius:4px;margin-left:0;padding:0 5px;font-size:11px}.fpost .fop+span{margin-left:auto}.rprog{z-index:4;background:color-mix(in srgb, var(--card) 94%, transparent);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:16px;margin:22px -6px 0;padding:14px 16px;position:sticky;bottom:0;box-shadow:0 -8px 24px -10px #4632142e}.rprogtop{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;font-size:16px;font-weight:600;display:flex}.rprogbar{gap:5px;display:flex}.rdot{background:var(--line);height:28px;color:var(--muted);text-align:center;border-radius:8px;flex:1;font-size:14px;font-weight:700;line-height:28px;text-decoration:none;transition:background .25s}.rdot.done{background:var(--accent);color:var(--accent-ink)}.rprog .row{margin-top:12px}.rq>li.answered::marker{color:var(--accent)}@media (prefers-reduced-motion:reduce){.rdot{transition:none}}.questhead{align-items:center;gap:10px;display:flex}.qlevel{font-family:var(--serif);color:var(--accent);letter-spacing:.06em;font-size:24px;font-weight:700}.qbarwrap{align-items:center;gap:12px;margin:10px 0 4px;display:flex}.qbar{background:var(--bg2);border-radius:99px;flex:1;height:16px;overflow:hidden;box-shadow:inset 0 1px 2px #4632141a}.qgoal{color:var(--accent);align-items:center;gap:5px;min-width:4.4em;font-size:16px;font-weight:700;display:inline-flex}.qhint{color:var(--muted);text-align:right;margin-left:auto;font-size:15px}.qbar i{background:linear-gradient(90deg, var(--accent), #d4a73a);border-radius:99px;height:100%;transition:width .4s ease-out;display:block}.cheer{text-align:center;color:var(--gold);justify-content:center;align-items:center;gap:8px;margin:10px 0 0;font-size:19px;font-weight:700;animation:.45s ease-out qpop;display:flex}@keyframes qpop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.questcard{text-align:center;background:radial-gradient(120% 60% at 50% 0%, color-mix(in srgb, var(--gold-soft) 85%, var(--card)), var(--card) 70%);border-color:color-mix(in srgb, var(--gold) 30%, var(--line));position:relative;overflow:hidden}.questcard h1{margin:6px 0;font-size:clamp(28px,5vw,36px)}.questcard h3{font-family:var(--serif);margin:30px 0 12px;font-size:21px}.qdone{letter-spacing:.24em;color:var(--gold);margin:0;font-size:16px;font-weight:700}.qrank{color:#e9d6a6;width:124px;height:124px;box-shadow:0 0 0 6px var(--card), 0 0 0 8px color-mix(in srgb, var(--gold) 55%, transparent), 0 12px 30px -10px #17453d99;background:#17453d;border-radius:50%;place-items:center;margin:14px auto 8px;animation:.9s ease-out qbounce;display:grid}.qrank .ic{stroke-width:1.5px;width:62px;height:62px}@keyframes qbounce{0%{transform:scale(.3)}60%{transform:scale(1.15)}to{transform:scale(1)}}.qline{color:var(--muted);margin:0 0 10px;font-size:19px}.qcount{margin:12px 0 4px;font-size:21px}.qcount b{font-family:var(--serif);color:var(--accent);margin:0 4px;font-size:44px}.qnext{max-width:440px;margin:14px auto 0}.qnextbar{background:var(--bg2);border-radius:99px;height:12px;overflow:hidden}.qnextbar i{background:linear-gradient(90deg, var(--accent), #d4a73a);border-radius:99px;height:100%;display:block}.qnext p{margin:8px 0 0;font-size:17px}.ic.inl{color:var(--accent);margin:0 2px 0 4px}.badges{text-align:center;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.badge{border:1px solid var(--line);background:var(--card);border-radius:18px;justify-items:center;gap:4px;padding:16px 10px;animation:.5s ease-out both qpop;display:grid}.badge:nth-child(2){animation-delay:.1s}.badge:nth-child(3){animation-delay:.2s}.badge:nth-child(4){animation-delay:.3s}.badge:nth-child(5){animation-delay:.4s}.badge:nth-child(6){animation-delay:.5s}.badge .bico{width:58px;height:58px;color:var(--gold);background:var(--gold-soft);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.badge .bico .ic{width:30px;height:30px}.badge b{font-size:17px}.badge small{color:var(--muted);font-size:14px;line-height:1.55}.qpractice{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.qpractice a{border:2px dashed color-mix(in srgb, var(--accent) 60%, transparent);width:60px;height:60px;color:var(--ink);background:var(--card);font-size:34px;font-family:"BiauKai", "DFKai-SB", "標楷體", "TW-Kai", var(--serif);border-radius:14px;place-items:center;text-decoration:none;transition:transform .15s,border-color .15s;display:grid}.qpractice a:hover{border-style:solid;border-color:var(--accent);transform:translateY(-2px)}.questcard .row{justify-content:center}.questcard .row .primary{margin-left:0}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{top:-12px;left:var(--x);background:var(--c);opacity:0;width:8px;height:12px;animation:qfall 2.4s ease-in var(--d) 1 both;border-radius:2px;position:absolute}@keyframes qfall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(420px)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}.qrank,.badge,.cheer{animation:none}.qbar i{transition:none}}@media (width<=520px){.bpath,.bfwd,.bdots{display:none}.burl{padding:0 12px}}.blogo{color:var(--site)}.blogo .ic{width:18px;height:18px}.btools span{align-items:center;gap:4px;display:inline-flex}.bnav .ic{width:18px;height:18px;margin:0}.btx .ic{width:13px;height:13px;display:block}.bdots .ic,.srmore .ic{display:block}.wimgbox .ic{width:72px;height:72px;color:hsl(var(--h) 40% 30%);stroke-width:1.4px;opacity:.8}.wvplay .ic{fill:currentColor;width:22px;height:22px}.wvctl span{align-items:center;gap:8px;display:inline-flex}.wpop .ic{margin-left:3px}.wclike .ic,.bsite .ic,.bshare .ic{margin-right:3px}.badtop span{gap:4px;display:inline-flex}.bpopx .ic{width:20px;height:20px;margin:0;display:block}.serpbox button .ic{color:#1a73e8;width:18px;height:18px;margin:0}.wimgbox.pic{aspect-ratio:20/9;background:0 0;max-width:520px;height:auto;overflow:hidden}.wimgbox .illus{width:100%;height:100%;display:block}.certcard{background:linear-gradient(180deg, color-mix(in srgb, var(--gold-soft) 40%, var(--card)), var(--card) 40%)}.certcard h2{margin-top:0}.certform{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0 20px;display:flex}.certform label{color:var(--muted);flex:240px;gap:6px;font-size:16px;font-weight:600;display:grid}.certform input{color:var(--ink);font-size:20px}.certform .primary{min-height:52px}.certprev canvas{border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 20px 40px -20px #281e0a73,0 2px 6px #281e0a1f}.foot{background:var(--bg2);border-top:1px solid var(--line);color:var(--muted);margin-top:24px;font-size:15px;line-height:1.75}.footin{max-width:900px;padding:32px max(20px, env(safe-area-inset-left,0px)) calc(32px + env(safe-area-inset-bottom,0px));gap:16px;margin:0 auto;display:grid}.fbrand{color:var(--ink);align-items:center;gap:12px;line-height:1.35;display:flex}.fbrand .mark{border-radius:12px;width:40px;height:40px}.fbrand .mark svg{width:22px;height:22px}.fbrand b{font-family:var(--serif);letter-spacing:.1em;font-size:19px;display:block}.fbrand span:not(.mark){color:var(--gold);letter-spacing:.2em;font-size:14px}.fmeta p{margin:0 0 4px}.foot .copy{border-top:1px solid var(--line);letter-spacing:.02em;margin:4px 0 0;padding-top:16px;font-size:14px}@media print{.top,.foot,.tabs{display:none}body{background:#fff}.card{box-shadow:none}}.pagehead{padding:20px 4px 28px}.pagehead h1{letter-spacing:.06em;text-wrap:balance;font-size:clamp(32px,5.6vw,46px)}.pagehead h1 .en{font-family:"Cormorant Garamond", var(--serif);letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin-top:4px;font-size:.5em;font-weight:500;display:block}.pagehead .lead{max-width:36em}.pagehead .row{margin-top:14px}.seg{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:99px;gap:4px;margin-top:18px;padding:4px;display:inline-flex}.seg [role=tab]{color:var(--muted);background:0 0;border:0;border-radius:99px;padding:8px 22px;font-weight:700}.seg [role=tab][aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.boards{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:20px;display:grid}.board{margin:0}.boardlist{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.boardlist li{border-radius:12px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:10px;display:grid}.boardlist li:nth-child(odd){background:color-mix(in srgb, var(--bg) 60%, var(--card))}.boardlist li.empty{color:var(--muted);text-align:center;padding:18px 12px;font-size:16px;display:block}.boardlist .rk{width:36px;height:36px;font-family:var(--serif);color:var(--muted);background:var(--bg2);border-radius:50%;place-items:center;font-size:18px;font-weight:700;display:grid}.boardlist .top1 .rk{color:#3b2a07;background:linear-gradient(145deg,#f3d77a,#c9972c);box-shadow:0 2px 6px #c9972c73}.boardlist .top2 .rk{color:#2b2f33;background:linear-gradient(145deg,#e9e9e9,#b4b7bc)}.boardlist .top3 .rk{color:#3a1f0a;background:linear-gradient(145deg,#e3b08a,#b4713d)}.boardlist .nm{min-width:0;font-weight:600;line-height:1.35;display:grid}.boardlist .nm small{color:var(--muted);font-size:14px;font-weight:400}.boardlist .sc{font-family:var(--serif);color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:21px}.invite{border-color:color-mix(in srgb, var(--gold) 45%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--gold-soft) 70%, var(--card)), var(--card) 60%);align-items:flex-start;gap:18px;display:flex}.invite h2{margin-top:2px}.invite .eyebrow{margin-bottom:6px}.inviteic{color:#e9d6a6;width:58px;height:58px;box-shadow:0 0 0 4px var(--card), 0 0 0 6px color-mix(in srgb, var(--gold) 55%, transparent);background:#17453d;border-radius:50%;flex:none;place-items:center;display:grid}.inviteic .ic{width:28px;height:28px}.invitebody{flex:1;min-width:0}.inviteform{flex-wrap:wrap;align-items:end;gap:10px;margin-top:6px;display:flex}.inviteform label{color:var(--muted);flex:240px;gap:6px;font-size:16px;font-weight:600;display:grid}.inviteform input{font-size:19px}.invite .small{color:var(--bad);min-height:1.5em;margin:8px 0 0}.invite.done .small{display:none}@media (width<=560px){.invite{flex-direction:column}}.about{padding-top:10px}.aboutgrid{grid-template-columns:1fr 1fr;gap:28px 32px;display:grid}@media (width<=640px){.aboutgrid{grid-template-columns:1fr}}.aboutgrid h2{margin:10px 0 6px;font-size:21px}.aboutgrid p{color:var(--muted);margin:0;font-size:17px}.aboutic{background:var(--gold-soft);width:46px;height:46px;color:var(--gold);border-radius:14px;place-items:center;display:grid}.aboutic .ic{width:24px;height:24px}.srcs{color:var(--muted);gap:10px;margin:10px 0 14px;padding:0;font-size:16px;list-style:none;display:grid}.srcs b{min-width:6.5em;color:var(--ink);display:inline-block}.narrow{max-width:440px}.hist.admin td,.hist.admin th{padding:8px 6px;font-size:15px}.hist.admin .acts{gap:6px;display:flex}.hist.admin .acts button{padding:4px 10px;font-size:14px}.hist.admin .danger{color:var(--bad)}.hist.admin tr.hid td{opacity:.55}.hist.admin .tag{margin-left:6px}.flinks{flex-wrap:wrap;gap:6px 22px;font-size:15px;display:flex}.flinks a{color:var(--ink);font-weight:600;text-decoration:none}.flinks a:hover{color:var(--accent);text-decoration:underline}.vh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.classlink{border:1.5px dashed color-mix(in srgb, var(--accent) 35%, var(--line));color:var(--ink);border-radius:16px;align-items:center;gap:14px;margin-top:14px;padding:14px 18px;line-height:1.55;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.classlink:hover{border-style:solid;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--card))}.classlink>.ic:first-child{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;flex-shrink:0;padding:9px}.classlink>.ic:last-child{color:var(--accent);flex-shrink:0;margin-left:auto}.classlink span{color:var(--muted);font-size:16px}.classlink b{color:var(--ink);font-size:17px;display:block}.classbar{gap:10px;margin:0 0 18px;display:flex}.classbar select{flex:1;font-weight:700}.classbar button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.dropzone{border:2px dashed var(--line);background:color-mix(in srgb, var(--bg) 60%, var(--card));border-radius:18px;flex-wrap:wrap;align-items:center;gap:14px 18px;margin:18px 0;padding:26px;transition:border-color .15s,background .15s;display:flex}.dropzone.over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--card))}.dropic .ic{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:14px;padding:10px}.dropzone>div{gap:2px;display:grid}.dropzone .filebtn{margin-left:auto}.filebtn{cursor:pointer;border-radius:12px;align-items:center;padding:11px 22px;font-size:17px;display:inline-flex;position:relative}.filebtn input,.linkbtn input{opacity:0;cursor:pointer;width:100%;min-height:0;position:absolute;inset:0}.linkbtn{color:var(--accent);text-underline-offset:3px;cursor:pointer;font-weight:600;text-decoration:underline;position:relative}.paste summary{cursor:pointer;color:var(--accent);font-weight:600}.paste textarea{border:1.5px solid var(--line);background:var(--bg);width:100%;color:var(--ink);tab-size:12;border-radius:12px;margin-top:10px;padding:12px 14px;font:16px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.err{color:#b8402a;font-weight:600}.mapgrid{grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 18px;display:grid}@media (width<=760px){.mapgrid{grid-template-columns:1fr 1fr}}.mapgrid select{font-size:16px}.classcard .flash{background:var(--accent-soft);color:var(--accent);border-radius:12px;margin:0 0 14px;padding:10px 14px;font-weight:600}.classhead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 24px;display:flex}.classhead h2{margin:0;font-size:clamp(26px,4vw,34px)}.classhead h2:before{display:none}.classprog{min-width:220px;color:var(--muted);flex:0 320px;font-size:16px}.classprog b{color:var(--ink);font-size:26px;font-family:var(--serif)}.classprog .qbar{height:10px;margin-top:8px}.classset{grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0;display:grid}@media (width<=640px){.classset{grid-template-columns:1fr 1fr}.classset label:last-child{grid-column:1/-1}}.classset select{min-height:46px;font-size:16px}.nextup{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--card)), color-mix(in srgb, var(--gold-soft) 55%, var(--card)));border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));border-radius:18px;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:20px 22px;display:flex}.nextup>div{gap:2px;display:grid}.nextup b{font-family:var(--serif);align-items:center;gap:12px;font-size:clamp(26px,4vw,34px);display:flex}.nextup .cta{width:auto;margin-left:auto;padding-inline:30px}.nextup.alldone b{font-size:22px}.seat{background:var(--accent);min-width:1.9em;height:1.9em;color:var(--accent-ink);font:700 .55em/1 var(--sans);font-variant-numeric:tabular-nums;border-radius:99px;place-items:center;padding:0 .3em;display:inline-grid}.pickrow{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 6px;display:flex}.pickrow label{color:var(--muted);font-size:15px}.pickrow select{flex:1;min-width:200px;min-height:46px;font-size:16px}.hist.roster td{vertical-align:middle}.hist.roster tr.done td:nth-child(2){font-weight:700}.hist.roster tr.skipped td{color:var(--muted)}.hist.roster .acts{text-align:right;justify-content:flex-end;gap:6px;display:flex}.st{border-radius:99px;align-items:center;gap:4px;padding:2px 10px;font-size:14px;font-weight:700;display:inline-flex}.st .ic{width:14px;height:14px}.st.done{background:var(--accent-soft);color:var(--accent)}.st.skipped{background:var(--gold-soft);color:color-mix(in srgb, var(--gold) 70%, var(--ink))}.st.todo{border:1px solid var(--line);color:var(--muted)}.st.out{color:var(--muted);padding-inline:.2rem}.hist.roster tr.out td{color:var(--muted)}.up{color:var(--accent)}.down{color:#b8402a}button.sm{border-radius:10px;min-height:0;padding:6px 12px;font-size:15px}button .ic{vertical-align:-.15em}.row>button{align-items:center;gap:8px;display:inline-flex}.danger{color:#b8402a;border-color:color-mix(in srgb, #b8402a 35%, var(--line))}.addstu{grid-template-columns:120px 1fr auto;align-items:end;gap:10px;margin:14px 0 8px;display:grid}@media (width<=520px){.addstu{grid-template-columns:90px 1fr}.addstu button{grid-column:1/-1}}.rmlist{flex-wrap:wrap;gap:6px;max-height:180px;display:flex;overflow:auto}.privacy p{margin:8px 0 0}.classdone{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 7%, var(--card)), var(--card) 60%);gap:4px;display:grid}.classdone h2{align-items:center;gap:12px;margin:4px 0 6px;font-size:clamp(24px,3.6vw,30px);display:flex}.classdone h2:before{display:none}.classdone .row{align-items:center}.classdone .cta{width:auto;margin-left:0;padding-inline:26px}.quizhead .who{color:var(--ink);font-weight:700}.row.start .primary{margin-left:0}.vault h2 .h2ic{color:var(--accent)}.vaultform{grid-template-columns:1fr 1fr;gap:12px 14px;margin:16px 0 6px;display:grid}.vaultform .check,.vaultform .err,.vaultform .row,#vConfirmWrap{grid-column:1/-1}@media (width<=560px){.vaultform{grid-template-columns:1fr}}.check{color:var(--muted);align-items:center;gap:10px;font-size:16px;font-weight:500;display:flex!important}.check input{width:20px;height:20px;min-height:0;accent-color:var(--accent);margin:0}.vault.on{border-color:color-mix(in srgb, var(--accent) 28%, var(--line))}.vaultrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;display:flex}.vaultrow>div{display:grid}.vaultrow b{word-break:break-all;font-size:20px}.vstat{background:var(--bg2);color:var(--muted);border-radius:99px;padding:4px 12px;font-size:15px;font-weight:600}.vstat:empty{display:none}.vstat.ok{background:var(--accent-soft);color:var(--accent)}.vstat.busy{background:var(--gold-soft);color:var(--ink)}.vstat.error{background:color-mix(in srgb, #b8402a 12%, var(--card));color:#b8402a}@media (width<=560px){.hist.roster thead{display:none}.hist.roster,.hist.roster tbody{display:block}.hist.roster tr{border-bottom:1px solid var(--line);grid-template-columns:2.2em 1fr auto;grid-template-areas:"seat name st""seat total total""consent consent consent""acts acts acts";align-items:center;gap:6px 8px;padding:12px 2px;display:grid}.hist.roster tr:last-child{border-bottom:0}.hist.roster td{white-space:normal;border:0;padding:0}.hist.roster .c-seat{color:var(--muted);grid-area:seat;align-self:start;font-weight:700}.hist.roster .c-name{grid-area:name;font-weight:700}.hist.roster .c-st{grid-area:st}.hist.roster .c-total{color:var(--muted);grid-area:total;font-size:14px}.hist.roster .c-total:not(:empty):before{content:"識字量 "}.hist.roster .c-diff{display:none}.hist.roster .c-consent{grid-area:consent}.hist.roster .acts{flex-wrap:wrap;grid-area:acts;justify-content:flex-start}.hist.roster tr:not(.done) .c-total,.hist.roster tr.out .c-st{display:none}.hist.roster .consent{align-items:center;display:inline-flex}.nextup .cta{width:100%}.classbar button{padding-inline:12px}}.err.info{color:var(--accent)}.consent{cursor:pointer;padding:4px;display:inline-flex}.consent input{width:22px;height:22px;min-height:0;accent-color:var(--accent);cursor:pointer;margin:0}.mapgrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.modegrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0;display:grid}.mode{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:16px 18px}.mode.cls{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 5%, var(--card))}.mode h3{align-items:center;gap:8px;margin:0 0 8px;font-size:18px;display:flex}.mode h3 .ic{width:20px;height:20px;color:var(--accent)}.mode .tag{background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600;font-family:var(--sans,inherit);border-radius:999px;margin-left:auto;padding:2px 8px}.mode ul{margin:0;padding-left:1.1em;line-height:1.75}.promises{flex-wrap:wrap;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.promises li{background:var(--gold-soft);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:15px;font-weight:600;display:inline-flex}.promises .ic{width:16px;height:16px;color:var(--gold)}.legend{gap:4px;margin:10px 0 0;padding:0;list-style:none;display:grid}.m-only{display:none}@media (width<=560px){.m-only{color:var(--muted);margin-left:6px;font-size:14px;display:inline}}.legend b{min-width:4.5em;color:var(--ink);display:inline-block}.gsibtn{align-items:center;min-height:44px;margin:14px 0 10px;display:flex}a.dl{border:1.5px solid var(--line);color:var(--ink);background:var(--card);border-radius:12px;align-items:center;padding:11px 20px;font-size:17px;font-weight:600;text-decoration:none;display:inline-flex}a.dl:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}a.dl .ic{margin:0 8px 0 0}.card.notice h2{align-items:center;gap:8px;display:flex}
