:root{--paper:#f6f4ef;--ink:#242f31;--muted:#697476;--line:#d7ddda;--accent:#245e60;--danger:#99482d;--serif:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:9px 16px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);cursor:pointer}button:hover,.button:hover{border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.45;cursor:default}.primary{background:var(--accent);border-color:var(--accent);color:white}.primary:hover{color:white;background:#1a4b4d}input,textarea{border:1px solid #b8c5c1;border-radius:4px;background:white;padding:11px;color:var(--ink)}input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input{min-width:0}textarea{width:100%;min-height:90px;resize:vertical;line-height:1.7}.site-header{max-width:1280px;margin:auto;min-height:100px;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:14px;font:25px var(--serif);letter-spacing:.4px}.brand-mark{border:1px solid var(--accent);color:var(--accent);font-size:26px;line-height:1;padding:9px 8px}.brand-sub{display:block;font:10px sans-serif;letter-spacing:2px;color:var(--muted);margin-top:7px}nav{display:flex;align-items:center;gap:18px;font-size:14px}nav button{min-height:34px;padding:5px 11px;background:transparent}.site-footer{max-width:1200px;margin:70px auto 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:22px 0;color:var(--muted);font-size:11px;letter-spacing:.6px}main{max-width:1200px;margin:0 auto;min-height:65vh}.eyebrow{color:var(--accent);letter-spacing:2px;font-size:11px;font-weight:600}h1{font:38px/1.35 var(--serif);margin:16px 0}h2{font:25px/1.4 var(--serif)}h3{font-size:17px;font-weight:500;margin:0}.lead{color:var(--muted);font-size:14px;line-height:1.8}.hero{padding:54px 0 40px;max-width:860px}.search-form{display:flex;margin:26px 0 0;gap:10px}.search-form input{flex:1;min-height:54px;font-size:16px;padding:15px 18px}.search-form button{padding:15px 28px}.section-line{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:24px 0 18px}.section-line h2{margin:0}.muted{color:var(--muted);font-size:13px}.book-row,.result-row{border-top:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:22px 4px}.book-number{font:20px var(--serif);color:#85928a;min-width:40px}.row-main{flex:1;min-width:0}.row-main h3{overflow-wrap:anywhere;line-height:1.6}.row-main p{font-size:13px;line-height:1.7;color:var(--muted);margin:7px 0 0}.result-row{align-items:flex-start}.result-row .snippet{color:var(--ink);line-height:1.8;font-size:14px;margin-top:9px;white-space:pre-wrap;overflow-wrap:anywhere}.badge{display:inline-block;font-size:11px;padding:3px 7px;border:1px solid var(--line);border-radius:3px;white-space:nowrap;color:var(--accent)}.actions{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:65px 0;color:var(--muted);line-height:1.9}.login{max-width:430px;margin:80px auto 110px;padding:0 12px}.login h1{font-size:35px}.login form{margin-top:32px;display:grid;gap:14px}.login label{font-size:13px}.login input{min-height:49px}.login .primary{margin-top:5px}.error{color:var(--danger);font-size:13px;line-height:1.7;white-space:pre-wrap}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:18px 0}.reader-heading{padding:28px 0 0}.reader-heading h1{font-size:26px;margin:14px 0 6px}.page-input{width:76px;text-align:center;padding:9px}.reader-stage{height:calc(100vh - 290px);min-height:400px;overflow:auto;display:flex;align-items:flex-start;background:#dfe3df;border:1px solid #cbd3cb;padding:16px}.reader-stage img{width:100%;height:auto;display:block;margin:0 auto;flex-shrink:0;box-shadow:0 4px 20px #22332c20}.reader-stage .empty{margin:auto}body.reading .site-footer{margin-top:25px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:38px 0 20px}.admin-header h1{font-size:30px;margin:0}.worker-status{padding:12px 16px;background:#e6eeea;color:var(--accent);font-size:13px;line-height:1.8;margin-bottom:26px}.issue{border-left:3px solid #b97b47;padding:15px 20px;background:#fff;margin:12px 0}.issue p{line-height:1.7;font-size:13px;overflow-wrap:anywhere}.issue .error-code{font:11px monospace;color:var(--muted)}.task-list{width:100%;border-collapse:collapse;font-size:12px}.task-list th,.task-list td{padding:12px 8px;text-align:left;border-bottom:1px solid var(--line)}.task-list th{font-weight:500;color:var(--muted)}.task-list td:first-child{max-width:360px;overflow-wrap:anywhere}.review-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.review-grid .reader-stage{position:sticky;top:15px;height:76vh}.review-block{padding:15px 0;border-bottom:1px solid var(--line)}.review-block label{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.review-form>.actions{margin-top:16px}.review-form>label{display:block;margin:23px 0 8px;font-size:13px}mark{background:#e5d8a7;padding:0 2px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#243d3d;color:white;border-radius:5px;padding:13px 20px;font-size:13px;max-width:90vw;z-index:10;display:none}@media(max-width:1280px){main,.site-footer{margin-left:36px;margin-right:36px}}@media(max-width:700px){.site-header{padding:18px 20px;min-height:85px;gap:10px}.brand{font-size:21px;gap:9px}.brand-mark{font-size:23px;padding:8px 6px}.brand-sub{font-size:8px;letter-spacing:1.1px}nav{gap:12px;font-size:12px}nav .home-link{display:none}main,.site-footer{margin-left:20px;margin-right:20px}.hero{padding-top:34px}h1{font-size:29px}.search-form button{padding:12px 18px}.book-row,.result-row{gap:12px;padding:18px 0;align-items:flex-start}.book-number{min-width:24px;font-size:16px}.book-row .button,.result-row .button{padding:8px 11px;font-size:12px;min-height:38px}.book-row .actions{flex-direction:column}.row-main h3{font-size:15px}.site-footer{margin-top:40px;gap:18px}.reader-heading h1{font-size:21px}.toolbar{gap:6px}.toolbar button{padding:8px 11px;font-size:12px}.reader-stage{padding:4px;min-height:320px;height:calc(100vh - 300px)}.review-grid{grid-template-columns:1fr}.review-grid .reader-stage{position:static;height:45vh;min-height:240px}.task-list .optional{display:none}.admin-header h1{font-size:24px}.login{margin:54px auto 70px}.worker-status{font-size:12px}}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}
