:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#1a263d;background:#f3f5f9;font-size:16px;font-synthesis:none;--blue:#2447b8;--muted:#69758c;--border:#e1e6ef;--reader-size:18px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,label.upload-button{cursor:pointer}button{transition:background .15s,color .15s}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,label:focus-within,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #859ef2;outline-offset:3px}button{border:0}h1,h2,h3,p{margin:0}.app-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--border);background:white}.brand{display:flex;align-items:center;gap:14px}.brand-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:var(--blue);color:white;font-size:34px;line-height:1;padding-bottom:5px}.brand strong{font-size:22px;letter-spacing:2px}.brand strong span{color:#c9d0dd;font-weight:300;padding-left:12px}.brand-caption{font-size:15px;color:#5d6a80}.privacy{display:flex;align-items:center;gap:7px;font-size:13px;color:#65718a}.workspace{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:calc(100dvh - 76px)}.sidebar{background:#fbfcfe;border-right:1px solid var(--border);padding:30px 24px;display:flex;flex-direction:column;gap:16px}.side-heading{display:flex;align-items:center;justify-content:space-between}.side-heading h1{font-size:19px;font-weight:650}.step{font-size:12px;color:#7a869b;letter-spacing:1px}.side-intro{font-size:14px;color:var(--muted);line-height:1.6;margin-top:-6px}.upload-card{padding:18px 15px 12px;border:1px solid #dce3ef;background:white;border-radius:10px;transition:border-color .2s,background .2s}.upload-card.dragging{border-color:var(--blue);background:#edf2ff}.upload-heading{display:flex;align-items:center;gap:9px}.lang-stamp{background:#eaf0ff;color:var(--blue);border-radius:5px;font-size:12px;font-weight:700;display:grid;place-items:center;width:28px;height:27px}.lang-stamp.zh{background:#edf0f5;color:#4e5d7a}.upload-heading h2{font-size:15px;font-weight:600}.file-state{margin-left:auto;font-size:12px;color:#748198}.file-name{font-size:13px;color:#7c8798;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:14px 0}.upload-button{display:block;width:100%;padding:10px 7px;text-align:center;border:1px dashed #bdc9de;border-radius:5px;font-size:14px;color:#465a7c;background:#fafcff}.upload-button:hover{border-color:var(--blue);color:var(--blue);background:#f2f5ff}.text-button{padding:5px 0;background:none;color:var(--blue);font-size:14px}.upload-card .text-button{display:block;margin:8px auto 0}.file-hint{font-size:12px;color:#7c8798;text-align:center;margin-top:5px;line-height:1.6}.primary{padding:13px 18px;display:flex;align-items:center;justify-content:center;gap:18px;background:var(--blue);color:white;border-radius:6px;font-size:15px;font-weight:550}.primary:hover{background:#1c3997}.secondary{padding:12px 18px;background:#f0f3f8;color:#3e4c64;border:1px solid var(--border);border-radius:6px;font-size:14px}.upload-note{font-size:12px;color:#748198;line-height:1.7}.demo-button{font-size:13px;text-align:left;align-self:flex-start;margin-top:-8px}.side-guide{padding-top:24px;margin-top:auto;border-top:1px solid var(--border)}.side-guide h3{font-size:16px;margin:12px 0 9px;font-weight:600}.side-guide p{font-size:13px;color:#6a7790;line-height:1.8;margin-top:10px}.side-guide .small-note{font-size:12px;color:#7a869b}.main{padding:30px 34px 16px;min-width:0;display:flex;flex-direction:column;height:calc(100dvh - 76px);min-height:660px}.reading-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:2.6px;color:#7d89a0;margin-bottom:8px}.reading-top h2{font-size:24px;font-weight:600;letter-spacing:.5px;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reading-meta{display:flex;gap:12px;align-items:center;font-size:12px;color:#7e899c;margin-top:10px}.sample-badge{background:#e6ebf4;color:#5c6c88;padding:3px 7px;border-radius:3px}.reading-actions{display:flex;gap:5px;align-items:center}.switch-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#536078;margin-right:15px;white-space:nowrap;cursor:pointer}.switch-label input{position:absolute;opacity:0;width:36px;height:24px}.switch{height:20px;width:34px;border-radius:30px;background:#b5c0d2;position:relative}.switch:before{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:white;border-radius:50%;transition:transform .2s}.switch-label input:checked+.switch{background:var(--blue)}.switch-label input:checked+.switch:before{transform:translateX(14px)}.switch-label input:focus-visible+.switch{outline:3px solid #859ef2;outline-offset:3px}.icon-button{background:transparent;color:#53647f;min-width:34px;min-height:34px;border-radius:5px;font-size:14px}.icon-button:hover{background:#e6ebf4}.reader-stack{flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 39px minmax(0,1fr)}.reader-panel{background:white;border:1px solid #dce3ee;border-radius:9px;display:flex;flex-direction:column;min-height:0;overflow:hidden;box-shadow:0 3px 14px #23395704}.panel-heading{height:52px;min-height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f5;padding:0 23px}.panel-heading>div{display:flex;align-items:center;gap:10px}.panel-language{font-size:12px;font-weight:700;color:var(--blue)}.panel-language.chinese{font-size:14px}.panel-heading h3{font-size:14px;font-weight:600}.panel-subtitle{font-size:10px;color:#9aa4b6;letter-spacing:1.6px;margin-left:5px}.sentence-count{font-size:12px;color:#8792a5}.reading-content{padding:20px 24px 70px 17px;overflow:auto;flex:1;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d7deeb transparent}.pair{display:grid;grid-template-columns:36px minmax(0,1fr);padding:9px 14px 9px 4px;border-left:3px solid transparent;border-radius:3px;position:relative;margin-bottom:5px;transition:background .15s}.pair:hover{background:#f7f9fd}.pair.active{background:#eef3ff;border-left-color:#4169d9}.pair-number{font:11px/2.9 -apple-system,BlinkMacSystemFont,sans-serif;color:#a0abc0;user-select:none;padding-left:5px}.pair.active .pair-number{color:#4366bc}.pair-text{font-family:Georgia,"Times New Roman","Songti SC",SimSun,serif;font-size:var(--reader-size);line-height:1.85;color:#2e3950;overflow-wrap:anywhere}.pair.active .pair-text{color:#243d75}#reader-zh .pair-text{font-family:"Songti SC","Noto Serif CJK SC",SimSun,serif;line-height:1.95}.sentence{cursor:text}.sentence::selection{background:#b7cbff;color:#142d60}.missing{font:14px/2 sans-serif;color:#9c8592}.pair.manual:after{content:"已校正";position:absolute;right:8px;top:1px;font-size:10px;color:#7887a6}.connection-bar{display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 24px;font-size:12px;color:#7b87a0}.connection-label{display:flex;align-items:center;gap:12px}.connection-label>span:first-child{font-size:19px;color:#899bbb}.connection-bar .text-button{font-size:12px}.reader-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;font-size:12px;color:#8390a6;gap:10px}.pair-nav{display:flex;align-items:center;gap:9px}.pair-nav>span{font-size:12px;min-width:76px;text-align:center;font-variant-numeric:tabular-nums}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:90vw;background:#20304f;color:white;border-radius:8px;padding:13px 22px;font-size:14px;line-height:1.6;box-shadow:0 6px 24px #18274530;z-index:10}dialog{padding:0;border:1px solid var(--border);border-radius:14px;max-width:min(780px,94vw);width:780px;max-height:90dvh;color:#24334c;box-shadow:0 24px 100px #17244040}dialog::backdrop{background:#15234066;backdrop-filter:blur(3px)}.dialog-content{padding:28px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dialog-heading h2{font-size:21px;font-weight:600}.dialog-content>p{font-size:14px;color:#72809a;line-height:1.7}.dialog-content textarea{width:100%;min-height:300px;height:40dvh;border:1px solid #cdd6e6;border-radius:7px;margin:18px 0 8px;padding:15px;font-size:16px;line-height:1.8;resize:vertical}.dialog-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.dialog-error{color:#b24545!important;min-height:20px}.correction-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0 12px;min-width:0}.correction-grid section{min-width:0}.correction-grid h3{font-size:15px;margin-bottom:12px}.correction-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#687a96;margin:12px 0}.correction-grid select{width:100%;padding:9px;border:1px solid var(--border);border-radius:5px;background:white;color:#24334c;font-size:14px}.range-preview{font-size:14px;line-height:1.8;height:140px;overflow:auto;background:#f5f7fb;padding:12px;border-radius:5px;white-space:pre-wrap}.empty-reader{padding:45px;text-align:center;color:#8390a6;line-height:1.9;font-size:15px}
@media(min-width:1600px){.main{padding-left:6vw;padding-right:6vw}.sidebar{padding-top:35px}}@media(max-width:1100px){.workspace{grid-template-columns:254px minmax(0,1fr)}.sidebar{padding:24px 18px}.main{padding:25px 22px 12px}.reading-top{align-items:flex-start;gap:10px}.reading-top h2{font-size:21px;max-width:300px}.reading-actions{flex-wrap:wrap;justify-content:flex-end}.switch-label{margin-right:0}.reading-content{padding-left:7px;padding-right:12px}.pair{padding-right:9px;grid-template-columns:30px minmax(0,1fr)}}@media(max-width:760px){.app-header{height:65px;padding:0 18px}.brand{gap:9px}.brand strong{font-size:20px}.brand-caption{font-size:13px}.privacy{font-size:0;gap:0}.privacy svg{width:18px;height:18px}.workspace{display:flex;flex-direction:column}.sidebar{display:grid;grid-template-columns:1fr 1fr;padding:20px 16px;gap:12px;border-right:0;border-bottom:1px solid var(--border)}.side-heading{grid-column:1/-1}.side-intro{grid-column:1/-1}.upload-card{padding:12px 10px}.file-hint{font-size:10px}.file-name{font-size:11px}.file-state{display:none}.sidebar>.primary{grid-column:1/-1}.upload-note{grid-column:1/-1}.demo-button{grid-column:1/-1;margin-top:-7px}.side-guide{display:none}.main{padding:24px 14px 14px;height:850px;min-height:700px}.reading-top h2{max-width:55vw;font-size:20px}.eyebrow{font-size:10px}.reading-actions{max-width:125px;gap:4px}.switch-label{width:100%;justify-content:flex-end;font-size:12px;margin-bottom:6px}.panel-heading{padding:0 16px}.panel-subtitle{display:none}.reading-content{padding-top:12px}.pair{grid-template-columns:26px minmax(0,1fr);padding-left:0}.pair-text{font-size:calc(var(--reader-size) - 1px)}.connection-bar{padding:0 6px;font-size:11px}.connection-label{gap:7px}.correction-grid{grid-template-columns:1fr}.range-preview{height:75px}.dialog-content{padding:20px}.reader-footer>span{max-width:55%;line-height:1.6}.reading-meta{gap:8px}.brand strong span{padding-left:3px}.dialog-buttons .primary,.dialog-buttons .secondary{font-size:13px;padding:11px 12px}}

/* Native, quiet reading surface. */
:root{--blue:#007aff;--muted:#6e6e73;--border:#e5e5ea;color:#1d1d1f;background:#f5f5f7;font-size:16px}
.app-header{height:68px;background:#fafafccc;padding:0 28px;backdrop-filter:blur(20px)}
.brand-icon{background:#007aff;width:32px;height:32px;border-radius:8px;font-size:30px}
.brand strong{letter-spacing:0;font-size:21px;font-weight:600}.brand strong span{display:none}.brand-caption{color:#86868b;font-size:14px}.privacy{color:#86868b}
.workspace{min-height:calc(100dvh - 68px);grid-template-columns:278px minmax(0,1fr)}
.sidebar{background:#f5f5f7;padding:28px 22px;gap:15px}.side-heading h1{font-size:18px}.step{letter-spacing:0;color:#8e8e93}.side-intro{color:#86868b}
.upload-card{border-color:#e5e5ea;border-radius:12px;padding:17px 14px 13px}.lang-stamp{background:#eef6ff;color:#007aff}.lang-stamp.zh{background:#f2f2f7;color:#636366}.upload-heading h2{font-weight:600}.file-name{color:#86868b}.file-hint{color:#8e8e93}
.upload-button{background:#f5f5f7;border:1px solid #e5e5ea;border-radius:7px;color:#007aff;font-size:14px}.upload-button:hover{background:#eef6ff;border-color:#c1dcff}.primary{background:#007aff;border-radius:8px;padding:12px 18px;font-weight:500}.primary:hover{background:#0068dc}.secondary{border-radius:8px;background:#f2f2f7}.text-button{color:#007aff}.side-guide{padding-top:20px}.side-guide h3{font-weight:500}.side-guide p,.side-guide .small-note{color:#86868b}
.main{height:calc(100dvh - 68px);padding:30px 36px 16px;min-height:670px}.eyebrow{display:none}.reading-top{align-items:flex-start;margin-bottom:24px}.reading-top h2{font-size:23px;letter-spacing:-.3px;font-weight:600;color:#1d1d1f}.reading-meta{color:#86868b}.sample-badge{background:#eaeaee;color:#6e6e73;border-radius:5px}.reading-actions{gap:3px}.switch-label{color:#6e6e73;font-size:14px}.switch-label input:checked+.switch{background:#34c759}.icon-button{color:#6e6e73}.icon-button:hover{background:#e8e8ed}
.reader-panel{border-color:#e5e5ea;border-radius:12px;box-shadow:0 2px 8px #00000003}.panel-heading{border-color:#ededf0;padding:0 24px;background:#fff}.panel-heading h3{color:#48484a;font-weight:500}.panel-subtitle{display:none}.panel-language{color:#007aff}.sentence-count{color:#8e8e93}.reading-content{scrollbar-color:#d1d1d6 transparent;padding-top:17px}.pair{border-radius:5px}.pair-text,#reader-zh .pair-text{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.9;color:#303034;font-weight:400}.pair.active{background:#eef6ff;border-left-color:#007aff}.pair.active .pair-text{color:#1d416b}.pair:hover{background:#f7f8fa}.pair.active:hover{background:#eef6ff}.pair-number{color:#b0b0b7}.pair.active .pair-number{color:#6b9ed4}.connection-bar{color:#8e8e93}.connection-label>span:first-child{color:#a0a0a8}.reader-footer{color:#8e8e93}.reader-stack{grid-template-rows:minmax(0,1fr) 40px minmax(0,1fr)}.dialog-content textarea{border-color:#d1d1d6}.dialog-content>p{color:#86868b}.range-preview{background:#f5f5f7}
@media(max-width:1100px){.workspace{grid-template-columns:250px minmax(0,1fr)}.main{padding:26px 22px 14px}.sidebar{padding:25px 18px}.reading-actions{max-width:160px}.reading-top h2{font-size:21px;max-width:290px}}
@media(max-width:760px){.app-header{height:64px;padding:0 18px}.sidebar{padding:20px 16px;gap:12px}.upload-card{padding:12px 10px}.main{height:850px;padding:24px 14px 14px}.reading-top h2{font-size:20px;max-width:54vw}.reading-actions{max-width:120px}.switch-label{font-size:12px}.reader-stack{grid-template-rows:minmax(0,1fr) 40px minmax(0,1fr)}}

img.brand-icon{display:block;width:36px;height:36px;object-fit:cover;padding:0;border-radius:9px;background:#c2f6fb;flex-shrink:0}
.brand-search-mirror{display:inline-block;transform:scaleX(-1)}

/* Continuous paragraphs; each sentence remains an independent alignment target. */
.reading-content{padding:26px 38px 70px;scroll-padding-top:24px}
.document-paragraph{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;font-size:var(--reader-size);font-weight:400;line-height:1.95;color:#303034;margin:0 0 1.1em;overflow-wrap:anywhere}
.document-paragraph.title{font-size:calc(var(--reader-size) * 1.48);font-weight:700;line-height:1.45;letter-spacing:-.025em;margin-bottom:1em;color:#1d1d1f}
.document-paragraph.heading{font-size:calc(var(--reader-size) * 1.14);font-weight:650;line-height:1.55;margin-top:1.4em;margin-bottom:.65em;color:#242426}
.document-paragraph.subheading{font-size:calc(var(--reader-size) * 1.04);font-weight:600;line-height:1.6;margin-top:1.15em;margin-bottom:.6em;color:#39393c}
.document-paragraph.metadata{font-size:calc(var(--reader-size) * .86);font-weight:400;color:#737378;line-height:1.8}
.document-paragraph:first-child{margin-top:0}
.document-paragraph .sentence{font:inherit;color:inherit;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-color .12s}
.document-paragraph .sentence:hover{background:#f0f4fa}
.document-paragraph .sentence.active{background:#dcecff;color:inherit;box-shadow:0 1px 0 #97c4ff}
.document-paragraph .sentence.active:hover{background:#d2e6ff}
.document-paragraph .sentence.marker-yellow{background:#fff0a8}.document-paragraph .sentence.marker-green{background:#c8f1d6}.document-paragraph .sentence.marker-pink{background:#ffd3e0}.document-paragraph .sentence.marker-purple{background:#e4d4ff}.document-paragraph .sentence.active.marker-yellow,.document-paragraph .sentence.active.marker-green,.document-paragraph .sentence.active.marker-pink,.document-paragraph .sentence.active.marker-purple{box-shadow:0 1px 0 #6fa9e8,inset 0 -2px #7baee5}
.document-paragraph .sentence.unmatched{text-decoration:underline dotted #b3b3bb;text-underline-offset:5px}
.document-paragraph .sentence::selection{background:#a7d0ff;color:#142d60}
@media(max-width:1100px){.reading-content{padding-left:26px;padding-right:26px}}
@media(max-width:760px){.reading-content{padding:20px 20px 50px}.document-paragraph{font-size:calc(var(--reader-size) - 1px)}.brand strong{font-size:19px}.brand-caption{font-size:12px}.brand{gap:8px}}

.connection-tools{display:flex;align-items:center;gap:14px}.marker-tools{display:flex;align-items:center;gap:6px;font-size:12px;color:#8e8e93}.marker-button{width:18px;height:18px;padding:0;border:1px solid #d1d1d6;border-radius:50%}.marker-button.marker-yellow{background:#fff0a8}.marker-button.marker-green{background:#c8f1d6}.marker-button.marker-pink{background:#ffd3e0}.marker-button.marker-purple{background:#e4d4ff}.marker-button:hover,.marker-button:focus-visible{transform:scale(1.12);outline:2px solid #007aff;outline-offset:2px}.clear-marker{background:transparent;color:#8e8e93;font-size:12px;padding:3px 5px}.clear-marker:hover{text-decoration:underline;color:#007aff}@media(max-width:760px){.marker-tools>span{display:none}.marker-tools{gap:4px}.connection-tools{gap:7px}.marker-button{width:16px;height:16px}}

.library-link{padding:7px 9px;border-radius:7px;background:transparent;font:inherit;color:#6e6e73}.library-link:hover{background:#f0f2f6;color:#007aff}.library-link:focus-visible{outline-offset:1px}
.header-actions{display:flex;align-items:center;gap:8px}.auth-button{border:1px solid #007aff;border-radius:7px;background:#007aff;color:#fff;padding:7px 12px;font:inherit;font-size:14px}.auth-button:hover{background:#0066d6}.auth-button:focus-visible{outline:2px solid #007aff;outline-offset:2px}.auth-tabs{display:flex;gap:16px;border-bottom:1px solid #e5e5ea;margin:18px 0 3px}.auth-tab{padding:7px 2px 9px;background:transparent;color:#6e6e73;border-radius:0;border-bottom:2px solid transparent;font:inherit;font-size:14px}.auth-tab[aria-selected="true"]{color:#007aff;border-bottom-color:#007aff}.auth-hint{font-size:13px;line-height:1.6;color:#6e6e73;margin:9px 0 0}.auth-buttons{margin-top:18px}.auth-dialog input{width:100%;padding:12px;border:1px solid #d1d1d6;border-radius:7px;font-size:16px}.auth-dialog .field-label{margin-top:15px}@media(max-width:760px){.brand-caption{display:none}.header-actions{gap:2px}.auth-button{padding:6px 9px}}
.language-button{min-width:38px;padding:7px 9px;border:1px solid #d1d1d6;border-radius:7px;background:#fff;color:#4b4b50;font:600 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.language-button:hover{background:#f2f7ff;border-color:#9ec9ff;color:#007aff}.language-button:focus-visible{outline:2px solid #007aff;outline-offset:2px}@media(max-width:760px){.language-button{min-width:34px;padding:6px 7px}}

.reading-actions .save-status{display:none}#pair-count{font-size:14px;color:#6e6e73}

.library-nav-icon{width:22px;height:22px;object-fit:contain;vertical-align:middle}.library-link{display:flex;align-items:center;gap:6px}.history-button .library-nav-icon{width:24px;height:24px}.dialog-heading h2{display:flex;align-items:center;gap:9px}.library-dialog-icon{width:32px;height:32px;object-fit:contain}.folder-icon{width:104px;height:104px;margin:0;object-fit:contain;border-radius:0;background:transparent;box-shadow:none}.history-item:hover .folder-icon{transform:translateY(-2px)}

html,body{height:100%;overflow:hidden}.workspace{height:calc(100dvh - 68px);min-height:0}.main{height:100%;min-height:0}.sidebar{height:100%;overflow-y:auto}.reader-stack{min-height:0}@media(max-width:760px){html,body{height:auto;overflow:auto}.workspace{height:auto;min-height:calc(100dvh - 64px)}.main{height:850px;min-height:700px}.sidebar{height:auto;overflow:visible}}

/* A quiet edge control keeps the reading canvas available when importing is done. */
.workspace{--sidebar-width:278px;grid-template-columns:var(--sidebar-width) minmax(0,1fr);position:relative;transition:grid-template-columns .22s ease}.sidebar{min-width:0;overflow:hidden;transition:opacity .16s ease,padding .22s ease}.sidebar-toggle{position:absolute;z-index:3;top:26px;left:calc(var(--sidebar-width) - 17px);display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #dedee5;border-radius:50%;background:#fff;color:#6e6e73;box-shadow:0 2px 8px #00000012}.sidebar-toggle svg{display:block;width:18px;height:18px;stroke:currentColor;stroke-width:2.75;stroke-linecap:round;stroke-linejoin:round;fill:none}.sidebar-toggle:hover{background:#f2f7ff;color:#007aff}.workspace.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.workspace.sidebar-collapsed .sidebar{visibility:hidden;opacity:0;padding-left:0;padding-right:0;border-right:0}.workspace.sidebar-collapsed .sidebar-toggle{left:10px}.workspace.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}.workspace.sidebar-collapsed .main{padding-left:72px}@media(max-width:1100px){.workspace{--sidebar-width:250px}}@media(max-width:760px){.sidebar-toggle{display:none}.workspace.sidebar-collapsed{display:flex;flex-direction:column}.workspace.sidebar-collapsed .sidebar{visibility:visible;opacity:1;padding:20px 16px;border-right:0}.workspace.sidebar-collapsed .main{padding-left:14px}}

@media(max-width:480px){.brand-caption{display:none}.brand strong{font-size:19px;white-space:nowrap}}

.editable-title{overflow:visible!important;max-width:none!important;white-space:normal!important}
#rename-title{display:flex;align-items:center;gap:10px;max-width:100%;padding:0;text-align:left;background:transparent;font:inherit;color:inherit;line-height:1.45}
#rename-title svg{flex-shrink:0;color:#8e8e93;transition:color .15s}#rename-title:hover svg{color:#007aff}#document-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;max-width:540px}.reading-top>div:first-child{min-width:0;flex:1}.reading-actions{flex-shrink:0}
.reading-actions .reading-meta{margin-top:0;flex-wrap:nowrap;gap:10px;white-space:nowrap}.save-status{padding:0;background:none;font-size:12px;color:#86868b}.save-status:disabled{opacity:1;cursor:default}.save-status.error{color:#c34434;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.history-button{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #dedee5;color:#303034;border-radius:8px;padding:11px 14px;font-size:14px;text-align:left}.history-button:hover{background:#f0f6ff}.history-button>span:first-child{font-size:20px;color:#007aff}.history-button>span:last-child{margin-left:auto;color:#8e8e93;font-size:12px}.history-caption{font-size:12px;line-height:1.7;color:#8e8e93;margin-top:-7px}
#rename-dialog{width:500px}.field-label{display:block;font-size:14px;color:#6e6e73;margin:18px 0 8px}#rename-input{width:100%;padding:12px;border:1px solid #d1d1d6;border-radius:7px;font-size:16px}.history-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:24px 20px;max-height:56dvh;overflow:auto;margin-top:10px;padding:12px 4px}.history-item{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0;padding:9px 6px 12px;border-radius:10px;background:transparent;color:#303034;text-align:center}.history-item:hover{background:#f2f7ff}.history-item h3{width:100%;font-size:14px;font-weight:500;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-icon{position:relative;display:block;width:82px;height:58px;margin-top:8px;border-radius:5px 6px 7px 7px;background:linear-gradient(145deg,#7bd6fb,#44b9ec 55%,#2a9ed8);box-shadow:inset 0 2px #ffffff80,inset 0 -3px #178dc7,0 3px 6px #0000001c}.folder-icon:before{content:"";position:absolute;left:0;top:-8px;width:38px;height:12px;border-radius:6px 7px 0 0;background:linear-gradient(145deg,#61c7f4,#229fd8)}.folder-icon:after{content:"";position:absolute;left:3px;right:3px;top:5px;height:2px;background:#ffffff66;border-radius:50%}.folder-progress{font-size:12px;color:#86868b;font-variant-numeric:tabular-nums}.history-message{font-size:14px;color:#86868b;line-height:1.8;margin:4px 0 10px}.sidebar{gap:13px}.side-guide{margin-top:20px}
@media(max-width:760px){.history-button,.history-caption{grid-column:1/-1}.reading-top h2{max-width:none!important}.reading-top{gap:15px}.reading-actions{max-width:112px}.history-item p{max-width:220px}.save-status{font-size:11px}.reading-meta{gap:7px}#document-title{-webkit-line-clamp:3}}

/* Book covers stand alone; remove the legacy folder base completely. */
.history-list .folder-icon{display:block;width:104px;height:104px;margin:0;object-fit:contain;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.history-list .folder-icon:before,.history-list .folder-icon:after{display:none!important}

.sidebar .upload-note{display:none}

.connection-bar{position:relative}.resize-handle{position:absolute;left:50%;top:4px;transform:translateX(-50%);width:76px;height:32px;border-radius:8px;background:transparent;cursor:row-resize;touch-action:none}.resize-handle:hover{background:#e8e8ed}.resize-handle span,.resize-handle:before,.resize-handle:after{content:"";position:absolute;left:50%;width:28px;height:2px;border-radius:2px;background:#a7a7ad;transform:translateX(-50%)}.resize-handle:before{top:11px}.resize-handle span{top:15px}.resize-handle:after{top:19px}.reader-stack.resizing{user-select:none}.reader-stack.resizing .connection-bar>:not(.resize-handle){visibility:hidden}.reader-stack.resizing .resize-handle{background:#e8e8ed}.reader-stack.resizing .resize-handle span,.reader-stack.resizing .resize-handle:before,.reader-stack.resizing .resize-handle:after{background:#007aff}
.brand strong .brand-search-mirror{display:inline-block;transform:scaleX(-1)}
.reader-footer-left{display:flex;align-items:center;gap:10px;min-width:0}.reader-footer-left #correct{font-size:12px;flex-shrink:0}.reader-footer-left #alignment-note{min-width:0}.notes-list{max-height:58dvh;overflow:auto;margin-top:18px;padding-right:4px}.note-item{padding:14px 0;border-bottom:1px solid #e5e5ea}.note-item:first-child{padding-top:0}.note-item:last-child{border-bottom:0}.note-meta{display:flex;align-items:center;gap:8px;color:#6e6e73;font-size:13px}.note-swatch{width:12px;height:12px;border:1px solid #d1d1d6;border-radius:50%;flex:0 0 auto}.note-swatch.marker-yellow{background:#fff0a8}.note-swatch.marker-green{background:#c8f1d6}.note-swatch.marker-pink{background:#ffd3e0}.note-swatch.marker-purple{background:#e4d4ff}.note-item p{margin:8px 0 0;font-size:15px;line-height:1.75;color:#303034}.notes-empty{padding:38px 0;text-align:center;font-size:15px;color:#8e8e93}@media(max-width:760px){.reader-footer-left{gap:7px}.reader-footer-left #alignment-note{font-size:11px}.note-item p{font-size:14px}}
.history-heading-actions{display:flex;align-items:center;gap:10px}.history-heading-actions .text-button{font-size:14px}.history-item{padding:0}.history-open{display:flex;flex-direction:column;align-items:center;gap:9px;width:100%;min-width:0;padding:9px 6px 12px;border-radius:10px;background:transparent;color:#303034;text-align:center}.history-open:hover{background:#f2f7ff}.history-open h3{width:100%;font-size:14px;font-weight:500;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-actions{display:flex;justify-content:center;gap:8px;padding:0 6px 10px}.history-action{padding:5px 8px;border-radius:6px;background:#f2f2f7;color:#55555a;font-size:12px}.history-action:hover{background:#e5e5ea}.history-action.delete{color:#c34434}.history-action.delete:hover{background:#fff0f0}@media(max-width:760px){.history-heading-actions{gap:5px}.history-item-actions{padding-bottom:8px}}
.folder-opened{font-size:11px;color:#aeaeb2;line-height:1.35;white-space:nowrap}
.focus-toggle{font-size:20px;line-height:1}.focus-exit{position:fixed;z-index:20;top:14px;right:18px;display:none;padding:8px 12px;border:1px solid #dedee5;border-radius:8px;background:#ffffffeb;color:#6e6e73;font-size:13px;box-shadow:0 2px 10px #00000012}.focus-exit:hover{background:#fff;color:#007aff}.focus-mode .app-header{display:none}.focus-mode .workspace{height:100dvh;min-height:0;grid-template-columns:0 minmax(0,1fr)}.focus-mode .sidebar,.focus-mode .sidebar-toggle{display:none}.focus-mode .main{height:100dvh;min-height:0;padding:28px 6vw 16px}.focus-mode .focus-exit{display:block}@media(max-width:760px){.focus-mode .workspace{height:100dvh;min-height:0}.focus-mode .main{height:100dvh;min-height:0;padding:20px 14px 14px}.focus-mode .reading-actions{padding-right:72px}.focus-exit{top:10px;right:10px;padding:7px 10px;font-size:12px}}
/* Keep focus reading independent from the responsive sidebar layout. */
.sidebar .file-name{display:none}
.focus-mode{overflow:hidden}.focus-mode .workspace,.focus-mode .workspace.sidebar-collapsed{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100vw;height:100dvh;min-height:0}.focus-mode .main,.focus-mode .workspace.sidebar-collapsed .main{grid-column:1;width:100%;max-width:none;height:100dvh;min-height:0;padding:28px clamp(28px,6vw,120px) 16px;align-self:stretch}.focus-mode .reader-stack{width:100%;min-width:0}@media(max-width:760px){.focus-mode .main,.focus-mode .workspace.sidebar-collapsed .main{height:100dvh;min-height:0;padding:20px 14px 14px}}
/* Reading controls stay quiet: alignment status is available only through the reader itself. */
.reading-meta .sample-badge,.reading-meta #pair-count,.connection-label{display:none}
.layout-controls{display:flex;align-items:center;gap:2px;margin-left:3px}.layout-button{display:grid;place-items:center}.layout-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.layout-button[aria-pressed="true"]{background:#e8e8ed;color:#007aff}.reader-stack.side-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);column-gap:18px;position:relative}.reader-stack.side-layout>.reader-panel:first-child{grid-column:1;grid-row:1}.reader-stack.side-layout>.reader-panel:last-child{grid-column:2;grid-row:1}.reader-stack.side-layout>.connection-bar{grid-column:1/-1;grid-row:1;align-self:end;justify-self:center;z-index:4;width:auto;padding:6px 10px;background:#fffffff2;border:1px solid #e5e5ea;border-radius:10px;box-shadow:0 3px 12px #00000012}.reader-stack.side-layout .resize-handle{display:none}.reader-stack.side-layout .reading-content{padding-bottom:82px}@media(max-width:760px){.layout-controls{order:3}.reader-stack.side-layout{column-gap:8px}.reader-stack.side-layout .panel-heading{padding:0 10px}.reader-stack.side-layout .panel-heading h3{font-size:13px}.reader-stack.side-layout .reading-content{padding-left:12px;padding-right:12px}.reader-stack.side-layout .document-paragraph{font-size:calc(var(--reader-size) - 2px)}}
/* Keep the lower navigation focused on correction only. */
#alignment-note{display:none}.sidebar .upload-button{margin-top:14px}.side-resize-handle{display:none}.reader-stack.side-layout{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);column-gap:0}.reader-stack.side-layout>.reader-panel:last-child{grid-column:3}.reader-stack.side-layout>.connection-bar{grid-column:1/-1}.reader-stack.side-layout>.side-resize-handle{display:grid;grid-column:2;grid-row:1;place-items:center;z-index:5;width:22px;padding:0;background:transparent;cursor:col-resize;touch-action:none}.reader-stack.side-layout>.side-resize-handle:hover{background:#e8e8ed}.side-resize-handle span,.side-resize-handle:before,.side-resize-handle:after{content:"";width:2px;height:28px;border-radius:2px;background:#a7a7ad}.side-resize-handle:before{transform:translateX(-4px)}.side-resize-handle span{transform:translateY(-28px)}.side-resize-handle:after{transform:translate(4px,-56px)}.reader-stack.resizing-side{user-select:none}.reader-stack.resizing-side>.reader-panel,.reader-stack.resizing-side>.connection-bar{pointer-events:none}.reader-stack.resizing-side>.side-resize-handle{background:#e8e8ed}.reader-stack.resizing-side .side-resize-handle span,.reader-stack.resizing-side .side-resize-handle:before,.reader-stack.resizing-side .side-resize-handle:after{background:#007aff}@media(max-width:760px){.sidebar .upload-button{margin-top:12px}.reader-stack.side-layout{grid-template-columns:minmax(140px,1fr) 18px minmax(140px,1fr)}.reader-stack.side-layout>.side-resize-handle{width:18px}.side-resize-handle span,.side-resize-handle:before,.side-resize-handle:after{height:22px}.side-resize-handle:before{transform:translateX(-3px)}.side-resize-handle span{transform:translateY(-22px)}.side-resize-handle:after{transform:translate(3px,-44px)}}
/* In side-by-side reading, keep the marking tools in the footer and use the same compact grip as stacked mode. */
.reader-footer{position:relative}.reader-footer.side-layout-active{min-height:46px}.reader-footer.side-layout-active #side-footer-tools{position:absolute;left:50%;top:50%;display:flex;align-items:center;transform:translate(-50%,-50%);z-index:2}.reader-footer.side-layout-active #side-footer-tools .connection-tools{display:flex;align-items:center;gap:14px}.reader-stack.side-layout>.connection-bar{display:none}.reader-stack.side-layout>.side-resize-handle{position:relative;display:block;grid-column:2;grid-row:1;align-self:center;justify-self:center;z-index:6;width:76px;height:32px;padding:0;border-radius:8px;background:transparent;cursor:col-resize;touch-action:none}.reader-stack.side-layout>.side-resize-handle:hover{background:#e8e8ed}.reader-stack.side-layout>.side-resize-handle span,.reader-stack.side-layout>.side-resize-handle:before,.reader-stack.side-layout>.side-resize-handle:after{content:"";position:absolute;left:50%;width:28px;height:2px;border-radius:2px;background:#a7a7ad;transform:translateX(-50%)!important}.reader-stack.side-layout>.side-resize-handle:before{top:11px}.reader-stack.side-layout>.side-resize-handle span{top:15px}.reader-stack.side-layout>.side-resize-handle:after{top:19px}.reader-stack.resizing-side>.side-resize-handle{background:#e8e8ed}.reader-stack.resizing-side .side-resize-handle span,.reader-stack.resizing-side .side-resize-handle:before,.reader-stack.resizing-side .side-resize-handle:after{background:#007aff}@media(max-width:760px){.reader-footer.side-layout-active #side-footer-tools .connection-tools{gap:7px}.reader-footer.side-layout-active #side-footer-tools .marker-tools{gap:4px}.reader-stack.side-layout>.side-resize-handle{width:58px}}
/* Align the side-reading footer on one baseline. */
.reader-stack.side-layout>.side-resize-handle{transform:rotate(90deg)}.reader-footer.side-layout-active{height:46px;min-height:46px;padding-top:0;align-items:center}.reader-footer.side-layout-active .reader-footer-left,.reader-footer.side-layout-active .pair-nav{height:34px;display:flex;align-items:center}.reader-footer.side-layout-active #side-footer-tools .connection-tools{height:34px}.reader-footer.side-layout-active #correct,.reader-footer.side-layout-active #view-notes{font-size:14px;line-height:1}.reader-footer.side-layout-active #correct{display:flex;align-items:center;height:34px;padding:0}
/* Keep correction and notes labels consistent in both reading layouts. */
#correct,#view-notes{font-size:14px;line-height:1}
/* A narrower import rail leaves more room for reading while preserving usable upload cards. */
.workspace{--sidebar-width:250px;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.sidebar{padding-left:20px;padding-right:20px}
.focus-switch{margin-left:0;margin-right:15px}
@media(max-width:1100px){.workspace{--sidebar-width:235px}.sidebar{padding-left:16px;padding-right:16px}.focus-switch{margin-right:0}}
@media(max-width:760px){.focus-switch{margin-right:0}}
/* Keep tablet controls on one clear horizontal line. */
.reader-footer-left #correct,#view-notes{font-size:14px;line-height:1;font-weight:400}
@media(min-width:761px) and (max-width:1100px){
  .reading-top{align-items:center;gap:14px}
  .reading-top h2{max-width:none}
  .reading-actions{max-width:none;flex-wrap:nowrap;justify-content:flex-end;gap:2px}
  .reading-actions .reading-meta{display:none}
  .reading-actions .switch-label{width:auto;margin:0 8px 0 0;font-size:13px}
  .reading-actions .focus-switch{margin-right:8px}
  .layout-controls{flex-shrink:0}
}
/* Keep the four reader action labels on the same visual level. */
.switch-label,#correct,#view-notes{font-size:14px;line-height:1;font-weight:400}

/* Day and night reading palettes. */
.theme-controls{display:flex;align-items:center;gap:2px;margin-right:4px}.theme-button{display:grid;place-items:center}.theme-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-button[aria-pressed="true"]{background:#e8e8ed;color:#007aff}
body.dark-mode{background:#15171c;color:#e7e9ee}body.dark-mode .app-header{background:#1c1f26;border-color:#30343d}body.dark-mode .brand-caption,body.dark-mode .privacy,body.dark-mode .switch-label,body.dark-mode .sentence-count,body.dark-mode .reader-footer,body.dark-mode .marker-tools,body.dark-mode .clear-marker,body.dark-mode .history-caption{color:#aeb5c2}body.dark-mode .workspace{background:#15171c}body.dark-mode .sidebar{background:#1b1e25;border-color:#30343d}body.dark-mode .side-intro,body.dark-mode .file-state,body.dark-mode .folder-progress,body.dark-mode .folder-opened,body.dark-mode .history-message{color:#aeb5c2}body.dark-mode .upload-card,body.dark-mode .history-button,body.dark-mode .reader-panel,body.dark-mode .panel-heading,body.dark-mode dialog{background:#232730;border-color:#373d49;color:#e7e9ee}body.dark-mode .upload-button{background:#2b303a;border-color:#48505e;color:#68b5ff}body.dark-mode .upload-button:hover,body.dark-mode .history-button:hover{background:#303744}body.dark-mode .secondary,body.dark-mode .history-action{background:#303640;border-color:#48505e;color:#d9dee8}body.dark-mode .text-button,body.dark-mode .panel-language{color:#65b3ff}body.dark-mode .reading-top h2,body.dark-mode #rename-title,body.dark-mode .panel-heading h3,body.dark-mode .history-button,body.dark-mode .history-item,body.dark-mode .dialog-heading h2{color:#f0f2f6}body.dark-mode .icon-button{color:#b9c0cc}body.dark-mode .icon-button:hover,body.dark-mode .theme-button[aria-pressed="true"],body.dark-mode .layout-button[aria-pressed="true"]{background:#343b48;color:#79bdff}body.dark-mode .pair-text,body.dark-mode #reader-zh .pair-text,body.dark-mode .note-item p{color:#e1e5eb}body.dark-mode .pair:hover,body.dark-mode .document-paragraph .sentence:hover{background:#2a303a}body.dark-mode .pair.active,body.dark-mode .document-paragraph .sentence.active{background:#263e58;border-left-color:#6ab5ff}body.dark-mode .document-paragraph .sentence.active{box-shadow:0 1px 0 #5da5e8}body.dark-mode .document-paragraph .sentence::selection{background:#315478;color:#fff}body.dark-mode .panel-heading,body.dark-mode .reader-panel,body.dark-mode .upload-card,body.dark-mode .note-item{border-color:#373d49}body.dark-mode .sidebar-toggle{background:#2a2f39;border-color:#424956;color:#d4d9e2}body.dark-mode .connection-tools,body.dark-mode .connection-bar{color:#aeb5c2}body.dark-mode .dialog-content>p,body.dark-mode .note-meta{color:#aeb5c2}body.dark-mode .range-preview{background:#1b1f27;color:#e7e9ee}body.dark-mode #rename-input,body.dark-mode .dialog-content textarea,body.dark-mode .correction-grid select{background:#1b1f27;border-color:#48505e;color:#edf0f4}body.dark-mode dialog::backdrop{background:#05060999}.dark-mode .theme-button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px #5c88bb}
@media(max-width:760px){.theme-controls{margin-right:0}}

/* Mobile uses one compact control rail instead of wrapping reader actions vertically. */
@media(max-width:760px){
  .main{padding:18px 14px 14px}
  .reading-top{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:14px}
  .reading-top h2{max-width:none;font-size:21px}
  .reading-actions{width:100%;max-width:none;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:9px;overflow-x:auto;padding:2px 0 5px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .reading-actions::-webkit-scrollbar{display:none}
  .reading-actions .reading-meta{display:none}
  .reading-actions .switch-label{width:auto;flex:0 0 auto;justify-content:flex-start;gap:5px;margin:0;font-size:12px}
  .reading-actions .switch{width:30px;height:18px}
  .reading-actions .switch:before{top:3px;left:3px;width:12px;height:12px}
  .reading-actions .switch-label input:checked+.switch:before{transform:translateX(12px)}
  .reading-actions .icon-button{min-width:30px;min-height:30px;padding:0;font-size:16px;flex:0 0 30px}
  .reading-actions .layout-controls{order:0;margin:0;gap:1px;flex:0 0 auto}
  .reading-actions .layout-button svg{width:18px;height:18px}
  .connection-tools{width:100%}
  .connection-tools #view-notes{margin-left:auto;text-align:right}
}

/* Preserve text contrast within reader paragraphs in night mode. */
body.dark-mode .document-paragraph{color:#e6eaf0!important}body.dark-mode .document-paragraph.title,body.dark-mode .document-paragraph.heading,body.dark-mode .document-paragraph.subheading{color:#f6f8fb!important}body.dark-mode .document-paragraph.metadata{color:#b8c0cc!important}body.dark-mode .document-paragraph .sentence.active{color:#f7fbff!important}body.dark-mode .document-paragraph .sentence.marker-yellow,body.dark-mode .document-paragraph .sentence.marker-green,body.dark-mode .document-paragraph .sentence.marker-pink,body.dark-mode .document-paragraph .sentence.marker-purple{color:#20242b!important}
/* Selected sentences need their own explicit contrast rules after highlighting. */
body.dark-mode .document-paragraph .sentence{color:#e6eaf0!important}body.dark-mode .document-paragraph .sentence.active:not(.marker-yellow):not(.marker-green):not(.marker-pink):not(.marker-purple){background:#31516f!important;color:#ffffff!important;box-shadow:inset 0 -2px #6bb9ff!important}body.dark-mode .document-paragraph .sentence.active.marker-yellow,body.dark-mode .document-paragraph .sentence.active.marker-green,body.dark-mode .document-paragraph .sentence.active.marker-pink,body.dark-mode .document-paragraph .sentence.active.marker-purple{color:#20242b!important}
/* In night mode, an active marked sentence carries its marker colour as text. */
body.dark-mode .document-paragraph .sentence.active.marker-yellow{color:#fff0a8!important}body.dark-mode .document-paragraph .sentence.active.marker-green{color:#c8f1d6!important}body.dark-mode .document-paragraph .sentence.active.marker-pink{color:#ffd3e0!important}body.dark-mode .document-paragraph .sentence.active.marker-purple{color:#e4d4ff!important}
