:root,html[data-theme=dark]{--bg: #050505;--bg-elevated: #0c0c0c;--panel: #0f0f0f;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .22);--text: #f4f4f4;--muted: #8a8a8a;--accent: #f4f4f4;--accent-soft: #c8c8c8;--warn: #d4a574;--danger: #e07a7a;--ok: #8fbf9a;--hover: rgba(255, 255, 255, .04);--hover-strong: rgba(255, 255, 255, .08);--primary-fg: #050505;--scheme: dark;--display: "Syne", "Segoe UI", sans-serif;--sans: "DM Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "Cascadia Code", "SF Mono", ui-monospace, Consolas, monospace;--radius: 10px;--shadow: 0 18px 50px rgba(0, 0, 0, .55);--option-bg: #0f0f0f;--option-fg: #f4f4f4}html[data-theme=light]{--bg: #f3f1ec;--bg-elevated: #fffcf7;--panel: #ffffff;--line: rgba(30, 28, 24, .1);--line-strong: rgba(30, 28, 24, .22);--text: #1c1a16;--muted: #6f6a60;--accent: #1c1a16;--accent-soft: #3d3932;--warn: #9a6b2f;--danger: #b42318;--ok: #2f6b45;--hover: rgba(28, 26, 22, .05);--hover-strong: rgba(28, 26, 22, .09);--primary-fg: #fffcf7;--scheme: light;--shadow: 0 18px 50px rgba(28, 26, 22, .12);--option-bg: #ffffff;--option-fg: #1c1a16}html[data-theme=soft]{--bg: #e8ebe6;--bg-elevated: #f2f4f0;--panel: #f7f8f5;--line: rgba(45, 55, 48, .12);--line-strong: rgba(45, 55, 48, .22);--text: #2a322c;--muted: #667068;--accent: #2a322c;--accent-soft: #445048;--warn: #8a7040;--danger: #a04545;--ok: #3d6b52;--hover: rgba(42, 50, 44, .05);--hover-strong: rgba(42, 50, 44, .09);--primary-fg: #f7f8f5;--scheme: light;--shadow: 0 18px 50px rgba(42, 50, 44, .1);--option-bg: #f7f8f5;--option-fg: #2a322c}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,textarea,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.ghost,.primary{border:1px solid var(--line-strong);background:transparent;border-radius:999px;padding:7px 14px;font-size:13px;transition:background .15s ease,border-color .15s ease,color .15s ease}.ghost:hover:not(:disabled){background:var(--hover)}.primary{background:var(--text);color:var(--primary-fg);border-color:transparent;font-weight:600}.primary:hover:not(:disabled){filter:brightness(1.05)}.ghost:disabled,.primary:disabled{opacity:.35;cursor:default}.hint,.meta{color:var(--muted);font-size:12px}.error{color:var(--danger);font-size:13px;word-break:break-word}.ok{color:var(--ok);font-size:13px}label.field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}input,textarea,select{width:100%;border:1px solid var(--line);background:var(--bg-elevated);border-radius:var(--radius);padding:10px 12px;outline:none;color-scheme:var(--scheme)}select option{background:var(--option-bg);color:var(--option-fg)}input:focus,textarea:focus,select:focus{border-color:var(--line-strong)}.layout{height:100dvh;display:flex;max-width:1280px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}.shell{flex:1;min-width:0;height:100dvh;display:flex;flex-direction:column}.top{display:flex;align-items:flex-end;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);flex-wrap:nowrap}.brand{display:flex;flex-direction:column;gap:2px;flex-shrink:0;min-width:96px;align-self:center}.brand strong{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.03em;line-height:1.1}.brand small{color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.top-spacer{flex:1}.top-field{display:flex;flex-direction:column;gap:2px;margin:0;min-width:0}.top-field-label{display:block;font-size:12px;line-height:1.2;color:var(--muted);min-height:1.2em}.top-field-value{display:flex;align-items:center;height:40px;padding:0 12px;border-radius:10px;color:var(--text);white-space:nowrap}.top-actions{display:flex;align-items:center;gap:8px;height:40px}.body-row{display:flex;flex:1;min-height:0}.nav-side{width:200px;flex-shrink:0;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:var(--bg);overflow-y:auto}.nav-side .head{padding:18px 16px 14px;border-bottom:1px solid var(--line)}.nav-side .head strong{font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.nav-group{padding:8px 0 4px}.nav-group-label{padding:6px 16px 4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.nav-side ul{list-style:none;margin:0;padding:8px 0}.nav-side li button{width:100%;text-align:left;border:0;background:transparent;color:var(--muted);padding:12px 16px;font-size:14px;border-radius:0}.nav-side li button:hover{background:var(--hover);color:var(--text)}.nav-side li button.on{color:var(--text);background:var(--hover-strong)}.main{flex:1;min-width:0;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:16px}.panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:16px 18px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.panel-head h2{margin:0;font-family:var(--display);font-size:18px;letter-spacing:-.02em;font-weight:700}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid{display:grid;gap:14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line-strong);background:transparent;border-radius:999px;padding:5px 12px;font-size:12px;color:var(--muted)}.chip.on,.chip:hover{color:var(--text);background:var(--hover-strong)}.job-list{display:grid;gap:8px;max-height:280px;overflow:auto}.job-item{border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;display:grid;gap:2px}.job-item strong{font-size:13px}.job-item span{font-size:12px;color:var(--muted)}.job-item.on,.job-item:hover{background:var(--hover)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:12px}.gallery figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg-elevated)}.gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.gallery figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12px;color:var(--muted)}.gallery figcaption a,.gallery figcaption button{border:0;background:transparent;color:var(--text);text-decoration:underline;padding:0;font-size:12px}.toast{position:fixed;right:18px;bottom:18px;z-index:90;max-width:min(360px,90vw);padding:12px 14px;border-radius:12px;border:1px solid var(--line-strong);background:var(--panel);box-shadow:var(--shadow);font-size:13px}.toast.err{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.toast.ok{color:var(--ok)}.dlg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--bg) 35%,rgba(0,0,0,.55))}.dlg{width:min(460px,100%);background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow);padding:18px 18px 16px;display:grid;gap:12px}.dlg header strong{font-family:var(--display);font-size:17px;letter-spacing:-.02em}.dlg-msg{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.dlg footer{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.preset-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:8px;background:var(--hover)}.preset-card.on{border-color:var(--line-strong);background:var(--hover-strong)}.preset-card strong{font-size:14px}.preset-card .preview{font-size:12px;color:var(--muted);white-space:pre-wrap;max-height:4.5em;overflow:hidden}.ref-preview{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--hover)}.ref-preview img{width:min(220px,100%);max-height:220px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:var(--bg-elevated)}.ref-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}label.check-inline{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}label.check-inline input{width:auto}.advanced-box{border:1px solid var(--line);border-radius:12px;padding:0 12px 12px;background:var(--hover)}.advanced-box>summary{cursor:pointer;list-style:none;padding:12px 0 4px;color:var(--muted);font-size:13px;-webkit-user-select:none;user-select:none}.advanced-box>summary::-webkit-details-marker{display:none}.advanced-body{display:grid;gap:12px;padding-top:8px}textarea[readonly]{opacity:.85;color:var(--accent-soft)}.attach-strip{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.attach-card{width:96px;display:grid;gap:6px}.attach-card img{width:96px;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:var(--bg-elevated)}.attach-card .meta-row{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.attach-card button{border:0;background:transparent;color:var(--text);text-decoration:underline;padding:0;font-size:11px}.chat-box{border:1px solid var(--line);border-radius:14px;background:var(--bg-elevated);padding:12px;display:grid;gap:10px}.drop-hint{border:1px dashed var(--line-strong);border-radius:12px;padding:14px;text-align:center;color:var(--muted);font-size:13px}.drop-hint.on{background:var(--hover-strong);color:var(--text)}@media(max-width:960px){.layout{border:0}.grid2{grid-template-columns:1fr}.body-row{flex-direction:column}.nav-side{width:100%;border-right:0;border-bottom:1px solid var(--line)}.nav-side ul{display:flex;overflow-x:auto;padding:0 8px 8px}.nav-side li button{white-space:nowrap;padding:10px 12px}}
