:root{--bg-dark: #0f141c;--bg-panel: #161d27;--bg-card: #1d2633;--bg-input: #111720;--border-color: #283446;--border-subtle: #202a38;--text-main: #edf2f7;--text-muted: #94a3b8;--accent: #38bdf8;--accent-hover: #0ea5e9;--accent-glow: rgba(56, 189, 248, .16);--emerald: #10b981;--amber: #f59e0b;--danger: #ef4444;--blender-orange: #ea7600;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-sans);font-size:13px;-webkit-user-select:none;user-select:none}#app{display:flex;flex-direction:column;width:100vw;height:100vh}.topbar{height:54px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:10px;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#0284c7,#38bdf8);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 10px #38bdf84d}.brand h1{font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.1}.brand-subtitle{font-size:11px;color:var(--text-muted)}.toolbar-group{display:flex;align-items:center;gap:4px;background:var(--bg-input);padding:3px;border-radius:7px;border:1px solid var(--border-subtle)}.btn-mode,.btn-tool{background:transparent;color:var(--text-muted);border:none;padding:6px 10px;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .14s ease}.btn-mode:hover,.btn-tool:hover{color:var(--text-main);background:#ffffff0d}.btn-mode.active,.btn-tool.active{background:var(--accent);color:#091018;font-weight:600}.studio-workspace{flex:1;display:flex;min-height:0;overflow:hidden}.sidebar-left{width:296px;background:var(--bg-panel);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0}.sidebar-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border-color);background:var(--bg-input)}.tab-btn{background:transparent;color:var(--text-muted);border:none;border-bottom:2px solid transparent;padding:10px 6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg-panel)}.tab-panel{display:none;flex-direction:column;flex:1;overflow-y:auto;padding:12px;gap:12px}.tab-panel.active{display:flex}.panel-header-controls{display:flex;flex-direction:column;gap:8px}.category-pills{display:flex;flex-wrap:wrap;gap:4px}.pill{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-color);padding:4px 8px;border-radius:99px;font-size:11px;cursor:pointer}.pill.active,.pill:hover{background:var(--accent-glow);color:var(--accent);border-color:var(--accent)}.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.catalog-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:7px;padding:9px;display:flex;flex-direction:column;gap:5px;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.catalog-item:hover{border-color:var(--accent);transform:translateY(-1px)}.catalog-swatch{height:36px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:18px;position:relative;border:1px solid rgba(255,255,255,.08)}.catalog-item-title{font-weight:600;font-size:12px;color:var(--text-main)}.catalog-item-dims{font-size:10.5px;font-family:var(--font-mono);color:var(--text-muted)}.import-custom-box,.control-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:11px;display:flex;flex-direction:column;gap:8px}.control-card h3,.import-custom-box h4{font-size:12.5px;font-weight:600;color:var(--text-main)}.muted-text{color:var(--text-muted);font-size:11.5px;line-height:1.4}.viewport-container{flex:1;display:grid;grid-template-columns:1fr 1fr;min-width:0;min-height:0;background:#0b0f16}.viewport-container[data-layout="2d"]{grid-template-columns:1fr}.viewport-container[data-layout="2d"] #pane-3d{display:none}.viewport-container[data-layout="3d"],.viewport-container[data-layout=plate]{grid-template-columns:1fr}.viewport-container[data-layout="3d"] #pane-2d,.viewport-container[data-layout=plate] #pane-2d{display:none}.viewport-pane{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--border-color);position:relative}.pane-header{height:36px;background:#161d27eb;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 10px;gap:8px;flex-shrink:0}.pane-badge{font-size:10.5px;font-weight:700;letter-spacing:.05em;padding:3px 7px;border-radius:4px;background:#263346;color:var(--text-main)}.pane-badge.accent{background:var(--accent-glow);color:var(--accent);border:1px solid rgba(56,189,248,.35)}.pane-hint{font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pane-controls{display:flex;align-items:center;gap:4px}.canvas-wrapper{flex:1;position:relative;min-height:0;overflow:hidden;background:#0c1118}#canvas-2d,#three-mount{width:100%;height:100%;display:block}.pane-footer{height:26px;background:var(--bg-panel);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:11px;font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0}.sidebar-right{width:320px;background:var(--bg-panel);border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.inspector-section{border-bottom:1px solid var(--border-color);padding:12px;display:flex;flex-direction:column;gap:10px}.print-hub-section{padding:12px;display:flex;flex-direction:column;gap:10px;flex:1}.section-title-bar{display:flex;align-items:center;justify-content:space-between}.section-title-bar h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-main)}.badge{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:99px;background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-color)}.badge-green{background:#10b98124;color:var(--emerald);border-color:#10b98159}.inspector-body,.print-hub-body{display:flex;flex-direction:column;gap:8px}.empty-hint{color:var(--text-muted);font-size:12px;line-height:1.45;padding:10px;background:var(--bg-card);border-radius:6px;border:1px dashed var(--border-color)}.form-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.form-row label{font-size:11.5px;color:var(--text-muted);flex:1}.input-text,.input-num,.input-select{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-main);padding:6px 8px;border-radius:5px;font-size:12px;font-family:var(--font-sans)}.input-num{width:96px;font-family:var(--font-mono);text-align:right}.input-select{width:170px}.input-color{width:44px;height:26px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-input);cursor:pointer}.checkbox-row{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text-main);cursor:pointer}.btn-primary,.btn-secondary,.btn-accent,.btn-danger,.btn-icon{border-radius:5px;font-size:12px;font-weight:600;padding:6px 10px;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:all .14s ease}.btn-primary{background:var(--accent);color:#081018}.btn-primary:hover{background:var(--accent-hover)}.btn-accent{background:#38bdf824;color:var(--accent);border-color:#38bdf866}.btn-accent:hover{background:#38bdf83d}.btn-secondary{background:var(--bg-card);color:var(--text-main);border-color:var(--border-color)}.btn-secondary:hover{border-color:var(--text-muted)}.btn-danger{background:#ef444426;color:#f87171;border-color:#ef444459}.btn-danger:hover{background:#ef444440}.btn-icon{background:var(--bg-card);color:var(--text-main);border-color:var(--border-color);padding:3px 8px;font-size:11px}.btn-icon:hover{border-color:var(--accent);color:var(--accent)}.full-width{width:100%}.btn-row{display:flex;gap:6px}.file-label{cursor:pointer}.toggle-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;background:var(--bg-card);padding:3px 8px;border-radius:4px;border:1px solid var(--border-color);cursor:pointer}.telemetry-card{background:var(--bg-input);border:1px solid var(--border-color);border-radius:7px;padding:9px 10px;display:flex;flex-direction:column;gap:5px;margin:4px 0}.telemetry-row{display:flex;justify-content:space-between;font-size:11.5px}.telemetry-row span{color:var(--text-muted)}.telemetry-row strong{font-family:var(--font-mono);font-size:11px}.status-pass{color:var(--emerald)}.status-warn{color:var(--amber)}.export-buttons-stack{display:flex;flex-direction:column;gap:6px}.btn-export{background:var(--bg-card);border:1px solid var(--border-color);border-radius:7px;padding:8px 10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:all .14s ease}.btn-export:hover:not(:disabled){border-color:var(--accent);background:#38bdf814}.btn-export:disabled{opacity:.45;cursor:not-allowed}.btn-export.primary{background:linear-gradient(135deg,#10b98129,#38bdf829);border-color:#10b98180}.btn-export.blender{border-color:#ea76008c;background:#ea76001a}.btn-export.blender:hover{background:#ea760033}.export-title{font-size:12px;font-weight:700;color:var(--text-main)}.export-sub{font-size:10.5px;color:var(--text-muted)}.export-divider{height:1px;background:var(--border-color);margin:2px 0}.floating-dialog{position:absolute;top:16px;left:50%;transform:translate(-50%);background:var(--bg-panel);border:1px solid var(--accent);border-radius:8px;padding:14px;width:280px;box-shadow:0 12px 32px #0009;display:flex;flex-direction:column;gap:10px;z-index:30}.hidden{display:none!important}.stats-list{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--text-muted)}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:#0f172a;color:var(--text-main);border:1px solid var(--accent);padding:9px 16px;border-radius:99px;font-size:12.5px;font-weight:600;box-shadow:0 8px 24px #00000080;z-index:100}
