@font-face{font-family:"Noto Serif SC Workstation";src:url(/assets/noto-serif-sc-workstation-DEwtPiV-.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Caveat Workstation;src:url(/assets/caveat-workstation-CcAcDVEo.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}:root{color:#23221f;background:#f8f6f1;font-family:Microsoft YaHei UI,PingFang SC,Segoe UI,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f8f6f1;--paper: #fffefa;--panel: #fbf9f5;--surface: #fffefa;--surface-muted: #f1eee8;--surface-selected: #f7f2ea;--border: #d9d4ca;--border-strong: #c6c0b5;--text: #23221f;--muted: #746f67;--faint: #a39d93;--accent: #91683d;--accent-strong: #76502b;--accent-soft: #eee3d5;--success: #28775a;--success-soft: #e4f0e9;--danger: #b34338;--danger-soft: #f7e7e4;--shadow: rgba(61, 52, 41, .08)}:root[data-theme=dark]{color:#eeeae3;background:#1e1e1c;--bg: #1e1e1c;--paper: #242421;--panel: #272724;--surface: #2d2c29;--surface-muted: #33322e;--surface-selected: #39342e;--border: #45423c;--border-strong: #5a564e;--text: #eeeae3;--muted: #aaa59c;--faint: #827d75;--accent: #c3a071;--accent-strong: #d0ae80;--accent-soft: #40372d;--success: #70c49a;--success-soft: #273c32;--danger: #ef9085;--danger-soft: #422d2a;--shadow: rgba(0, 0, 0, .24)}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{min-height:100dvh;overflow:hidden;color:var(--text);background:var(--bg)}button,select,textarea{color:inherit;font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,p{margin-top:0}.workstation{display:grid;grid-template-rows:126px minmax(0,1fr);width:100%;min-height:100dvh;height:100dvh;overflow:hidden;background:var(--bg)}.workstation-header{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;min-width:0;padding:20px 30px 19px;overflow:hidden;border-bottom:1px solid var(--border);background-color:var(--paper);background-image:linear-gradient(color-mix(in srgb,var(--border) 24%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border) 18%,transparent) 1px,transparent 1px);background-size:48px 48px}.workstation-header:after{position:absolute;right:30px;bottom:18px;left:30px;height:1px;content:"";background:linear-gradient(90deg,var(--accent) 0 54px,transparent 54px);opacity:.28;pointer-events:none}.brand-lockup{position:relative;z-index:1;display:grid;align-content:end;min-width:0}.brand-signature{position:relative;width:-moz-max-content;width:max-content;color:var(--muted);font-family:Caveat Workstation,Segoe Print,cursive;font-size:25px;font-weight:500;line-height:1}.brand-signature:after{position:absolute;right:0;bottom:-4px;left:0;height:4px;content:"";background:var(--accent-soft)}.brand-lockup h1{margin:7px 0 0;font-family:"Noto Serif SC Workstation",Songti SC,serif;font-size:38px;font-weight:600;line-height:1.12;letter-spacing:0}.header-status{position:relative;z-index:1;display:flex;align-items:center;padding-bottom:9px}.connection-state{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:650}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.status-dot.online{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.workstation-shell{display:grid;grid-template-columns:370px minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.controls{display:flex;flex-direction:column;min-width:0;min-height:0;overflow-y:auto;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;border-right:1px solid var(--border);background:var(--panel)}.controls::-webkit-scrollbar{width:6px}.controls::-webkit-scrollbar-track{background:transparent}.controls::-webkit-scrollbar-thumb{border:1px solid var(--panel);border-radius:6px;background:var(--border-strong)}.control-section{padding:14px 18px;border-bottom:1px solid var(--border)}.control-heading{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding-top:11px;padding-bottom:11px}.control-heading h2,.panel-bar h2{margin:0;font-family:"Noto Serif SC Workstation",Songti SC,serif;font-size:16px;font-weight:600;line-height:1.35;letter-spacing:0}.section-code{color:var(--faint);font-family:Consolas,SFMono-Regular,monospace;font-size:10px}.notice{display:flex;align-items:flex-start;gap:9px;margin:12px 14px 0;padding:10px 11px;border:1px solid var(--border);border-radius:6px;font-size:12px}.notice svg{flex:0 0 auto;width:16px;height:16px}.error-notice{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 28%,var(--border));background:var(--danger-soft)}.notice div{display:grid;gap:2px;min-width:0}.notice span{overflow-wrap:anywhere}.notice .icon-button{margin-left:auto}.field-label{display:block;margin-bottom:7px;color:var(--text);font-size:12px;font-weight:700}.field-hint{color:var(--muted);font-family:Consolas,SFMono-Regular,monospace;font-size:10px}.field-hint.limit{color:var(--danger)}.empty-hint{margin:8px 0 0;font-family:inherit;font-size:11px;line-height:1.5}.label-row{display:flex;align-items:center;justify-content:space-between}.label-row .field-label{margin-bottom:7px}select,textarea{width:100%;border:1px solid var(--border-strong);border-radius:6px;outline:none;background:var(--surface)}select{height:38px;padding:0 34px 0 10px;font-size:12px;text-overflow:ellipsis}textarea{min-height:108px;padding:10px 11px;resize:vertical;font-size:12px;line-height:1.6}select:focus,textarea:focus,.drop-zone:focus-visible,button:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.two-column-fields{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(105px,.75fr);gap:10px}.readonly-value{display:flex;align-items:center;gap:7px;min-width:0;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted);font-size:12px}.readonly-value svg{width:15px;height:15px;color:var(--accent)}.readonly-value>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-value{color:var(--success);font-family:Consolas,SFMono-Regular,monospace;font-weight:700;font-variant-numeric:tabular-nums}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted)}.segmented.three{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented button{min-width:0;height:30px;padding:0 7px;border:0;border-radius:5px;color:var(--muted);background:transparent;font-size:11px;font-weight:700}.segmented button.active{color:var(--accent-strong);background:var(--surface);box-shadow:0 1px 3px var(--shadow)}.compact-options{display:grid;grid-template-columns:1fr 1fr;gap:13px}.drop-zone{display:grid;place-items:center;width:100%;min-height:88px;padding:11px;border:1px dashed var(--border-strong);border-radius:6px;color:var(--accent);background:var(--surface)}.drop-zone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 38%,var(--surface))}.drop-zone svg{width:20px;height:20px;margin-bottom:3px}.drop-zone span{font-size:12px;font-weight:700}.drop-zone small{margin-top:2px;color:var(--muted);font-size:10px}.upload-list{margin-top:9px;border-top:1px solid var(--border)}.upload-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0;padding:7px 0;border-bottom:1px solid var(--border)}.upload-row img{width:38px;height:38px;-o-object-fit:cover;object-fit:cover;border-radius:5px;background:var(--surface-muted)}.upload-name{display:grid;gap:2px;min-width:0}.upload-name strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.upload-name span{color:var(--muted);font-size:9px}.primary-reference{padding:2px 4px;border-radius:4px;color:var(--accent-strong);background:var(--accent-soft);font-size:9px;font-weight:700;white-space:nowrap}.row-actions,.preview-actions{display:flex;align-items:center;gap:1px}.icon-button{display:inline-grid;flex:0 0 auto;place-items:center;width:29px;height:29px;padding:0;border:1px solid transparent;border-radius:5px;color:var(--muted);background:transparent}.icon-button:hover:not(:disabled){color:var(--text);border-color:var(--border);background:var(--surface-muted)}.icon-button.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.icon-button svg{width:15px;height:15px}.submit-area{position:sticky;bottom:0;z-index:3;margin-top:auto;padding:13px 18px 16px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--panel) 95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.primary-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;border:1px solid var(--accent-strong);border-radius:6px;color:#fff;background:var(--accent-strong);font-size:12px;font-weight:700}.primary-button:hover:not(:disabled){filter:brightness(.96)}.primary-button svg{width:16px;height:16px}.output-column{display:grid;grid-template-rows:minmax(310px,1fr) 188px;min-width:0;min-height:0;overflow:hidden}.preview-panel,.history-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface)}.preview-panel{border-bottom:1px solid var(--border)}.panel-bar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;min-height:50px;padding:8px 17px;border-bottom:1px solid var(--border);background:var(--panel)}.panel-bar>div:first-child{min-width:0}.job-meta{display:block;overflow:hidden;margin-top:1px;color:var(--muted);font-family:Consolas,SFMono-Regular,monospace;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.preview-stage{position:relative;display:grid;flex:1 1 auto;min-width:0;min-height:0;place-items:center;overflow:hidden;padding:24px;background-color:var(--surface-muted);background-image:linear-gradient(45deg,color-mix(in srgb,var(--border) 34%,transparent) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in srgb,var(--border) 34%,transparent) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,color-mix(in srgb,var(--border) 34%,transparent) 75%),linear-gradient(-45deg,transparent 75%,color-mix(in srgb,var(--border) 34%,transparent) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.preview-stage img{position:absolute;top:24px;right:24px;bottom:24px;left:24px;width:calc(100% - 48px);height:calc(100% - 48px);-o-object-fit:contain;object-fit:contain}.state-message{display:flex;flex-direction:column;align-items:center;max-width:420px;padding:24px;color:var(--muted);text-align:center}.state-message strong{margin-top:11px;color:var(--text);font-size:14px}.state-message span{margin-top:4px;font-size:11px;line-height:1.5}.state-message>svg{width:30px;height:30px;color:var(--accent)}.failure-state>svg{color:var(--danger)}.queue-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--accent);background:var(--accent-soft)}.queue-mark svg{width:23px;height:23px}.spinner{display:inline-block;width:17px;height:17px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.spinner.large{width:38px;height:38px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.history-panel{background:var(--panel)}.history-list{min-height:0;overflow-y:auto;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-thumb{border-radius:6px;background:var(--border-strong)}.history-row{display:grid;grid-template-columns:72px minmax(120px,1fr) 86px 108px;align-items:center;gap:10px;width:100%;min-height:43px;padding:6px 17px;border:0;border-bottom:1px solid var(--border);color:var(--text);background:transparent;text-align:left}.history-row:hover{background:var(--surface)}.history-row.selected{background:var(--surface-selected);box-shadow:inset 3px 0 var(--accent)}.history-status{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:700}.history-status>span{width:6px;height:6px;border-radius:50%;background:currentColor}.status-completed{color:var(--success)}.status-failed{color:var(--danger)}.status-running{color:var(--accent)}.history-prompt{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.history-spec,.history-row time{color:var(--muted);font-family:Consolas,SFMono-Regular,monospace;font-size:10px;white-space:nowrap}.history-row time{text-align:right}.history-empty{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 1000px){.workstation-shell{grid-template-columns:350px minmax(0,1fr)}.history-row{grid-template-columns:68px minmax(90px,1fr) 82px}.history-row time{display:none}}@media (max-width: 720px){body{overflow:auto}.workstation{display:block;height:auto;min-height:100dvh;overflow:visible}.workstation-header{min-height:118px}.workstation-shell{display:block}.controls{max-height:none;overflow:visible;border-right:0}.output-column{grid-template-rows:minmax(460px,70dvh) minmax(250px,auto);overflow:visible}.submit-area{z-index:4}.history-list{max-height:420px}.history-row{grid-template-columns:74px minmax(0,1fr) 84px;padding-inline:14px}.history-row time{display:none}}@media (max-width: 430px){.workstation-header{padding-inline:18px}.brand-lockup h1{font-size:34px}.control-section{padding-inline:16px}.two-column-fields,.compact-options{grid-template-columns:1fr}.upload-row{grid-template-columns:40px minmax(0,1fr) auto}.primary-reference{grid-column:2;width:-moz-max-content;width:max-content}.row-actions{grid-column:3;grid-row:1 / span 2;flex-wrap:wrap;justify-content:flex-end;width:64px}.preview-stage{padding:12px}.preview-stage img{top:12px;right:12px;bottom:12px;left:12px;width:calc(100% - 24px);height:calc(100% - 24px)}.history-spec{display:none}.history-row{grid-template-columns:74px minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:1.8s}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
