:root{color-scheme:light dark;--bg:#f6f7f8;--card:#fff;--text:#2f3136;--muted:#776c6b;--border:#b6cad7;--primary:#5d7db3;--primary2:#364a62;--danger:#b5594b;--soft:#e1e4ea;--ok:#5f8f82}
@media (prefers-color-scheme:dark){:root{--bg:#1e2836;--card:#2a3646;--text:#e1e4ea;--muted:#b6cad7;--border:#46576b;--primary:#7892b5;--primary2:#26384d;--danger:#d98481;--soft:#2f3e52;--ok:#91b5a9}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 22px;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}h1{margin:0;font-size:24px}h2{margin:0 0 12px;font-size:18px}h3{margin:16px 0 10px;font-size:15px}p{line-height:1.7}.muted,.hint{color:var(--muted)}button,.upload-btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:9px 13px;cursor:pointer;font-size:14px}button:hover,.upload-btn:hover{border-color:var(--primary)}.primary{background:var(--primary);border-color:var(--primary);color:white;font-weight:700}.danger{background:var(--danger);border-color:var(--danger);color:white}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.top-actions input{width:210px}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 78px)}.tabs{background:var(--primary2);padding:18px 12px;display:flex;flex-direction:column;gap:8px}.tabs button{background:transparent;color:#e1e4ea;text-align:left;border-color:transparent;border-radius:12px;padding:13px 14px}.tabs button.active,.tabs button:hover{background:color-mix(in srgb,var(--primary) 35%,transparent);border-color:color-mix(in srgb,var(--primary) 60%,transparent)}.tab{display:none;padding:18px;max-width:1500px;width:100%;margin:0 auto}.tab.active{display:block}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 8px 26px rgba(0,0,0,.04)}.hero{margin-bottom:18px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.compact{gap:8px}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.actions,.table-toolbar{display:flex;gap:8px;flex-wrap:wrap}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.doc-preview-card .compact-hint{margin:0 0 10px;font-size:13px}.doc-preview{overflow:auto;max-height:calc(100vh - 240px);border-radius:12px;background:color-mix(in srgb,var(--soft) 45%,transparent);padding:14px}.dp-page{background:#fff;color:#111;border:1px solid #d5d5d5;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.12);min-height:400px;margin:0 auto;max-width:740px}.dp-page p{margin:0 0 4px}.dp-h{text-indent:0}.dp-caption{text-align:center;margin:6px 0 4px}.dp-table{border-collapse:collapse;width:100%;margin:0 auto 10px}.dp-table th,.dp-table td{text-align:left}.dp-fig{text-align:center;margin:10px 0}.dp-img-ph{margin:0 auto;border:1px dashed #999;color:#888;padding:34px 12px;border-radius:6px;font-size:13px}.dp-formula{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0;position:relative}.dp-formula-no{position:absolute;right:0}.dp-code{background:#f4f4f4;border:1px solid #ddd;border-radius:6px;padding:10px;font:12px/1.5 Consolas,ui-monospace,monospace;color:#222;white-space:pre-wrap;word-break:break-all}.dp-empty{color:#999;text-align:center;padding:40px 10px}.formula-label{flex-direction:column;align-items:stretch}.formula-label textarea{width:100%;min-height:90px;font:14px/1.5 Consolas,ui-monospace,monospace;resize:vertical}.formula-preview-box{border:1px solid var(--border);border-radius:12px;margin-top:12px;overflow:hidden}.formula-preview-title{font-size:12px;color:var(--muted);padding:6px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--soft) 45%,transparent)}.formula-preview{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;background:#fff;color:#111;font-size:18px;overflow-x:auto}.formula-err{color:var(--danger);font-size:12px;margin-top:6px}.formula-word-warning{padding:8px 12px;background:color-mix(in srgb,var(--danger) 12%,var(--card));color:var(--danger);font-size:12px;border-top:1px solid var(--border)}.image-mode-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.image-mode-row .checkbox-row{margin:0}.image-mode-spacer{flex:1}.collage-opts{display:block;margin-bottom:10px;border:1px solid var(--border);border-radius:12px;padding:10px}.collage-option-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px 14px}.collage-option-grid label{margin:0;justify-content:space-between}.collage-option-grid input,.collage-option-grid select{width:130px}.collage-option-grid input[type=checkbox]{width:auto}.collage-option-grid input[type=color]{height:34px;padding:3px}.collage-help{margin:8px 0 0;font-size:12px}.inline-label{display:inline-flex;align-items:center;gap:8px;margin:0}.inline-label select{width:auto}.image-sort-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:10px}.image-sort-list:empty::after{content:'还没有图片，点「选择图片」添加';color:var(--muted);font-size:13px;display:block;text-align:center;padding:18px 0}.img-sort-row{display:flex;gap:10px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:color-mix(in srgb,var(--soft) 30%,transparent)}.img-sort-no{font-weight:700;color:var(--muted);width:20px;text-align:center;flex:none}.img-sort-row img{width:72px;height:54px;object-fit:contain;background:#fff;border-radius:6px;flex:none}.img-sort-info{flex:1;min-width:0}.img-sort-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.img-size-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;margin-top:4px;color:var(--muted)}.img-size-controls label{display:inline-flex;justify-content:flex-start;gap:5px;margin:0;font-size:12px}.img-size-controls input[type=number]{width:76px;padding:4px 6px}.img-size-controls>span{white-space:nowrap}.img-sort-btns{display:flex;gap:4px;flex:none}.img-sort-btns button{padding:4px 9px;font-size:13px}.collage-preview-box{border:1px solid var(--border);border-radius:12px;margin-top:12px;overflow:hidden}.collage-preview-scroll{max-height:280px;overflow:auto;background:#fff;text-align:center;padding:10px}.collage-preview-scroll img{max-width:100%}.actions button,.actions .upload-btn{display:inline-flex;align-items:center;justify-content:center;margin:0;height:36px;padding:0 13px;font-size:14px;line-height:1;white-space:nowrap;font-weight:400}.editor-card .actions{max-height:112px;overflow:auto;padding:2px 4px 4px 0;align-content:flex-start}.editor-card .actions::-webkit-scrollbar,#helpText::-webkit-scrollbar{width:8px;height:8px}.editor-card .actions::-webkit-scrollbar-thumb,#helpText::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}textarea{width:100%;resize:vertical;border:1px solid var(--border);border-radius:14px;padding:14px;background:transparent;color:var(--text);outline:none}#content{min-height:650px;font:15px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.json-editor{min-height:680px;font:13px/1.55 Consolas,ui-monospace,monospace}pre{white-space:pre-wrap;word-break:break-word;background:color-mix(in srgb,var(--soft) 55%,transparent);border-radius:14px;padding:14px;line-height:1.7}#helpText{max-height:calc(100vh - 300px);min-height:260px;overflow:auto}fieldset{border:1px solid var(--border);border-radius:16px;padding:14px}legend{padding:0 6px;color:var(--muted);font-weight:700}label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:9px 0;font-size:14px}input,select{width:165px;max-width:100%;border:1px solid var(--border);border-radius:9px;padding:8px 9px;background:transparent;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.font-block{border-top:1px dashed var(--border);padding-top:8px;margin-top:8px}.checkbox-row input{width:auto}.number-row{display:grid;grid-template-columns:54px 1fr 1fr;gap:8px;align-items:center;margin:7px 0}.number-row input,.number-row select{width:100%}.heading-card .font-block{border-top:0;margin-top:0}.outline{min-height:520px}.cover-preview{background:#fff;color:#111;min-height:720px;border:1px solid var(--border);border-radius:12px;padding:48px 42px;text-align:center;box-shadow:inset 0 0 0 1px #eee}.cover-preview .cv-title{font-size:32px;font-weight:700;margin-bottom:18px}.cover-preview .cv-subtitle{font-size:18px;margin-bottom:54px}.cover-preview .cv-field{display:grid;gap:12px;align-items:end;margin:14px auto;justify-content:center}.cover-preview .cv-label{display:grid;grid-template-columns:1fr auto;align-items:end;width:100%}.cover-preview .cv-label span{display:flex;justify-content:space-between;min-width:0}.cover-preview .cv-label i{font-style:normal}.cover-preview .cv-label b{font-weight:400}.cover-preview .cv-line{border-bottom:1.5px solid #111;min-height:28px;display:flex;align-items:center;justify-content:center}.cover-field-row{display:grid;grid-template-columns:1fr 1fr auto auto;gap:6px;align-items:center;margin:8px 0}.cover-field-row input{width:100%}.output-item{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--border);padding:10px 0}.output-item:last-child{border-bottom:0}.progress-box{border:1px dashed var(--border);border-radius:12px;padding:10px;margin:10px 0;background:color-mix(in srgb,var(--soft) 35%,transparent)}.image-preview-list{margin-top:16px}.image-cache-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.image-cache-head h3{margin:0}.image-cache-head small{font-weight:400}.cache-warning{font-size:12px;margin:7px 0 10px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.image-card{border:1px solid var(--border);border-radius:14px;padding:10px;background:color-mix(in srgb,var(--soft) 25%,transparent);display:flex;flex-direction:column;gap:6px}.image-card img{width:100%;height:110px;object-fit:contain;border-radius:10px;background:#fff}.image-card small{color:var(--muted);word-break:break-all}.image-card button{margin-top:auto;width:100%}.table-editor{overflow:auto;max-height:420px;border:1px solid var(--border);border-radius:12px}.table-editor table{border-collapse:collapse;width:100%}.table-editor td{border:1px solid var(--border);padding:4px}.table-editor input{width:100%;border:0;border-radius:6px}dialog{border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--text);max-width:920px;width:min(94vw,920px)}dialog::backdrop{background:rgba(0,0,0,.35)}menu{display:flex;justify-content:flex-end;gap:10px;padding:0;margin:16px 0 0}.toast{position:fixed;right:20px;bottom:20px;background:#111827;color:white;padding:12px 16px;border-radius:12px;opacity:0;transform:translateY(10px);transition:.2s;z-index:20}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.shell{grid-template-columns:1fr}.content-layout{grid-template-columns:1fr}.collage-option-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.tabs{position:sticky;top:75px;z-index:8;flex-direction:row;overflow:auto}.grid.two,.grid.three{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.section-title{align-items:flex-start;flex-direction:column}.editor-card .actions{max-height:160px}}
