:root{font-family:'Microsoft YaHei','PingFang SC',sans-serif;color:#263447;background:#f1f3f6;font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #83a9d3;outline-offset:2px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:white;border-bottom:1px solid #dde3eb;padding:19px 30px}.brand{display:flex;gap:13px;align-items:center;font-size:19px;font-weight:600}.brand small{display:block;font-size:12px;color:#738095;font-weight:400}.logo{border-radius:11px;background:#2f5d91;color:white;padding:8px 12px;font-size:21px}.local{font-size:12px;color:#51715b}.workspace{display:grid;grid-template-columns:292px minmax(0,1fr);max-width:1540px;margin:auto}.sidebar{background:#fff;border-right:1px solid #dde3eb;padding:25px 23px;min-width:0}.sidebar section{margin-bottom:25px}.briefing-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 6px}
.briefing-tools .hand-upload{flex:1 1 auto}
.brief-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0 14px}
.brief-photo{margin:0;background:var(--surface,#fafbfd);border:1px solid #e3e8ef;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px}
.brief-photo img{width:100%;height:110px;object-fit:cover;border-radius:6px;background:#f1f3f6}
.brief-caption{font-size:12px;padding:5px 7px;border:1px solid #dfe3e8;border-radius:6px}
.record-block{margin-top:12px;padding-top:10px;border-top:1px solid #e6e9ee}
#panel-record .field{margin:8px 0 0}
#panel-record .field input,#panel-record .field select{min-height:34px;padding:6px 9px;font-size:13px}
#panel-record textarea{padding:7px 9px;font-size:13px}
#panel-record .gen-hint{margin:3px 0 0}
#panel-record .record-heading{margin-bottom:10px}
#panel-record .section-title{margin-bottom:8px}
.record-block:first-of-type{border-top:0;margin-top:10px;padding-top:0}
.record-block>.section-title{font-size:12px;font-weight:500;color:#5a6b7d;letter-spacing:.03em;margin-bottom:12px}
.history-fold{margin-top:10px}
.history-fold>summary{cursor:pointer;font-size:12px;color:#5a6b7d;padding:6px 0;list-style:none}
.history-fold>summary::-webkit-details-marker{display:none}
.history-fold>summary::before{content:"\25b8 ";color:#8b98a6}
.history-fold[open]>summary::before{content:"\25be "}
.section-title{font-size:13px;font-weight:600;margin-bottom:13px;color:#596b80;letter-spacing:.5px}.upload{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;border:1px dashed #a8bbd0;background:#f8fafc;border-radius:10px;padding:16px 8px;cursor:pointer}.upload:hover,.upload.drag{background:#eaf2fc;border-color:#376294}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload:focus-within{outline:3px solid #83a9d3}.upload-symbol{font-size:24px;color:#426c9b;line-height:1.2}.upload strong{font-weight:500;font-size:14px}.upload span:last-child{font-size:11px;color:#718098}.text-button{color:#456b96;border:0;background:transparent;padding:9px 0;font-size:12px}.filename{font-size:12px;word-break:break-all;color:#6a788a;margin:3px 0}.status{font-size:12px;color:#526780;white-space:pre-wrap;margin-top:7px}.status.error{color:#a1323d}fieldset{padding:0;margin:0;border:0;min-width:0}legend{padding:0}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.segmented button{border:1px solid #dce3eb;background:white;color:#34465d;border-radius:8px;min-height:61px;font-size:18px}.segmented small{display:block;font-size:11px;color:#778496}.segmented button[aria-pressed=true]{background:#edf3fb;border-color:#456d9c;color:#244f84}.field{display:block;font-size:12px;margin:12px 0 0}.field input,.field select{display:block;width:100%;border:1px solid #d6dee7;border-radius:7px;margin-top:5px;padding:9px;color:#2c3d52;background:#fff;font-size:14px;min-height:40px}.check{display:flex;align-items:center;gap:8px;font-size:12px;min-height:33px;cursor:pointer}.check input{width:16px;height:16px;accent-color:#355f91;flex-shrink:0}.note-heading{display:flex;justify-content:space-between;font-size:11px;color:#7d6b5c;gap:6px;margin:12px 0 6px}textarea{width:100%;resize:vertical;border:1px solid #d6dee7;border-radius:8px;padding:10px;font-size:14px;line-height:1.75;color:#35465b;background:#fafbfd}.hint{font-size:11px;color:#7a8594;line-height:1.7;margin:7px 0}.primary{border:0;border-radius:8px;background:#2f5d91;color:white;padding:12px;width:100%;font-weight:500}.primary:hover{background:#244e7d}#download{display:grid;gap:7px;margin-top:10px}#download a{display:block;border:1px solid #bccde0;padding:9px;border-radius:7px;color:#315d8d;text-decoration:none;text-align:center;font-size:12px}.main{padding:25px 30px;min-width:0}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:0 auto 20px;max-width:760px}.preview-toolbar strong{font-size:14px;font-weight:500}.preview-toolbar div>span{display:block;font-size:12px;color:#718097}
.sidebar .secondary-editor{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px}
.sidebar .secondary-editor img{margin-top:8px}.preview-toolbar nav{display:flex;align-items:center;gap:10px;font-size:12px;color:#5e7087}.preview-toolbar nav button{border:1px solid #d9e0e8;border-radius:7px;background:white;color:#405b79;width:36px;height:36px}.empty{text-align:center;padding:90px 10px}.empty h1{font-size:23px;font-weight:500;margin:24px 0 10px}.empty p{font-size:14px;color:#6b7d90}.empty>span{font-size:12px;color:#7f8b9a}.empty-paper{width:123px;margin:auto;background:white;box-shadow:0 5px 20px #20374e12;border:1px solid #dce3eb;padding:14px;border-radius:3px;transform:rotate(-5deg)}.empty-paper div{height:29px;background:linear-gradient(90deg,#e0e9f2 56%,transparent 56%,transparent 65%,#edf0f4 65%);margin:9px 0}.paper{max-width:760px;min-height:970px;margin:auto;background:#fff;box-shadow:0 4px 24px #213c5414;padding:30px 32px 20px;color:#263447;--pen:#a3323b;display:flex;flex-direction:column}.paper.mono{--pen:#303030}.paper.mono img{filter:grayscale(1)}.paper-header{border-bottom:1px solid #bcc5ce;padding-bottom:13px}.paper-header>div{font-size:11px;color:#6d7986}.paper-header h1{font-size:22px;font-weight:500;line-height:1.4;margin:7px 0}.paper-header p{font-size:11px;color:#68778a;margin:5px 0}.paper-grid{display:grid;gap:24px 18px;padding:21px 0;flex:1;align-content:start}.paper-grid.count-3{grid-template-columns:minmax(0,1fr)}.paper-grid.count-4,.paper-grid.count-6{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-cell{min-width:0}.count-3 .sheet-cell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:17px;min-height:225px}.slide-button{display:block;padding:0;border:0;background:none;width:100%;text-align:left;cursor:pointer}.slide-button img{display:block;width:100%;height:auto;max-height:255px;object-fit:contain;object-position:left top;border:1px solid #d1d8df;background:white}.slide-button[aria-pressed=true] img{outline:2px solid #6e8cb2;outline-offset:2px}.original-page{font-size:11px;color:#758296;margin:7px 0}.sheet-note{border-left:2px solid var(--pen);padding-left:10px;color:var(--pen);margin-top:2px;min-width:0}.sheet-note h2{font-size:11px;font-weight:500;margin:0 0 6px}.sheet-note p{font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.writing-line{height:23px;border-bottom:1px dashed #c6ccd3}.paper footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #c5cdd6;padding-top:10px;font-size:11px;color:#738094}.preview-hint{text-align:center;font-size:11px;color:#758294;margin-top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:950px){.workspace{grid-template-columns:255px minmax(0,1fr)}.sidebar{padding:20px 17px}.main{padding:20px 16px}.paper{padding:23px 20px;min-height:840px}.count-3 .sheet-cell{display:block;min-height:0}.paper-grid.count-4,.paper-grid.count-6{gap:22px 12px}.sheet-note p{font-size:12px}}@media(max-width:640px){.topbar{padding:15px;align-items:flex-start}.brand{font-size:17px}.brand small{font-size:11px}.local{font-size:10px}.workspace{display:block}.sidebar{border-right:0;border-bottom:1px solid #dde3eb;padding:18px}fieldset{display:grid;grid-template-columns:1fr 1fr;gap:18px}fieldset>section{min-width:0;margin:0!important}fieldset>.primary,fieldset>.status,fieldset>#download{grid-column:1/-1}.sidebar>section{margin-bottom:17px}.upload{padding:12px}.main{padding:18px 12px}.paper-grid.count-4,.paper-grid.count-6{grid-template-columns:1fr}.paper{min-height:0}.paper footer{font-size:10px}.sheet-note p{font-size:13px}.field input,.field select,textarea{font-size:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#handout-local-path{overflow-wrap:anywhere;font-size:12px;line-height:1.6;color:#305b8b}#handout-open-folder{width:100%}
.auth-locked .topbar,.auth-locked .main-tabs,.auth-locked .workspace{display:none!important}
.auth-overlay{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;background:#11161d;padding:20px}
.auth-locked .auth-overlay{display:flex}
.auth-card{background:#fff;color:#263447;width:min(360px,92vw);border-radius:16px;padding:28px 26px;box-shadow:0 18px 60px rgba(0,0,0,.35)}
.auth-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;margin-bottom:4px}
.auth-brand .logo{font-size:20px}
.auth-card h1{font-size:17px;margin:14px 0 18px;font-weight:600}
.auth-card .field{display:block;margin-bottom:12px;font-size:13px;color:#596b80}
.auth-card .field input{width:100%;margin-top:5px;padding:9px 11px;border:1px solid #cdd6e2;border-radius:8px;font-size:14px;background:#fff;color:#263447}
.auth-card .field input:focus{outline:3px solid #83a9d3;outline-offset:0;border-color:#83a9d3}
.auth-card .form-actions{margin-top:6px}
.auth-card .primary{width:100%;padding:11px;border:0;border-radius:9px;background:#2f5d91;color:#fff;font-size:14px;font-weight:600}
.auth-card .primary:hover{background:#27507f}
.auth-card .subtle{text-align:center;margin:14px 0 0;font-size:12px;color:#738095}
.auth-card .subtle a{color:#456b96;text-decoration:none}
.auth-card .subtle a:hover{text-decoration:underline}
.auth-card .status{margin-top:10px}
.user-menu{display:flex;align-items:center;gap:10px;font-size:13px;color:#3a4a5e}
.user-menu #user-name{font-weight:500}
.user-menu button{color:#8a5a5a}
.hand-box{margin-top:14px;padding-top:12px;border-top:1px dashed #dbe1ea}
.segmented.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.script-box{margin-top:14px;padding-top:12px;border-top:1px dashed #dbe1ea}
.gen-hint{margin:4px 0 0;font-size:12px;color:#8a94a3}
.gen-field[data-manual="1"] .gen-hint{display:none}

.script-box textarea{font-size:12.5px;line-height:1.7}
.hand-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;color:#596b80;font-weight:600}
.hand-head .status{margin:0}
.hand-upload{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;border:1px dashed #a8bbd0;background:#f8fafc;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:12px;color:#426c9b}
.hand-upload:hover{background:#eaf2fc;border-color:#376294}
.hand-upload input{position:absolute;width:1px;height:1px;opacity:0}
#hand-preview{margin-top:10px}
#hand-preview img{display:block;width:100%;border:1px solid #dde3eb;border-radius:8px;background:#fff}
.hand-actions{display:flex;gap:12px;margin-top:4px}
.hand-docs{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.hand-doc-item{display:flex;flex-direction:column;align-items:center;gap:2px}
.hand-doc-item img{width:74px;height:74px;object-fit:cover;border:1px solid #dde3eb;border-radius:8px;background:#fff}
#secondary-image{display:block;width:100%;max-height:210px;object-fit:contain;object-position:left top;border:1px solid #d1d8df;border-radius:6px;background:#fff;margin:10px 0 0}
#secondary-files{font-size:12px;color:#5c7086;margin-top:10px}
.plan-table{margin-top:4px;border:1px solid #b9c3cd;border-radius:3px;overflow:hidden;display:flex;flex-direction:column;flex:1 1 auto}
.plan-top{display:grid;grid-template-columns:minmax(0,3.5fr) minmax(0,1fr);background:#f1f3f6;border-bottom:1px solid #b9c3cd;padding:5px 8px;font-size:11px;color:#42505f}
.plan-top span:last-child{color:#8b3a3f;padding-left:10px}
.plan-row{display:grid;grid-template-columns:minmax(0,3.5fr) minmax(0,1fr);border-bottom:1px solid #e3e6ea}
.plan-row:last-child{border-bottom:0}
.plan-row.full{grid-template-columns:minmax(0,1fr)}
.plan-row.full .plan-left{padding-right:10px}
.plan-left{padding:9px 12px 11px 9px;font-size:13px;line-height:1.75;color:#1f2937}
.plan-left h2{font-size:12.5px;font-weight:500;color:#2c4a72;margin:0 0 3px}
.plan-left p{margin:0;white-space:pre-wrap}
.plan-right{border-left:1px solid #dfe3e8;min-height:38px}
.plan-right.filled{padding:9px 10px;white-space:pre-wrap;font-size:13px;line-height:1.75;color:#8d2f36;font-family:'HWPreview','Microsoft YaHei',sans-serif}
.plan-step{border:1px solid #e0e5eb;border-radius:8px;padding:8px;margin-bottom:8px;background:#fafbfd}
.plan-step-head{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.plan-step-head input{width:64px;flex:0 0 auto;min-width:0}
.plan-step-head input:first-child{width:auto;flex:1 1 auto}
.plan-step-head .text-button{flex:0 0 auto;white-space:nowrap;font-size:11px}
.plan-step textarea{min-height:60px}
#plan-files a{display:inline-block;margin-top:6px;font-size:12px;color:#315c8c}
.plan-pages-wrap{width:100%}
.plan-pages{display:flex;flex-direction:column;gap:26px;align-items:center}
.plan-page{width:794px;min-height:1123px;background:#fff;box-shadow:0 4px 24px #213c5414;padding:56px 56px 50px;display:flex;flex-direction:column;color:#263447;position:relative}
.plan-page .plan-foot{margin-top:auto;text-align:center;font-size:11px;color:#7a8695}
.plan-rows{display:flex;flex-direction:column;flex:1 1 auto}
.plan-rows.grow > .plan-row{flex-shrink:0}
.plan-page{overflow:hidden}
.plan-measure{position:absolute;left:-10000px;top:0;width:794px;pointer-events:none}
.plan-head{border:1px solid #b9c3cd;border-radius:3px;overflow:hidden;margin-top:4px}
.ph-row{display:grid;border-bottom:1px solid #dfe3e8}
.ph-row:last-child{border-bottom:0}
.ph-row.r1{grid-template-columns:64px minmax(0,1fr) 64px minmax(0,1fr) 64px minmax(0,1fr)}
.ph-row.r2{grid-template-columns:64px minmax(0,1fr) 64px 110px}
.ph-row:not(.r1):not(.r2){grid-template-columns:64px minmax(0,1fr)}
.ph-l{padding:7px 4px;text-align:center;font-size:12.5px;color:#31445c;background:#f7f8fa;border-right:1px solid #e6eaee;display:flex;align-items:center;justify-content:center}
.ph-v{padding:7px 10px;font-size:13px;line-height:1.75;color:#1f2937;display:flex;align-items:center}
.ph-band{text-align:center;font-size:12px;color:#31445c;padding:5px 0;border-top:1px solid #b9c3cd;background:#fbfcfd}
#secondary-files p{margin:6px 0;overflow-wrap:anywhere}
#secondary-files button{margin-top:4px}
.font-list{max-height:380px;overflow:auto;margin-top:10px;border:1px solid #e3e8ef;border-radius:10px}
.font-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #eef1f5;padding:8px 10px;cursor:pointer}
.font-row:last-child{border-bottom:0}
.font-row:hover{background:#f5f8fc}
.font-row.active{background:#eaf2fc}
.font-row img{width:190px;height:56px;object-fit:contain;background:#fff;border:1px solid #eef1f5;border-radius:6px}
.font-meta{flex:1;min-width:0;display:flex;flex-direction:column}
.font-meta strong{font-size:13px;font-weight:500;color:#263447;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.font-meta small{font-size:11px;color:#8a97a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.font-use{font-size:12px;color:#456b96;white-space:nowrap}
.font-row.active .font-use{color:#2f5d91;font-weight:500}
