:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f9fb;--surface:#fff;--surface-2:#eaeef3;--hover:#1b23300d;--text:#1b2330;--text-2:#3d4757;--text-3:#5c6677;--divider:#dce2e9;--divider-strong:#c0c9d4;--brand:#1e3a5f;--accent:#1f4d8a;--accent-soft:#e3ebf5;--danger:#c0262d}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1722;--surface:#152131;--surface-2:#1c2a3c;--hover:#e3e9f10d;--text:#e3e9f1;--text-2:#bfcad8;--text-3:#91a0b3;--divider:#22324a;--divider-strong:#34475f;--brand:#e3e9f1;--accent:#8fb8ee;--accent-soft:#1b3150;--danger:#ff9c93}:root{--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--font-serif:"Noto Serif TC", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif CJK TC", "PMingLiU", serif;--fs-label:11.5px;--fs-meta:13.5px;--fs-body:15px;--fs-heading:17px;--fs-title:22px;--fs-numeral:34px;--fw-regular:400;--fw-strong:600;--fw-title:700;--lh-tight:1.25;--lh-base:1.5;--lh-read:1.75;--shell-max:1240px;--page-pad:16px;--radius-sm:6px;--radius-pill:999px;--touch:44px;--ease:cubic-bezier(.2, .8, .2, 1)}@media (width>=640px){:root{--page-pad:24px}}@media (width>=1000px){:root{--page-pad:40px}}*,:before,:after{box-sizing:border-box}html,body,#root{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-base);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}button,select{font:inherit;color:inherit}h1,h2,h3,p,ol,ul{margin:0}.app{min-height:100dvh;max-width:var(--shell-max);padding:0 var(--page-pad);flex-direction:column;margin:0 auto;display:flex}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.top{border-bottom:1px solid var(--divider-strong);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:28px 0 20px;display:flex}.brand{min-width:0;color:var(--brand);align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark,.paper-mark{background:currentColor;flex:none;width:34px;height:34px;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.brand-text{flex-direction:column;gap:3px;min-width:0;display:flex}.site-title{font-size:var(--fs-title);font-weight:var(--fw-title);line-height:var(--lh-tight);letter-spacing:.12em;color:var(--brand);white-space:nowrap}.site-title-en{font-size:var(--fs-meta);font-weight:var(--fw-regular);line-height:var(--lh-tight);letter-spacing:.06em;color:var(--text-3);white-space:nowrap}.top-actions{align-items:center;gap:8px;margin-right:-12px;display:flex}.text-btn{min-height:var(--touch);color:var(--accent);font-size:var(--fs-meta);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px;text-decoration:none;display:inline-flex}.text-btn:not(:disabled):hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.text-btn:disabled{color:var(--text-3);cursor:default}.btn-outline{min-height:var(--touch);color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;text-decoration:none;display:inline-flex}.btn-face{border-radius:var(--radius-pill);font-size:var(--fs-meta);font-weight:var(--fw-strong);border:1px solid;align-items:center;gap:6px;padding:5px 14px;display:inline-flex}.btn-outline:not(:disabled):hover .btn-face{background:var(--accent-soft)}.btn-outline:disabled{color:var(--text-3);cursor:default}.icon-btn{width:var(--touch);height:var(--touch);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:not(:disabled):hover{color:var(--accent);background:var(--hover)}.icon-btn:disabled{color:var(--divider-strong);cursor:default}.center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px 0 12vh;display:flex}.center-note{font-size:var(--fs-body);color:var(--text-2)}.center-error{max-width:32em;font-size:var(--fs-meta);color:var(--danger)}.field{flex-direction:column;gap:4px;display:flex}.field.grow{flex:18em;min-width:0}.field-label{font-size:var(--fs-label);font-weight:var(--fw-strong);letter-spacing:.08em;color:var(--text-3)}.field-select{border-radius:var(--radius-sm);background:var(--surface-2);min-width:7em;height:36px;color:var(--text);font-size:var(--fs-body);cursor:pointer;border:0;padding:0 10px}.field.grow .field-select{width:100%;max-width:28em}.field-select:focus{box-shadow:inset 0 0 0 1px var(--accent);outline:none}.bar-row{border-bottom:1px solid var(--divider-strong);flex-wrap:wrap;align-items:center;gap:8px 24px;display:flex}.tabs{align-self:stretch;gap:24px;display:flex}.tab{min-height:var(--touch);color:var(--text-2);font-size:var(--fs-heading);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:0 2px;display:inline-flex}.tab:hover{color:var(--accent)}.tab.on{color:var(--accent);font-weight:var(--fw-strong);border-bottom-color:var(--accent)}.bar-options{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.bar-actions{align-items:center;gap:16px;margin-left:auto;display:flex}.choices{flex-wrap:wrap;gap:8px;display:flex}.choice{border:1px solid var(--divider-strong);border-radius:var(--radius-pill);height:32px;color:var(--text-2);font-size:var(--fs-meta);white-space:nowrap;cursor:pointer;background:0 0;padding:0 12px}.choice:hover{color:var(--accent);border-color:var(--accent)}.choice.on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);font-weight:var(--fw-strong)}.edit-row{grid-template-columns:2.2em 1fr auto;align-items:start;gap:0 4px;padding:3px 0;display:grid}.edit-row .sentence-no{font-size:var(--fs-body);padding-top:7px}.edit-main{min-width:0}.edit-input{border-radius:var(--radius-sm);background:var(--surface-2);width:100%;min-height:38px;color:var(--text);font:inherit;font-size:var(--fs-body);line-height:var(--lh-base);resize:none;field-sizing:content;border:0;padding:7px 10px;display:block}.edit-input:focus{box-shadow:inset 0 0 0 1px var(--accent);outline:none}.edit-input.bad{box-shadow:inset 0 0 0 1px var(--danger)}.edit-tools{margin-top:-3px;display:flex}.edit-add{margin-left:calc(2.2em - 4px)}.app.wide{flex-direction:column;max-width:none;height:100dvh;display:flex}.work{flex:1;grid-template-columns:minmax(380px,460px) minmax(0,1fr);gap:0 32px;min-height:0;display:grid}.side{min-height:0;padding:8px 12px 64px 0;overflow-y:auto}.main{flex-direction:column;min-height:0;display:flex}.preview-bar{flex:none}.preview{background:var(--surface-2);flex:1;min-height:0;padding:24px;overflow:auto}.sheets .paper{flex-direction:column;align-items:center;gap:24px;display:flex}.sheets .sheet{box-shadow:0 0 0 1px var(--divider-strong)}.panel{border-bottom:1px solid var(--divider);flex-direction:column;gap:12px;padding:20px 0;display:flex}.panel-title{font-size:var(--fs-heading);font-weight:var(--fw-strong);color:var(--text);justify-content:space-between;align-items:baseline;display:flex}.panel-note{font-size:var(--fs-meta);font-weight:var(--fw-regular);color:var(--text-3)}.panel-note.bad{color:var(--danger)}.row{flex-wrap:wrap;align-items:flex-end;gap:8px 16px;display:flex}.hint{font-size:var(--fs-meta);color:var(--text-3)}.check{min-height:32px;font-size:var(--fs-meta);color:var(--text-2);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.edit-input.num{width:5.5em}.edit-input.tall{min-height:76px;max-height:240px;overflow-y:auto}.drop{border:1px dashed var(--divider-strong);border-radius:var(--radius-sm);flex-direction:column;align-items:flex-start;gap:4px;padding:8px 12px 12px;display:flex}.issues{flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.issue{font-size:var(--fs-meta);color:var(--text-2)}.issue.bad{color:var(--danger)}.score{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.score li{font-size:var(--fs-meta);color:var(--text-2);align-items:center;gap:8px;display:flex}.score-name{color:var(--text);font-size:var(--fs-body);flex:1}.sec{flex-direction:column;display:flex}.sec-head{border-bottom:1px solid var(--divider-strong);justify-content:space-between;align-items:center;display:flex}.sec-name{font-size:var(--fs-body);font-weight:var(--fw-strong);color:var(--text)}.items{padding:0;list-style:none}.item,.group{border-bottom:1px solid var(--divider)}.group>.items{padding-left:16px}.group>.items>.item:last-child{border-bottom:0}.item-line{min-height:var(--touch);align-items:center;gap:8px;display:flex}.item-line .edit-input{flex:1;min-width:0;margin:3px 0}.item-no{text-align:right;min-width:1.8em;font-size:var(--fs-meta);color:var(--text-3);font-variant-numeric:tabular-nums;flex:none}.item-text{text-align:left;min-width:0;font-size:var(--fs-meta);color:var(--text);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;flex:1;padding:0;overflow:hidden}.item-text:hover{color:var(--accent)}.item-text.plain{cursor:default;color:var(--text-2)}.item-text.plain:hover{color:var(--text-2)}.item-tag{font-size:var(--fs-label);font-weight:var(--fw-strong);letter-spacing:.08em;color:var(--text-3);flex:none}.answer-select{width:4.6em;min-width:0;height:32px;font-size:var(--fs-meta);flex:none;padding:0 6px}.item-line .edit-tools{margin:0 -8px 0 0}.item-line .icon-btn{width:32px;height:32px}.item-edit{flex-direction:column;gap:8px;padding:0 0 12px 2.3em;display:flex}.img-pick{align-items:center;gap:8px;display:inline-flex}.paste-box{border:1px dashed var(--divider-strong);border-radius:var(--radius-sm);font-size:var(--fs-meta);color:var(--text-3);cursor:text;padding:4px 10px}.paste-box:focus{border-color:var(--accent);color:var(--accent);outline:none}@media print{.top,.side,.preview-bar{display:none}.app.wide{height:auto;padding:0;display:block}.work,.main{display:block}.preview{padding:0;overflow:visible}.sheets{zoom:1!important}.sheets .paper{display:block}}.paper{--ink:#111;--soft:#555;--rule:#111;--box:#666;--font-ui:"Noto Sans TC";--font-text:"Noto Sans TC";--w-text:400;--fs-body:13pt;--fs-small:11.5pt;--fs-h1:22pt;--fs-h2:15pt;--lh:1.75;--lh-fill:2.1;--page-w:210mm;--page-h:297mm;--pad-x:15mm;--pad-top:14mm;--pad-bottom:16mm;color:var(--ink);font-family:var(--font-text);font-weight:var(--w-text);font-size:var(--fs-body);line-height:var(--lh);text-autospace:normal;line-break:strict;text-align:left}.paper[data-face=serif]{--font-text:"Noto Serif TC";--w-text:500}.paper[data-size="3"]{--fs-body:12pt;--fs-small:11pt;--fs-h1:20pt;--fs-h2:14pt;--lh:1.7;--lh-fill:2}.paper[data-size=dense]{--fs-body:11pt;--fs-small:10.5pt;--fs-h1:19pt;--fs-h2:13pt;--lh:1.55;--lh-fill:1.9}.sheet{width:var(--page-w);height:var(--page-h);padding:var(--pad-top) var(--pad-x) var(--pad-bottom);box-sizing:border-box;background:#fff;position:relative;overflow:hidden}.sheet-body{height:100%}.sheet.over{outline-offset:-.6mm;outline:.6mm dashed #c0262d}.run-head,.run-foot{left:var(--pad-x);right:var(--pad-x);font-family:var(--font-ui);color:var(--soft);justify-content:space-between;align-items:center;font-size:9pt;font-weight:400;line-height:1.2;display:flex;position:absolute}.run-head{top:6mm}.run-foot{bottom:6.5mm}.run-foot .pg{text-align:center;color:var(--ink);position:absolute;left:0;right:0}.measure{width:calc(var(--page-w) - 2 * var(--pad-x));visibility:hidden;pointer-events:none;position:absolute;top:0;left:-9999px}.measure>div,.sheet-body>div{display:flow-root}.p-head{border-bottom:.6mm solid var(--rule);justify-content:space-between;align-items:flex-end;gap:6mm;padding-bottom:2mm;display:flex}.p-kicker{font-family:var(--font-ui);font-weight:700;font-size:var(--fs-small);color:var(--soft);line-height:1.4}.p-title{font-family:var(--font-ui);font-weight:900;font-size:var(--fs-h1);margin:0;line-height:1.3}.p-name{font-family:var(--font-ui);font-size:var(--fs-small);white-space:nowrap;flex:none;gap:5mm;padding-bottom:1mm;line-height:1.4;display:flex}.p-name i{border-bottom:.3mm solid var(--ink);width:30mm;margin-left:1mm;display:inline-block}.p-name i.short{width:18mm}.p-sec{align-items:baseline;gap:3mm;line-height:1.4;display:flex}.p-sec b{font-family:var(--font-ui);font-weight:900;font-size:var(--fs-h2)}.p-sec small{font-family:var(--font-ui);font-weight:400;font-size:var(--fs-small);color:var(--soft)}.q{grid-template-columns:2.1em 1fr;column-gap:1.5mm;display:grid}.q.br{grid-template-columns:2.1em 4em 1fr;column-gap:.8mm}.q-no{font-family:var(--font-ui);text-align:right;font-weight:700}.q-br{white-space:nowrap;letter-spacing:0}.q-body{min-width:0;display:flow-root}.q-body u{text-underline-offset:.18em;text-decoration-thickness:.25mm}.stem{margin:0}.fig{display:block}.fig.right{float:right;clear:right;margin:1mm 0 1.5mm 4mm}.fig.block{margin:2mm auto}.figs-row{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:3mm 5mm;margin:2mm 0;display:flex}.inl{vertical-align:middle}.opts{column-gap:4mm;margin-top:.5mm;display:grid}.opts.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.opts.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.opts.c1{grid-template-columns:minmax(0,1fr)}.opt{gap:.6mm;min-width:0;display:flex}.opt>b{font-weight:inherit;flex:none}.opt>span{min-width:0}.opts.probing .opt{white-space:nowrap;overflow:hidden}.tbl{border-collapse:collapse;font-size:var(--fs-small);margin:1.5mm 0;line-height:1.5}.tbl td{border:.25mm solid var(--ink);vertical-align:middle;text-align:center;padding:.6mm 2.5mm}.lead{border:.3mm solid var(--box);padding:2mm 3.5mm;display:flow-root}.lead-range{font-family:var(--font-ui);font-weight:700;font-size:var(--fs-small);color:var(--soft);margin-bottom:.5mm;line-height:1.4}.fill{line-height:var(--lh-fill);grid-template-columns:2.1em 1fr;column-gap:1.5mm;display:grid}.blank{text-align:center;white-space:nowrap;line-height:1.2;display:inline-block}.blank .ans,.map-title{font-family:var(--font-ui);font-weight:700}.map-note{font-size:var(--fs-small);color:var(--soft)}.kgrid{grid-template-columns:repeat(5,1fr);column-gap:4mm;line-height:2;display:grid}.kgrid.review{font-size:var(--fs-h2);grid-template-columns:repeat(2,1fr)}.kgrid b{font-family:var(--font-ui);font-weight:700}.kgrid .n{min-width:2.2em;color:var(--soft);font-family:var(--font-ui);display:inline-block}.kgrid.review .n{min-width:4.2em}.kgrid.review b{letter-spacing:.2em}.kexp{font-size:var(--fs-small);grid-template-columns:2.1em 1fr;column-gap:1.5mm;line-height:1.6;display:grid}.kexp p{white-space:pre-wrap;margin:0}@page{size:210mm 297mm;margin:0}@media print{html,body{background:#fff}.sheet{break-after:page;box-shadow:none!important;outline:none!important;margin:0!important}.sheet:last-child{break-after:auto}}
