html{background:#fcfcfa}:root{color:#171717;letter-spacing:0;background:#fff;font-family:Noto Serif SC,Songti SC,SimSun,serif}*{box-sizing:border-box}body{background:#fff;min-width:320px;margin:0}button,input,select{color:inherit;font:inherit;letter-spacing:0}button{border-radius:0}.boot-screen{color:#666;place-items:center;min-height:100vh;font:12px Consolas,monospace;display:grid}.eyebrow{color:#707070;margin:0 0 14px;font:10px Consolas,monospace}.mark{border:1px solid #171717;place-items:center;width:24px;height:24px;font-size:14px;display:grid}.command{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #171717;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font:11px Consolas,monospace;display:inline-flex}.command.primary{color:#fff;background:#171717}.command:hover:not(:disabled),.icon-command:hover:not(:disabled){background:#eee}.command.primary:hover:not(:disabled){background:#3a3a3a}.command:disabled,.icon-command:disabled{cursor:not-allowed;opacity:.4}.icon-command{cursor:pointer;background:#fff;border:1px solid #171717;flex:0 0 38px;place-items:center;width:38px;height:38px;padding:0;display:grid}.icon-plain{cursor:pointer;background:0 0;border:0;place-items:center;width:30px;height:30px;padding:0;display:grid}.delete-command{color:#a62222;border-color:#a62222}.form-error{color:#a62222;align-items:center;gap:7px;margin:0;font:11px/1.5 Consolas,monospace;display:flex}.notice{color:#4c4c4c;background:#f3f3f3;border-bottom:1px solid #171717;align-items:center;gap:9px;min-height:43px;padding:10px 4vw;font-size:12px;display:flex}.notice span{flex:1}.notice button{cursor:pointer;background:0 0;border:0;font-size:19px}.empty{color:#777;justify-content:center;align-items:center;gap:10px;min-height:150px;margin:0;padding:35px;font-size:13px;display:flex}.public-brand{border-bottom:1px solid #171717;align-items:center;gap:10px;height:58px;padding:0 4vw;font:11px Consolas,monospace;display:flex}.auth-shell{background:#fff;min-height:100vh}.auth-panel{width:min(460px,100% - 40px);margin:11vh auto 0}.auth-panel h1{margin:0 0 34px;font-size:40px;font-weight:500}.auth-tabs{border:1px solid #171717;grid-template-columns:1fr 1fr;display:grid}.auth-tabs button{cursor:pointer;background:#fff;border:0;height:39px;font:11px Consolas,monospace}.auth-tabs button+button{border-left:1px solid #171717}.auth-tabs button.active{color:#fff;background:#171717}.auth-form{gap:18px;padding:27px 0;display:grid}.auth-form label,.admin-gate label,.upload-band label,.config-form label{flex-direction:column;gap:7px;display:flex}.auth-form label span,.admin-gate label span,.upload-band label span,.config-form label span{color:#666;font:9px Consolas,monospace}.auth-form input,.admin-gate input,.upload-band input,.config-form input,.search-band select{background:#fff;border:1px solid #999;outline:0;min-width:0;height:40px;padding:0 10px}.auth-form input:focus,.admin-gate input:focus,.upload-band input:focus,.config-form input:focus,.search-band select:focus{border-color:#171717}.auth-form .command{margin-top:4px}.topbar{border-bottom:1px solid #171717;justify-content:space-between;align-items:center;height:58px;padding:0 4vw;font:11px Consolas,monospace;display:flex}.brand{align-items:center;gap:9px;font-weight:500;display:flex}.brand-button{cursor:pointer;background:0 0;border:0;padding:0}.topbar nav{align-self:stretch;display:flex}.topbar nav button{color:#666;cursor:pointer;background:#fff;border:0;border-left:1px solid #ddd;align-items:center;gap:7px;padding:0 18px;font:10px Consolas,monospace;display:flex}.topbar nav button:last-child{border-right:1px solid #ddd}.topbar nav button:hover,.topbar nav button.selected{color:#171717;background:#f1f1f1}.topbar nav button.selected{box-shadow:inset 0 -2px #a62222}.user-menu{color:#555;align-items:center;gap:7px;display:flex}.library-view{min-height:calc(100vh - 58px)}.library-heading{border-bottom:1px solid #171717;justify-content:space-between;align-items:flex-end;gap:30px;min-height:178px;padding:43px 7vw 34px;display:flex}.library-heading h1{margin:0;font-size:48px;font-weight:500;line-height:1.1}.library-heading>p{color:#666;margin:0 0 4px;font:10px Consolas,monospace}.library-heading i,.book-info i{background:#a62222;width:3px;height:3px;margin:0 8px 2px;display:inline-block}.search-band{border-bottom:1px solid #171717;grid-template-columns:minmax(0,1fr) minmax(180px,300px);gap:12px;min-height:82px;padding:16px 7vw;display:grid}.global-search{border:1px solid #171717;align-items:center;gap:12px;height:49px;padding:0 15px;display:flex}.global-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:15px}.search-band select{border-color:#171717;height:49px;font-size:12px}.book-shelf,.search-results{border-left:1px solid #171717;border-right:1px solid #171717;width:min(1180px,100%);margin:0 auto}.list-heading{color:#666;border-bottom:1px solid #171717;justify-content:space-between;align-items:center;height:45px;padding:0 20px;font:10px Consolas,monospace;display:flex}.book-row{border-bottom:1px solid #bbb;grid-template-columns:40px 54px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:154px;padding:22px 24px;display:grid}.book-number,.page-index{color:#777;font:10px Consolas,monospace}.book-spine{background:#f5f5f5;border:1px solid #171717;place-items:center;width:54px;height:86px;display:grid}.spine-mark{color:#a62222;border:1px solid #a62222;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.book-info{min-width:0}.book-info h2{overflow-wrap:anywhere;margin:0;font-size:21px;font-weight:500}.book-info p{color:#555;margin:8px 0;font-size:13px}.book-info small{color:#777;font:10px Consolas,monospace}.search-hit{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #ccc;grid-template-columns:76px minmax(0,1fr) 22px;align-items:center;gap:16px;width:100%;min-height:105px;padding:18px 22px;display:grid}.search-hit:hover{background:#f2f2f2}.search-hit b{font-size:15px;font-weight:500;display:inline}.search-hit small{color:#a62222;margin-left:12px;font:9px Consolas,monospace}.search-hit em{color:#666;margin-top:10px;font-size:12px;font-style:normal;line-height:1.65;display:block}.reader-view{flex-direction:column;height:calc(100vh - 58px);min-height:520px;display:flex}.reader-toolbar{border-bottom:1px solid #171717;grid-template-columns:38px minmax(170px,1fr) auto auto;align-items:center;gap:15px;min-height:68px;padding:10px 3vw;display:grid}.reader-book{flex-direction:column;gap:5px;min-width:0;display:flex}.reader-book small{color:#777;font:9px Consolas,monospace}.reader-book b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.page-controls{align-items:center;gap:7px;display:flex}.page-controls form{color:#666;border:1px solid #999;align-items:center;gap:6px;height:38px;padding:0 10px;font:10px Consolas,monospace;display:flex}.page-controls input{text-align:center;border:0;border-bottom:1px solid #999;outline:0;width:58px;font:12px Consolas,monospace}.mode-switch{border:1px solid #171717;height:38px;display:flex}.mode-switch button{cursor:pointer;background:#fff;border:0;border-left:1px solid #171717;justify-content:center;align-items:center;gap:6px;min-width:50px;padding:0 10px;font:10px Consolas,monospace;display:flex}.mode-switch button:first-child{border-left:0}.mode-switch button.active{color:#fff;background:#171717}.reading-surface{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;overflow:hidden}.reading-surface.mode-zh,.reading-surface.mode-en{grid-template-columns:1fr}.reading-column{min-width:0;padding:0 clamp(25px,4vw,70px) 60px;overflow-y:auto}.reading-column+.reading-column{border-left:1px solid #171717}.reading-column header{color:#666;border-bottom:1px solid #aaa;justify-content:space-between;align-items:center;height:58px;font:9px Consolas,monospace;display:flex}.reading-column header b{font-weight:400}.reading-column p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding-top:30px;font-size:16px;line-height:2}.reading-column.en p{font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.9}.reader-loading,.reader-error{color:#666;justify-content:center;align-items:center;gap:9px;min-height:300px;font-size:13px;display:flex}.admin-gate{grid-template-columns:1fr 430px;min-height:calc(100vh - 58px);display:grid}.admin-gate>div{border-right:1px solid #171717;padding:12vh 8vw}.admin-gate h1{margin:12px 0 0;font-size:46px;font-weight:500}.admin-gate form{flex-direction:column;gap:18px;padding:12vh 55px;display:flex}.admin-heading{border-bottom:1px solid #171717;justify-content:space-between;align-items:flex-end;gap:20px;min-height:164px;padding:40px 4vw 30px;display:flex}.admin-heading h1{margin:0;font-size:44px;font-weight:500}.upload-band{border-bottom:1px solid #171717;grid-template-columns:120px 1fr;align-items:center;gap:25px;min-height:105px;padding:20px 4vw;display:grid;position:relative}.band-heading,.section-heading>div{align-items:center;gap:8px;font:10px Consolas,monospace;display:flex}.upload-band form{grid-template-columns:minmax(150px,1.2fr) minmax(130px,.8fr) minmax(210px,1.2fr) auto;align-items:end;gap:12px;min-width:0;display:grid}.upload-band input{width:100%}.upload-band input[type=file]{padding:8px;font:10px Consolas,monospace}.upload-progress{background:#ddd;height:4px;position:absolute;bottom:0;left:0;right:0}.upload-progress span{background:#a62222;height:100%;display:block}.admin-grid{border-bottom:1px solid #171717;grid-template-columns:285px minmax(0,1fr) 320px;min-height:620px;display:grid}.admin-books{border-right:1px solid #171717}.admin-books>button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #ccc;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:76px;padding:14px 16px;display:grid}.admin-books>button:hover,.admin-books>button.active{background:#f1f1f1}.admin-books>button.active{box-shadow:inset 3px 0 #a62222}.admin-books b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;display:block;overflow:hidden}.admin-books small{color:#777;margin-top:7px;font:9px Consolas,monospace;display:block}.job-monitor{min-width:0;padding:27px 3vw 40px}.config-panel{border-left:1px solid #171717;min-width:0;padding:27px 24px}.section-heading{border-bottom:1px solid #999;justify-content:space-between;align-items:center;gap:12px;min-height:31px;padding-bottom:12px;display:flex}.section-heading>div{min-width:0}.section-heading>div span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status{color:#666;white-space:nowrap;border:1px solid #aaa;align-items:center;min-height:20px;padding:2px 6px;font:9px Consolas,monospace;display:inline-flex}.status-running,.status-translating{color:#a62222;border-color:#a62222}.status-completed,.status-published{color:#26734d;border-color:#26734d}.status-completed_with_errors,.status-published_with_errors,.status-failed{color:#a62222;border-color:#a62222}.status-paused,.status-blocked,.status-queued{color:#67561e;border-color:#796727}.metrics{border-bottom:1px solid #ddd;grid-template-columns:repeat(4,1fr);display:grid}.metric{border-right:1px solid #ddd;min-width:0;min-height:104px;padding:22px 14px 18px 0}.metric+.metric{padding-left:14px}.metric:last-child{border-right:0}.metric span{color:#777;font:9px Consolas,monospace;display:block}.metric b{margin-top:12px;font:500 30px Consolas,monospace;display:inline-block}.metric small{color:#777;margin-left:6px;font:9px Consolas,monospace}.progress{background:#e2e2e2;height:5px;margin-top:22px}.progress span{background:#a62222;height:100%;transition:width .3s;display:block}.counts{color:#666;border-bottom:1px solid #ddd;flex-wrap:wrap;align-items:center;gap:16px;min-height:44px;font:10px Consolas,monospace;display:flex}.dot{background:#aaa;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.dot.done{background:#26734d}.dot.active-dot,.dot.error{background:#a62222}.job-actions{align-items:center;gap:8px;min-height:64px;display:flex}.job-actions .delete-command{margin-left:auto}.config-form{gap:16px;padding-top:20px;display:grid}.config-form input{width:100%;font:11px Consolas,monospace}.two-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.config-actions{gap:8px;display:flex}.config-actions .command{flex:1}.key-ok{color:#26734d;align-items:center;gap:5px;font:9px Consolas,monospace;display:flex}.task-table-wrap{border-top:1px solid #171717;max-height:280px;margin-top:10px;overflow:auto}.task-table{border-collapse:collapse;width:100%;font:10px Consolas,monospace}.task-table th{color:#777;text-align:left;background:#fff;font-weight:400;position:sticky;top:0}.task-table th,.task-table td{border-bottom:1px solid #ddd;height:36px;padding:0 8px}@media (width<=1120px){.admin-grid{grid-template-columns:250px minmax(0,1fr)}.config-panel{border-top:1px solid #171717;border-left:0;grid-column:1/-1}.config-form{grid-template-columns:repeat(3,1fr);align-items:end}.config-form .two-fields{grid-column:span 2}.upload-band{grid-template-columns:1fr}.upload-band form{grid-template-columns:1fr 1fr}}@media (width<=760px){.topbar{padding:0 12px}.brand-button>span:last-child,.user-menu>span{display:none}.topbar nav{margin-left:auto}.topbar nav button{padding:0 10px}.topbar nav button span{display:none}.library-heading{flex-direction:column;align-items:flex-start;min-height:145px;padding:35px 21px 25px}.library-heading h1{font-size:38px}.search-band{grid-template-columns:1fr;padding:14px 20px}.book-shelf,.search-results{border-left:0;border-right:0}.book-row{grid-template-columns:30px 44px minmax(0,1fr);gap:12px;padding:18px}.book-spine{width:44px;height:72px}.book-row .command{grid-column:2/-1;justify-self:start}.search-hit{grid-template-columns:56px minmax(0,1fr) 18px;padding:16px}.reader-view{height:auto;min-height:calc(100vh - 58px)}.reader-toolbar{grid-template-columns:38px minmax(0,1fr)}.page-controls,.mode-switch{grid-column:1/-1}.page-controls{justify-content:center}.mode-switch button{flex:1}.reading-surface{grid-template-columns:1fr;min-height:650px;overflow:visible}.reading-column{padding:0 22px 45px;overflow:visible}.reading-column+.reading-column{border-top:1px solid #171717;border-left:0}.admin-gate{grid-template-columns:1fr}.admin-gate>div{border-bottom:1px solid #171717;border-right:0;padding:55px 25px 35px}.admin-gate form{padding:35px 25px}.admin-heading{flex-direction:column;align-items:flex-start;min-height:145px;padding:35px 20px 25px}.admin-heading h1{font-size:35px}.upload-band{padding:20px}.upload-band form,.admin-grid{grid-template-columns:1fr}.admin-books{border-bottom:1px solid #171717;border-right:0;max-height:280px;overflow:auto}.job-monitor,.config-panel{padding:24px 20px 35px}.config-panel{grid-column:auto}.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid #ddd}.config-form{grid-template-columns:1fr}.config-form .two-fields{grid-column:auto}.task-table{min-width:500px}}
