:root{color:#e5eefb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#22c55e1f,#0000 30rem),radial-gradient(circle at 75% 10%,#16a34a1a,#0000 28rem),linear-gradient(145deg,#07111f 0%,#0b1424 48%,#101827 100%);min-width:320px;min-height:100vh;margin:0}button,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{flex-direction:column;width:100%;height:100vh;margin:0;padding:0;display:flex;overflow:hidden}.top-bar,.hero-panel,.sidebar-panel,.editor-panel,.preview-panel,.diagnostics-panel,.fallback-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#08101ec2;border:1px solid #94a3b829;box-shadow:0 24px 70px #00000052}.top-bar{z-index:10;border-radius:0;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex;position:sticky;top:0}.site-nav{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border-bottom:1px solid #e2e8f066;flex-shrink:0;width:100%;transition:border-color .3s,box-shadow .3s}.site-nav-inner{justify-content:space-between;align-items:center;max-width:80rem;height:64px;margin:0 auto;padding:0 1rem;display:flex}.site-nav-logo{color:#0f172a;align-items:center;gap:.625rem;font-size:1.125rem;font-weight:700;text-decoration:none;display:flex}.site-nav-logo:hover .site-nav-logo-icon{transform:scale(1.05)}.site-nav-logo-icon{color:#fff;background:#22c55e;border-radius:.5rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;font-weight:900;transition:transform .2s;display:flex}.site-nav-logo-text{color:#0f172a}.site-nav-links{align-items:center;gap:.125rem;display:none}.site-nav-link{color:#64748b;border-radius:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-block;position:relative}.site-nav-link:hover{color:#0f172a}.site-nav-link-active{color:#15803d}.site-nav-link-active:after{content:"";background:#22c55e;border-radius:9999px;height:2px;position:absolute;bottom:-.5625rem;left:.25rem;right:.25rem}.site-nav-right{align-items:center;gap:.75rem;display:none}.site-nav-auth-loading{background:#f1f5f9;border-radius:.5rem;width:6rem;height:2.25rem;animation:2s cubic-bezier(.4,0,.6,1) infinite siteNavPulse}@keyframes siteNavPulse{0%,to{opacity:1}50%{opacity:.5}}.site-nav-auth{align-items:center;gap:.5rem;display:flex}.site-nav-signin{color:#475569;border-radius:.375rem;align-items:center;padding:.375rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.site-nav-signin:hover{color:#0f172a;background:#f1f5f999}.site-nav-cta{color:#fff;background:#22c55e;border-radius:.375rem;align-items:center;padding:.375rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.site-nav-cta:hover{background:#16a34a}.site-nav-avatar{color:#334155;cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.375rem .625rem;font-size:.875rem;font-weight:500;transition:background .2s;display:flex}.site-nav-avatar:hover{background:#f8fafc}.site-nav-avatar-circle{color:#fff;background:linear-gradient(to bottom right,#4ade80,#16a34a);border-radius:9999px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:700;display:flex;box-shadow:0 1px 2px #0000000d}.site-nav-avatar-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.site-nav-user-menu{position:relative}.site-nav-avatar-active{color:#0f172a;background:#f1f5f9}.site-nav-dropdown{z-index:100;background:#fff;border:1px solid #e2e8f0cc;border-radius:.75rem;width:13rem;margin-top:.5rem;padding:.25rem 0;animation:.15s siteNavDropdownIn;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 6px -1px #00000012,0 10px 15px -3px #0000000d}@keyframes siteNavDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.site-nav-dropdown-header{border-bottom:1px solid #f1f5f9;padding:.5rem .75rem}.site-nav-dropdown-username{color:#0f172a;margin:0;font-size:.75rem;font-weight:500}.site-nav-dropdown-email{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin:.125rem 0 0;font-size:.75rem;overflow:hidden}.site-nav-dropdown-items{padding:.25rem 0}.site-nav-dropdown-item{color:#475569;align-items:center;gap:.625rem;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.site-nav-dropdown-item:hover{color:#0f172a;background:#f8fafc}.site-nav-dropdown-item-green{color:#16a34a}.site-nav-dropdown-item-green:hover{color:#15803d;background:#f0fdf4}.site-nav-dropdown-footer{border-top:1px solid #f1f5f9;padding:.25rem 0}.site-nav-dropdown-item-red{color:#dc2626}.site-nav-dropdown-item-red:hover{background:#fef2f2}.site-nav-dropdown-icon{justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.875rem;display:inline-flex}.site-nav-hamburger{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;font-size:1.25rem;transition:background .15s;display:flex}.site-nav-hamburger:hover{background:#f8fafc}.site-nav-mobile{background:#fff;border-top:1px solid #e2e8f099;flex-direction:column;gap:.125rem;padding:.75rem 1rem 1rem;display:flex}.site-nav-mobile-link{color:#475569;border-radius:.5rem;padding:.625rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:block}.site-nav-mobile-link:hover{background:#f8fafc}.site-nav-mobile-link-active{color:#15803d;background:#f0fdf4}.site-nav-mobile-auth{border-top:1px solid #f1f5f9;margin-top:.75rem;padding-top:.75rem}@media (width>=768px){.site-nav-inner{padding:0 1.5rem}.site-nav-links,.site-nav-right{display:flex}.site-nav-hamburger{display:none}}@media (width>=1024px){.site-nav-inner{padding:0 2rem}}.site-nav-scrolled{border-color:#e2e8f0cc;box-shadow:0 1px 3px #0000000f,0 4px 12px -2px #0000000d}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:0;font-size:clamp(1.3rem,2vw,1.8rem)}h2{color:#f8fbff;letter-spacing:-.04em;margin-bottom:10px}.status-pill,.success-chip,.keyboard-hint{color:#cbd5e1;background:#0f172ad6;border:1px solid #94a3b82e;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.86rem;font-weight:700;display:inline-flex}.status-pill span{background:#94a3b8;border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 5px #94a3b824}.status-ready span{background:#34d399;box-shadow:0 0 0 5px #34d39924}.status-running span,.status-loading span{background:#22c55e;box-shadow:0 0 0 5px #22c55e24}.status-error span{background:#fb7185;box-shadow:0 0 0 5px #fb718529}.compile-backend-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.backend-server{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d}.backend-wasm{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2440}.hero-panel{border-radius:28px;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:22px;margin-top:18px;padding:28px;display:grid}.hero-panel h2{max-width:860px;font-size:clamp(2rem,4vw,4.6rem);line-height:.94}.hero-panel p:not(.eyebrow){color:#b7c6da;max-width:760px;font-size:1.03rem}.capability-grid{gap:12px;display:grid}.capability-grid div{background:#0f172a94;border:1px solid #22c55e24;border-radius:18px;padding:16px}.capability-grid strong,.capability-grid span{display:block}.capability-grid strong{color:#f8fafc}.capability-grid span,.example-description,.guidance-block dd,.tip-list,.command-bar p,.empty-state p,.bosl2-hint,.artifact-summary p{color:#9fb0c5}.fallback-card{background:#450a0a6b;border-color:#fb718559;border-radius:24px;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:18px;margin-top:18px;padding:22px;display:grid}.fallback-card ol{color:#fecdd3;margin:0}.workbench-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);align-items:stretch;gap:0;margin-top:0;display:grid}.sidebar-panel,.editor-panel,.preview-panel,.diagnostics-panel{border-radius:0;min-width:0;padding:18px}.panel-heading h2{margin-bottom:0;font-size:1.1rem}.row-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.example-list{gap:10px;display:grid}.example-card{color:#e2e8f0;text-align:left;background:#0f172ab8;border:1px solid #94a3b821;border-radius:18px;width:100%;padding:14px;transition:border-color .15s,transform .15s,background .15s}.example-card span,.example-card small{color:#86efac;letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800;display:block}.example-card strong{color:#f8fafc;margin:4px 0;display:block}.example-description{margin:14px 0 0;font-size:.92rem}.example-guidance{gap:14px;margin-top:14px;display:grid}.guidance-block{background:#0f172a80;border:1px solid #94a3b821;border-radius:16px;padding:14px}.guidance-block h3{color:#f8fafc;margin-bottom:10px;font-size:.92rem}.parameter-list{gap:10px;margin:0;display:grid}.parameter-list div{min-width:0}.parameter-list dt,.parameter-list dd{margin:0}.parameter-list dt{color:#dff8ff;justify-content:space-between;align-items:center;gap:10px;font-size:.82rem;font-weight:900;display:flex}.parameter-list dt span{color:#a5f3fc;background:#064e3b33;border:1px solid #22c55e2e;border-radius:999px;flex:none;padding:2px 7px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.68rem}.parameter-list dd,.tip-list{font-size:.8rem}.tip-list{gap:7px;margin:0;padding-left:18px;display:grid}.editor-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.source-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-workflow-card,.project-files-card{background:#02061775;border:1px solid #22c55e29;border-radius:18px;gap:14px;margin-bottom:12px;padding:14px;display:grid}.project-files-card{background:#064e3b29;border-color:#2dd4bf29}.active-file-summary{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.active-file-summary h3{color:#f8fafc;word-break:break-word;margin-bottom:6px;font-size:1rem}.source-origin-chip{color:#a5f3fc;letter-spacing:.08em;text-transform:uppercase;background:#064e3b33;border:1px solid #4ade8038;border-radius:999px;align-items:center;padding:4px 8px;font-size:.7rem;font-weight:900;display:inline-flex}.origin-imported-file{color:#bbf7d0;background:#064e3b57;border-color:#34d39947}.origin-new-file{color:#ddd6fe;background:#4c1d954d;border-color:#a78bfa4d}.origin-local-draft{color:#fde68a;background:#78350f47;border-color:#fbbf2447}.file-action-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.file-metadata-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.file-metadata-grid div{background:#0f172a9e;border:1px solid #94a3b81f;border-radius:12px;min-width:0;padding:9px}.file-metadata-grid dt,.file-metadata-grid dd{margin:0}.file-metadata-grid dt{color:#93a8bf;letter-spacing:.09em;text-transform:uppercase;font-size:.68rem;font-weight:900}.file-metadata-grid dd{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.78rem;font-weight:800;overflow:hidden}.project-file-metadata{grid-template-columns:repeat(3,minmax(0,1fr))}.project-file-empty{color:#9fb0c5;margin:0;font-size:.86rem}.project-file-list{gap:7px;max-height:180px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.project-file-list li{background:#0f172a85;border:1px solid #94a3b81f;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 9px;display:flex}.project-file-list code{color:#ccfbf1;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.76rem;font-weight:800;overflow:hidden}.project-file-list span,.project-file-overflow{color:#94a3b8;flex:none;font-size:.72rem;font-weight:800}.project-file-overflow{color:#5eead4;justify-content:center}.auto-toggle{color:#dbeafe;background:#0f172ab3;border:1px solid #22c55e2e;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:.82rem;font-weight:900;display:inline-flex}.auto-toggle input{accent-color:#22c55e;width:1rem;height:1rem}.editor-meta{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.editor-meta span,.command-preview span{color:#bfdbfe;background:#0f172aa3;border:1px solid #94a3b824;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:800}.command-preview{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:10px;display:grid}.command-preview code{color:#c8f3ff;white-space:nowrap;background:#020617b8;border:1px solid #22c55e26;border-radius:12px;padding:8px 10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;overflow:auto}.command-copy-button{color:#e0f2fe;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#0ea5e924;border:1px solid #22c55e3d;border-radius:999px;padding:8px 12px;font-size:.76rem;font-weight:900}.command-copy-button:hover,.command-copy-button:focus-visible{background:#0ea5e93d;border-color:#4ade80ad;outline:none}.format-select{color:#cbd5e1;align-items:center;gap:8px;display:flex}.format-select label{letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:800}.format-select select{color:#e2e8f0;background:#0f172a;border:1px solid #94a3b833;border-radius:12px;padding:8px 10px}.advanced-options{background:#02061780;border:1px solid #22c55e29;border-radius:18px;margin-bottom:12px}.advanced-options summary{color:#e0f2fe;cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;list-style:none;display:flex}.advanced-options summary::-webkit-details-marker{display:none}.advanced-options summary span,.advanced-options summary small,.advanced-options summary em{display:block}.advanced-options summary strong{font-size:.94rem}.advanced-options summary small,.advanced-options summary em,.advanced-field small,.advanced-checkbox small,.advanced-actions p,.advanced-subpanel p{color:#93a8bf;font-size:.76rem}.advanced-options summary em{color:#bae6fd;background:#082f496b;border:1px solid #22d3ee29;border-radius:999px;flex:none;padding:5px 9px;font-style:normal;font-weight:800}.advanced-options-body{border-top:1px solid #94a3b81f;gap:14px;padding:14px;display:grid}.advanced-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.advanced-actions p,.advanced-subpanel p{margin:0}.advanced-actions button{color:#dbeafe;background:#0f172ae0;border:1px solid #94a3b833;border-radius:12px;padding:8px 11px;font-size:.78rem;font-weight:900}.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.advanced-wide{grid-column:1/-1}.advanced-field{color:#dbeafe;gap:6px;font-size:.82rem;font-weight:800;display:grid}.advanced-field input,.advanced-field select,.advanced-field textarea{color:#e2e8f0;width:100%;font:inherit;background:#0f172ad6;border:1px solid #94a3b82e;border-radius:12px;outline:none;padding:9px 10px;font-weight:600}.advanced-field textarea{resize:vertical;min-height:74px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.advanced-field input:focus,.advanced-field select:focus,.advanced-field textarea:focus{border-color:#22c55e9e;box-shadow:0 0 0 3px #0ea5e91f}.advanced-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.advanced-checkbox-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.advanced-checkbox{color:#dbeafe;background:#0f172a85;border:1px solid #94a3b824;border-radius:14px;align-items:flex-start;gap:9px;padding:10px;display:flex}.advanced-checkbox input{accent-color:#22c55e;width:1rem;height:1rem;margin-top:2px}.advanced-checkbox span,.advanced-checkbox strong,.advanced-checkbox small{display:block}.advanced-checkbox strong{color:#eef6ff;font-size:.82rem}.advanced-subpanel{background:#082f4929;border:1px solid #22d3ee24;border-radius:16px;padding:14px}.advanced-subpanel.muted{background:#0f172a42;border-color:#94a3b81a}.advanced-subpanel h3{color:#f8fafc;margin-bottom:4px;font-size:.96rem}.advanced-subpanel fieldset{border:0;min-width:0;margin:12px 0 0;padding:0}.advanced-subpanel fieldset:disabled{opacity:.56}.codemirror-editor-container{border-radius:10px;width:100%;min-height:560px;overflow:hidden}.codemirror-editor-container .cm-editor{min-height:560px}.codemirror-editor-container .cm-editor.cm-focused{outline:none;box-shadow:0 0 0 2px #5eead459}.command-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.primary-action,.secondary-action{border:0;border-radius:14px;padding:11px 16px;font-weight:900}.primary-action{color:#031321;background:linear-gradient(135deg,#22c55e,#16a34a 45%,#15803d);box-shadow:0 16px 36px #22c55e38}.secondary-action{color:#dbeafe;background:#0f172adb;border:1px solid #94a3b82e}.viewer-stage{background:linear-gradient(#94a3b80d 1px,#0000 1px) 0 0/26px 26px,linear-gradient(90deg,#94a3b80d 1px,#0000 1px) 0 0/26px 26px,radial-gradient(circle,#22d3ee1f,#0000 20rem),#050b15;border:1px solid #22c55e26;border-radius:20px;place-items:center;min-height:280px;display:grid;position:relative;overflow:hidden}.viewer-stage img{background:#f8fafc;border-radius:12px;max-width:92%;max-height:380px;padding:12px}.viewer-loading,.viewer-overlay{color:#cbd5e1;text-align:center;place-items:center;gap:12px;padding:24px;display:grid}.viewer-overlay{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617bd;position:absolute;inset:0}.stl-preview{grid-template-rows:minmax(280px,1fr) auto auto;width:100%;display:grid;overflow:hidden}.stl-canvas-shell{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;min-height:0;max-height:100%;position:relative;overflow:hidden}.model-canvas-shell{background:linear-gradient(#94a3b80b 1px,#0000 1px) 0 0/22px 22px,linear-gradient(90deg,#94a3b80b 1px,#0000 1px) 0 0/22px 22px,radial-gradient(circle at 50% 35%,#064e3b38,#0000 22rem),#030712;position:relative;overflow:hidden}.model-canvas-shell:before{content:"Interactive STL viewer · drag to orbit";letter-spacing:.04em;color:#94a3b873;pointer-events:none;z-index:2;white-space:nowrap;font-size:.68rem;position:absolute;top:6px;left:50%;transform:translate(-50%)}.stl-canvas,.stl-canvas canvas{width:100%;height:100%;min-height:280px;display:block}.model-canvas{overscroll-behavior:contain;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;outline:none}.stl-toolbar{flex-wrap:wrap;justify-content:center;gap:10px;padding:12px 12px 0;display:flex}.stl-toolbar button{color:#dff8ff;background:#0f172ad6;border:1px solid #22c55e38;border-radius:999px;padding:8px 12px;font-size:.84rem;font-weight:900}.stl-popout-backdrop{z-index:1000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overscroll-behavior:contain;touch-action:none;background:#020617e0;place-items:center;padding:8px;display:grid;position:fixed;inset:0}.stl-popout-fullscreen{overscroll-behavior:contain;touch-action:none;background:#030712;border:1px solid #22c55e38;border-radius:10px;width:calc(100vw - 32px);height:calc(100vh - 32px);position:relative;overflow:hidden}.stl-popout-fullscreen .stl-preview--large{width:100%;height:100%}.stl-popout-close-float{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f8fafc;cursor:pointer;background:#020617d1;border:1px solid #e2e8f040;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.1rem;font-weight:700;line-height:1;display:grid;position:absolute;top:12px;right:12px}.stl-popout-close-float:hover{background:#7f1d1d80;border-color:#fb7185b3}.stl-preview--large{grid-template-rows:minmax(0,1fr);width:100%;height:100%;min-height:0;max-height:none}.stl-preview--large .stl-canvas-shell,.stl-preview--large .stl-canvas,.stl-preview--large .stl-canvas canvas{height:100%;min-height:0;max-height:none}.stl-preview--large .viewer-help{bottom:18px;right:18px}@media (width<=760px){.stl-popout-backdrop{padding:0}.stl-popout-fullscreen{border-radius:0;width:100vw;height:100vh}}.stl-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:12px 0 0;padding:0;display:grid}.stl-stats div{background:#0f172aad;border:1px solid #94a3b821;border-radius:14px;min-width:0;padding:10px 12px}.stl-stats dt{color:#8aa0ba;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:900}.stl-stats dd{color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:.86rem;font-weight:800;overflow:hidden}.empty-state,.artifact-summary{text-align:center;max-width:380px;padding:24px}.bosl2-hint{opacity:.8;margin-top:8px;font-size:.78rem}.bosl2-hint code{color:#5eead4;background:#5eead41f;border-radius:3px;padding:1px 5px;font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:.76rem}.empty-state span,.artifact-icon{color:#86efac;background:#0f172ac2;border:1px solid #22c55e2e;border-radius:22px;place-items:center;width:66px;height:66px;margin-bottom:12px;font-size:1.4rem;font-weight:900;display:inline-grid}.loader{border:4px solid #22c55e29;border-top-color:#22c55e;border-radius:999px;width:64px;height:64px;animation:.9s linear infinite spin}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.metrics-grid div{background:#0f172aad;border:1px solid #94a3b821;border-radius:16px;padding:12px}.metrics-grid span,.metrics-grid strong{display:block}.metrics-grid span{color:#8aa0ba;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.metrics-grid strong{color:#f8fafc;font-size:.9rem}.success-chip{color:#bbf7d0;background:#16653447;border-color:#4ade8047}.keyboard-hint{color:#bfdbfe;font-size:.78rem}.diagnostic-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.diagnostic{background:#0f172aa3;border:1px solid #94a3b824;border-left-width:4px;border-radius:14px;padding:12px 14px}.diagnostic strong{letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:.76rem;display:block}.diagnostic p{color:#d8e2ef;overflow-wrap:anywhere;margin-bottom:0}.diagnostic-info{border-left-color:#f59e0b}.diagnostic-error{border-left-color:#fb7185}.runtime-log{color:#cbd5e1;margin-top:14px}.runtime-log summary{cursor:pointer;font-weight:800}.runtime-log pre{color:#bfdbfe;white-space:pre-wrap;background:#020617;border:1px solid #94a3b824;border-radius:16px;max-height:260px;padding:14px;font-size:.8rem;overflow:auto}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.hero-panel,.fallback-card,.workbench-grid{grid-template-columns:1fr}.workbench-grid{flex-direction:column;display:flex}.workbench-grid .preview-panel{order:-1;width:100%}.workbench-grid .editor-panel{order:1;width:100%}.codemirror-editor-container,.codemirror-editor-container .cm-editor{min-height:420px}}@media (width<=720px){.top-bar,.row-heading,.command-bar,.editor-controls,.command-preview{flex-direction:column;align-items:stretch}.hero-panel{padding:20px}.metrics-grid,.diagnostic-list,.stl-stats{grid-template-columns:1fr}}body{background:linear-gradient(#94a3b806 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#94a3b806 1px,#0000 1px) 0 0/32px 32px,#07101b}.workbench-content{padding:0}.top-bar,.workspace-summary,.sidebar-panel,.editor-panel,.preview-panel,.diagnostics-panel,.fallback-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#090f1af0;border:1px solid #64748b3d}.top-bar{border-radius:0;padding:10px 14px}h1{letter-spacing:-.025em;font-size:clamp(1.05rem,1.45vw,1.35rem)}h2{letter-spacing:-.025em}.status-pill,.success-chip,.keyboard-hint,.editor-meta span,.command-preview span,.parameter-list dt span,.advanced-options summary em,.viewer-help{border-radius:4px}.status-pill,.success-chip,.keyboard-hint{background:#0f172adb;padding:5px 9px;font-size:.76rem}.status-pill span{width:7px;height:7px;box-shadow:none}.workspace-summary{border-radius:8px;grid-template-columns:minmax(280px,.68fr) minmax(520px,1fr);gap:14px;margin-top:10px;padding:14px;display:grid}.workspace-summary h2{color:#f8fafc;margin-bottom:4px;font-size:clamp(1.35rem,2vw,2.1rem);line-height:1.05}.workspace-summary p:not(.eyebrow){color:#a8b5c4;max-width:760px;margin:0;font-size:.88rem}.workspace-summary code{color:#c8f3ff;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.status-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.status-strip div{background:#0c1624;border:1px solid #64748b38;border-left:2px solid #5eead494;border-radius:5px;min-width:0;padding:10px 11px}.status-strip dt,.status-strip dd{margin:0}.status-strip dt{color:#e2e8f0;font-size:.78rem;font-weight:850}.status-strip dd{color:#91a4b8;margin-top:3px;font-size:.78rem;line-height:1.35}.workbench-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:12px;margin-top:12px}.sidebar-panel,.editor-panel,.preview-panel,.diagnostics-panel{border-radius:8px;padding:12px}.editor-panel,.preview-panel{background:#080e18fa}.panel-heading{margin-bottom:10px}.panel-heading h2{font-size:.98rem}.example-list,.example-guidance,.parameter-list,.tip-list,.diagnostic-list{gap:7px}.example-card,.guidance-block,.advanced-options,.advanced-subpanel,.advanced-checkbox,.metrics-grid div,.stl-stats div,.diagnostic,.runtime-log pre,.empty-state span,.artifact-icon,.auxiliary-artifact-card{background:#0c1624db;border-color:#64748b38;border-radius:6px}.example-card{padding:10px 11px;transition:border-color .12s,background .12s}.example-card:hover,.example-card.active{background:#0d2632;border-color:#5eead47a;transform:none}.example-card span,.example-card small{color:#86efac;letter-spacing:.08em;font-size:.66rem}.example-card strong{margin:3px 0}.example-description,.guidance-block,.advanced-options summary small,.advanced-options summary em,.advanced-field small,.advanced-checkbox small,.advanced-actions p,.advanced-subpanel p{font-size:.75rem}.guidance-block,.advanced-subpanel{padding:10px}.editor-controls{gap:8px}.auto-toggle,.format-select select,.advanced-actions button,.advanced-field input,.advanced-field select,.advanced-field textarea,.primary-action,.secondary-action,.stl-toolbar button,.auxiliary-artifact-card button{border-radius:4px}.auto-toggle{background:#0c1624e6;border-color:#64748b47;padding:6px 9px;font-size:.76rem}.editor-meta{gap:6px;margin-bottom:8px}.editor-meta span,.command-preview span{color:#a9bdd2;background:#0c1624e6;padding:4px 7px;font-size:.68rem}.command-preview{gap:6px;margin-bottom:8px}.command-preview code{color:#b9f3ff;background:#050b14;border-color:#64748b3d;border-radius:4px;padding:6px 8px;font-size:.72rem}.format-select label{font-size:.72rem}.format-select select,.advanced-field input,.advanced-field select,.advanced-field textarea{background:#0a1320;border-color:#64748b47}.advanced-options{margin-bottom:10px}.advanced-options summary{padding:10px 12px}.advanced-options-body{gap:10px;padding:10px}.advanced-grid,.advanced-checkbox-grid,.advanced-checkbox-grid.compact{gap:8px}.advanced-checkbox{padding:8px}.codemirror-editor-container,.codemirror-editor-container .cm-editor{min-height:620px}.command-bar{gap:8px;margin-top:10px}.primary-action,.secondary-action{border:1px solid #64748b52;padding:9px 13px}.primary-action{color:#02111b;box-shadow:none;background:#22c55e;border-color:#22c55e94}.secondary-action{background:#0c1624}.command-bar p{margin:0;font-size:.82rem}.viewer-stage{background:linear-gradient(#94a3b80f 1px,#0000 1px) 0 0/26px 26px,linear-gradient(90deg,#94a3b80f 1px,#0000 1px) 0 0/26px 26px,#040914;border-color:#5eead442;border-radius:5px;min-height:280px}.viewer-stage img{border-radius:4px}.stl-preview{grid-template-rows:minmax(280px,1fr) auto auto;max-height:none}.stl-canvas-shell,.stl-canvas,.stl-canvas canvas{min-height:280px;max-height:100%}.viewer-help{color:#b8c7d8;pointer-events:none;z-index:1;background:#050b14db;border:1px solid #64748b47;border-radius:4px;margin:0;padding:4px 8px;font-size:.72rem;position:absolute;bottom:10px;right:10px}.stl-toolbar{gap:6px;padding:8px 8px 0}.stl-toolbar button{color:#dbeafe;background:#0c1624;border-color:#64748b47;padding:6px 10px;font-size:.78rem}.stl-toolbar button:not(:disabled):hover{background:#102333;border-color:#5eead48c}.stl-toolbar button.measure-active{color:#fef3c7;background:#78350f6b;border-color:#fbbf24b3}.stl-toolbar button.measure-active:hover{background:#78350f99;border-color:#fbbf24e6}.measure-readout{color:#fef3c7;font-variant-numeric:tabular-nums;letter-spacing:.02em;background:#78350f5c;border:1px solid #fbbf2480;border-radius:4px;align-items:center;padding:6px 10px;font-size:.82rem;font-weight:900;display:inline-flex}.measure-hint{color:#fbbf24;text-align:center;margin:4px 0 0;padding:0 8px;font-size:.72rem;font-weight:700}.metrics-grid,.stl-stats{gap:7px;margin-top:10px}.metrics-grid div,.stl-stats div{padding:8px 9px}.metrics-grid span,.stl-stats dt{font-size:.62rem}.metrics-grid strong,.stl-stats dd{font-size:.78rem}.empty-state,.artifact-summary{padding:18px}.empty-state span,.artifact-icon{color:#5eead4;width:44px;height:44px;margin-bottom:9px;font-size:1rem}.loader{border-width:3px;width:42px;height:42px}.diagnostics-panel{margin-top:12px}.top-bar-status{align-items:center;gap:8px;display:flex}.top-bar-file{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.82rem;font-weight:800;overflow:hidden}.top-bar-sep{color:#475569;font-size:.82rem}.top-bar-format{color:#5eead4;font-size:.82rem;font-weight:900}.metrics-bar{color:#94a3b8;border-top:1px solid #64748b38;gap:12px;padding:6px 10px;font-size:.72rem;font-weight:800;display:flex}.editor-status-hint{color:#64748b;white-space:nowrap;margin-left:auto;font-size:.76rem;font-weight:700}.dep-add-row{gap:6px;margin-bottom:6px;display:flex}.codemirror-editor-container .cm-lintRange-error{border-bottom:2px wavy #fb7185;background:0 0}.codemirror-editor-container .cm-lintRange-warning{border-bottom:2px wavy #f59e0b;background:0 0}.codemirror-editor-container .cm-lint-marker-error{content:"";background:#fb7185;border-radius:50%;width:6px;height:6px;box-shadow:0 0 4px #fb718580}.codemirror-editor-container .cm-lint-marker-warning{content:"";background:#f59e0b;border-radius:50%;width:6px;height:6px;box-shadow:0 0 4px #f59e0b80}.codemirror-editor-container .cm-panel.cm-panel-lint{background:#090f1af5;border-top:1px solid #64748b47}.codemirror-editor-container .cm-panel.cm-panel-lint ul{max-height:140px}.codemirror-editor-container .cm-panel.cm-panel-lint [aria-selected]{background:#22c55e1f}.codemirror-editor-container .cm-tooltip-lint{color:#e5eefb;background:#090f1af5;border:1px solid #64748b5c;border-radius:6px;max-width:460px;font-size:.82rem}.codemirror-editor-container .cm-diagnostic-error{color:#fecdd3;border-left:3px solid #fb7185;padding:4px 8px}.codemirror-editor-container .cm-diagnostic-warning{color:#fef3c7;border-left:3px solid #f59e0b;padding:4px 8px}.project-files-detail{background:#0c1624db;border:1px solid #64748b38;border-radius:6px;margin-bottom:6px}.project-files-detail summary{color:#94a3b8;cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-size:.76rem;font-weight:800;display:flex}.project-files-detail .project-file-list{padding:0 10px 8px}.diagnostics-detail{background:#090f1af0;border:1px solid #64748b3d;border-radius:6px;margin-top:8px}.diagnostics-detail>summary{color:#94a3b8;cursor:pointer;padding:8px 12px;font-size:.78rem;font-weight:800}.diagnostics-detail>.diagnostic-list,.diagnostics-detail>.runtime-log{padding:0 12px 8px}.diagnostic{border-left-width:3px;padding:9px 11px}.runtime-log pre{border-radius:5px;padding:10px}.fallback-card{border-radius:8px;margin-top:10px;padding:14px}@media (width<=1180px){.workspace-summary,.fallback-card,.workbench-grid{grid-template-columns:1fr}.workbench-grid{flex-direction:column;display:flex}.workbench-grid .preview-panel{order:-1;width:100%}.workbench-grid .editor-panel{order:1;width:100%}.status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.codemirror-editor-container,.codemirror-editor-container .cm-editor{min-height:480px}}@media (width<=720px){.workbench-content{padding:0}.top-bar,.workspace-summary,.sidebar-panel,.editor-panel,.preview-panel,.diagnostics-panel,.fallback-card{border-radius:0}.workspace-summary{padding:10px}.workspace-summary h2{font-size:1.28rem}.status-strip,.metrics-grid,.diagnostic-list,.stl-stats{grid-template-columns:1fr}.row-heading,.command-bar,.editor-controls,.command-preview{flex-direction:column;align-items:stretch}.advanced-grid,.advanced-checkbox-grid,.advanced-checkbox-grid.compact{grid-template-columns:1fr}.codemirror-editor-container,.codemirror-editor-container .cm-editor{min-height:420px}}.export-panel{background:#0c1624db;border:1px solid #64748b3d;border-radius:6px;margin-top:10px;overflow:hidden}.export-panel-header{border-bottom:1px solid #64748b2e;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.export-panel-header h3{color:#e2e8f0;margin:0;font-size:.86rem;font-weight:900}.export-panel-hint{color:#64748b;font-size:.68rem;font-weight:700}.export-categories{gap:2px;display:grid}.export-category{padding:8px 10px}.export-category-label{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:6px;font-size:.68rem;font-weight:900;display:flex}.export-format-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:5px;display:grid}.export-format-button{color:#cbd5e1;text-align:left;cursor:pointer;background:#080e18e6;border:1px solid #64748b38;border-radius:4px;gap:1px;padding:7px 8px;transition:border-color .1s,background .1s;display:grid;position:relative}.export-format-button:not(:disabled):hover{background:#14283ce6;border-color:#5eead480}.export-format-button:disabled{opacity:.5;cursor:not-allowed}.export-format-button strong{color:#f8fafc;font-size:.78rem;font-weight:900}.export-format-button span{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;font-weight:700;overflow:hidden}.export-format-current{background:#14b8a614;border-color:#5eead466}.export-format-current strong{color:#5eead4}.export-format-active{background:#0ea5e91a;border-color:#22c55e80}.export-spinner{border:2px solid #22c55e4d;border-top-color:#22c55e;border-radius:50%;width:10px;height:10px;animation:.7s linear infinite spin;display:inline-block}.workspace-summary{grid-template-columns:minmax(260px,.54fr) minmax(640px,1fr);align-items:stretch}.workspace-summary h2{font-size:clamp(1.08rem,1.35vw,1.42rem)}.workspace-summary-copy{align-content:center;display:grid}.status-strip.status-strip-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.status-strip.status-strip-compact dd{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workbench-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.secondary-panel-heading{border-bottom:1px solid #64748b38;padding-bottom:9px}.secondary-panel-heading p:not(.eyebrow){color:#8393a7;margin-bottom:0;font-size:.76rem}.template-card{opacity:.88}.template-card.active,.template-card:focus-visible,.template-card:hover{opacity:1}.file-workflow-card{background:linear-gradient(90deg,#14b8a61f,#0c1624f0 42%);border-color:#5eead457 #5eead457 #5eead457 #5eead4c7;border-left-style:solid;border-left-width:3px;border-radius:6px;gap:10px;padding:11px}.active-file-summary{align-items:center}.active-file-summary h3{margin-bottom:4px;font-size:.95rem}.source-origin-chip{border-radius:4px;padding:3px 7px;font-size:.62rem}.file-action-row{align-items:center;gap:6px}.source-file-action{min-height:32px;padding:7px 10px;font-size:.76rem;line-height:1.1}.file-metadata-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.file-metadata-grid div{background:#080e18e6;border-radius:4px;padding:7px 8px}.editor-panel>.panel-heading.row-heading,.preview-panel>.panel-heading.row-heading{border-bottom:1px solid #64748b38;padding-bottom:9px}.diagnostics-panel{margin-bottom:18px}.customizer-panel{background:#0c1624eb;border:1px solid #5eead438;border-radius:6px;margin-top:10px;overflow:hidden}.customizer-header{background:#064e3b14;border-bottom:1px solid #64748b38;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.customizer-header h3{color:#5eead4;letter-spacing:-.02em;margin:0;font-size:.88rem;font-weight:900}.customizer-count{color:#64748b;font-size:.7rem;font-weight:700}.customizer-reset{color:#fecdd3;cursor:pointer;background:#7f1d1d33;border:1px solid #fb71854d;border-radius:4px;padding:4px 10px;font-size:.72rem;font-weight:800}.customizer-reset:hover{background:#7f1d1d59;border-color:#fb718599}.customizer-group{border-bottom:1px solid #64748b24}.customizer-group:last-child{border-bottom:none}.customizer-group-toggle{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:.8rem;font-weight:800;display:flex}.customizer-group-toggle:hover{background:#5eead40f}.customizer-chevron{color:#64748b;font-size:.6rem;transition:transform .12s;display:inline-block}.customizer-chevron.open{transform:rotate(90deg)}.customizer-group-count{color:#475569;margin-left:auto;font-size:.66rem;font-weight:700}.customizer-group-body{gap:6px;padding:4px 12px 10px;display:grid}.customizer-field{background:#080e18b3;border:1px solid #64748b29;border-radius:5px;gap:4px;padding:8px 10px;transition:border-color .12s;display:grid}.customizer-field.modified{background:#064e3b14;border-color:#5eead466}.customizer-field-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.customizer-field-name{color:#e2e8f0;text-transform:capitalize;font-size:.78rem;font-weight:800}.customizer-default{color:#475569;font-size:.66rem;font-weight:700}.customizer-slider{appearance:none;cursor:pointer;background:#64748b4d;border-radius:3px;outline:none;width:100%;height:6px}.customizer-slider::-webkit-slider-thumb{appearance:none;cursor:grab;background:#22c55e;border:2px solid #16a34a;border-radius:50%;width:16px;height:16px}.customizer-slider::-moz-range-thumb{cursor:grab;background:#22c55e;border:2px solid #16a34a;border-radius:50%;width:16px;height:16px}.customizer-slider:disabled{opacity:.4;cursor:not-allowed}.customizer-range-labels{color:#475569;justify-content:space-between;font-size:.62rem;font-weight:700;display:flex}.customizer-number-inline{color:#e2e8f0;text-align:right;background:#0a1320;border:1px solid #64748b47;border-radius:4px;width:72px;padding:3px 6px;font-family:inherit;font-size:.76rem;font-weight:700}.customizer-input{color:#e2e8f0;width:100%;font:inherit;background:#0a1320;border:1px solid #64748b47;border-radius:4px;padding:6px 8px;font-size:.8rem;font-weight:600}.customizer-input:focus,.customizer-number-inline:focus{border-color:#5eead499;outline:none;box-shadow:0 0 0 2px #0ea5e91f}.customizer-select{color:#e2e8f0;width:100%;font:inherit;background:#0a1320;border:1px solid #64748b47;border-radius:4px;padding:6px 8px;font-size:.8rem}.customizer-field-bool{flex-direction:row;align-items:center;gap:8px;display:flex}.customizer-field-bool input{accent-color:#22c55e;width:1rem;height:1rem}.customizer-vector-row{gap:6px;display:flex}.customizer-vector-component{flex:1;gap:2px;display:grid}.customizer-vector-component span{color:#64748b;text-transform:uppercase;font-size:.62rem;font-weight:800}@media (width<=1440px){.status-strip.status-strip-compact,.file-metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1180px){.workspace-summary,.workbench-grid{grid-template-columns:1fr}.workbench-grid{flex-direction:column;display:flex}.workbench-grid .preview-panel{order:-1;width:100%}.workbench-grid .editor-panel{order:1;width:100%}.status-strip.status-strip-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}.share-button{transition:border-color .12s,background .12s;color:#c4b5fd!important;background:#4c1d9538!important;border-color:#8b5cf661!important}.share-button:hover:not(:disabled){background:#4c1d9561!important;border-color:#a78bfa99!important}.share-button:disabled{opacity:.6}@media (width<=720px){.workspace-summary{gap:10px}.status-strip.status-strip-compact,.file-metadata-grid{grid-template-columns:1fr}.active-file-summary,.file-action-row{flex-direction:column;align-items:stretch}.source-file-action{justify-content:center;width:100%}}.workspace-mode-toggle{border:1px solid #64748b4d;border-radius:6px;display:inline-flex;overflow:hidden}.mode-btn{color:#94a3b8;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:0;padding:5px 14px;font-size:.78rem;font-weight:700;transition:background .12s,color .12s}.mode-btn:hover{color:#cbd5e1;background:#64748b24}.mode-btn-active{color:#86efac;background:#22c55e2e;box-shadow:inset 0 -2px #22c55e}.mode-btn-active:hover{background:#22c55e3d}.sketch-mode{background:#090f1af0;border:1px solid #64748b3d;border-radius:8px;grid-template-columns:240px minmax(0,1fr);gap:0;min-height:520px;display:grid;overflow:hidden}.sketch-mode-sidebar{background:#090f1afa;border-right:1px solid #64748b38;flex-direction:column;gap:0;max-height:680px;display:flex;overflow-y:auto}.sketch-mode-main{flex-direction:column;min-width:0;min-height:0;display:flex}.sketch-mode-undo-bar,.sketch-mode-file-bar{border-bottom:1px solid #64748b29;gap:4px;padding:6px 8px;display:flex}.sketch-mode-file-bar{border-top:1px solid #64748b29;border-bottom:none;margin-top:auto}.sketch-undo-btn,.sketch-file-btn{color:#cbd5e1;cursor:pointer;background:#0f172a99;border:1px solid #64748b38;border-radius:4px;flex:1 1 0;padding:4px 6px;font-size:.72rem;font-weight:700;transition:background .1s,border-color .1s}.sketch-undo-btn:hover:not(:disabled),.sketch-file-btn:hover:not(:disabled){background:#1e293bb3;border-color:#94a3b84d}.sketch-undo-btn:disabled,.sketch-file-btn:disabled{opacity:.4;cursor:not-allowed}.sketch-load-error{color:#fca5a5;cursor:pointer;background:#450a0a66;border-bottom:1px solid #fb71854d;padding:8px 10px;font-size:.76rem;font-weight:600}.sketch-load-error:hover{background:#450a0a8c}.sketch-mode-toolbar{background:#090f1af5;border-bottom:1px solid #64748b38;align-items:center;gap:6px;padding:6px 10px;display:flex}.sketch-tool-group{gap:2px;display:flex}.sketch-tool-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:.72rem;font-weight:700;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.sketch-tool-btn:hover:not(:disabled){color:#cbd5e1;background:#64748b24}.sketch-tool-btn:disabled{opacity:.35;cursor:not-allowed}.sketch-tool-btn-active{color:#86efac;background:#22c55e29;border-color:#22c55e66}.sketch-tool-btn-active:hover:not(:disabled){background:#22c55e38}.sketch-tool-icon{font-size:.82rem;line-height:1}.sketch-tool-label{letter-spacing:.02em;font-size:.68rem}.sketch-toolbar-info{align-items:center;gap:6px;margin-left:auto;display:flex}.sketch-active-name{color:#5eead4;letter-spacing:.04em;font-size:.72rem;font-weight:800}.sketch-no-selection{color:#64748b;font-size:.72rem;font-style:italic}.sketch-mode-canvas-wrap{background:#0a1220;flex:1 1 0;min-height:400px;position:relative;overflow:hidden}.sketch-canvas-container{width:100%;height:100%;position:absolute;inset:0}.sketch-canvas-svg{cursor:crosshair;width:100%;height:100%;display:block}.sketch-canvas-svg .sketch-grid-minor{stroke:#64748b14}.sketch-canvas-svg .sketch-grid-major{stroke:#64748b2e}.sketch-canvas-svg .sketch-axis-x{stroke:#f8717180;stroke-width:1.5px}.sketch-canvas-svg .sketch-axis-y{stroke:#4ade8080;stroke-width:1.5px}.sketch-coord-readout{color:#94a3b8;pointer-events:none;z-index:2;background:#090f1ae0;border:1px solid #64748b33;border-radius:4px;padding:3px 8px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.68rem;font-weight:700;position:absolute;bottom:8px;left:10px}.sketch-dimension-panel{z-index:3;background:#090f1af0;border:1px solid #64748b47;border-radius:6px;width:180px;padding:8px;position:absolute;top:8px;right:8px}.sketch-dimension-title{color:#86efac;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.68rem;font-weight:900;display:block}.sketch-dimension-row{color:#cbd5e1;justify-content:space-between;align-items:center;gap:6px;padding:2px 0;font-size:.76rem;display:flex}.sketch-dimension-value{color:#e2e8f0;cursor:pointer;border-radius:3px;padding:1px 4px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem;font-weight:700;transition:background .1s}.sketch-dimension-value:hover{background:#22c55e1f}.sketch-dimension-input{color:#e2e8f0;background:#0f172acc;border:1px solid #22c55e66;border-radius:3px;outline:none;width:60px;padding:1px 4px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem;font-weight:700}.sketch-dimension-input:focus{border-color:#22c55e;box-shadow:0 0 0 2px #22c55e33}.sketch-mode-empty{flex:1 1 0;justify-content:center;align-items:center;min-height:400px;display:flex}.sketch-empty-content{text-align:center;max-width:320px}.sketch-empty-icon{opacity:.6;margin-bottom:8px;font-size:2.4rem}.sketch-empty-content h3{color:#f8fafc;margin-bottom:4px;font-size:1rem}.sketch-empty-hint{color:#64748b;font-size:.82rem}.feature-tree{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.feature-tree-header{border-bottom:1px solid #64748b29;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.feature-tree-title{color:#e2e8f0;letter-spacing:.04em;font-size:.78rem;font-weight:800}.feature-tree-add-btn{color:#5eead4;cursor:pointer;background:#064e3b4d;border:1px solid #5eead447;border-radius:4px;padding:3px 8px;font-size:.7rem;font-weight:800;transition:background .1s,border-color .1s}.feature-tree-add-btn:hover{background:#064e3b80;border-color:#5eead473}.feature-tree-list{flex:1 1 0;padding:4px 0;overflow-y:auto}.feature-tree-empty{color:#64748b;text-align:center;padding:16px 12px;font-size:.78rem;font-style:italic}.feature-row{cursor:pointer;border-left:3px solid #0000;align-items:center;gap:6px;padding:5px 10px;transition:background 80ms;display:flex}.feature-row:hover{background:#64748b1a}.feature-row-selected{background:#22c55e1a;border-left-color:#22c55e}.feature-row-selected:hover{background:#22c55e24}.feature-row-disabled{opacity:.45}.feature-icon{color:#94a3b8;flex:none;width:18px;height:18px}.feature-row-selected .feature-icon{color:#86efac}.feature-row-name{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;font-size:.76rem;font-weight:700;overflow:hidden}.feature-row-selected .feature-row-name{color:#e2e8f0}.feature-row-visibility{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;padding:2px 4px;font-size:.72rem;transition:color .1s}.feature-row-visibility:hover{color:#94a3b8}.feature-row-actions{opacity:0;gap:2px;transition:opacity .12s;display:flex}.feature-row:hover .feature-row-actions{opacity:1}.feature-row-action{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:.68rem;transition:background 80ms,color 80ms}.feature-row-action:hover{color:#cbd5e1;background:#64748b2e}.feature-add-menu{position:relative}.feature-add-menu-backdrop{z-index:10;position:fixed;inset:0}.feature-add-menu-content{z-index:11;background:#090f1afa;border:1px solid #64748b52;border-radius:6px;min-width:180px;margin-top:4px;padding:6px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0006}.feature-add-group{padding:2px 0}.feature-add-group+.feature-add-group{border-top:1px solid #64748b24;margin-top:4px;padding-top:4px}.feature-add-group-label{color:#64748b;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;font-size:.64rem;font-weight:800}.feature-add-menu-content button:not(.feature-tree-add-btn){color:#cbd5e1;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:5px 8px;font-size:.76rem;font-weight:600;transition:background 80ms;display:block}.feature-add-menu-content button:not(.feature-tree-add-btn):hover{color:#e2e8f0;background:#22c55e1f}.config-dialog{background:#0f172a80;border-top:1px solid #64748b2e;padding:10px}.config-dialog-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.config-dialog-title{color:#86efac;letter-spacing:.04em;font-size:.72rem;font-weight:800}.config-dialog-close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:.72rem;transition:background 80ms,color 80ms}.config-dialog-close:hover{color:#cbd5e1;background:#64748b2e}.config-dialog-body{flex-direction:column;gap:8px;display:flex}.config-fields{flex-direction:column;gap:6px;display:flex}.config-field{flex-direction:column;gap:3px;display:flex}.config-field-label{color:#94a3b8;letter-spacing:.02em;font-size:.68rem;font-weight:700}.config-field-input,.config-field-select{color:#e2e8f0;background:#0f172acc;border:1px solid #64748b47;border-radius:4px;outline:none;width:100%;padding:4px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.74rem;transition:border-color .1s}.config-field-input:focus,.config-field-select:focus{border-color:#22c55e80;box-shadow:0 0 0 2px #22c55e1f}.config-field-value{color:#94a3b8;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem}.config-field-checkbox{flex-direction:row;align-items:center;gap:6px}.config-field-checkbox input[type=checkbox]{accent-color:#22c55e;width:14px;height:14px}.config-axes-group,.config-spacing-group{gap:8px;display:flex}.config-axes-group label{color:#cbd5e1;cursor:pointer;align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:flex}.config-spacing-group label{flex-direction:column;flex:1 1 0;gap:2px;display:flex}.config-spacing-group .config-field-label{font-size:.64rem}.config-spacing-group .config-field-input{width:100%}.config-multi-select{background:#0f172a80;border:1px solid #64748b33;border-radius:4px;flex-direction:column;gap:3px;max-height:120px;padding:4px;display:flex;overflow-y:auto}.config-multi-option{color:#cbd5e1;cursor:pointer;border-radius:3px;align-items:center;gap:6px;padding:2px 4px;font-size:.72rem;transition:background 80ms;display:flex}.config-multi-option:hover{background:#64748b1a}.config-multi-option input[type=checkbox]{accent-color:#22c55e;width:12px;height:12px}.config-no-options{color:#475569;padding:4px;font-size:.7rem;font-style:italic}.cad-space-panel{color:#cbd5e1;border-bottom:1px solid #64748b38;flex-direction:column;gap:8px;padding:10px 12px;font-size:.78rem;display:flex}.cad-space-auth{align-items:center;gap:8px;min-height:28px;display:flex}.cad-space-loading{color:#64748b;font-style:italic}.cad-space-anon{flex-direction:column;align-items:flex-start;gap:4px}.cad-space-anon-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.72rem;font-weight:600}.cad-space-anon-hint{color:#64748b;margin:0;font-size:.72rem;line-height:1.4}.cad-space-login-link{color:#4ade80;text-underline-offset:2px;text-decoration:underline}.cad-space-login-link:hover{color:#86efac}.cad-space-authed{justify-content:flex-end}.cad-space-user-badge{color:#86efac;background:#064e3b24;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:500;display:inline-flex}.cad-space-picker{flex-direction:column;gap:6px;display:flex}.cad-space-picker-row{align-items:center;gap:6px;display:flex}.cad-space-picker-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:.72rem;font-weight:600}.cad-space-picker-loading{color:#64748b;font-size:.72rem;font-style:italic}.cad-space-select{color:#e2e8f0;background:#0f172ab3;border:1px solid #64748b52;border-radius:4px;flex:1 1 0;min-width:0;padding:4px 6px;font-size:.78rem}.cad-space-select:focus{border-color:#22c55e99;outline:none;box-shadow:0 0 0 2px #22c55e2e}.cad-space-new-btn{color:#6ee7b7;cursor:pointer;background:#064e3b47;border:1px solid #34d39959;border-radius:4px;flex-shrink:0;padding:3px 10px;font-size:.78rem;font-weight:600;transition:background .12s,border-color .12s}.cad-space-new-btn:hover{background:#064e3b80;border-color:#34d3998c}.cad-space-create-form{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.cad-space-name-input{color:#e2e8f0;background:#0f172ab3;border:1px solid #64748b52;border-radius:4px;flex:120px;min-width:0;padding:4px 6px;font-size:.78rem}.cad-space-name-input:focus{border-color:#22c55e99;outline:none;box-shadow:0 0 0 2px #22c55e2e}.cad-space-name-input::placeholder{color:#475569}.cad-space-create-btn{color:#86efac;cursor:pointer;background:#064e3b4d;border:1px solid #22c55e59;border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:.78rem;font-weight:600;transition:background .12s,border-color .12s}.cad-space-create-btn:hover:not(:disabled){background:#064e3b80;border-color:#22c55e8c}.cad-space-create-btn:disabled{cursor:not-allowed;opacity:.5}.cad-space-error{color:#fca5a5;background:#7f1d1d52;border:1px solid #ef444459;border-radius:4px;padding:4px 8px;font-size:.72rem;line-height:1.4}.cad-space-save-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cad-space-save-btn{color:#86efac;cursor:pointer;background:#064e3b4d;border:1px solid #22c55e59;border-radius:4px;flex-shrink:0;padding:4px 12px;font-size:.78rem;font-weight:600;transition:background .12s,border-color .12s}.cad-space-save-btn:hover:not(:disabled){background:#064e3b80;border-color:#22c55e8c}.cad-space-save-btn:disabled{cursor:not-allowed;opacity:.5}.cad-space-autosave-toggle{color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:.72rem;display:inline-flex}.cad-space-autosave-toggle input[type=checkbox]{accent-color:#22c55e;cursor:pointer}.cad-space-save-status{color:#64748b;min-height:18px;font-size:.72rem}.cad-space-save-ok{color:#6ee7b7}.cad-space-save-err{color:#fca5a5}.cad-space-history{flex-direction:column;gap:4px;display:flex}.cad-space-history-toggle{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:4px 0;font-size:.72rem;font-weight:600;display:flex}.cad-space-history-toggle:hover{color:#cbd5e1}.cad-space-history-chevron{font-size:.6rem;transition:transform .15s;display:inline-block}.cad-space-history-chevron.expanded{transform:rotate(90deg)}.cad-space-history-count{color:#94a3b8;background:#64748b38;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;display:inline-flex}.cad-space-history-list{scrollbar-width:thin;scrollbar-color:#64748b4d transparent;flex-direction:column;gap:2px;max-height:300px;display:flex;overflow-y:auto}.cad-space-history-loading,.cad-space-history-empty{color:#64748b;padding:4px 0;font-size:.72rem;font-style:italic}.cad-space-history-entry{background:#0f172a66;border:1px solid #0000;border-radius:4px;flex-direction:column;gap:2px;padding:6px 8px;transition:background .1s,border-color .1s;display:flex}.cad-space-history-entry:hover{background:#1e293b80}.cad-space-history-entry.cad-space-history-current{background:#064e3b1f;border-color:#22c55e47}.cad-space-history-entry-header{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cad-space-history-sha{color:#4ade80;background:#064e3b2e;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:.68rem}.cad-space-author-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:3px;align-items:center;padding:1px 6px;font-size:.62rem;font-weight:700;display:inline-flex}.cad-space-author-user{color:#4ade80;background:#064e3b38}.cad-space-author-ai{color:#c4b5fd;background:#4c1d9547}.cad-space-author-unknown{color:#64748b;background:#64748b2e}.cad-space-history-time{color:#64748b;margin-left:auto;font-size:.68rem}.cad-space-history-message{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.35;overflow:hidden}.cad-space-history-actions{gap:4px;margin-top:2px;display:flex}.cad-space-history-load-btn,.cad-space-history-restore-btn{color:#94a3b8;cursor:pointer;background:#0f172a99;border:1px solid #64748b47;border-radius:3px;padding:2px 8px;font-size:.68rem;font-weight:500;transition:background .1s,color .1s,border-color .1s}.cad-space-history-load-btn:hover{color:#86efac;background:#064e3b40;border-color:#22c55e59}.cad-space-history-restore-btn:hover:not(:disabled){color:#c4b5fd;background:#4c1d9540;border-color:#8b5cf659}.cad-space-history-restore-btn:disabled{cursor:not-allowed;opacity:.4}.top-bar-save-status{color:#64748b;white-space:nowrap;background:#64748b24;border-radius:4px;align-items:center;gap:4px;margin-left:6px;padding:2px 8px;font-size:.68rem;font-weight:500;display:inline-flex}.cad-tb{color:#cbd5e1;white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:.78rem;display:flex}.cad-tb-loading{color:#64748b;font-size:.72rem;font-style:italic}.cad-tb-login{color:#4ade80;text-underline-offset:2px;font-size:.72rem;font-weight:600;text-decoration:underline}.cad-tb-login:hover{color:#86efac}.cad-tb-space{align-items:center;gap:4px;display:flex;position:relative}.cad-tb-select{color:#e2e8f0;cursor:pointer;background:#0f172ab3;border:1px solid #64748b52;border-radius:4px;min-width:0;max-width:140px;padding:3px 6px;font-size:.74rem}.cad-tb-select:focus{border-color:#22c55e99;outline:none;box-shadow:0 0 0 2px #22c55e2e}.cad-tb-btn{color:#94a3b8;cursor:pointer;background:#0f172a99;border:1px solid #64748b4d;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:.72rem;font-weight:600;transition:background .12s,border-color .12s,color .12s}.cad-tb-btn:hover{color:#e2e8f0;background:#1e293bb3}.cad-tb-new{color:#86efac;background:#064e3b38;border-color:#22c55e59;padding:2px 7px;font-size:.82rem;font-weight:800}.cad-tb-new:hover{background:#064e3b6b;border-color:#22c55e8c}.cad-tb-save{color:#86efac;background:#064e3b47;border-color:#22c55e59}.cad-tb-save:hover:not(:disabled){background:#064e3b7a;border-color:#22c55e8c}.cad-tb-save:disabled{opacity:.5;cursor:not-allowed}.cad-tb-autosave{color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:3px;font-size:.68rem;display:inline-flex}.cad-tb-autosave input[type=checkbox]{accent-color:#22c55e;cursor:pointer;width:12px;height:12px}.cad-tb-status{font-size:.68rem;font-weight:600}.cad-tb-status-ok{color:#4ade80}.cad-tb-status-err{color:#fca5a5}.cad-tb-dropdown{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090f1af5;border:1px solid #64748b47;border-radius:8px;min-width:220px;padding:8px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 28px #00000080}.cad-tb-create-dropdown{flex-direction:column;gap:6px;min-width:200px;display:flex}.cad-tb-input{color:#e2e8f0;background:#0f172ab3;border:1px solid #64748b52;border-radius:4px;width:100%;padding:4px 6px;font-size:.74rem}.cad-tb-input:focus{border-color:#22c55e99;outline:none;box-shadow:0 0 0 2px #22c55e2e}.cad-tb-input::placeholder{color:#475569}.cad-tb-create-submit{color:#86efac;background:#064e3b4d;border-color:#22c55e59}.cad-tb-create-submit:hover:not(:disabled){background:#064e3b80;border-color:#22c55e8c}.cad-tb-create-submit:disabled{opacity:.5;cursor:not-allowed}.cad-tb-error{color:#fca5a5;background:#7f1d1d52;border:1px solid #ef444459;border-radius:4px;padding:3px 6px;font-size:.68rem}.cad-tb-history-wrap{position:relative}.cad-tb-history-dropdown{min-width:280px;max-width:360px}.cad-tb-dropdown-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #64748b29;margin-bottom:6px;padding:2px 4px 6px;font-size:.68rem;font-weight:700}.cad-tb-history-list{scrollbar-width:thin;scrollbar-color:#64748b4d transparent;flex-direction:column;gap:2px;max-height:280px;display:flex;overflow-y:auto}.cad-tb-history-empty{color:#64748b;padding:4px 0;font-size:.68rem;font-style:italic}.cad-tb-history-entry{background:#0f172a66;border:1px solid #0000;border-radius:4px;flex-direction:column;gap:2px;padding:5px 6px;transition:background .1s,border-color .1s;display:flex}.cad-tb-history-entry:hover{background:#1e293b80}.cad-tb-history-current{background:#064e3b1f;border-color:#22c55e47}.cad-tb-history-info{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.cad-tb-history-sha{color:#4ade80;background:#064e3b2e;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:.64rem}.cad-tb-author{text-transform:uppercase;letter-spacing:.05em;border-radius:3px;align-items:center;padding:1px 5px;font-size:.58rem;font-weight:700;display:inline-flex}.cad-tb-author-user{color:#4ade80;background:#064e3b38}.cad-tb-author-ai{color:#c4b5fd;background:#4c1d9547}.cad-tb-author-unknown{color:#64748b;background:#64748b2e}.cad-tb-history-time{color:#64748b;margin-left:auto;font-size:.64rem}.cad-tb-history-msg{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;line-height:1.3;overflow:hidden}.cad-tb-history-actions{gap:4px;margin-top:2px;display:flex}.cad-tb-history-load:hover{color:#86efac;background:#064e3b40;border-color:#22c55e59}.cad-tb-history-restore:hover:not(:disabled){color:#c4b5fd;background:#4c1d9540;border-color:#8b5cf659}.cad-tb-history-restore:disabled{opacity:.4;cursor:not-allowed}.cad-tb-user{color:#052e16;cursor:default;background:linear-gradient(135deg,#4ade80,#22c55e);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;font-weight:800;display:inline-flex}@media (width<=720px){.cad-tb{flex-wrap:wrap;gap:6px;font-size:.72rem}.cad-tb-select{max-width:100px}.cad-tb-autosave span{display:none}.cad-tb-history-dropdown{min-width:240px;right:-40px}.cad-tb-user{width:22px;height:22px;font-size:.64rem}.cad-space-panel{gap:6px;padding:8px 10px;font-size:.74rem}.cad-space-picker-row{flex-wrap:wrap}.cad-space-select{flex-basis:100%;order:1}.cad-space-picker-label{flex-basis:auto}.cad-space-new-btn{margin-left:auto}.cad-space-create-form{flex-direction:column;align-items:stretch}.cad-space-name-input{flex-basis:auto;width:100%}.cad-space-save-bar{flex-direction:column;align-items:stretch;gap:6px}.cad-space-save-btn{text-align:center;width:100%}.cad-space-history-list{max-height:200px}.cad-space-history-entry-header{gap:4px}.cad-space-history-time{width:100%;margin-left:0}.cad-space-history-actions{flex-wrap:wrap}.top-bar-save-status{display:none}}@media (width<=1180px){.sketch-mode{grid-template-columns:200px minmax(0,1fr)}}@media (width<=720px){.sketch-mode{grid-template-rows:auto minmax(320px,1fr);grid-template-columns:1fr;min-height:auto}.sketch-mode-sidebar{border-bottom:1px solid #64748b38;border-right:none;max-height:240px;overflow-y:auto}.sketch-mode-toolbar{flex-wrap:wrap}.sketch-toolbar-info{justify-content:flex-start;width:100%;margin-left:0}.sketch-dimension-panel{width:auto;margin:8px;position:static}.feature-add-menu-content{left:0;right:auto}.workspace-mode-toggle{order:-1}}.ai-toggle-button{color:#86efac;letter-spacing:.02em;cursor:pointer;background:#064e3b38;border:1px solid #22c55e61;border-radius:6px;align-items:center;gap:4px;margin-left:8px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:border-color .12s,background .12s,box-shadow .12s;display:inline-flex}.ai-toggle-button:hover{background:#064e3b61;border-color:#22c55e99}.ai-toggle-button.ai-toggle-active{color:#bbf7d0;background:#15803d6b;border-color:#22c55eb3;box-shadow:0 0 8px #22c55e4d}.workbench-body{flex-direction:row;flex:auto;min-height:0;display:flex;overflow:hidden}.workbench-content{flex:1;min-width:0;padding:0;overflow-y:auto}.ai-assistant-panel{box-sizing:border-box;background:#090f1af7;border-left:1px solid #64748b47;flex-direction:column;flex:0 0 420px;width:420px;max-width:50vw;height:100%;font-family:inherit;display:flex;overflow:hidden;box-shadow:-4px 0 24px #00000040}@media (width<=900px){.workbench-body{position:relative}.ai-assistant-panel{z-index:900;flex:none;width:min(420px,100vw);max-width:100vw;height:auto;position:fixed;top:0;bottom:0;right:0}}.ai-assistant-header{border-bottom:1px solid #64748b38;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.ai-assistant-title{color:#c4b5fd;flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;margin:0;font-size:.92rem;font-weight:700;display:flex}.ai-assistant-icon{color:#a78bfa;letter-spacing:.03em;font-size:.82rem;font-weight:700}.ai-assistant-model-badge{color:#a78bfa;text-overflow:ellipsis;white-space:nowrap;background:#4c1d952e;border:1px solid #8b5cf640;border-radius:4px;max-width:100%;padding:1px 7px;font-size:.66rem;font-weight:500;overflow:hidden}.ai-assistant-header-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:2px;display:flex}.ai-assistant-btn-icon{color:#94a3b8;letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #64748b2e;border-radius:6px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 6px;font-size:.68rem;font-weight:500;transition:background .1s,color .1s;display:flex}.ai-assistant-btn-icon:hover{color:#f1f5f9;background:#64748b2e}.ai-assistant-btn-icon:disabled{opacity:.4;cursor:default}.ai-assistant-settings{border-bottom:1px solid #64748b26;flex-direction:column;flex-shrink:0;gap:8px;padding:10px 14px;display:flex}.ai-assistant-byok-notice{color:#fcd34d;background:#78350f2e;border:1px solid #f59e0b42;border-radius:7px;padding:8px 10px;font-size:.68rem;line-height:1.45}.ai-assistant-setting-row{flex-wrap:wrap;align-items:flex-start;gap:8px;min-width:0;display:flex}.ai-assistant-setting-row>label{color:#94a3b8;flex-shrink:0;width:60px;padding-top:6px;font-size:.72rem;font-weight:600}.ai-assistant-settings select,.ai-assistant-settings input[type=password],.ai-assistant-settings input[type=text]{box-sizing:border-box;color:#e2e8f0;background:#0c1624;border:1px solid #64748b4d;border-radius:5px;flex:1;width:100%;min-width:0;max-width:100%;padding:5px 8px;font-family:inherit;font-size:.75rem}.ai-assistant-key-input{flex-wrap:wrap;flex:1;align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;display:flex}.ai-assistant-key-input input{flex:160px;width:100%;min-width:0;padding:6px 10px}.ai-assistant-key-input .ai-assistant-btn-icon{flex:none}.ai-assistant-remember-key{color:#cbd5e1;cursor:pointer;flex-basis:100%;align-items:flex-start;gap:8px;min-width:0;padding-left:68px;font-size:.72rem;line-height:1.4;display:flex}.ai-assistant-remember-key input{accent-color:#8b5cf6;flex:none;width:14px;height:14px;margin:2px 0 0}.ai-assistant-remember-key span{min-width:0}.ai-assistant-key-hint{color:#475569;flex-basis:100%;margin:2px 0 0;padding-left:68px;font-size:.64rem}.ai-assistant-model-error{flex-direction:column;flex-basis:100%;align-items:flex-start;gap:6px;min-width:0;padding-left:68px;display:flex}.ai-assistant-model-error .ai-assistant-key-hint{padding-left:0}.ai-assistant-model-select-wrapper{flex:1;align-items:center;width:100%;min-width:0;max-width:100%;display:flex;position:relative}.ai-assistant-model-select-wrapper select{flex:1;min-width:0}.ai-assistant-spinner{pointer-events:none;border:2px solid #475569;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite ai-spin;position:absolute;right:8px}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-assistant-messages{flex:1;padding:12px 14px;overflow-y:auto}.ai-assistant-messages::-webkit-scrollbar{width:5px}.ai-assistant-messages::-webkit-scrollbar-track{background:0 0}.ai-assistant-messages::-webkit-scrollbar-thumb{background:#64748b47;border-radius:3px}.ai-assistant-empty{text-align:center;color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;padding:24px;display:flex}.ai-assistant-empty h3{color:#c4b5fd;margin:0;font-size:1.05rem}.ai-assistant-empty p{color:#64748b;margin:0;font-size:.82rem;line-height:1.5}.ai-assistant-empty-hint{color:#fbbf24!important;font-size:.78rem!important}.ai-assistant-suggestions{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;display:flex}.ai-assistant-suggestions button{color:#a78bfa;cursor:pointer;background:#4c1d9524;border:1px solid #8b5cf640;border-radius:16px;padding:5px 12px;font-size:.72rem;transition:background .1s,border-color .1s}.ai-assistant-suggestions button:hover{background:#4c1d954d;border-color:#a78bfa80}.ai-msg{word-break:break-word;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:.82rem;line-height:1.55}.ai-msg-user{color:#bfdbfe;background:#1e3a8a2e;border:1px solid #3b82f638}.ai-msg-assistant{color:#e2e8f0;background:#0f172a99;border:1px solid #64748b2e}.ai-msg-tool{color:#a7f3d0;background:#0d2a2a47;border:1px solid #5eead42e;border-left:3px solid #5eead480;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.76rem}.ai-msg-tool-label{color:#5eead4;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.68rem;font-weight:700;display:block}.ai-msg-tool-badge{color:#fbbf24;margin-bottom:6px;font-size:.72rem;font-weight:600}.ai-msg-content{white-space:pre-wrap}.ai-msg-images{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.ai-msg-image-thumb{object-fit:cover;background:#0f172a80;border:1px solid #3b82f647;border-radius:6px;width:min(160px,100%);max-width:100%;max-height:160px}.ai-msg-images+.ai-msg-content{margin-top:2px}.ai-msg-text{white-space:pre-wrap}.ai-msg-code-block{margin:8px 0}.ai-msg-code-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.ai-msg-code-header>span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;font-weight:600}.ai-msg-code-pre{color:#e2e8f0;white-space:pre-wrap;word-break:break-all;background:#0a131e;border:1px solid #64748b38;border-radius:6px;margin:0;padding:10px 12px;font-size:.74rem;line-height:1.5;overflow-x:auto}.ai-msg-apply-btn,.ai-msg-copy-btn{color:#94a3b8;cursor:pointer;background:#0f172ab3;border:1px solid #64748b38;border-radius:4px;padding:2px 8px;font-size:.68rem;transition:background 80ms,color 80ms}.ai-msg-apply-btn:hover,.ai-msg-copy-btn:hover{color:#e2e8f0;background:#1e293bcc}.ai-msg-apply-btn{color:#c4b5fd;background:#4c1d9533;border-color:#8b5cf652}.ai-msg-apply-btn:hover{color:#ddd6fe;background:#4c1d9561}.ai-inline-code{color:#86efac;background:#1e293b99;border-radius:3px;padding:1px 5px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78em}.ai-assistant-attachments{border-top:1px solid #64748b26;flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 14px;display:flex}.ai-assistant-attachment-thumb{position:relative}.ai-assistant-attachment-thumb img{object-fit:cover;border:1px solid #64748b38;border-radius:4px;width:40px;height:40px}.ai-assistant-remove-attachment{color:#94a3b8;cursor:pointer;background:#1e293b;border:1px solid #64748b52;border-radius:999px;justify-content:center;align-items:center;width:auto;min-width:42px;height:18px;padding:0 6px;font-size:.56rem;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.ai-assistant-remove-attachment:hover{color:#f1f5f9;background:#334155}.ai-assistant-input-area{border-top:1px solid #64748b38;flex-shrink:0;align-items:center;gap:6px;padding:10px 14px;display:flex}.ai-assistant-text-input{color:#e2e8f0;background:#0c1624;border:1px solid #64748b4d;border-radius:8px;flex:1;min-width:0;padding:8px 10px;font-family:inherit;font-size:.82rem;line-height:1.4}.ai-assistant-text-input:focus{border-color:#8b5cf680;outline:none;box-shadow:0 0 0 2px #8b5cf626}.ai-assistant-text-input::placeholder{color:#475569}.ai-assistant-btn-send{color:#c4b5fd;cursor:pointer;background:#4c1d9552;border:1px solid #8b5cf661;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 10px;font-size:.72rem;font-weight:600;transition:background .1s,border-color .1s;display:flex}.ai-assistant-btn-send:hover:not(:disabled){background:#6d28d973;border-color:#a78bfa99}.ai-assistant-btn-send:disabled{opacity:.4;cursor:default}.ai-assistant-btn-stop{color:#fca5a5;cursor:pointer;background:#7f1d1d47;border:1px solid #ef444466;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 10px;font-size:.72rem;font-weight:600;transition:background .1s;display:flex}.ai-assistant-btn-stop:hover{background:#7f1d1d73;border-color:#f8717199}@media (width<=720px){.ai-assistant-panel{width:100dvw}.ai-assistant-header,.ai-assistant-settings,.ai-assistant-messages,.ai-assistant-attachments,.ai-assistant-input-area{padding-left:12px;padding-right:12px}.ai-assistant-header{align-items:flex-start}.ai-assistant-title{flex:160px}.ai-assistant-header-actions{flex:0 auto}.ai-assistant-setting-row{flex-flow:column;align-items:stretch;gap:4px}.ai-assistant-setting-row>label{width:auto;padding-top:0}.ai-assistant-key-input,.ai-assistant-model-select-wrapper,.ai-assistant-settings select,.ai-assistant-settings input[type=password],.ai-assistant-settings input[type=text]{flex-basis:auto;width:100%;max-width:100%}.ai-assistant-key-hint,.ai-assistant-model-error,.ai-assistant-remember-key{flex-basis:auto;width:100%;max-width:100%;padding-left:0}.ai-toggle-button{padding:4px 8px;font-size:.72rem}}
