: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;--answer:#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;--answer:#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}}@media print{:root,:root[data-theme]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#fff;--text:#000;--text-2:#000;--text-3:#333;--divider:#999;--divider-strong:#555;--brand:#000;--answer:#c0262d}}*,: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;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)}.bar{flex:none;padding:16px 0 0}.picker{flex-wrap:wrap;align-items:flex-end;gap:12px 20px;padding-bottom:16px;display:flex}.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)}.sheet-area{flex:1;padding:32px 0 64px}.paper{max-width:46em;margin:0 auto}.paper-head{border-bottom:1px solid var(--divider-strong);flex-direction:column;gap:8px;padding-bottom:16px;display:flex}.paper-team{font-size:var(--fs-meta);font-weight:var(--fw-strong);letter-spacing:.08em;color:var(--brand);align-items:center;gap:8px;display:flex}.paper-mark{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:22px;height:22px}.paper-kind{font-size:var(--fs-heading);letter-spacing:.12em;color:var(--text);margin-left:auto}.paper-title{font-size:var(--fs-title);font-weight:var(--fw-title);line-height:var(--lh-tight);color:var(--text)}.paper-fill{font-size:var(--fs-body);color:var(--text);gap:40px;padding-top:6px;display:flex}.fill-line{border-bottom:1px solid var(--text);vertical-align:-2px;width:4em;display:inline-block}.fill-line.wide{width:9em}.paper-section{padding-top:20px}.paper-h2{font-size:var(--fs-heading);font-weight:var(--fw-strong);line-height:var(--lh-tight);color:var(--text);padding-bottom:4px}.paper-topic{break-inside:avoid-page;padding-top:12px}.paper-h3{font-size:var(--fs-body);font-weight:var(--fw-strong);color:var(--text-2);padding-bottom:2px}.sentences{padding:0;list-style:none}.sentence{font-size:var(--fs-body);line-height:var(--lh-read);color:var(--text);break-inside:avoid;grid-template-columns:2.2em 1fr;display:grid}.sentence-no{color:var(--text-3);font-variant-numeric:tabular-nums}.sentence-text{overflow-wrap:anywhere}.kw{font-weight:var(--fw-strong);text-underline-offset:.22em;text-decoration:underline;text-decoration-thickness:1px}.blank{white-space:nowrap}.blank-no{text-align:center;min-width:3.2em;font-weight:var(--fw-strong);font-variant-numeric:tabular-nums;display:inline-block}.ans{color:var(--answer);font-weight:var(--fw-title)}.answer-block{break-inside:avoid-page;padding-top:24px}.answer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px;padding:0;list-style:none;display:grid}.answer-cell{min-height:2.6em;font-size:var(--fs-body);break-inside:avoid;align-items:flex-end;gap:4px;padding-bottom:2px;display:flex}.answer-no{min-width:2em;color:var(--text-3);font-variant-numeric:tabular-nums;flex:none}.answer-line{border-bottom:1px solid var(--divider-strong);flex:1;align-self:stretch}.answer-text{color:var(--text);overflow-wrap:anywhere;flex:1}.editor-bar{z-index:2;background:var(--bg);border-bottom:1px solid var(--divider-strong);flex-wrap:wrap;align-items:center;gap:4px 16px;padding:8px 0;display:flex;position:sticky;top:0}.editor-status{font-size:var(--fs-meta);color:var(--text-2);margin-right:auto}.editor-dirty{color:var(--text);font-weight:var(--fw-strong)}.editor-msg{font-size:var(--fs-meta);color:var(--text-2);padding-top:10px}.editor-msg.error{color:var(--danger)}.editor-hint{font-size:var(--fs-meta);color:var(--text-3);padding-top:10px}.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)}.field-error{font-size:var(--fs-meta);color:var(--danger);padding-top:2px}.dialog{border:1px solid var(--divider-strong);border-radius:var(--radius-sm);background:var(--bg);width:min(36em,100vw - 32px);max-height:80vh;color:var(--text);padding:8px 20px 20px}.dialog::backdrop{background:var(--text);opacity:.3}.dialog-head{justify-content:space-between;align-items:center;margin-right:-12px;display:flex}.dialog-title{font-size:var(--fs-heading);font-weight:var(--fw-strong)}.versions{padding:0;list-style:none}.version-row{min-height:var(--touch);border-top:1px solid var(--divider);align-items:center;gap:12px;display:flex}.version-no{min-width:4em;font-size:var(--fs-body);font-weight:var(--fw-strong);font-variant-numeric:tabular-nums;flex:none}.version-meta{min-width:0;font-size:var(--fs-meta);color:var(--text-2);overflow-wrap:anywhere;flex:1}.version-now{font-size:var(--fs-meta);color:var(--text-3);padding:0 4px}.board{z-index:10;background:var(--bg);color:var(--text);outline:none;flex-direction:column;display:flex;position:fixed;inset:0}.board-bar{padding:6px var(--page-pad);border-bottom:1px solid var(--divider-strong);flex-wrap:wrap;flex:none;align-items:center;gap:8px 20px;display:flex}.board-name{font-size:var(--fs-meta);font-weight:var(--fw-strong);color:var(--text-2);margin-right:auto}.board-zoom{align-items:center;display:flex}.board-zoom-value{text-align:center;min-width:3.5em;font-size:var(--fs-meta);color:var(--text-2);font-variant-numeric:tabular-nums}.board-exit{margin-right:-4px}.board-content{min-height:0;padding:24px var(--page-pad) 48px;flex:1;overflow:auto}.board-zoomed{max-width:44em;margin:0 auto}.board-topic+.board-topic{border-top:1px solid var(--divider);margin-top:32px;padding-top:24px}.board-sec{font-size:var(--fs-meta);color:var(--text-3)}.board-h{font-size:var(--fs-title);font-weight:var(--fw-title);line-height:var(--lh-tight);color:var(--text);padding:4px 0 12px}.board-sentences{padding:0;list-style:none}.board-sentence{font-size:var(--fs-title);line-height:var(--lh-read);grid-template-columns:1.8em 1fr;display:grid}.board-sentence+.board-sentence{margin-top:6px}.board-nav{padding:4px var(--page-pad);border-top:1px solid var(--divider-strong);flex:none;justify-content:center;align-items:center;gap:24px;display:flex}.board-count{text-align:center;min-width:4em;font-size:var(--fs-meta);color:var(--text-2);font-variant-numeric:tabular-nums}@page{size:A4 portrait;margin:14mm 16mm}@media print{.top,.bar,.board{display:none!important}body{background:0 0}.app{max-width:none;min-height:0;padding:0;display:block}.sheet-area{padding:0}.paper{max-width:none}}
