/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.max-h-\[90vh\]{max-height:90vh}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.overflow-y-auto{overflow-y:auto}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.text-center{text-align:center}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:root{--font-scale:1;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-blue-300:#93c5fd;--color-blue-400:#60a5fa;--color-blue-500:#3b82f6;--color-blue-600:#2563eb;--color-blue-700:#1d4ed8;--color-green-500:#22c55e;--color-amber-500:#f59e0b;--color-red-500:#ef4444;--color-teal-500:#5b9fb8;--color-teal-400:#7ab8cd;--bg-primary:var(--color-slate-900);--bg-secondary:var(--color-slate-800);--bg-tertiary:var(--color-slate-700);--bg-glass:#ffffff0d;--bg-glass-strong:#ffffff1a;--text-primary:var(--color-slate-100);--text-secondary:var(--color-slate-300);--text-tertiary:var(--color-slate-400);--text-accent:var(--color-blue-600);--text-xs-raw:.75rem;--text-sm-raw:.875rem;--text-base-raw:1rem;--text-lg-raw:1.125rem;--text-xl-raw:1.25rem;--text-2xl-raw:1.5rem;--text-xs:calc(var(--text-xs-raw)*var(--font-scale-effective,var(--font-scale)));--text-sm:calc(var(--text-sm-raw)*var(--font-scale-effective,var(--font-scale)));--text-base:calc(var(--text-base-raw)*var(--font-scale-effective,var(--font-scale)));--text-lg:calc(var(--text-lg-raw)*var(--font-scale-effective,var(--font-scale)));--text-xl:calc(var(--text-xl-raw)*var(--font-scale-effective,var(--font-scale)));--text-2xl:calc(var(--text-2xl-raw)*var(--font-scale-effective,var(--font-scale)));--font-normal:400;--font-medium:500;--font-semibold:600;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--size-button-sm:2.5rem;--size-button-md:3rem;--size-icon-xs:.625rem;--size-icon-sm:.75rem;--size-icon-md:1.75rem;--size-panel-width:33.75rem;--size-panel-width-md:32.5rem;--size-input-width-sm:3.125rem;--size-input-width-md:4.375rem;--size-input-width-lg:6.25rem;--size-input-width-xl:7.5rem;--radius-sm:.25rem;--radius:.5rem;--radius-lg:.75rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--transition-fast:.15s ease-out;--transition-normal:.2s ease-out;--transition-slow:.3s ease-out;--z-dropdown:1000;--z-modal:1050;--z-popover:1100;--z-tooltip:1200;--explorer-row-bg:transparent;--explorer-row-hover:#ffffff0f;--explorer-row-selected:#3b82f61f;--explorer-row-multi:#3b82f614;--explorer-row-canvas-hover:#5b9fb824;--explorer-accent-bar-width:3px;--explorer-chip-bg:#ffffff14;--explorer-chip-text:var(--text-secondary);--explorer-divider:#ffffff0f}html.theme-light{--bg-primary:#f7fafc;--bg-secondary:#fff;--bg-tertiary:#f3f4f6;--bg-glass:#00000008;--bg-glass-strong:#0000000f;--text-primary:#1f2937;--text-secondary:#4b5563;--text-tertiary:#6b7280;--text-accent:var(--color-blue-600);--border-color:#e5e7eb;--pill-bg:#ffffffeb;--pill-text:#1f2937;--pill-border:#00000014;--pill-hover-bg:#fffffffa;--workspace-bg:#e5e7eb;--panel-bg:#fff;--panel-text:#1f2937;--panel-border:#e5e7eb;--explorer-row-hover:#0000000a;--explorer-row-selected:#3b82f61a;--explorer-row-multi:#3b82f60f;--explorer-row-canvas-hover:#5b9fb81a;--explorer-chip-bg:#0000000f;--explorer-chip-text:var(--text-secondary);--explorer-divider:#0000000f}html.theme-dark{--bg-primary:var(--color-slate-900);--bg-secondary:var(--color-slate-800);--bg-tertiary:var(--color-slate-700);--bg-glass:#ffffff0d;--bg-glass-strong:#ffffff1a;--text-primary:var(--color-slate-100);--text-secondary:var(--color-slate-300);--text-tertiary:var(--color-slate-400);--text-accent:var(--color-blue-500);--border-color:var(--color-slate-700);--pill-bg:#0f172ae0;--pill-text:var(--color-slate-100);--pill-border:#ffffff2e;--pill-hover-bg:#1e293beb;--workspace-bg:#2b2b2b;--panel-bg:#2b2b2b;--panel-text:#f1f5f9;--panel-border:#3a3a3a;--explorer-row-hover:#ffffff0f;--explorer-row-selected:#3b82f61f;--explorer-row-multi:#3b82f614;--explorer-row-canvas-hover:#5b9fb824;--explorer-chip-bg:#ffffff14;--explorer-chip-text:var(--text-secondary);--explorer-divider:#ffffff0f}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--text-base);font-weight:var(--font-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;height:100vh;line-height:1.6;display:flex;overflow:hidden}#root{flex-direction:column;flex:1;min-height:0;display:flex}.panel-base{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--space-4);border:1px solid #ffffff1a}.panel-glass{background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius);box-shadow:var(--shadow-xl);border:1px solid #ffffff26}.btn-base{padding:var(--space-2)var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal);border:none;outline:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background-color:var(--color-blue-500);color:#fff}.btn-primary:hover{background-color:var(--color-blue-600);transform:translateY(-1px)}.btn-primary:active{background-color:var(--color-blue-700);transform:translateY(0)}.btn-secondary{color:var(--text-secondary);border:1px solid var(--color-slate-600);background-color:#0000}.btn-secondary:hover{background-color:var(--bg-glass);color:var(--text-primary);border-color:var(--color-slate-500)}.btn-ghost{background-color:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--color-slate-600);box-shadow:var(--shadow-sm)}.btn-ghost:hover{background-color:var(--bg-glass-strong);color:var(--text-primary);border-color:var(--color-slate-500);box-shadow:var(--shadow);transform:translateY(-1px)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-sm);width:2rem;height:2rem}.btn-active{background-color:var(--color-blue-500);color:#fff;border:2px solid var(--color-blue-400);box-shadow:0 0 0 3px #3b82f64d,var(--shadow-lg);font-weight:var(--font-semibold);transform:translateY(-2px)}.btn-active:hover{background-color:var(--color-blue-600);border-color:var(--color-blue-300);box-shadow:0 0 0 4px #3b82f666,var(--shadow-xl)}.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--text-accent)}.space-y-1>*+*{margin-top:var(--space-1)}.space-y-2>*+*{margin-top:var(--space-2)}.space-y-3>*+*{margin-top:var(--space-3)}.space-y-4>*+*{margin-top:var(--space-4)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.toolbar-container{justify-content:center;align-items:center;gap:var(--space-3);z-index:var(--z-dropdown);pointer-events:none;padding:0 12px;display:flex;position:fixed;top:12px;left:0;right:0}.toolbar-left{position:absolute;top:0;left:12px}.toolbar-left .toolbar-panel{justify-content:center;width:56px}.toolbar-left .hamburger-button{width:48px;height:48px}.toolbar-left .hamburger-button svg{width:22px;height:22px}.toolbar-container .toolbar-right{padding:0;position:absolute;top:0;right:22px}.toolbar-right .toolbar-panel{justify-content:center;width:190px}.toolbar-panel{background:var(--pill-bg);border:1px solid var(--pill-border);box-shadow:var(--shadow-lg);pointer-events:auto;border-radius:12px;align-items:center;gap:2px;padding:4px;display:flex}.toolbar-center,.toolbar-right{gap:var(--space-2);padding:4px 8px}.toolbar-divider{background:var(--pill-border);width:1px;height:28px;margin:0 var(--space-2)}.tool-button-group{align-items:center;gap:2px;display:flex}.tool-button{cursor:pointer;width:46px;height:46px;color:var(--pill-text);transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.tool-button:hover{background:var(--bg-glass-strong)}.tool-button.active{background:var(--color-blue-500);color:#fff}.tool-button.disabled{opacity:.4;cursor:not-allowed}.tool-button.disabled:hover{background:0 0}.tool-button.out-of-context{opacity:.4;cursor:not-allowed}.tool-button.out-of-context:hover{background:0 0}.scene-controls-panel{background:var(--pill-bg);border:1px solid var(--pill-border);box-shadow:var(--shadow-lg);z-index:1000;border-radius:12px;gap:2px;padding:4px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.scene-controls-btn{cursor:pointer;width:40px;height:40px;color:var(--pill-text);transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.scene-controls-btn:hover{background:var(--bg-glass-strong)}.scene-controls-btn.active{background:var(--color-blue-500);color:#fff}.scene-controls-btn:disabled{opacity:.3;cursor:default;pointer-events:none}.scene-controls-icon{justify-content:center;align-items:center;display:flex}.scene-controls-shortcut{font-size:9px;font-weight:var(--font-semibold);color:var(--text-tertiary);line-height:1;position:absolute;bottom:2px;right:2px}.scene-controls-btn.active .scene-controls-shortcut{color:#ffffffb3}.scene-controls-message{background:var(--pill-bg);border:1px solid var(--pill-border);box-shadow:var(--shadow-lg);z-index:1000;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:8px 16px;display:flex;position:absolute;bottom:72px;left:50%;transform:translate(-50%)}.scene-controls-message-item{flex-direction:column;align-items:center;gap:2px;display:flex}.scene-controls-message-primary{font-size:var(--text-sm);color:var(--pill-text);font-weight:var(--font-medium)}.scene-controls-message-secondary{font-size:var(--text-xs);color:var(--text-tertiary)}.scene-layout-panel{background:var(--pill-bg);border:1px solid var(--pill-border);box-shadow:var(--shadow-lg);z-index:1000;border-radius:8px;min-width:280px;padding:12px 16px;position:absolute;bottom:72px;right:20px}.scene-layout-header{border-bottom:1px solid var(--pill-border);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.scene-layout-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--pill-text)}.scene-layout-actions{align-items:center;gap:8px;display:flex}.scene-layout-reset-btn{font-size:var(--text-xs);color:var(--text-tertiary);border:1px solid var(--pill-border);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:4px;padding:2px 8px}.scene-layout-reset-btn:hover{color:var(--pill-text);border-color:var(--pill-text)}.scene-layout-close-btn{cursor:pointer;width:24px;height:24px;color:var(--text-tertiary);transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.scene-layout-close-btn:hover{background:var(--bg-glass-strong);color:var(--pill-text)}.scene-layout-rows{flex-direction:column;gap:6px;display:flex}.scene-layout-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.scene-layout-label{font-size:var(--text-sm);color:var(--pill-text);white-space:nowrap;min-width:80px}.scene-layout-inputs{gap:8px;display:flex}.scene-layout-input-group{align-items:center;gap:4px;margin-bottom:0;display:flex}.scene-layout-axis{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary)}.scene-layout-input{width:60px;font-size:var(--text-xs);background:var(--bg-glass);border:1px solid var(--pill-border);color:var(--pill-text);text-align:right;border-radius:4px;padding:3px 6px}.scene-layout-input:focus{border-color:var(--color-blue-500);outline:none}.help-button:hover{background:var(--bg-glass-strong)}.tool-icon{justify-content:center;align-items:center;display:flex;position:relative}.tool-color-indicator{border:1px solid #0003;border-radius:2px;width:8px;height:8px;position:absolute;top:-2px;left:-2px}.tool-shortcut{font-size:10px;font-weight:var(--font-semibold);color:var(--text-tertiary);line-height:1;position:absolute;bottom:3px;right:4px}.tool-button.active .tool-shortcut{color:#ffffffb3}.view-toggle-group{align-items:center;gap:2px;display:flex}.qto-button{padding:var(--space-2)var(--space-3);background:var(--color-blue-500);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);transition:all var(--transition-fast);border:none;border-radius:8px}.qto-button:hover{background:var(--color-blue-600)}.hamburger-menu{position:relative}.hamburger-button{cursor:pointer;width:40px;height:40px;color:var(--pill-text);transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.hamburger-button:hover{background:var(--bg-glass-strong)}.hamburger-dropdown{background:var(--pill-bg);border:1px solid var(--pill-border);min-width:220px;box-shadow:var(--shadow-xl);z-index:var(--z-popover);border-radius:12px;padding:8px;position:absolute;top:calc(100% + 8px);left:0}.hamburger-item{align-items:center;gap:var(--space-3);width:100%;color:var(--pill-text);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;border-radius:8px;padding:10px 12px;display:flex}.hamburger-item:hover{background:var(--bg-glass-strong)}.hamburger-item.active{background:var(--color-blue-500);color:#fff}.hamburger-item:disabled{opacity:.5;cursor:not-allowed}.hamburger-project-name{border-bottom:1px solid var(--pill-border);flex-direction:column;gap:2px;margin-bottom:8px;padding:10px 12px;display:flex}.hamburger-project-name .project-label{font-size:var(--text-xs);color:var(--text-tertiary)}.hamburger-project-name .project-value{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--pill-text);align-items:center;gap:var(--space-2);display:flex}.hamburger-project-name .dirty-indicator{color:var(--color-amber-500);font-weight:var(--font-semibold)}.hamburger-divider{background:var(--pill-border);height:1px;margin:8px 0}.hamburger-submenu-container{position:relative}.hamburger-submenu-trigger{justify-content:flex-start}.hamburger-submenu-trigger .chevron{margin-left:auto}.hamburger-submenu{border-left:1px solid var(--pill-border);margin-top:4px;margin-left:12px;padding-left:12px}.toolbar-message{background:var(--pill-bg);border:1px solid var(--pill-border);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;display:flex;position:fixed;top:72px;left:50%;transform:translate(-50%)}.toolbar-message-type-row{justify-content:center;align-items:center;margin-bottom:2px;display:flex}.toolbar-message-type{background:var(--bg-glass-strong);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--pill-text);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.toolbar-message-type-color{border:1px solid #0003;border-radius:3px;flex-shrink:0;width:12px;height:12px}.toolbar-message-type-icon{font-size:14px;line-height:1}.toolbar-message-primary{font-size:var(--text-sm);color:var(--pill-text);font-weight:var(--font-medium)}.toolbar-message-secondary{font-size:var(--text-xs);color:var(--text-tertiary)}.toolbar-message-warning{color:var(--color-amber-500);font-size:var(--text-xs)}.user-menu{position:relative}.user-menu-button{color:var(--pill-text);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--transition-fast);background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.user-menu-button:hover{background:var(--bg-glass-strong)}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.user-menu-chevron{opacity:.6}.user-menu-dropdown{background:var(--pill-bg);border:1px solid var(--pill-border);min-width:200px;box-shadow:var(--shadow-xl);z-index:var(--z-popover);border-radius:12px;padding:8px;position:absolute;top:calc(100% + 8px);right:0}.user-menu-email{font-size:var(--text-xs);color:var(--text-tertiary);border-bottom:1px solid var(--pill-border);text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;padding:8px 12px;overflow:hidden}.user-menu-item{width:100%;color:var(--pill-text);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.user-menu-item:hover{background:var(--bg-glass-strong)}.toolbar-section{gap:var(--space-1);align-items:center;display:flex}.coordinates-section{justify-content:center;min-width:200px}.coordinates-display{padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);align-items:center;gap:var(--space-1);font-family:Monaco,Menlo,Consolas,monospace;font-size:var(--text-xs);background:#0000004d;border:1px solid #fff3;display:flex}.coordinates-value{color:var(--text-accent);font-weight:var(--font-medium)}.grid-interval-controls{gap:var(--space-2);margin-left:var(--space-2);display:flex}.grid-interval-input{align-items:center;gap:var(--space-1);display:flex}.grid-interval-input label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--font-medium);white-space:nowrap}.grid-interval-input input{width:50px;padding:var(--space-1);font-size:var(--text-xs);background:var(--bg-glass);border-radius:var(--radius-sm);color:var(--text-primary);text-align:center;border:1px solid #fff3}.grid-interval-input input:focus{border-color:var(--color-blue-500);background:var(--bg-glass-strong);outline:none}.main-container{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--bg-secondary);width:280px;color:var(--text-primary);padding:var(--space-4);border-right:1px solid var(--color-slate-700);overflow-y:auto}.workspace{background:var(--workspace-bg);flex:1;padding:200px;display:block;position:relative;overflow:hidden}.canvas-group-wrapper{display:inline-block;position:relative}#pdf-container{position:relative}#pdf-container canvas{box-shadow:var(--shadow-xl);display:block}#canvas-container{pointer-events:none;position:absolute;top:0;left:0}#canvas-container.drawing-mode{pointer-events:all}.form-group{margin-bottom:var(--space-4)}label{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);display:block}input,select{width:100%;padding:var(--space-3);border:1px solid var(--color-slate-600);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast)}input:focus,select:focus{border-color:var(--color-blue-500);outline:none;box-shadow:0 0 0 3px #3b82f61a}.file-input{display:none}.section-title{font-weight:var(--font-semibold);font-size:var(--text-sm);margin:var(--space-4)0 var(--space-2)0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-slate-600);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.masonry-item{padding:var(--space-2)0;cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);justify-content:space-between;display:flex}.masonry-item:hover{background-color:var(--bg-glass)}.takeoff-results{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid var(--color-slate-600)}.result-item{margin-bottom:var(--space-2);font-size:var(--text-sm);justify-content:space-between;display:flex}.status-message{background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary);padding:var(--space-3)var(--space-4);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:var(--text-sm);border:1px solid #ffffff1a;display:none;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--focus-ring: 0 0 0 3px rgba(59, 130, 246, .5)}[data-ui-root]{-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}[data-ui-root] input,[data-ui-root] textarea,[data-ui-root] select,[data-ui-root] [contenteditable=true],[data-ui-root] .selectable{-moz-user-select:text;user-select:text;-webkit-user-select:text}.noselect{-moz-user-select:none!important;user-select:none!important;-webkit-user-select:none!important;-ms-user-select:none!important}.selectable{-moz-user-select:text!important;user-select:text!important;-webkit-user-select:text!important}[data-ui-root] img{-webkit-user-drag:none;user-drag:none}[data-ui-root] .overlay{overscroll-behavior:contain}[data-ui-root] button,[data-ui-root] .toolbar,[data-ui-root] .sidebar,[data-ui-root] .menu,[data-ui-root] .controls,[data-ui-root] .panel{-moz-user-select:none;user-select:none;-webkit-user-select:none}[role=dialog]{-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}[role=dialog] input,[role=dialog] textarea,[role=dialog] select,[role=dialog] [contenteditable=true],[role=dialog] .selectable{-moz-user-select:text;user-select:text;-webkit-user-select:text}
