*{box-sizing:border-box;margin:0;padding:0}button{font:inherit}button,input,select,textarea{transition-duration:var(--motion);transition-timing-function:var(--ease-standard)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.module-picker-option:focus-visible,.job-item:focus-visible,.link-btn:focus-visible{outline-offset:2px;box-shadow:var(--focus-ring);outline:2px solid #38bdf894}button:active:not(:disabled),.link-btn:active:not(:disabled),.upload-zone:active{transform:translateY(1px)}.dialog-backdrop{z-index:80;animation:backdropIn var(--motion-slow) var(--ease-standard);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.upload-dialog.open{display:block}.app-error{margin:14px 18px 0}.comparison-range{z-index:8;opacity:0;cursor:ew-resize;width:100%;height:100%;position:absolute;inset:0}[hidden]{display:none!important}:root{--bg:#090d14;--bg-top:#132238;--surface:#0d121be0;--surface-2:#151c28f5;--surface-3:#1f293afa;--border:#94a3b81f;--border-strong:#94a3b83d;--ink:#f8fafc;--ink-2:#cbd5e1;--ink-3:#7c8aa5;--accent:#38bdf8;--accent-strong:#0ea5e9;--on-accent:#02131b;--accent-dim:#38bdf824;--good:#34d399;--good-dim:#34d3991f;--warn:#f59e0b;--warn-dim:#f59e0b24;--bad:#f87171;--bad-dim:#f8717124;--radius:20px;--radius-sm:14px;--radius-xs:10px;--sidebar-width:200px;--chat-drawer-width:630px;--result-preview-width:375px;--motion-fast:.12s;--motion:.18s;--motion-slow:.26s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-enter:cubic-bezier(.16, 1, .3, 1);--focus-ring:0 0 0 3px #38bdf83d}body{background:radial-gradient(circle at top left, #38bdf829, transparent 28%), radial-gradient(circle at top right, #0ea5e924, transparent 24%), linear-gradient(180deg, var(--bg-top), var(--bg));min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans CJK SC,Source Han Sans SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5;overflow:hidden}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);height:100vh;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#070b13d6;flex-direction:column;gap:12px;min-height:0;padding:16px 10px;display:flex}.brand{justify-content:space-between;align-items:center;gap:8px;padding:2px 0 4px 4px;display:flex}.brand-main{align-items:center;gap:8px;min-width:0;display:flex}.brand-icon{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--accent);background:linear-gradient(135deg,#38bdf838,#0ea5e914);border:1px solid #38bdf829;flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-text{flex-direction:column;min-width:0;display:flex}.brand-name{color:var(--ink);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;display:block;overflow:hidden}.sidebar-collapse-btn{border:1px solid var(--border);color:var(--ink-3);cursor:pointer;transition:background-color var(--motion) var(--ease-standard), border-color var(--motion) var(--ease-standard), color var(--motion) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion) var(--ease-standard);background:#ffffff06;border-radius:10px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.sidebar-collapse-btn:hover,.sidebar-restore-btn:hover{background:var(--accent-dim);color:var(--accent);border-color:#38bdf847}.sidebar-restore-btn{flex:none}.upload-zone{border-radius:var(--radius-sm);border:1px dashed var(--border-strong);min-height:38px;color:var(--ink-2);cursor:pointer;transition:background-color var(--motion) var(--ease-standard), border-color var(--motion) var(--ease-standard), color var(--motion) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion) var(--ease-standard);background:#ffffff05;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.upload-zone input[type=file]{display:none}.upload-zone:disabled{cursor:not-allowed;opacity:.48}.upload-quota{color:var(--ink-3);text-align:center;margin-top:-4px;font-size:11px}.upload-quota strong{color:var(--ink-2);font-weight:600}.admin-mode-status{background:var(--warn-dim);min-height:30px;color:var(--warn);border:1px solid #f59e0b47;border-radius:8px;justify-content:space-between;align-items:center;padding:5px 8px;font-size:11px;display:flex}.admin-mode-status strong{font-weight:650}.admin-mode-status button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:2px 5px;font-size:11px}.admin-mode-status button:hover{color:var(--ink)}.upload-dialog{background:var(--surface-2);color:var(--ink-1);width:90vw;max-width:380px;animation:modalIn var(--motion-slow) var(--ease-enter);border:0;border-radius:12px;margin:0;padding:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 48px #0006}.upload-dialog::backdrop{background:#00000080}.upload-dialog-content{padding:24px}.upload-dialog-title{margin:0 0 16px;font-size:16px;font-weight:600}.upload-dialog-field{margin-bottom:14px}.upload-dialog-label{color:var(--ink-3);margin-bottom:6px;font-size:12px;display:block}.upload-dialog-select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:34px;color:var(--ink-1);font:inherit;cursor:pointer;background:#ffffff06;padding:0 8px;font-size:13px;transition-property:border-color,background-color,box-shadow}.upload-dialog-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:34px;color:var(--ink);font:inherit;background:#ffffff06;padding:0 10px;font-size:13px;transition-property:border-color,background-color,box-shadow}.upload-dialog-input::placeholder{color:var(--ink-3)}.upload-dialog-hint{min-height:18px;color:var(--ink-3);margin-top:6px;font-size:12px}.upload-dialog-check{color:var(--ink-2);align-items:center;gap:8px;margin-top:2px;font-size:13px;display:inline-flex}.upload-dialog-check input{accent-color:var(--accent)}.upload-dialog-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.upload-format-options{flex-wrap:wrap;gap:8px;display:flex}.upload-format-option{border:1px solid var(--border);border-radius:var(--radius-sm);height:30px;color:var(--ink-2);align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.upload-format-option input{accent-color:var(--accent);margin:0}.upload-format-option:has(input:checked){background:var(--accent-dim);color:var(--ink);border-color:#38bdf86b}.upload-dialog-file{border:1.5px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;height:56px;color:var(--ink-3);transition:border-color var(--motion) var(--ease-standard), color var(--motion) var(--ease-standard), background-color var(--motion) var(--ease-standard);justify-content:center;align-items:center;font-size:13px;display:flex}.upload-dialog-file:hover{border-color:var(--accent);color:var(--accent)}.upload-dialog-file input[type=file]{display:none}.upload-dialog-file.has-file{border-color:var(--accent);color:var(--ink-1)}.upload-dialog-file.is-disabled{cursor:wait;opacity:.62}.upload-progress{background:#38bdf814;border:1px solid #38bdf838;border-radius:8px;padding:12px}.upload-progress-heading{color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.upload-progress-heading strong{color:var(--accent);font-size:12px}.upload-progress-track{background:#94a3b82e;border-radius:3px;height:6px;margin-top:9px;overflow:hidden}.upload-progress-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .16s linear;display:block}.upload-progress-detail{color:var(--ink-3);margin-top:7px;font-size:11px}.upload-dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.upload-dialog-cancel{border:1px solid var(--border);border-radius:var(--radius-sm);height:32px;color:var(--ink-2);font:inherit;cursor:pointer;transition:border-color var(--motion) var(--ease-standard), background-color var(--motion) var(--ease-standard), color var(--motion) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:0 0;padding:0 14px;font-size:13px}.upload-dialog-submit{border-radius:var(--radius-sm);background:var(--accent);height:32px;color:var(--on-accent);font:inherit;cursor:pointer;transition:background-color var(--motion) var(--ease-standard), box-shadow var(--motion) var(--ease-standard), opacity var(--motion) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border:0;padding:0 14px;font-size:13px;font-weight:500}.upload-dialog-cancel:hover:not(:disabled){color:var(--ink);background:#ffffff0d;border-color:#94a3b847}.upload-dialog-submit:hover:not(:disabled){box-shadow:0 10px 24px #0ea5e93d}.upload-dialog-submit:disabled{opacity:.4;cursor:not-allowed}.upload-zone:hover,.upload-zone.dragover{background:var(--accent-dim);color:var(--accent);border-color:#38bdf866;box-shadow:0 10px 26px #0ea5e91a}.upload-zone.is-uploading{cursor:wait;opacity:.72;pointer-events:none}.job-list{overflow-anchor:none;scrollbar-gutter:stable;flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.job-list-section{color:var(--ink-3);padding:8px 10px 2px;font-size:11px;font-weight:600}.job-list::-webkit-scrollbar{width:6px}.conversation-stream::-webkit-scrollbar{width:6px}.result-grid::-webkit-scrollbar{width:6px}.result-panel::-webkit-scrollbar{width:6px}.job-list::-webkit-scrollbar-track{background:0 0}.conversation-stream::-webkit-scrollbar-track{background:0 0}.result-grid::-webkit-scrollbar-track{background:0 0}.result-panel::-webkit-scrollbar-track{background:0 0}.job-list::-webkit-scrollbar-thumb{background:#7c8aa552;border-radius:999px}.conversation-stream::-webkit-scrollbar-thumb{background:#7c8aa552;border-radius:999px}.result-grid::-webkit-scrollbar-thumb{background:#7c8aa552;border-radius:999px}.result-panel::-webkit-scrollbar-thumb{background:#7c8aa552;border-radius:999px}.empty-list{color:var(--ink-3);text-align:center;padding:28px 12px;font-size:12px}.job-item{width:100%;min-height:58px;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion) var(--ease-standard), border-color var(--motion) var(--ease-standard), color var(--motion) var(--ease-standard), box-shadow var(--motion) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:9px;padding:11px 10px;font-size:13px;display:flex}.job-item:hover{background:#ffffff0a;border-color:#94a3b81f}.job-item.active{color:var(--ink);box-shadow:none;background:#38bdf814;border-color:#38bdf82e}.job-item-body{flex:1;min-width:0}.job-item-title-row{align-items:center;width:100%;min-width:0;display:flex}.job-item-title{min-width:0;color:inherit;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;line-height:1.25;display:block;overflow:hidden}.job-showcase-badge{color:#4ade80;vertical-align:1px;background:#22c55e14;border:1px solid #22c55e3d;border-radius:4px;flex:none;align-items:center;height:16px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:600;display:inline-flex}.job-item-meta{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:11px;line-height:1.25;display:block;overflow:hidden}.job-item-queue{color:var(--accent);margin-top:5px;font-size:11px;line-height:1.4;display:block}.job-status-dot{background:var(--ink-3);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.job-status-dot.status-running,.job-status-dot.status-queued{background:var(--accent);animation:1.5s infinite pulse;box-shadow:0 0 0 4px #38bdf81f}.job-status-dot.status-completed,.job-status-dot.status-best-effort,.job-status-dot.status-failed-gate{background:var(--good)}.job-status-dot.status-failed{background:var(--bad)}.main-panel{flex-direction:column;min-height:0;display:flex}.toolbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070b136b;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.toolbar-leading{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.toolbar-left{flex:1;min-width:0}.toolbar-title{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;overflow:hidden}.toolbar-meta{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;overflow:hidden}.toolbar-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.execution-badge{color:var(--accent);background:#38bdf81f;border:1px solid #38bdf833;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:600;display:none}.execution-badge.visible{display:inline-flex}.execution-badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.5s infinite pulse}.icon-btn{border:1px solid var(--border-strong);width:36px;height:36px;color:var(--ink-2);cursor:pointer;transition:background-color var(--motion) var(--ease-standard), border-color var(--motion) var(--ease-standard), color var(--motion) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion) var(--ease-standard);background:#ffffff08;border-radius:12px;justify-content:center;align-items:center;display:flex}.icon-btn:hover:not(:disabled){color:var(--ink);background:#ffffff0f;transform:translateY(-1px);box-shadow:0 10px 22px #02061729}.icon-btn:disabled{opacity:.28;cursor:default}.icon-btn-accent:hover:not(:disabled){color:var(--accent);background:#38bdf824;border-color:#38bdf847}.icon-btn-danger{color:var(--bad)}.icon-btn-danger:hover:not(:disabled){background:var(--bad-dim);color:var(--bad);border-color:#f8717152}.content-area{flex:1;min-height:0;padding:20px;position:relative;overflow:hidden}.job-loading-overlay{z-index:20;background:var(--bg);min-width:0;color:var(--ink-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:20px}.job-loading-overlay strong{color:var(--ink);font-size:15px}.job-loading-overlay>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:min(420px,90%);font-size:12px;overflow:hidden}.loading-spinner{border:2px solid #94a3b83d;border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite workflowSpin}.running-workspace{height:100%;min-height:0;animation:panelIn var(--motion-slow) var(--ease-enter);grid-template-columns:minmax(420px,34%) minmax(0,1fr);gap:16px;display:grid}.running-chat-pane,.live-preview-pane{min-height:0;transition:border-color var(--motion) var(--ease-standard), box-shadow var(--motion-slow) var(--ease-standard);background:#0a0f18db;border:1px solid #94a3b824;border-radius:18px;overflow:hidden;box-shadow:0 24px 70px #00000038}.running-chat-pane:hover,.live-preview-pane:hover{border-color:#94a3b838;box-shadow:0 30px 86px #00000042}.running-chat-pane{display:flex}.chat-drawer.embedded{width:100%;height:100%;max-height:none;box-shadow:none;border:0;border-radius:0;position:static;inset:auto;transform:none}.chat-drawer.embedded .conversation-stream{flex:1}.live-preview-pane{background:#fff;flex-direction:column;display:flex;position:relative}.live-preview-frame-shell{background:#fff;flex:1;min-height:0;position:relative}.live-preview-fit-toggle{z-index:3;background:#ffffffdb;position:absolute;top:14px;right:14px;box-shadow:0 10px 30px #0f172a1f}.live-preview-frame-shell.fit-height{background:#f3f6fb;justify-content:center;align-items:stretch;display:flex;overflow:hidden}.live-preview-frame-stack{background:#fff;width:100%;height:100%;position:relative;overflow:hidden}.live-preview-frame{opacity:0;pointer-events:none;background:#fff;border:0;width:100%;height:100%;transition:opacity .18s;display:block;position:absolute;inset:0}.live-preview-frame.is-active{opacity:1;pointer-events:auto;z-index:1}.live-preview-frame.is-pending{z-index:2}.live-preview-frame.is-pending.is-ready{opacity:1}.live-preview-frame-shell.fit-height .live-preview-frame-stack{height:100%;width:var(--live-preview-frame-width,auto);max-width:100%;aspect-ratio:var(--live-preview-host-ratio);flex:0 auto}.live-preview-empty{text-align:center;height:100%;color:var(--ink-3);place-content:center;gap:6px;display:grid}.live-preview-empty strong{color:var(--ink);font-size:16px}.workflow-panel,.result-panel{height:100%;min-height:0;display:none}.workflow-panel.visible{justify-content:center;align-items:center;display:flex}.workflow-stage-card{width:min(760px,100%);animation:panelIn var(--motion-slow) var(--ease-enter);background:radial-gradient(circle at 100% 0,#38bdf829,#0000 34%),linear-gradient(#ffffff0d,#ffffff05);border:1px solid #94a3b824;border-radius:24px;padding:28px;box-shadow:0 28px 80px #00000047}.workflow-summary{flex-direction:column;gap:8px;display:flex}.queue-stage{max-width:680px}.queue-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.queue-metric{background:#ffffff08;border:1px solid #94a3b824;border-radius:8px;min-width:0;padding:14px}.queue-metric span,.queue-metric strong{display:block}.queue-metric span{color:var(--ink-3);font-size:11px}.queue-metric strong{color:var(--ink);margin-top:6px;font-size:15px}.workflow-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.workflow-summary-main{align-items:center;gap:8px;display:flex}.workflow-current{letter-spacing:-.04em;font-size:clamp(24px,4vw,34px);font-weight:700}.workflow-detail{color:var(--ink-2);font-size:14px}.workflow-warning{color:var(--ink);background:#fbbf241a;border:1px solid #fbbf2447;border-radius:10px;margin-top:2px;padding:10px 12px;font-size:13px;line-height:1.5}.workflow-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.workflow-node{color:var(--ink-3);min-width:0;transition:background-color var(--motion) var(--ease-standard), border-color var(--motion) var(--ease-standard), color var(--motion) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion) var(--ease-standard);background:#ffffff08;border:1px solid #94a3b81f;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;display:flex}.workflow-node-label{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.workflow-node-icon{background:#fff3;border-radius:50%;flex-shrink:0;width:11px;height:11px}.workflow-node.status-completed{color:var(--good);border-color:#34d3992e}.workflow-node.status-completed .workflow-node-icon{background:var(--good);box-shadow:0 0 0 5px #34d3991f}.workflow-node.status-failed{color:var(--bad);border-color:#f8717129}.workflow-node.status-failed .workflow-node-icon{background:var(--bad);box-shadow:0 0 0 5px #f871711f}.workflow-node.status-running{color:var(--accent);border-color:#38bdf838}.workflow-node.status-running .workflow-node-icon{border:2px solid #38bdf833;border-top-color:var(--accent);background:0 0;animation:.9s linear infinite workflowSpin}.workflow-node.active{background:#38bdf814;transform:translateY(-1px);box-shadow:0 12px 30px #0ea5e91a}.workflow-node.active .workflow-node-label{color:var(--ink)}.workflow-stage-tip{color:var(--ink-3);margin-top:18px;font-size:12px}.result-panel.visible{animation:panelIn var(--motion-slow) var(--ease-enter);background:#0a0f18db;border:1px solid #94a3b824;border-radius:24px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 28px 80px #00000047}.result-panel-header{border-bottom:1px solid var(--border);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px 12px;display:flex}.result-panel-heading{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.result-panel-title{letter-spacing:-.02em;font-size:15px;font-weight:700}.result-diff-gap{min-height:28px;color:var(--ink);white-space:nowrap;background:#f871711a;border:1px solid #f8717147;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.result-diff-gap.is-passed{color:var(--ink);background:#4ade801a;border-color:#4ade8042}.result-token-group{color:#93c5fd;background:#93c5fd1a;border:1px solid #93c5fd47;border-radius:999px;align-items:center;min-height:28px;display:inline-flex;overflow:hidden}.result-token-badge{white-space:nowrap;align-items:center;gap:4px;min-height:28px;padding:0 9px;font-size:12px;font-weight:600;line-height:1.35;display:inline-flex}.result-token-badge+.result-token-badge{border-left:1px solid #93c5fd33}.result-token-badge span{color:var(--ink-3);font-weight:700}.result-token-badge strong{color:#93c5fd;font-weight:800}.result-panel-controls{flex-wrap:nowrap;flex:none;align-items:center;gap:10px;display:flex}.result-view-toggle{transition:border-color var(--motion) var(--ease-standard), background-color var(--motion) var(--ease-standard);background:#ffffff09;border:1px solid #94a3b829;border-radius:10px;align-items:center;padding:2px;display:inline-flex}.result-view-toggle-btn{min-width:48px;height:26px;color:var(--ink-3);font:inherit;cursor:pointer;transition:background-color var(--motion) var(--ease-standard), color var(--motion) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:8px;font-size:12px;font-weight:700}.result-view-toggle-btn:hover{color:var(--ink)}.result-view-toggle-btn.is-active{color:var(--accent);background:#38bdf829;box-shadow:inset 0 0 0 1px #38bdf81f}.result-cache-status{max-width:220px;min-height:24px;color:var(--good);text-overflow:ellipsis;white-space:nowrap;background:#34d39917;border:1px solid #34d39933;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}.result-cache-status.is-busy{color:var(--accent);background:#38bdf81a;border-color:#38bdf838}.result-cache-status.is-error{color:var(--bad);background:#f871711a;border-color:#f8717138}.result-size-control{color:var(--ink-3);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.result-size-control input[type=range]{width:160px;accent-color:var(--accent)}.result-size-value{color:var(--ink-2);text-align:right;min-width:54px;font-weight:600}.result-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:0;padding:18px 20px;display:grid;overflow:auto}.result-grid:empty{display:none}.result-card{background:#ffffff08;border:1px solid #94a3b824;border-radius:18px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.result-card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid #94a3b81a;padding:10px 12px;font-size:11px;font-weight:700}.result-card-frame{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;min-height:360px;max-height:min(72vh,760px);transition:background-color var(--motion) var(--ease-standard);background:linear-gradient(#ffffff05,#0000),repeating-linear-gradient(45deg,#94a3b80f,#94a3b80f 12px,#ffffff05 12px 24px);padding:14px;overflow:auto}.result-card-preview{width:var(--result-preview-width);min-width:var(--result-preview-width);min-height:220px;margin:0 auto;position:relative}.result-image-status{z-index:6;background:var(--surface-2);min-height:220px;color:var(--ink-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;font-size:12px;display:flex;position:absolute;inset:0}.result-image-status.is-error{color:var(--bad)}.module-overlay{pointer-events:none;display:block;position:absolute;inset:0}.module-overlay-box{pointer-events:auto;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#38bdf814;border:2px solid #38bdf8b8;position:absolute;box-shadow:inset 0 0 0 1px #02131b80}.module-overlay-box:hover,.module-overlay-box.is-selected{z-index:2;background:#fbbf2426;border-color:#fbbf24;box-shadow:0 0 0 3px #fbbf2429,inset 0 0 0 1px #02131b80}.result-card img{width:var(--result-preview-width);opacity:1;max-width:none;height:auto;transition:opacity .16s;display:block}.result-card img.is-loading,.comparison-stage img.is-loading{opacity:0}.result-grid.is-slider{display:block}.comparison-card{min-height:0}.comparison-card-title{position:relative}.comparison-title-labels{letter-spacing:0;text-transform:none;align-items:center;gap:10px;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.comparison-title-label{min-width:58px;min-height:24px;color:var(--ink);background:#38bdf82e;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.comparison-title-separator{color:var(--ink-3);font-size:14px;font-weight:900;line-height:1}.comparison-frame{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;background:linear-gradient(#ffffff05,#0000),repeating-linear-gradient(45deg,#94a3b80f,#94a3b80f 12px,#ffffff05 12px 24px);min-height:360px;max-height:min(72vh,760px);padding:14px;overflow:auto}.comparison-stage{--comparison-position:50%;width:var(--result-preview-width);min-width:var(--result-preview-width);-webkit-user-select:none;user-select:none;touch-action:none;background:#02061752;min-height:220px;margin:0 auto;position:relative;overflow:hidden}.comparison-stage img{width:var(--result-preview-width);max-width:none;height:auto;display:block}.comparison-layer{position:absolute;inset:0;overflow:hidden}.comparison-layer.render{position:relative}.comparison-layer.svg{clip-path:inset(0 calc(100% - var(--comparison-position)) 0 0);z-index:2}.comparison-handle{z-index:4;top:0;bottom:0;left:var(--comparison-position);cursor:ew-resize;pointer-events:none;touch-action:none;background:0 0;border:0;width:44px;position:absolute;transform:translate(-50%)}.comparison-handle:before{content:"";background:#ffffffeb;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #0f172a59,0 0 18px #0ea5e952}.comparison-handle-knob{width:34px;height:34px;color:var(--ink);transition:transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion) var(--ease-standard);background:#0f172adb;border:1px solid #ffffffb8;border-radius:999px;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 28px #0000005c}.comparison-stage:hover .comparison-handle-knob{transform:translate(-50%,-50%)scale(1.04);box-shadow:0 14px 34px #0000006b}.comparison-handle-knob:before{content:"<>";font-size:14px;font-weight:800;line-height:1}.result-urls,.result-actions{padding-left:20px;padding-right:20px}.result-urls{flex-direction:column;gap:10px;padding-bottom:12px;display:flex}.result-urls:empty{display:none}.url-group{background:#ffffff08;border:1px solid #94a3b81f;border-radius:16px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.url-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.url-list{flex-direction:column;gap:8px;display:flex}.url-item{flex-direction:column;gap:3px;display:flex}.url-label{color:var(--ink-3);word-break:break-all;font-size:11px}.url-value{color:var(--accent);word-break:break-all;font-size:12px;line-height:1.5;text-decoration:none}.url-value:hover{color:#7dd3fc;text-decoration:underline}.url-error{background:var(--bad-dim);color:var(--bad);word-break:break-word;border:1px solid #f8717138;border-radius:16px;padding:12px 14px;font-size:12px;line-height:1.6}.result-actions{flex-wrap:wrap;gap:8px;padding-bottom:18px;display:flex}.link-btn{border:1px solid var(--border-strong);color:var(--ink-2);font:inherit;cursor:pointer;transition:background-color var(--motion) var(--ease-standard), border-color var(--motion) var(--ease-standard), color var(--motion) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion) var(--ease-standard);background:#ffffff08;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:7px 11px;font-size:12px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.link-btn:hover:not(:disabled),.link-btn.active{color:var(--ink);background:#38bdf824;border-color:#38bdf83d;transform:translateY(-1px);box-shadow:0 10px 22px #02061724}.link-btn:disabled{opacity:.42;cursor:default}.download-btn{background:var(--good-dim);color:var(--good);border-color:#34d39933}.download-btn:hover{color:var(--good);background:#34d3992e;border-color:#34d39957}.danger-btn{color:#fca5a5;border-color:#f871713d}.danger-btn:hover:not(:disabled){color:#fecaca;background:#f8717124;border-color:#f871715c}.toolbar-link-btn{min-height:36px}.chat-drawer{left:calc(var(--sidebar-width) + 22px);width:var(--chat-drawer-width);max-width:calc(100vw - var(--sidebar-width) - 44px);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);opacity:0;pointer-events:none;height:min(620px,100vh - 44px);transition:transform var(--motion-slow) var(--ease-enter), opacity var(--motion-slow) var(--ease-standard), border-color var(--motion) var(--ease-standard), box-shadow var(--motion-slow) var(--ease-standard);z-index:50;background:#070b13f5;border:1px solid #94a3b829;border-radius:16px;flex-direction:column;display:flex;position:fixed;bottom:22px;transform:translateY(calc(100% + 28px));box-shadow:0 28px 80px #00000070}.app-shell.sidebar-collapsed+.chat-drawer{max-width:calc(100vw - 44px);left:22px}.chat-drawer.open{opacity:1;pointer-events:auto;transform:translateY(0)}.chat-drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px 12px;display:flex}.chat-drawer-heading{align-items:baseline;gap:8px;min-width:0;display:flex}.chat-drawer-title{flex:none;font-size:15px;font-weight:700}.chat-drawer-meta{min-width:0;color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.module-picker{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:10px 14px;display:flex}.module-picker-list{scrollbar-width:thin;flex-wrap:wrap;align-items:center;gap:6px;max-height:78px;padding:2px 1px 3px;display:flex;overflow-y:auto}.module-picker-option{min-width:0;min-height:30px;color:var(--ink-2);font:inherit;cursor:pointer;transition:background-color var(--motion) var(--ease-standard), border-color var(--motion) var(--ease-standard), color var(--motion) var(--ease-standard), box-shadow var(--motion) var(--ease-standard);background:#ffffff08;border:1px solid #94a3b829;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.module-picker-dot{background:var(--ink-3);border-radius:50%;flex:none;width:7px;height:7px}.module-picker-dot.is-done{display:none}.module-picker-dot.is-failed{background:var(--bad);box-shadow:0 0 0 3px #f871711a}.module-picker-dot.is-pending{background:#94a3b88c}.module-picker-dot.is-running{display:none}.module-picker-state-text{height:18px;color:var(--ink-3);white-space:nowrap;background:#94a3b814;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:10px;font-weight:700;line-height:18px;display:inline-flex}.module-picker-label{color:var(--ink-2);white-space:nowrap;font-size:11px;font-weight:800;line-height:1}.module-picker-option.state-running{background:#ffffff08;border-color:#94a3b829}.module-picker-option.state-running .module-picker-state-text{color:var(--accent);background:#38bdf824}.module-picker-option.state-done .module-picker-state-text{color:var(--good);background:#34d3991f}.module-picker-option.state-failed .module-picker-state-text{color:var(--bad);background:#f871711f}.module-picker-option:hover,.module-picker-option.is-selected{color:var(--ink);background:#38bdf821;border-color:#38bdf86b;box-shadow:0 8px 20px #0ea5e91a}.module-picker-option.is-selected .module-picker-label{color:var(--ink)}.conversation-stream{flex-direction:column;flex:1;gap:8px;min-height:0;padding:14px 18px;display:flex;overflow-y:auto}.empty-state{height:100%;color:var(--ink-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.composer{border-top:1px solid var(--border);align-items:flex-end;gap:10px;padding:12px 14px;display:flex}.composer textarea{resize:none;border:1px solid var(--border-strong);width:auto;color:var(--ink);font:inherit;min-height:36px;max-height:96px;transition:border-color var(--motion) var(--ease-standard), background-color var(--motion) var(--ease-standard), box-shadow var(--motion) var(--ease-standard), opacity var(--motion) var(--ease-standard);background:#ffffff0a;border-radius:13px;outline:none;flex:1;padding:8px 10px;font-size:13px;line-height:1.45}.composer textarea::placeholder{color:var(--ink-3)}.composer textarea:focus{background:#ffffff0e;border-color:#38bdf857;box-shadow:0 0 0 3px #38bdf81a}.composer.is-disabled textarea{opacity:.58}.composer.has-error textarea{border-color:#f8717157}.composer.has-notice textarea{border-color:#38bdf847}.send-btn{background:linear-gradient(135deg, var(--accent), var(--accent-strong));min-width:76px;height:34px;color:var(--on-accent);font:inherit;cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard), opacity var(--motion) var(--ease-standard), box-shadow var(--motion) var(--ease-standard);border:none;border-radius:11px;flex:none;padding:0 16px;font-size:13px;font-weight:700}.send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px #0ea5e93d}.send-btn:disabled{opacity:.34;cursor:default}.message-bubble,.agent-runtime-item{overflow-wrap:anywhere;word-break:break-word;width:fit-content;max-width:min(88%,640px);animation:messageIn var(--motion-slow) var(--ease-enter);border-radius:14px;padding:10px 12px;font-size:12px;line-height:1.58}.message-bubble{color:var(--ink);background:#ffffff0b;border:1px solid #94a3b821;flex-direction:column;gap:6px;display:flex;box-shadow:0 8px 22px #02060d14}.message-bubble.role-user{color:var(--ink);background:#38bdf824;border-color:#38bdf842;align-self:flex-end;font-weight:700}.message-bubble.role-user .bubble-source{background:#ffffff38}.message-bubble.role-assistant,.message-bubble.role-system{align-self:flex-start}.message-bubble.kind-event{max-width:94%;color:var(--ink-2);background:#94a3b812;border-style:dashed}.bubble-meta-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bubble-source,.event-source-badge{width:fit-content;max-width:100%;min-height:20px;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;background:#38bdf81f;border-radius:999px;align-items:center;padding:2px 7px;font-size:10px;font-weight:800;line-height:1.2;display:inline-flex;overflow:hidden}.event-tool-name{color:var(--ink-2);font-size:11px;font-weight:800;line-height:1.2}.bubble-text{color:inherit;white-space:pre-wrap}.agent-runtime-item{color:var(--ink-2);background:#ffffff0b;border:1px solid #94a3b821;align-self:flex-start}.agent-event-head{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.agent-runtime-item pre{white-space:pre-wrap;word-break:break-word;max-height:180px;color:var(--ink-2);margin:8px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.5;overflow:auto}.reasoning-disclosure{width:fit-content;max-width:min(88%,640px);color:var(--ink-2);animation:messageIn var(--motion-slow) var(--ease-enter);transition:border-color var(--motion) var(--ease-standard), background-color var(--motion) var(--ease-standard);background:#ffffff0b;border:1px solid #94a3b821;border-radius:14px;align-self:flex-start;padding:9px 11px;font-size:12px;line-height:1.5;box-shadow:0 8px 22px #02060d14}.reasoning-disclosure summary{color:var(--ink-3);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;font-weight:700;list-style:none;display:inline-flex}.reasoning-disclosure summary::-webkit-details-marker{display:none}.reasoning-summary-hint{color:var(--ink-3);font-size:10px;font-weight:700}.reasoning-disclosure[open] .reasoning-summary-hint{font-size:0}.reasoning-disclosure[open] .reasoning-summary-hint:after{content:"收起";font-size:10px}.reasoning-disclosure pre{white-space:pre-wrap;word-break:break-word;max-height:220px;color:var(--ink-2);margin:9px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.55;display:none;overflow:auto}.reasoning-disclosure[open] pre{display:block}.status-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.5s infinite pulse}.agent-error{background:var(--bad-dim);color:var(--bad);border:1px solid #f8717133;flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.turn-indicator{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.turn-indicator .dot-pulse{gap:4px;display:flex}.turn-indicator .dot-pulse span{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:1.2s infinite dotPulse}.turn-indicator .dot-pulse span:nth-child(2){animation-delay:.15s}.turn-indicator .dot-pulse span:nth-child(3){animation-delay:.3s}.expired-notice{color:var(--warn);z-index:100;background:#151c28f5;border:1px solid #94a3b829;border-radius:16px;padding:10px 18px;font-size:13px;font-weight:600;transition:opacity .4s;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #00000057}.expired-notice.fade-out{opacity:0}.lightbox{z-index:9999;cursor:zoom-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn var(--motion) var(--ease-standard);background:#02060deb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img{max-width:92vw;max-height:92vh;animation:imageZoomIn var(--motion-slow) var(--ease-enter);border-radius:20px;box-shadow:0 18px 60px #0000007a}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes workflowSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dotPulse{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,calc(10px - 50%))scale(.985)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes panelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes messageIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes imageZoomIn{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=1180px){.result-panel-header{flex-direction:column;align-items:flex-start}.result-grid{grid-template-columns:1fr}}@media (width<=980px){body{overflow:auto}.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;padding-right:0}.sidebar{border-right:none;border-bottom:1px solid var(--border)}.toolbar{flex-direction:column;align-items:flex-start}.toolbar-actions{justify-content:flex-start;width:100%}.content-area{min-height:calc(100vh - 280px);padding:14px}.workflow-stage-card{padding:22px}.workflow-nodes{grid-template-columns:1fr}.chat-drawer{border:1px solid #94a3b829;border-radius:20px;width:auto;min-width:0;height:min(62vh,620px);inset:auto 12px 12px;transform:translateY(calc(100% + 24px))}.chat-drawer.open{transform:translateY(0)}}@media (width<=640px){.toolbar{padding:14px 16px}.toolbar-leading{width:100%}.content-area{padding:12px}.job-loading-overlay{inset:12px}.result-panel-header,.result-grid,.result-urls,.result-actions{padding-left:14px;padding-right:14px}.result-size-control{flex-wrap:wrap;align-items:flex-start;width:100%}.result-cache-status{max-width:100%}.result-size-control input[type=range]{width:100%}.composer{flex-direction:column;align-items:stretch}.send-btn{width:100%}}.theme-icon-light{display:block}.theme-icon-dark,[data-theme=light] .theme-icon-light{display:none}[data-theme=light] .theme-icon-dark{display:block}:root[data-theme=light]{--bg:#f5f7fa;--bg-top:#e8edf4;--surface:#ffffffeb;--surface-2:#fffffffa;--surface-3:#f5f7fafa;--border:#1e293b1a;--border-strong:#1e293b2e;--ink:#1e293b;--ink-2:#475569;--ink-3:#94a3b8;--accent:#0284c7;--accent-strong:#0369a1;--on-accent:#fff;--accent-dim:#0284c71a;--good:#059669;--good-dim:#05966914;--warn:#d97706;--warn-dim:#d9770614;--bad:#dc2626;--bad-dim:#dc262614}[data-theme=light] body{background:radial-gradient(circle at top left, #0284c714, transparent 28%), radial-gradient(circle at top right, #0369a10f, transparent 24%), linear-gradient(180deg, var(--bg-top), var(--bg))}[data-theme=light] .sidebar{background:#ffffffd1}[data-theme=light] .toolbar{background:#ffffffb8}[data-theme=light] .chat-drawer{background:#fffffff5}[data-theme=light] .message-bubble,[data-theme=light] .agent-runtime-item,[data-theme=light] .reasoning-disclosure{background:#ffffffe0;border-color:#1e293b1f;box-shadow:0 8px 22px #0f172a0f}[data-theme=light] .message-bubble.kind-event{background:#f1f5f9d1}[data-theme=light] .message-bubble.role-user{background:#0284c71a;border-color:#0284c738}[data-theme=light] .workflow-stage-card{background:radial-gradient(circle at 100% 0,#0284c714,#0000 34%),linear-gradient(#ffffffe6,#ffffffb3);box-shadow:0 28px 80px #00000014}[data-theme=light] .result-panel.visible{background:#ffffffeb;box-shadow:0 28px 80px #00000014}[data-theme=light] .result-card-frame{background:linear-gradient(#00000003,#0000),repeating-linear-gradient(45deg,#1e293b0a,#1e293b0a 12px,#ffffff80 12px 24px)}[data-theme=light] .icon-btn{background:#00000008}[data-theme=light] .icon-btn:hover:not(:disabled){background:#0000000f}[data-theme=light] .upload-dialog{box-shadow:0 16px 48px #0000001f}[data-theme=light] .lightbox{background:#ffffffe0}body:has(.admin-page){height:auto;min-height:100vh;overflow:auto}.admin-page{max-width:1000px;color:var(--ink);margin:0 auto;padding:30px 28px 48px;font-size:14px;line-height:1.6}.admin-auth-page{max-width:820px}.admin-page a{color:var(--accent);text-decoration:none}.admin-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:46px;display:flex}.admin-header .admin-brand{color:var(--ink);letter-spacing:-.5px;font-size:20px;font-weight:750}.admin-brand span{color:var(--accent)}.admin-eyebrow{color:var(--accent);letter-spacing:.2em;font-size:11px;font-weight:700}.admin-heading{margin-bottom:28px}.admin-heading h1{letter-spacing:-.8px;margin:8px 0;font-size:32px}.admin-heading p,.settings-card p{color:var(--ink-2)}.admin-page fieldset{border:0;min-width:0}.settings-card{border:1px solid var(--border-strong);background:var(--surface);border-radius:16px;margin-bottom:18px;padding:25px}.settings-card h2{margin-bottom:5px;font-size:17px}.settings-card>p{margin-bottom:20px}.admin-page small{color:var(--ink-3);margin-top:6px;font-size:12px;display:block}.setting-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:22px;padding:5px 0 12px;display:flex}.setting-toggle strong{font-size:14px;font-weight:600}.setting-toggle input{appearance:none;background:var(--surface-3);border:1px solid var(--border-strong);cursor:pointer;border-radius:20px;flex:none;width:42px;height:24px}.setting-toggle input:before{content:"";background:var(--ink-3);border-radius:50%;width:16px;height:16px;margin:3px;transition:transform .15s;display:block}.setting-toggle input:checked{background:var(--accent-strong)}.setting-toggle input:checked:before{background:#fff;transform:translate(17px)}.settings-grid{grid-template-columns:1fr 1fr;gap:22px;margin:16px 0 10px;display:grid}.settings-grid label,.auth-fields label{color:var(--ink-2);flex-direction:column;gap:8px;display:flex}.admin-page input:not([type=checkbox]){background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--border-strong);font:inherit;border-radius:9px;padding:11px 12px}.admin-page button{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:9px;padding:10px 17px}.admin-page button:disabled,.admin-page input:disabled{opacity:.5;cursor:not-allowed}.admin-page .admin-primary{background:var(--accent-strong);color:var(--on-accent);border-color:#0000;font-weight:700}.settings-tabs{border-right:1px solid var(--border);flex-direction:column;gap:8px;min-height:0;padding:28px 18px;display:flex;overflow-y:auto}.settings-tabs button{text-align:left;color:var(--ink-2);background:0 0;border-color:#0000}.settings-tabs button[aria-current]{background:var(--accent-dim);color:var(--accent)}.settings-savebar{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:14px 18px;display:flex}.settings-savebar>span{color:var(--ink-2)}.settings-savebar>div{gap:10px;display:flex}.settings-notice,.settings-error,.settings-success{border-radius:10px;margin:12px 0 18px;padding:13px 16px}.settings-notice{background:var(--warn-dim);color:var(--warn)}.settings-error{background:var(--bad-dim);color:var(--bad)}.settings-success{background:var(--good-dim);color:var(--good)}.auth-fields{gap:19px;display:grid}.auth-submit{width:100%;margin:4px 0 16px}.auth-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.auth-links button{color:var(--accent);background:0 0;border:0;padding:5px}.showcase-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.showcase-row>div{overflow-wrap:anywhere;min-width:0}.showcase-row button{flex-shrink:0}.admin-page .admin-logout{margin-top:20px}.admin-footer{color:var(--ink-3);text-align:center;margin-top:40px;font-size:12px}.admin-page code{color:var(--ink-2);overflow-wrap:anywhere}.sidebar-admin-link{text-align:center;color:var(--ink-3);margin-top:auto;padding:16px;font-size:12px;text-decoration:none;display:block}@media (width<=600px){.admin-page{padding:22px 16px}.admin-header{margin-bottom:30px;font-size:12px}.admin-heading h1{font-size:26px}.settings-card{padding:20px 17px}.settings-grid{grid-template-columns:1fr;gap:16px}.settings-savebar{flex-wrap:wrap;padding:12px}.settings-savebar>div{justify-content:flex-end;width:100%}}body:has(.admin-settings-page){height:100dvh;min-height:0;overflow:hidden}.admin-settings-page{grid-template-rows:auto minmax(0,1fr);grid-template-columns:220px minmax(0,1fr);width:100%;max-width:none;height:100dvh;margin:0;padding:0;display:grid}.admin-settings-page .admin-header{border-bottom:1px solid var(--border);grid-column:1/-1;margin:0;padding:22px 28px}.admin-settings-page .admin-content{overscroll-behavior-y:contain;scrollbar-gutter:stable;min-width:0;min-height:0;padding:28px clamp(20px,4vw,64px) 48px;overflow-y:auto}.admin-settings-page .admin-content>*{max-width:1000px;margin-left:auto;margin-right:auto}@media (width<=600px){.admin-settings-page{grid-template-columns:108px minmax(0,1fr)}.admin-settings-page .admin-header{gap:10px;padding:16px}.admin-settings-page .admin-brand{font-size:17px}.settings-tabs{padding:18px 6px}.settings-tabs button{padding:10px 7px;font-size:12px}.admin-settings-page .admin-content{padding:18px 12px 32px}.admin-settings-page .settings-card{padding:16px 12px}.admin-settings-page .settings-savebar>div{flex-wrap:wrap}}
