:root{--font-sans:"Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display:"Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", system-ui, sans-serif;--bg:#f7f7f9;--bg-2:#fbfbfc;--panel:#fff;--panel-2:#fafafb;--panel-3:#f3f3f5;--line:#ececef;--line-2:#e3e3e7;--line-3:#d6d7dc;--ink:#0e0f12;--ink-2:#2a2b30;--ink-3:#5b5d65;--ink-4:#8b8d96;--ink-5:#b9bbc3;--ink-6:#d6d7dc;--accent:#0e0f12;--accent-on:#fff;--brand:#6366f1;--brand-2:#8b5cf6;--brand-soft:#eef0ff;--brand-ink:#4f46e5;--ok:#16a34a;--warn:#d97706;--danger:#dc2626;--c-violet:#8b5cf6;--c-emerald:#10b981;--c-amber:#f59e0b;--c-blue:#3b82f6;--c-pink:#ec4899;--c-orange:#f97316;--c-cyan:#06b6d4;--c-rose:#f43f5e;--c-lime:#84cc16;--c-indigo:#6366f1;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;--r-pill:99px;--shadow-xs:0 1px 2px #0f10150a;--shadow-sm:0 1px 2px #0f10150d, 0 1px 1px #0f101508;--shadow-md:0 6px 18px -8px #0f10151a, 0 2px 6px #0f10150a;--shadow-lg:0 24px 48px -16px #0f101524, 0 6px 14px -4px #0f10150f;--shadow-xl:0 40px 80px -24px #0f10152e, 0 12px 24px -8px #0f101514;--shadow-inner:inset 0 1px 0 #fff9;--ring:0 0 0 3px #6366f124;--ease-out:cubic-bezier(.22,.61,.36,1);--ease-emphasis:cubic-bezier(.2,.8,.2,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--t-fast:.14s;--t-base:.22s;--t-slow:.38s;--z-rail:10;--z-overlay:50;--z-modal:100}[data-theme=dark]{--bg:#0a0b0f;--bg-2:#0e0f14;--panel:#14151b;--panel-2:#181a21;--panel-3:#1f2128;--line:#232530;--line-2:#2a2c38;--line-3:#353747;--ink:#f4f5f8;--ink-2:#d8dae1;--ink-3:#9ca0ac;--ink-4:#6c707d;--ink-5:#4a4d58;--ink-6:#2e3140;--accent:#fff;--accent-on:#0e0f12;--brand:#818cf8;--brand-2:#a78bfa;--brand-soft:#818cf824;--brand-ink:#a5b4fc;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 2px 4px #0006, 0 1px 1px #00000040;--shadow-md:0 8px 24px -10px #0009, 0 2px 8px #00000059;--shadow-lg:0 24px 60px -20px #000000b3, 0 8px 16px -4px #0006;--shadow-xl:0 40px 100px -30px #000c, 0 16px 32px -8px #00000080;--shadow-inner:inset 0 1px 0 #ffffff0a;--ring:0 0 0 3px #818cf838}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11";margin:0;padding:0;font-size:13px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;background:0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}::selection{background:var(--brand-soft);color:var(--brand-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--ink-6);border-radius:var(--r-pill);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--ink-5);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-track{background:0 0}.app{grid-template-rows:52px 1fr;height:100vh;min-height:760px;display:grid}.topbar{background:var(--panel);border-bottom:1px solid var(--line);z-index:var(--z-rail);grid-template-columns:256px 1fr 256px;align-items:center;padding:0 14px 0 18px;display:grid;position:relative}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent) 0%, #2a2b30 100%);width:28px;height:28px;color:var(--accent-on);letter-spacing:-.02em;border-radius:8px;place-items:center;font-size:13px;font-weight:700;display:grid;position:relative;overflow:hidden}.brand-mark:after{content:"";background:radial-gradient(circle at 30% 30%,#ffffff2e,#0000 60%);position:absolute;inset:0}[data-theme=dark] .brand-mark{background:linear-gradient(135deg,#fafafb 0%,#d6d7dc 100%)}.brand-name{letter-spacing:-.01em;font-size:14px;font-weight:600}.brand-name .muted{color:var(--ink-4);margin-left:8px;font-size:12.5px;font-weight:400}.tabs{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;justify-self:center;gap:2px;padding:3px;display:inline-flex}.tab{color:var(--ink-3);transition:color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);background:0 0;border-radius:7px;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.tab:hover{color:var(--ink)}.tab.active{background:var(--accent);color:var(--accent-on);box-shadow:var(--shadow-sm)}.tab svg{width:13px;height:13px}.top-right{justify-self:end;align-items:center;gap:6px;display:flex}.icon-btn{width:32px;height:32px;color:var(--ink-3);transition:all var(--t-fast) var(--ease-out);border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--panel-2);color:var(--ink)}.icon-btn svg{width:15px;height:15px}.icon-btn.active{background:var(--brand-soft);color:var(--brand-ink)}.pill-btn{border:1px solid var(--line-2);background:var(--panel);height:32px;color:var(--ink-2);transition:all var(--t-fast) var(--ease-out);border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:500;display:inline-flex}.pill-btn:hover{background:var(--panel-2);border-color:var(--line-3)}.pill-btn.primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent);box-shadow:var(--shadow-sm)}.pill-btn.primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.pill-btn svg{width:13px;height:13px}.theme-toggle{border-radius:var(--r-pill);background:var(--panel-2);border:1px solid var(--line);width:56px;height:28px;transition:background var(--t-base) var(--ease-out);align-items:center;padding:0 5px;display:flex;position:relative}.theme-toggle .knob{background:var(--accent);width:20px;height:20px;color:var(--accent-on);transition:left var(--t-base) var(--ease-emphasis), background var(--t-base);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid;position:absolute;left:4px}.theme-toggle .knob svg{width:11px;height:11px}[data-theme=dark] .theme-toggle .knob{left:calc(100% - 24px)}.theme-toggle .ic-sun,.theme-toggle .ic-moon{color:var(--ink-4);pointer-events:none;place-items:center;width:18px;height:18px;display:grid;position:absolute}.theme-toggle .ic-sun{left:5px}.theme-toggle .ic-moon{right:5px}.theme-toggle .ic-sun svg,.theme-toggle .ic-moon svg{width:11px;height:11px}.workspace{min-height:0;display:grid;position:relative;overflow:hidden}.rail{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.rail-section{padding:14px 12px 4px}.rail-section+.rail-section{border-top:1px solid var(--line);margin-top:6px;padding-top:14px}.rail-label{color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:0 6px 8px;font-size:10.5px;font-weight:600;display:flex}.rail-label .count{color:var(--ink-5);letter-spacing:0;font-weight:500}.rail-scroll{flex:1;padding:6px 12px 14px;overflow-y:auto}.tool-list{flex-direction:column;gap:2px;display:flex}.tool{border-radius:var(--r-md);text-align:left;width:100%;color:var(--ink-2);transition:background var(--t-fast) var(--ease-out);grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:8px 8px 8px 6px;display:grid;position:relative}.tool:hover{background:var(--panel-2)}.tool.active{background:var(--panel-3);color:var(--ink)}.tool.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-12px}.tool-icon{border-radius:var(--r-md);color:#fff;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff2e,0 1px 2px #00000014}.tool-icon:after{content:"";background:radial-gradient(circle at 30% 25%,#ffffff38,#0000 55%);position:absolute;inset:0}.tool-icon svg{z-index:1;width:14px;height:14px;position:relative}.tool-text{min-width:0}.tool-name{color:var(--ink);letter-spacing:-.005em;font-size:12.5px;font-weight:500;line-height:1.2}.tool-desc{color:var(--ink-4);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.tool-shortcut{color:var(--ink-5);font-size:10px;font-family:var(--font-mono);border:1px solid var(--line-2);border-radius:var(--r-xs);background:var(--panel-2);padding:1px 5px}.ti-violet{background:linear-gradient(135deg,#a78bfa 0%,#6d3fd6 100%)}.ti-emerald{background:linear-gradient(135deg,#34d399 0%,#059669 100%)}.ti-amber{background:linear-gradient(135deg,#fbbf24 0%,#d97706 100%)}.ti-blue{background:linear-gradient(135deg,#60a5fa 0%,#2563eb 100%)}.ti-pink{background:linear-gradient(135deg,#f472b6 0%,#be185d 100%)}.ti-orange{background:linear-gradient(135deg,#fb923c 0%,#ea580c 100%)}.ti-cyan{background:linear-gradient(135deg,#22d3ee 0%,#0891b2 100%)}.ti-rose{background:linear-gradient(135deg,#fb7185 0%,#be123c 100%)}.ti-lime{background:linear-gradient(135deg,#a3e635 0%,#65a30d 100%)}.ti-indigo{background:linear-gradient(135deg,#818cf8 0%,#4338ca 100%)}.ti-slate{background:linear-gradient(135deg,#64748b 0%,#1e293b 100%)}.stage-bar{border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0;justify-content:space-between;align-items:center;height:46px;padding:0 18px;display:flex}.breadcrumb{color:var(--ink-3);align-items:center;gap:8px;min-width:0;font-size:12.5px;display:flex}.breadcrumb .crumb-active{color:var(--ink);font-weight:500}.breadcrumb .sep{color:var(--ink-5)}.breadcrumb-meta{color:var(--ink-4);border-left:1px solid var(--line);font-variant-numeric:tabular-nums;margin-left:12px;padding-left:12px;font-size:12px}.stage-bar-right{align-items:center;gap:4px;display:flex}.seg{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;gap:1px;padding:2px;display:inline-flex}.seg button{color:var(--ink-3);transition:all var(--t-fast) var(--ease-out);border-radius:6px;padding:5px 11px;font-size:11.5px;font-weight:500}.seg button.active{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-sm)}.inspector{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.insp-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:18px;padding:0 16px;display:flex}.insp-tab{color:var(--ink-4);transition:color var(--t-fast);border-bottom:2px solid #0000;margin-bottom:-1px;padding:13px 0 12px;font-size:12.5px;font-weight:500}.insp-tab.active{color:var(--ink);border-bottom-color:var(--accent)}.insp-tab .badge{background:var(--brand-soft);color:var(--brand-ink);border-radius:var(--r-pill);margin-left:5px;padding:1px 6px;font-size:10px;font-weight:600}.insp-scroll{flex:1;padding:4px 0 14px;overflow-y:auto}.field-group{border-bottom:1px solid var(--line);padding:16px 18px}.group-title{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;margin:0 0 12px;font-size:11px;font-weight:600;display:flex}.group-title .helper{color:var(--ink-4);text-transform:none;letter-spacing:0;font-size:11px;font-weight:400}.field{margin-bottom:13px}.field:last-child{margin-bottom:0}.field-label{color:var(--ink-3);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11.5px;display:flex}.field-label .val{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.select{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--panel);width:100%;height:34px;color:var(--ink);transition:all var(--t-fast) var(--ease-out);justify-content:space-between;align-items:center;padding:0 11px;font-size:12.5px;display:flex}.select:hover{border-color:var(--line-3)}.select:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.select svg{width:12px;height:12px;color:var(--ink-4)}.select-with-icon{align-items:center;gap:8px;min-width:0;display:flex}.select-with-icon .badge-dot{background:linear-gradient(135deg, var(--brand), var(--brand-2));border-radius:50%;width:8px;height:8px}.dur-btn{border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--panel);height:32px;color:var(--ink-2);font-variant-numeric:tabular-nums;transition:all var(--t-fast) var(--ease-out);font-size:11.5px;font-weight:500}.dur-btn.active{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.dur-btn:hover:not(.active){background:var(--panel-2);border-color:var(--line-3)}.duration-row{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.slider{appearance:none;background:0 0;width:100%;height:18px;margin:0}.slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) 0% var(--p,50%), var(--line-2) var(--p,50%) 100%);border-radius:var(--r-pill);height:4px}.slider::-webkit-slider-thumb{appearance:none;background:var(--panel);border:2px solid var(--accent);width:14px;height:14px;box-shadow:var(--shadow-sm);transition:transform var(--t-fast) var(--ease-spring);border-radius:50%;margin-top:-5px}.slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.slider-row{grid-template-columns:1fr 48px;align-items:center;gap:8px;display:grid}.slider-row input[type=number]{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel);text-align:center;font-variant-numeric:tabular-nums;outline:none;width:100%;height:28px;font-size:11.5px}.slider-row input[type=number]:focus{border-color:var(--brand);box-shadow:var(--ring)}.toggle-row{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.toggle-row .label{color:var(--ink-2);font-size:12px;font-weight:500}.toggle-row .desc{color:var(--ink-4);margin-top:2px;font-size:11px;line-height:1.4}.toggle{background:var(--ink-6);border-radius:var(--r-pill);width:32px;height:18px;transition:background var(--t-base) var(--ease-out);cursor:pointer;flex-shrink:0;position:relative}.toggle:after{content:"";width:14px;height:14px;transition:transform var(--t-base) var(--ease-emphasis);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(14px)}.composer{background:var(--panel);border-top:1px solid var(--line);flex-shrink:0;padding:14px 28px 18px}.composer-inner{border:1px solid var(--line-2);border-radius:var(--r-xl);background:var(--panel);box-shadow:var(--shadow-md);transition:border-color var(--t-fast), box-shadow var(--t-fast);margin:0 auto;padding:12px 14px}.composer-inner:focus-within{border-color:var(--brand);box-shadow:var(--ring), var(--shadow-md)}.composer-input{resize:none;width:100%;color:var(--ink);background:0 0;border:0;outline:0;min-height:44px;max-height:200px;padding:4px 0;font-family:inherit;font-size:14px;line-height:1.55}.composer-input::placeholder{color:var(--ink-4)}.composer-input-row{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.composer-actions{align-items:center;gap:6px;padding-bottom:2px;display:flex}.ca-btn{border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel);height:32px;color:var(--ink-3);transition:all var(--t-fast) var(--ease-out);align-items:center;gap:5px;padding:0 11px;font-size:11.5px;font-weight:500;display:inline-flex}.ca-btn:hover{background:var(--panel-2);color:var(--ink);border-color:var(--line-2)}.ca-btn.icon-only{justify-content:center;width:32px;padding:0}.ca-btn svg{width:13px;height:13px}.ca-btn.active{background:var(--brand-soft);color:var(--brand-ink);border-color:#6366f140}.generate-btn{border-radius:var(--r-md);background:var(--accent);height:34px;color:var(--accent-on);letter-spacing:-.005em;box-shadow:var(--shadow-sm);transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast);align-items:center;gap:8px;padding:0 16px;font-size:12.5px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.generate-btn:before{content:"";transition:transform .9s var(--ease-out);background:linear-gradient(120deg,#0000 30%,#ffffff24 50%,#0000 70%);position:absolute;inset:0;transform:translate(-100%)}.generate-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.generate-btn:hover:before{transform:translate(100%)}.generate-btn svg{z-index:1;width:14px;height:14px;position:relative}.send-btn{border-radius:var(--r-md);background:var(--accent);width:34px;height:34px;color:var(--accent-on);box-shadow:var(--shadow-sm);transition:all var(--t-fast) var(--ease-out);place-items:center;display:grid}.send-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)rotate(-2deg)}.send-btn svg{width:14px;height:14px}.composer-foot{color:var(--ink-4);justify-content:space-between;align-items:center;padding:8px 4px 0;font-size:11px;display:flex}.composer-foot .left{align-items:center;gap:10px;display:flex}.model-pill{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--ink-2);align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.model-pill .dot{background:linear-gradient(135deg, var(--brand), var(--brand-2));border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #6366f126}.composer-foot kbd{font-family:var(--font-mono);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-xs);color:var(--ink-3);border-bottom-width:2px;padding:1px 5px;font-size:10px}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes glow{0%,to{box-shadow:0 0 16px #6366f140}50%{box-shadow:0 0 32px #6366f173}}.anim-fade-up{animation:fadeUp var(--t-slow) var(--ease-emphasis) both}.anim-fade-in{animation:fadeIn var(--t-base) var(--ease-out) both}
