/* Dedicated editor and single-page paper; never overrides the full-record exporter. */
.ko-modal{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,26,34,.6);color:#202c38;font:14px/1.6 "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
.ko-modal *{box-sizing:border-box}
.ko-dialog{width:min(1180px,100%);max-height:94vh;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 18px 60px #10212e44;overflow:hidden}
.ko-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 22px;border-bottom:1px solid #d9e0e6;flex:none}
.ko-dialog-head h2{font-size:20px;color:#245b78;line-height:1.4;margin:0 0 5px}
.ko-dialog-head p,.ko-help{font-size:12px;color:#647382;margin:0}
.ko-modal button{font:inherit;line-height:1.4;border:1px solid #c9d5df;border-radius:7px;padding:9px 14px;background:#fff;color:#245b78;cursor:pointer;white-space:nowrap}
.ko-modal button.ko-primary{background:#245b78;border-color:#245b78;color:#fff}
.ko-modal button:disabled{opacity:.45;cursor:not-allowed}
.ko-modal :is(button,input,textarea,select):focus-visible{outline:3px solid #89b4cb;outline-offset:2px}
.ko-content{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);min-height:0;overflow:auto}
.ko-form{padding:20px;min-width:0}
.ko-field{display:flex;flex-direction:column;gap:5px;margin:0 0 13px;font-size:13px;font-weight:600;min-width:0}
.ko-field input,.ko-field textarea,.ko-field select{display:block;width:100%;border:1px solid #c9d5df;border-radius:6px;background:#fff;color:#202c38;padding:8px 9px;min-height:39px;font:400 13px/1.5 "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
.ko-field textarea{resize:vertical;min-height:80px;max-height:250px}
.ko-field :is(input,textarea)[aria-invalid=true]{border-color:#a52626}
.ko-field small{font-size:11px;color:#647382;font-weight:400;line-height:1.4}
.ko-field :disabled{background:#f4f6f8;color:#89949d}
.ko-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ko-help{margin:0 0 14px}
.ko-preview-wrap{background:#edf1f4;padding:20px;min-width:0;border-left:1px solid #d9e0e6}
.ko-preview{min-height:360px;display:flex;align-items:center;justify-content:center;color:#647382;font-size:13px;text-align:center;padding:18px}
.ko-preview:has(img){padding:0;display:block}
.ko-preview img{display:block;width:100%;height:auto;object-fit:contain;background:#fff;box-shadow:0 3px 18px #10212e16}
.ko-actions{flex:none;padding:14px 22px;border-top:1px solid #d9e0e6;background:#fff}
.ko-status{font-size:13px;min-height:21px;margin-bottom:10px;color:#245b78;overflow-wrap:anywhere}
.ko-buttons{display:flex;gap:9px;flex-wrap:wrap}
.ko-modal .ko-error{color:#a52626}
#kaleidoOverviewStage{position:fixed;left:-99999px;top:0;width:794px;pointer-events:none}
#kaleidoOverviewStage *{box-sizing:border-box}
#kaleidoOverviewStage .ep-body{width:686px}
#kaleidoOverviewStage .ko-board{height:838px;display:grid;grid-template-rows:438px 192px 180px;gap:14px;width:686px;color:var(--pe-ink,#202c38)}
#kaleidoOverviewStage .ko-board h2{font-size:13px;line-height:20px;font-weight:700;color:var(--pe-accent,#245b78);margin:0 0 8px}
#kaleidoOverviewStage .ko-board h2 span{font-size:9px;font-weight:400;color:var(--pe-muted,#647382);margin-left:7px}
#kaleidoOverviewStage .ko-board h3{font-size:11px;line-height:17px;color:var(--pe-accent,#245b78);font-weight:700;margin:0 0 5px}
#kaleidoOverviewStage .ko-main{display:grid;grid-template-columns:224px 448px;gap:14px;min-height:0}
#kaleidoOverviewStage .ko-source,#kaleidoOverviewStage .ko-result{min-width:0;min-height:0}
#kaleidoOverviewStage .ko-image{display:flex;align-items:center;justify-content:center;background:#f5f7f8;border:1px solid var(--pe-line,#d9e0e6);overflow:hidden;min-width:0;min-height:0}
#kaleidoOverviewStage .ko-image img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain!important}
#kaleidoOverviewStage .ko-source-image{height:224px;margin-bottom:14px}
#kaleidoOverviewStage .ko-final-image{height:410px}
#kaleidoOverviewStage .ko-copy{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:18px;margin:0;overflow:hidden;font-weight:400;color:var(--pe-ink,#202c38)}
#kaleidoOverviewStage .ko-source .ko-copy{height:148px}
#kaleidoOverviewStage .ko-iterations{min-height:0;border-top:1px solid var(--pe-line,#d9e0e6);padding-top:10px}
#kaleidoOverviewStage .ko-iteration-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;height:153px}
#kaleidoOverviewStage .ko-iteration{display:grid;grid-template-columns:143px minmax(0,1fr);gap:10px;min-width:0;min-height:0}
#kaleidoOverviewStage .ko-step-image{height:143px}
#kaleidoOverviewStage .ko-step-copy{min-width:0;min-height:0}
#kaleidoOverviewStage .ko-step-copy h3{min-height:34px;margin-bottom:7px}
#kaleidoOverviewStage .ko-step-copy .ko-copy{height:108px;font-size:10px;line-height:17px}
#kaleidoOverviewStage .ko-one{grid-template-columns:1fr}
#kaleidoOverviewStage .ko-one .ko-iteration{grid-template-columns:190px 1fr}
#kaleidoOverviewStage .ko-no-iterations{grid-column:1/-1;display:flex;align-items:center;justify-content:center;border:1px dashed var(--pe-line,#d9e0e6);font-size:11px;color:var(--pe-muted,#647382)}
#kaleidoOverviewStage .ko-notes{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:0}
#kaleidoOverviewStage .ko-notes section{background:var(--pe-soft,#edf3f6);padding:12px 14px;min-width:0;min-height:0}
#kaleidoOverviewStage .ko-notes .ko-copy{height:126px}
#kaleidoOverviewStage .ko-board.ko-without-iterations{grid-template-rows:582px 48px 180px}
#kaleidoOverviewStage .ko-without-iterations .ko-final-image{height:554px}
#kaleidoOverviewStage .ko-without-iterations .ko-source-image{height:300px}
#kaleidoOverviewStage .ko-without-iterations .ko-source .ko-copy{height:216px}
#kaleidoOverviewStage .ko-without-iterations .ko-iterations{padding-top:0;border-top:0;display:flex;align-items:center}
#kaleidoOverviewStage .ko-without-iterations .ko-iterations h2{display:none}
#kaleidoOverviewStage .ko-without-iterations .ko-iteration-grid{display:block;width:100%;height:auto}
#kaleidoOverviewStage .ko-without-iterations .ko-no-iterations{display:block;border:0;font-size:10px}
@media(max-width:760px){.ko-modal{padding:8px}.ko-dialog{max-height:96vh;border-radius:12px}.ko-dialog-head{padding:14px;gap:10px}.ko-dialog-head h2{font-size:18px}.ko-content{display:block}.ko-form{padding:14px}.ko-preview-wrap{padding:12px;border-left:0;border-top:1px solid #d9e0e6}.ko-preview{min-height:160px}.ko-actions{padding:12px 14px}.ko-field input,.ko-field textarea,.ko-field select{font-size:16px}.ko-field-pair{gap:9px}.ko-modal button{padding:9px 12px}}
@media print{.ko-modal,#kaleidoOverviewStage{display:none!important}}
