.new-project-modal-backdrop{z-index:1000;background:color-mix(in srgb, var(--text-primary) 24%, transparent);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.new-project-modal{border:1px solid var(--border-default);border-radius:var(--radius-group);background:var(--surface-primary);width:min(1120px,100vw - 48px);max-height:calc(100vh - 48px);color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.new-project-modal-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:13px 18px 13px 24px;display:flex}.new-project-modal-header .project-kicker{margin-bottom:3px}.new-project-modal-header strong{letter-spacing:-.015em;font-size:15px;font-weight:680}.new-project-modal-close{border-radius:var(--radius-control);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;font-size:22px;font-weight:400;line-height:1;display:grid}.new-project-modal-close:hover{border-color:var(--border-default);background:var(--surface-hover);color:var(--text-primary)}.new-project-modal-content{overscroll-behavior:contain;min-height:0;padding:24px 28px 28px;overflow:auto}.new-project-modal .new-project-progress{margin:0 0 24px}.new-project-modal .new-project-modal-intro{justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.new-project-modal .new-project-modal-intro .start-kind-switch{margin-bottom:0}.new-project-modal .new-project-modal-intro>p{color:var(--text-muted);margin:0;font-size:10px}.new-project-modal .preset-browser{gap:24px}.new-project-modal .preset-option{min-height:190px}.new-project-modal .preset-option-visual{height:76px}.new-project-modal .blank-source-option{min-height:210px}.new-project-modal .new-project-footer{margin-top:26px;padding-top:16px}.new-project-modal .project-details-layout{gap:34px}.new-project-modal .project-start-summary{position:static;top:auto}.new-project-modal .project-details-form{gap:22px}@media (width<=760px){.new-project-modal-backdrop{align-items:end;padding:12px}.new-project-modal{width:100%;max-height:calc(100vh - 24px)}.new-project-modal-header{padding-left:18px}.new-project-modal-content{padding:20px 18px 22px}.new-project-modal .new-project-modal-intro{flex-direction:column;align-items:flex-start;gap:10px}}:root{--surface-canvas:#f4f6f5;--surface-primary:#fff;--surface-secondary:#f8f9f8;--surface-hover:#f1f4f3;--border-subtle:#e1e5e3;--border-default:#d4dad7;--border-strong:#b8c2bd;--text-primary:#17262d;--text-secondary:#4f6067;--text-muted:#7d8b90;--text-disabled:#aab3b6;--brand:#007c6c;--brand-hover:#006b5d;--brand-soft:#e7f3f0;--selection:#168f84;--selection-soft:#dff2ef;--success:#20875e;--success-soft:#e7f4ed;--warning:#c78719;--warning-soft:#fbf2df;--danger:#c64b46;--danger-soft:#fae9e8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-control:4px;--radius-group:6px;--radius-floating:8px;--shadow-floating:0 8px 24px color-mix(in srgb, var(--text-primary) 10%, transparent);color:var(--text-primary);background:var(--surface-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}body{background:var(--surface-canvas)}button,input,select,textarea{font:inherit}button{color:inherit}button,input,select,summary{transition:border-color .11s,background-color .11s,color .11s}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--selection);outline-offset:2px}::selection{background:var(--selection-soft);color:var(--text-primary)}.app-shell{width:100%;height:100%;color:var(--text-primary);background:var(--surface-canvas);grid-template-rows:58px minmax(0,1fr);display:grid}.topbar{align-items:center;gap:var(--space-6);padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--surface-primary);grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);display:grid}.brand{align-items:center;gap:var(--space-2);display:flex}.brand-mark{border-radius:var(--radius-control);background:var(--brand);width:30px;height:30px;color:var(--surface-primary);place-items:center;font-size:13px;font-weight:750;display:grid}.brand div{gap:1px;display:grid}.brand strong{color:var(--text-primary);letter-spacing:.01em;font-size:14px}.brand span:last-child{color:var(--text-muted);font-size:10px}.workspace-nav,.stage-nav{align-self:stretch;align-items:stretch;display:flex}.workspace-nav button,.stage-nav button{align-items:center;gap:var(--space-2);min-width:120px;padding:0 var(--space-4);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;display:flex}.workspace-nav button:hover:not(:disabled),.stage-nav button:hover:not(:disabled){color:var(--brand-hover);background:var(--surface-hover)}.workspace-nav button.active,.stage-nav button.active{border-bottom-color:var(--brand);color:var(--brand)}.workspace-nav button span,.stage-nav button span{color:var(--text-muted);letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:9px;font-weight:700}.workspace-nav button svg{width:15px;height:15px}.workspace-nav button:disabled,.stage-nav button:disabled{color:var(--text-disabled);cursor:default}.status-pill{justify-self:end;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:11px;display:flex}.status-dot{background:var(--success);border-radius:50%;width:7px;height:7px}.status-pill.pending .status-dot{background:var(--warning)}.workspace{grid-template-columns:350px minmax(0,1fr);min-height:0;display:grid}.sidebar-shell,.control-panel{background:var(--surface-primary)}.sidebar-shell{border-right:1px solid var(--border-default);min-width:0}.control-panel{padding:var(--space-4) var(--space-4) var(--space-8);color:var(--text-primary);border:0;overflow:auto}.panel-header,.section-title,.material-card,.viewport-caption{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.panel-header h1{color:var(--text-primary);letter-spacing:-.02em;margin:2px 0 0;font-size:19px;font-weight:600}.eyebrow{color:var(--text-muted);letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:9px;font-weight:700}.text-button,.viewport-text-button{color:var(--brand);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:600}.text-button:hover,.viewport-text-button:hover{color:var(--brand-hover)}.segmented{margin:var(--space-4) 0;border:1px solid var(--border-subtle);border-radius:var(--radius-group);background:var(--surface-secondary);grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:grid}.segmented button{padding:7px var(--space-2);border-radius:var(--radius-control);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;font-size:11px}.segmented button:hover{background:var(--surface-hover);color:var(--brand-hover)}.segmented button.active{border-color:var(--border-default);background:var(--brand-soft);color:var(--brand)}.control-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.section-title{margin-bottom:var(--space-3)}.section-title h2{color:var(--text-primary);margin:0;font-size:12px;font-weight:600}.section-title span{color:var(--text-muted);font-size:10px}.control-row{gap:7px var(--space-3);grid-template-columns:1fr auto;padding:7px 0;display:grid}.control-label,.control-value{font-size:11px}.control-label{color:var(--text-secondary)}.control-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.control-row input[type=range]{cursor:ew-resize;grid-column:1/-1;width:100%}input[type=range],input[type=checkbox]{accent-color:var(--brand)}input[type=number],input[type=text],select,textarea{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-primary);color:var(--text-primary)}input[type=number]:hover,input[type=text]:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:disabled,select:disabled,button:disabled{color:var(--text-disabled)}.warning{margin:var(--space-2) 0 0;padding:var(--space-2);border:1px solid var(--warning);border-radius:var(--radius-control);background:var(--warning-soft);color:var(--warning);font-size:10px;line-height:1.45}.material-card{margin-top:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border-subtle)}.material-card div{gap:3px;display:grid}.material-card strong{color:var(--text-primary);font-size:11px;font-weight:600}.material-card>span{color:var(--text-muted);font-size:10px}.viewport-area{background:var(--surface-canvas);min-width:0;min-height:0;position:relative}.viewport-shell{position:absolute;inset:0}.viewport-caption{z-index:2;top:var(--space-3);left:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-group);background:var(--surface-primary);width:auto;box-shadow:var(--shadow-floating);pointer-events:none;padding:7px 9px;position:absolute}.viewport-caption div{gap:2px;display:grid}.viewport-caption strong{color:var(--text-primary);font-size:11px;font-weight:600}.viewport-caption .eyebrow{font-size:8px}.viewport-caption button{pointer-events:auto}@media (width<=900px){.topbar{grid-template-columns:1fr auto}.status-pill{display:none}.workspace{grid-template-columns:300px minmax(0,1fr)}}@media (width<=680px){.app-shell{height:auto;min-height:100%}.workspace{grid-template-columns:1fr}.sidebar-shell{border-right:0;border-bottom:1px solid var(--border-default)}.control-panel{max-height:none}.viewport-area{min-height:65vh}}.project-entry-shell{background:var(--surface-canvas);min-height:100%;color:var(--text-primary);overflow:auto}.project-entry-topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-primary) 96%, transparent);min-height:58px;padding:0 28px;display:flex;position:sticky;top:0}.project-entry-brand{align-items:baseline;gap:12px;display:flex}.project-entry-brand strong{letter-spacing:-.02em;font-size:15px;font-weight:720}.project-entry-brand span{color:var(--text-muted);font-size:11px}.project-entry-brand-button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.project-primary-action,.project-secondary-action,.project-topbar-cancel{border-radius:var(--radius-control);cursor:pointer;min-height:36px;font-size:12px;font-weight:650}.project-primary-action{border:1px solid var(--brand);background:var(--brand);color:#fff;justify-content:center;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.project-primary-action:hover:not(:disabled){border-color:var(--brand-hover);background:var(--brand-hover)}.project-primary-action:disabled{border-color:var(--border-default);background:var(--surface-secondary);color:var(--text-disabled);cursor:default}.project-primary-action-large{min-height:42px;padding:0 17px}.project-secondary-action,.project-topbar-cancel{border:1px solid var(--border-default);background:var(--surface-primary);color:var(--text-secondary);padding:0 13px}.project-secondary-action:hover,.project-topbar-cancel:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text-primary)}.project-dashboard,.new-project-page{width:min(1180px,100% - 48px);margin:0 auto}.project-dashboard{padding:76px 0 96px}.project-dashboard-heading{border-bottom:1px solid var(--border-default);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;padding-bottom:42px;display:grid}.project-kicker{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin:0 0 9px;font-size:10px;font-weight:750}.project-dashboard-heading h1,.new-project-heading h1{letter-spacing:-.045em;max-width:760px;margin:0;font-size:clamp(28px,3.2vw,42px);font-weight:590;line-height:1.06}.project-dashboard-heading p:last-child,.new-project-heading>p:last-child{max-width:720px;color:var(--text-secondary);margin:15px 0 0;font-size:13px;line-height:1.65}.project-list-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:28px 0 12px;display:flex}.project-list-heading strong{font-size:13px;font-weight:680}.project-list-heading span{color:var(--text-muted);font-size:11px}.project-row{border:1px solid var(--border-default);border-radius:var(--radius-group);background:var(--surface-primary);width:100%;color:inherit;text-align:left;cursor:pointer;grid-template-columns:110px minmax(180px,1fr) minmax(210px,.7fr) auto auto;align-items:center;gap:22px;padding:12px 15px 12px 12px;display:grid}.project-row:hover{border-color:var(--border-strong);background:color-mix(in srgb, var(--surface-primary) 86%, var(--brand-soft))}.project-row-preview{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-canvas);height:68px;display:block;position:relative;overflow:hidden}.project-row-preview i,.project-source-glyph i,.preset-option-visual i{border:1px solid color-mix(in srgb, var(--brand) 55%, var(--border-default));display:block;position:absolute}.project-row-preview-spline i{border-radius:50%;width:54px;height:18px;transform:rotate(-8deg)}.project-row-preview-spline i:first-child{top:15px;left:15px}.project-row-preview-spline i:nth-child(2){top:27px;left:28px;transform:rotate(3deg)scale(.88)}.project-row-preview-spline i:nth-child(3){top:38px;left:42px;transform:rotate(12deg)scale(.7)}.project-row-preview-surface i{width:28px;height:46px;top:10px;transform:skewY(-12deg)}.project-row-preview-surface i:first-child{left:18px}.project-row-preview-surface i:nth-child(2){top:13px;left:39px}.project-row-preview-surface i:nth-child(3){top:9px;left:60px}.project-row-main,.project-row-meta{gap:5px;min-width:0;display:grid}.project-row-main strong,.project-row-meta strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-row-main strong{font-size:13px}.project-row-meta strong{color:var(--text-secondary);font-size:11px;font-weight:600}.project-row-main small,.project-row-meta small{color:var(--text-muted);font-size:10px}.project-row-status{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.project-row-status i{background:var(--warning);border-radius:50%;width:6px;height:6px}.project-row-open{color:var(--brand);font-size:11px;font-weight:650}.project-empty-state{justify-items:start;max-width:560px;padding:46px 0;display:grid}.project-empty-mark{border:1px solid var(--border-default);background:var(--surface-primary);width:44px;height:44px;color:var(--brand);border-radius:50%;place-items:center;margin-bottom:18px;display:grid}.project-empty-state>strong{font-size:15px}.project-empty-state p{color:var(--text-secondary);margin:8px 0 18px;font-size:12px;line-height:1.6}.new-project-page{padding:38px 0 88px}.new-project-progress{color:var(--text-muted);grid-template-columns:auto 80px auto;justify-content:center;align-items:center;gap:10px;margin-bottom:54px;font-size:10px;font-weight:650;display:grid}.new-project-progress span{align-items:center;gap:7px;display:flex}.new-project-progress span i{border:1px solid var(--border-default);background:var(--surface-primary);border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;font-style:normal;display:grid}.new-project-progress span.active{color:var(--brand)}.new-project-progress span.active i{border-color:var(--brand);background:var(--brand-soft)}.new-project-progress span.done i{border-color:var(--success);color:var(--success)}.new-project-progress b{background:var(--border-default);height:1px}.new-project-heading{margin-bottom:30px}.new-project-heading h1{font-size:clamp(27px,3vw,38px)}.start-kind-switch{border:1px solid var(--border-default);border-radius:var(--radius-group);background:var(--surface-secondary);gap:2px;margin-bottom:28px;padding:3px;display:inline-flex}.start-kind-switch button{border-radius:var(--radius-control);min-height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:0 14px;font-size:11px;font-weight:620}.start-kind-switch button.active{background:var(--surface-primary);color:var(--brand);box-shadow:0 1px 2px color-mix(in srgb, var(--text-primary) 8%, transparent)}.blank-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.blank-source-option,.preset-option{border:1px solid var(--border-default);border-radius:var(--radius-group);background:var(--surface-primary);min-width:0;color:inherit;text-align:left;cursor:pointer;align-content:start;justify-items:start;display:grid;position:relative}.blank-source-option{min-height:245px;padding:26px}.blank-source-option:hover,.preset-option:hover,.blank-source-option.selected,.preset-option.selected{border-color:color-mix(in srgb, var(--brand) 64%, var(--border-default))}.blank-source-option.selected,.preset-option.selected{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 44%, transparent)}.blank-source-option strong{margin-top:22px;font-size:14px}.blank-source-option p,.preset-option p{color:var(--text-secondary);font-size:11px;line-height:1.55}.blank-source-option small,.preset-option small{color:var(--text-muted);font-size:9px}.project-source-glyph{width:92px;height:70px;display:block;position:relative}.project-source-glyph-spline i{border-radius:50%;width:64px;height:22px}.project-source-glyph-spline i:first-child{top:8px;left:3px;transform:rotate(-8deg)}.project-source-glyph-spline i:nth-child(2){top:25px;left:13px;transform:rotate(2deg)scale(.85)}.project-source-glyph-spline i:nth-child(3){top:41px;left:26px;transform:rotate(12deg)scale(.65)}.project-source-glyph-surface i{width:28px;height:50px;top:9px;transform:skewY(-10deg)}.project-source-glyph-surface i:first-child{left:7px}.project-source-glyph-surface i:nth-child(2){top:13px;left:29px}.project-source-glyph-surface i:nth-child(3){top:8px;left:51px}.preset-browser{gap:34px;display:grid}.preset-group{gap:12px;display:grid}.preset-group-heading{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.preset-group-heading strong{font-size:12px}.preset-group-heading span{color:var(--text-muted);font-size:10px}.preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.preset-grid-surface{grid-template-columns:repeat(5,minmax(0,1fr))}.preset-option{min-height:218px;padding:12px}.preset-option-visual{border-bottom:1px solid var(--border-subtle);background:var(--surface-canvas);width:100%;height:88px;margin-bottom:13px;position:relative;overflow:hidden}.preset-option-visual-spline i{border-radius:50%;width:62%;height:24px;left:17%}.preset-option-visual-spline i:first-child{top:13px;transform:rotate(-8deg)}.preset-option-visual-spline i:nth-child(2){top:28px;left:22%;transform:rotate(-2deg)scale(.9)}.preset-option-visual-spline i:nth-child(3){top:43px;left:27%;transform:rotate(6deg)scale(.76)}.preset-option-visual-spline i:nth-child(4){top:58px;left:33%;transform:rotate(12deg)scale(.6)}.preset-option-visual-surface i{width:20%;height:62px;top:11px;transform:skewY(-12deg)}.preset-option-visual-surface i:first-child{left:8%}.preset-option-visual-surface i:nth-child(2){top:15px;left:29%}.preset-option-visual-surface i:nth-child(3){top:9px;left:50%}.preset-option-visual-surface i:nth-child(4){top:14px;left:71%}.preset-option>strong{font-size:12px}.preset-option p{min-height:50px;margin:7px 0 9px}.new-project-footer{justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--border-default);margin-top:34px;padding-top:20px;display:flex}.project-details-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:48px;display:grid}.project-start-summary{border-right:1px solid var(--border-default);padding:0 28px 28px 0;position:sticky;top:94px}.project-start-summary .project-source-glyph{margin-bottom:18px}.project-start-summary>strong{font-size:14px;display:block}.project-start-summary>p:not(.project-kicker){color:var(--text-secondary);margin:8px 0 16px;font-size:11px;line-height:1.55}.project-start-summary button{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:650}.project-details-form{gap:30px;display:grid}.project-form-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.project-form-section-heading{border-bottom:1px solid var(--border-subtle);grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:8px;display:flex}.project-form-section-heading strong{font-size:12px}.project-form-section-heading span{color:var(--text-muted);font-size:9px}.project-field{color:var(--text-secondary);gap:7px;font-size:10px;font-weight:620;display:grid}.project-field-wide{grid-column:1/-1}.project-field input,.project-field select{width:100%;min-height:38px;padding:0 10px;font-size:12px;font-weight:500}.project-field-pair,.project-dimension-grid{grid-column:1/-1;gap:10px;display:grid}.project-field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.project-dimension-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-number-input{display:block;position:relative}.project-number-input input{font-variant-numeric:tabular-nums;padding-right:42px}.project-number-input small{color:var(--text-muted);text-transform:uppercase;pointer-events:none;font-size:9px;font-weight:650;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.project-inline-note{color:var(--text-muted);grid-column:1/-1;margin:-2px 0 0;font-size:10px;line-height:1.5}.project-create-action{min-width:132px}.editor-project-identity{align-items:center;gap:9px;min-width:0;display:flex}.editor-project-home{color:var(--text-primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:720}.editor-project-divider{color:var(--border-strong)}.editor-project-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.editor-project-context{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;margin-left:auto;font-size:9px;display:flex}.editor-project-context i{background:var(--border-default);width:1px;height:12px}@media (width<=1050px){.preset-grid,.preset-grid-surface{grid-template-columns:repeat(3,minmax(0,1fr))}.project-row{grid-template-columns:90px minmax(160px,1fr) auto auto}.project-row-meta{display:none}}@media (width<=760px){.project-entry-topbar{padding:0 16px}.project-dashboard,.new-project-page{width:min(100% - 28px,1180px)}.project-dashboard{padding-top:42px}.project-dashboard-heading{grid-template-columns:1fr;gap:24px}.blank-source-grid,.project-details-layout{grid-template-columns:1fr}.preset-grid,.preset-grid-surface{grid-template-columns:repeat(2,minmax(0,1fr))}.project-start-summary{border-right:0;border-bottom:1px solid var(--border-default);padding:0 0 22px;position:static}.project-row{grid-template-columns:72px minmax(0,1fr) auto;gap:12px}.project-row-status{display:none}.project-row-open{font-size:0}.project-row-open:after{content:"→";font-size:13px}.new-project-progress{grid-template-columns:auto 36px auto;margin-bottom:38px}}@media (width<=520px){.preset-grid,.preset-grid-surface,.project-field-pair,.project-dimension-grid,.project-form-section{grid-template-columns:1fr}.project-field-wide,.project-form-section-heading,.project-field-pair,.project-dimension-grid,.project-inline-note{grid-column:1}.project-entry-brand span{display:none}}.project-dashboard-top-actions{align-items:center;gap:8px;display:flex}.project-storage-error{border:1px solid color-mix(in srgb, var(--danger) 38%, var(--border-default));border-radius:var(--radius-control);background:var(--danger-soft);color:var(--danger);margin:18px 0 0;padding:10px 12px;font-size:11px}.project-dashboard-heading-cards{grid-template-columns:minmax(0,1fr);max-width:820px;padding-bottom:36px}.project-card-list-heading{padding-top:30px;padding-bottom:14px}.project-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:16px;display:grid}.project-card{aspect-ratio:4/3;border:1px solid var(--border-default);border-radius:var(--radius-group);background:var(--surface-primary);width:100%;min-width:0;color:inherit;text-align:left;position:relative;overflow:hidden}.project-card-new{background:color-mix(in srgb, var(--surface-secondary) 88%, var(--surface-canvas));color:var(--text-muted);cursor:pointer;border-style:dashed;align-content:center;justify-items:center;gap:10px;padding:32px;display:grid}.project-card-new:hover,.project-card-new:focus-visible{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text-primary)}.project-card-new-icon{width:52px;height:52px;color:var(--text-muted);place-items:center;display:grid}.project-card-new:hover .project-card-new-icon,.project-card-new:focus-visible .project-card-new-icon{color:var(--brand)}.project-card-new strong{font-size:13px;font-weight:650}.project-card-saved{cursor:pointer;padding:0}.project-card-saved:hover,.project-card-saved:focus-visible{border-color:var(--border-strong)}.project-card-saved:disabled{cursor:progress}.project-card-preview{background:var(--surface-canvas);display:block;position:absolute;inset:0;overflow:hidden}.project-card-preview img{object-fit:cover;width:100%;height:100%;display:block}.project-card-preview-pending{background:color-mix(in srgb, var(--surface-secondary) 76%, var(--surface-canvas));position:absolute;inset:0}.project-card-hover-name{z-index:2;background:color-mix(in srgb, var(--surface-primary) 92%, transparent);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none;padding:12px 14px;font-size:12px;font-weight:680;transition:opacity .12s,transform .12s;position:absolute;top:0;left:0;right:0;overflow:hidden;transform:translateY(-4px)}.project-card-saved:hover .project-card-hover-name,.project-card-saved:focus-visible .project-card-hover-name,.project-card-saved:disabled .project-card-hover-name{opacity:1;transform:translateY(0)}.project-dashboard code{font-family:inherit;font-size:.94em;font-weight:650}@media (width<=780px){.project-entry-topbar,.project-dashboard-heading,.project-list-heading{align-items:stretch}.project-dashboard-top-actions{flex-wrap:wrap;justify-content:flex-end}.project-card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (width<=520px){.project-card-grid{grid-template-columns:1fr}}.spline-source-panel>.panel-collapsible:first-child,.surface-source-panel>.panel-collapsible:first-child{display:none}.fablab-shell{background:var(--surface-primary)}.product-topbar{grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);height:58px}.fablab-shell .brand strong{font-size:15px}.fablab-shell .brand span:last-child{color:var(--text-secondary);font-size:12px}.fablab-shell .status-pill{font-size:12px}.fablab-shell .status-pill.pending{opacity:.68}.topbar-actions{justify-self:end;align-items:center;gap:14px;display:flex}.topbar-export-button{border:1px solid var(--brand);background:var(--brand-soft);min-width:112px;color:var(--brand);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:0 11px;font-size:12px;font-weight:700;display:flex}.topbar-export-button small{background:var(--surface-primary);color:var(--text-muted);letter-spacing:.06em;border-radius:4px;margin-left:auto;padding:2px 4px;font-size:8px;font-weight:750}.topbar-export-button:hover:not(:disabled){border-color:var(--brand-hover);background:var(--brand);color:var(--surface-primary)}.topbar-export-button:disabled{opacity:.38;cursor:default}.workspace-nav{align-self:stretch;align-items:stretch;gap:2px;display:flex}.workspace-nav button{min-width:132px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:9px;padding:0 22px;display:flex}.workspace-nav button span{color:var(--text-muted);letter-spacing:.08em;font-size:10px;font-weight:700}.workspace-nav button strong{font-size:14px;font-weight:650}.workspace-nav button.active{border-bottom-color:var(--brand);color:var(--brand);background:var(--surface-hover)}.workspace-nav button:disabled{opacity:.34;cursor:default}.product-workspace{grid-template-columns:390px minmax(0,1fr)}.fablab-shell .control-panel{padding:24px 22px 34px}.fablab-shell .control-panel>.segmented-three{display:none}.fablab-shell .panel-header h1{font-size:22px}.fablab-shell .eyebrow{letter-spacing:.11em;font-size:10px}.fablab-shell .section-title h2{font-size:13px}.fablab-shell .section-title span{font-size:11px}.fablab-shell .control-label,.fablab-shell .control-value,.fablab-shell .select-row>span,.fablab-shell .number-row>span{font-size:12px}.fablab-shell .helper-text,.fablab-shell .solver-note{color:var(--text-secondary);font-size:11px;line-height:1.5}.fablab-shell .warning{font-size:11px}.fablab-shell select,.fablab-shell input[type=number],.fablab-shell input[type=text]{min-height:34px;font-size:12px}.fablab-shell button{min-height:32px}.design-view-switcher{z-index:8;border:1px solid var(--border-default);background:var(--surface-primary);box-shadow:var(--shadow-floating);border-radius:8px;gap:4px;padding:4px;display:flex;position:absolute;top:58px;left:18px}.design-view-switcher button{min-height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 12px;font-size:12px}.design-view-switcher button.active{background:var(--brand-soft);color:var(--brand)}.fabricate-panel{scrollbar-width:thin}.fabricate-intro{color:var(--text-secondary);margin:12px 0 4px;font-size:12px;line-height:1.55}.live-badge{border:1px solid var(--success);border-radius:var(--radius-control);color:var(--success);letter-spacing:.1em;padding:5px 8px;font-size:9px;font-weight:800}.live-badge.working{border-color:var(--warning);color:var(--warning)}.fabricate-segmented{border:1px solid var(--border-default);border-radius:var(--radius-floating);background:var(--surface-secondary);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.fabricate-segmented.compact{margin:8px 0 10px}.fabricate-segmented button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 8px;font-size:12px}.fabricate-segmented button.active{background:var(--brand-soft);color:var(--brand)}.fabricate-range{gap:7px;padding:8px 0;display:grid}.fabricate-range>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.fabricate-range span{color:var(--text-secondary);font-size:12px}.fabricate-range strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.fabricate-range input{width:100%;accent-color:var(--brand)}.fabricate-check{justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.fabricate-check>span{gap:3px;display:grid}.fabricate-check strong{color:var(--text-primary);font-size:12px}.fabricate-check small{color:var(--text-muted);font-size:10px}.fabricate-check input{width:16px;height:16px;accent-color:var(--brand)}.fabricate-number-grid{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;display:grid}.fabricate-number-grid label{color:var(--text-secondary);gap:4px;font-size:10px;display:grid}.fabricate-number-grid input{border:1px solid var(--border-strong);background:var(--surface-primary);width:100%;color:var(--text-primary);border-radius:6px;padding:6px 8px}.fabricate-live-summary{grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0 10px;display:grid}.fabricate-live-summary span{border:1px solid var(--border-default);background:var(--surface-canvas);color:var(--text-muted);border-radius:8px;gap:3px;padding:10px;font-size:10px;display:grid}.fabricate-live-summary strong{color:var(--text-primary);font-size:15px;font-weight:650}.fabricate-export-drawer{border-top:1px solid var(--border-default);margin-top:12px}.fabricate-export-drawer>summary{color:var(--brand);cursor:pointer;padding:14px 0;font-size:12px;font-weight:650}.fabricate-export-drawer .export-panel{background:0 0;border:0;padding:0;overflow:visible}.fabricate-export-drawer .export-panel>.panel-header,.fabricate-export-drawer .export-panel>.fabrication-checks{display:none}.fabricate-export-drawer .export-summary-card{margin-top:0}.fabricate-export-drawer .export-action{font-size:11px}.fabricate-area{overflow:hidden}.fabricate-workspace{background:var(--surface-primary);grid-template-columns:minmax(0,1.32fr) minmax(360px,.78fr);display:grid;position:absolute;inset:0}.fabricate-model-pane,.fabricate-layout-pane{min-width:0;min-height:0}.fabricate-model-pane{border-right:1px solid var(--border-default);grid-template-rows:48px minmax(0,1fr) 42px;display:grid}.fabricate-view-toolbar{border-bottom:1px solid var(--border-default);background:var(--surface-secondary);justify-content:space-between;align-items:center;gap:12px;padding:0 14px;display:flex}.fabricate-view-tabs{align-self:stretch;display:flex}.fabricate-view-tabs button{min-width:92px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;font-size:12px}.fabricate-view-tabs button.active{border-bottom-color:var(--brand);color:var(--border-default)}.ghost-toggle{color:var(--text-secondary);align-items:center;gap:7px;font-size:11px;display:flex}.ghost-toggle input{accent-color:var(--brand)}.fabricate-model-content{min-height:0;position:relative;overflow:hidden}.fabrication-assembly-viewport{position:absolute;inset:0}.fabricate-model-status{border-top:1px solid var(--border-default);background:var(--surface-secondary);align-items:center;gap:18px;padding:0 14px;display:flex}.fabricate-model-status span{color:var(--text-muted);font-size:10px}.fabricate-model-status strong{color:var(--text-primary);margin-left:4px;font-size:11px}.fabricate-layout-pane{background:var(--surface-secondary);grid-template-rows:62px minmax(0,1fr);display:grid}.fabricate-layout-pane>header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:14px;padding:0 14px;display:flex}.fabricate-layout-pane>header>div{gap:3px;display:grid}.fabricate-layout-pane>header span{color:var(--brand);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.fabricate-layout-pane>header strong{color:var(--text-primary);font-size:13px}.fabricate-layout-pane>header small{max-width:190px;color:var(--text-muted);text-align:right;font-size:10px;line-height:1.35}.fabricate-layout-content{min-height:0;position:relative;overflow:hidden}.fabricate-layout-content .nest-workspace{position:absolute;inset:0}.fabrication-empty{width:100%;height:100%;color:var(--text-muted);text-align:center;place-content:center;gap:7px;padding:30px;display:grid}.fabrication-empty strong{color:var(--text-secondary);font-size:14px}.fabrication-empty span{max-width:360px;font-size:11px;line-height:1.5}.fabrication-section-browser{background:var(--surface-primary);grid-template-rows:54px minmax(0,1fr);width:100%;height:100%;display:grid}.fabrication-browser-toolbar{border-bottom:1px solid var(--border-default);background:var(--surface-secondary);justify-content:space-between;align-items:center;gap:14px;padding:0 14px;display:flex}.fabrication-browser-toolbar>div:first-child{gap:2px;display:grid}.fabrication-browser-toolbar span{color:var(--brand);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.fabrication-browser-toolbar strong{color:var(--text-primary);font-size:12px}.fabrication-toolbar-actions{gap:8px;display:flex}.mini-segmented{border:1px solid var(--border-default);background:var(--surface-secondary);border-radius:7px;gap:2px;padding:3px;display:flex}.mini-segmented button{min-width:44px;min-height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0 8px;font-size:10px}.mini-segmented button.active{background:var(--brand-soft);color:var(--brand)}.section-thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));align-content:start;gap:9px;padding:14px;display:grid;overflow:auto}.section-thumbnail-grid>button{border:1px solid var(--border-default);background:var(--surface-secondary);min-height:130px;color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:1fr auto;gap:3px 8px;padding:8px;display:grid}.section-thumbnail-grid>button:hover,.section-thumbnail-grid>button.active{border-color:var(--selection);background:var(--selection-soft)}.section-thumb-canvas{grid-column:1/-1;min-height:90px;overflow:hidden}.section-thumb-canvas svg{width:100%;height:90px}.section-thumbnail-grid span{color:var(--text-primary);font-size:11px;font-weight:650}.section-thumbnail-grid small{color:var(--text-muted);font-size:9px}.fabrication-section-shape{fill:var(--selection-soft);fill-opacity:.88;stroke:var(--selection);stroke-width:.7px;vector-effect:non-scaling-stroke}.fabrication-section-pocket{fill:none;stroke:var(--selection-soft);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.fabrication-section-svg-label{fill:var(--text-muted);font-size:10px}.single-section-view{grid-template-rows:52px minmax(0,1fr) 42px;min-height:0;display:grid}.single-section-nav{border-bottom:1px solid var(--border-default);grid-template-columns:38px 1fr 38px;align-items:center;gap:10px;padding:0 14px;display:grid}.single-section-nav button{border:1px solid var(--border-default);background:var(--surface-secondary);color:var(--text-secondary);cursor:pointer;border-radius:6px}.single-section-nav button:disabled{opacity:.3}.single-section-nav>div{justify-content:center;align-items:baseline;gap:10px;display:flex}.single-section-nav strong{color:var(--text-primary);font-size:13px}.single-section-nav span{color:var(--text-muted);font-size:10px}.single-section-canvas{min-height:0;padding:16px}.single-section-canvas svg{width:100%;height:100%}.single-section-view footer{border-top:1px solid var(--border-default);align-items:center;gap:16px;padding:0 14px;display:flex}.single-section-view footer span{color:var(--text-muted);font-size:10px}.single-section-view footer strong{color:var(--text-primary);margin-left:4px}@media (width<=1180px){.product-workspace{grid-template-columns:350px minmax(0,1fr)}.fabricate-workspace{grid-template-columns:minmax(0,1fr) 42%}}@media (width<=900px){.product-topbar{grid-template-columns:1fr auto}.product-topbar .status-pill{display:none}.product-workspace{grid-template-columns:320px minmax(0,1fr)}.fabricate-workspace{grid-template-rows:55% 45%;grid-template-columns:1fr}.fabricate-model-pane{border-right:0;border-bottom:1px solid var(--border-default)}}.fablab-shell .panel-collapsible{border-top:1px solid var(--border-default);padding:0}.fablab-shell .panel-collapsible:last-of-type{border-bottom:1px solid var(--border-default)}.fablab-shell .panel-collapsible-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:11px 2px;list-style:none;display:flex}.fablab-shell .panel-collapsible-summary::-webkit-details-marker{display:none}.fablab-shell .panel-collapsible-summary>div{justify-content:space-between;align-items:baseline;gap:12px;width:100%;min-width:0;display:flex}.fablab-shell .panel-collapsible-summary h2{color:var(--text-primary);margin:0;font-size:14px;font-weight:650;line-height:1.2}.fablab-shell .panel-collapsible-summary>div>span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;line-height:1.25;overflow:hidden}.fablab-shell .panel-collapse-chevron{color:var(--brand);flex:none;font-size:17px;line-height:1;transition:transform .12s}.fablab-shell .panel-collapsible[open] .panel-collapse-chevron{transform:rotate(180deg)}.fablab-shell .panel-collapsible-body{padding:3px 0 15px}.fablab-shell .panel-collapsible-body>:first-child{margin-top:0}.fablab-shell .panel-collapsible-body>:last-child{margin-bottom:0}.fablab-shell .design-field-card{margin:7px 0}.fablab-shell .design-field-card .loft-modifier-actions{grid-template-columns:30px}.fablab-shell .design-field-card .loft-modifier-header{grid-template-columns:minmax(0,1fr) 34px 34px}.fablab-shell .panel-collapsible .select-row>span,.fablab-shell .panel-collapsible .fabricate-range span,.fablab-shell .panel-collapsible .fabricate-range strong,.fablab-shell .panel-collapsible .control-label,.fablab-shell .panel-collapsible .control-value{font-size:13px}.fablab-shell .panel-collapsible select,.fablab-shell .panel-collapsible input[type=number]{min-height:38px;font-size:13px}.fablab-shell .panel-collapsible .fabricate-check strong{font-size:13px}.fablab-shell .panel-collapsible .fabricate-check small,.fablab-shell .panel-collapsible .helper-text,.fablab-shell .panel-collapsible .solver-note,.fablab-shell .panel-collapsible .warning{font-size:12px;line-height:1.45}.segmented-three{grid-template-columns:repeat(3,1fr)}.modifier-card{border:1px solid var(--border-default);border-radius:var(--radius-floating);background:var(--surface-canvas);margin:9px 0;padding:10px 10px 6px;transition:opacity .12s,border-color .12s}.modifier-card:hover{border-color:var(--selection)}.modifier-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.enable-toggle{min-width:0;color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-size:10px;font-weight:620;display:flex}.enable-toggle input{width:12px;height:12px;accent-color:var(--brand);margin:0}.icon-button,.add-button,.rib-stepper button{border:1px solid var(--border-default);background:var(--surface-secondary);color:var(--text-secondary);cursor:pointer}.icon-button{border-radius:6px;place-items:center;width:22px;height:22px;font-size:15px;line-height:1;display:grid}.icon-button:hover,.add-button:hover,.rib-stepper button:hover:not(:disabled){border-color:var(--selection);color:var(--selection)}.add-button{text-align:left;border-style:dashed;border-radius:8px;width:100%;margin-top:7px;padding:8px 10px;font-size:9px}.select-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;font-size:10px;display:flex}.select-row select{border:1px solid var(--border-default);background:var(--surface-canvas);min-width:110px;color:var(--text-primary);border-radius:6px;outline:none;padding:5px 8px;font-size:9px}.section-inspector{border:1px solid var(--border-subtle);border-radius:var(--radius-floating);background:var(--surface-secondary);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;inset:58px 22px 22px;overflow:hidden}.inspector-toolbar,.inspector-metrics{background:var(--surface-primary);justify-content:space-between;align-items:center;gap:18px;padding:13px 15px;display:flex}.inspector-toolbar{border-bottom:1px solid var(--border-subtle)}.inspector-toolbar>div:first-child{align-items:baseline;gap:10px;display:flex}.inspector-toolbar strong{color:var(--selection);font-variant-numeric:tabular-nums;font-size:13px}.inspector-toolbar span,.inspector-metrics span,.rib-stepper span{color:var(--text-muted);font-size:9px}.rib-stepper{align-items:center;gap:8px;display:flex}.rib-stepper button{border-radius:6px;width:28px;height:26px}.rib-stepper button:disabled{opacity:.3;cursor:default}.section-canvas{background-image:linear-gradient(var(--surface-secondary) 1px, transparent 1px), linear-gradient(90deg, var(--surface-secondary) 1px, transparent 1px);background-size:28px 28px;min-height:0;padding:18px}.section-canvas svg{width:100%;height:100%;overflow:visible}.section-shape{fill:var(--selection-soft);stroke:var(--selection);stroke-width:2px;vector-effect:non-scaling-stroke}.datum-line{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:7 7;vector-effect:non-scaling-stroke}.section-label{fill:var(--surface-secondary);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:18px}.inspector-metrics{border-top:1px solid var(--border-subtle);justify-content:flex-start}.inspector-metrics strong{color:var(--text-primary);font-variant-numeric:tabular-nums;margin-left:4px;font-weight:600}@media (width<=680px){.section-inspector{min-height:58vh;margin:58px 12px 12px;position:relative;inset:auto}.inspector-toolbar,.inspector-metrics{flex-wrap:wrap;align-items:flex-start}}.sidebar-shell{border-right:1px solid var(--border-subtle);background:var(--surface-primary);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.sidebar-shell.single-panel{grid-template-rows:minmax(0,1fr)}.sidebar-shell .control-panel{border-right:0;min-height:0}.source-switcher{border-bottom:1px solid var(--border-subtle);background:var(--surface-primary);padding:12px 18px 0}.source-switcher>span{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-size:8px;font-weight:700;display:block}.source-segmented{margin:0 0 12px}.import-intro>p{color:var(--text-muted);margin:0 0 12px;font-size:10px;line-height:1.55}.import-unit-row{padding-top:0}.file-drop{border:1px dashed var(--border-default);border-radius:var(--radius-floating);background:var(--surface-secondary);color:var(--text-secondary);cursor:pointer;text-align:center;gap:5px;margin-top:10px;padding:22px 14px;display:grid}.file-drop:hover{border-color:var(--danger);background:var(--brand-soft)}.file-drop.loading{opacity:.6;cursor:progress}.file-drop input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-drop strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.file-drop span{color:var(--text-muted);letter-spacing:.05em;font-size:8px}.health-ok{color:var(--success)!important}.health-bad{color:var(--danger)!important}.metric-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.metric-grid>span,.dimension-list>span{border:1px solid var(--border-default);background:var(--surface-secondary);color:var(--text-muted);border-radius:7px;gap:4px;padding:9px;font-size:8px;display:grid}.metric-grid strong,.dimension-list strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:10px;font-weight:620}.health-issue{border-radius:7px;margin:7px 0 0;padding:8px 9px;font-size:9px;line-height:1.45}.health-issue.warning{border:1px solid var(--selection);background:var(--brand-soft);color:var(--brand)}.health-issue.error{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger)}.dimension-list{gap:6px;display:grid}.import-gate{border:1px solid var(--border-default);border-radius:var(--radius-floating);gap:5px;margin-top:18px;padding:11px 12px;display:grid}.import-gate.ready{border-color:var(--success);background:var(--success-soft)}.import-gate.blocked{border-color:var(--danger);background:var(--danger-soft)}.import-gate strong{color:var(--text-primary);font-size:10px}.import-gate span{color:var(--text-muted);font-size:9px;line-height:1.45}@media (width<=680px){.sidebar-shell{border-right:0}}.kernel-badge{border:1px solid var(--success);border-radius:var(--radius-control);background:var(--success-soft);color:var(--success);letter-spacing:.04em;padding:5px 7px;font-size:8px;font-weight:650}.axis-selector{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.axis-selector button{border:1px solid var(--border-default);background:var(--surface-secondary);color:var(--text-muted);cursor:pointer;border-radius:7px;padding:9px;font-size:10px;font-weight:650}.axis-selector button.active{border-color:var(--selection);background:var(--selection-soft);color:var(--selection)}.fabricate-panel .axis-selector:has(button:nth-child(4)) button:first-child{grid-column:1/-1}.fabricate-section-note{color:var(--text-secondary);margin:8px 0 2px;font-size:10px;line-height:1.45}.helper-text{color:var(--text-muted);margin:8px 0 0;font-size:9px;line-height:1.45}.primary-action{border:1px solid var(--selection);background:var(--selection-soft);width:100%;color:var(--brand);cursor:pointer;border-radius:8px;margin-top:18px;padding:10px 12px;font-size:10px;font-weight:650}.primary-action:hover:not(:disabled){background:var(--selection-soft)}.primary-action:disabled{border-color:var(--border-default);background:var(--surface-hover);color:var(--text-muted);cursor:default}.slice-workspace-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;display:grid;position:absolute;inset:58px 18px 18px}.slice-pane{border:1px solid var(--border-subtle);border-radius:var(--radius-floating);background:var(--surface-canvas);min-width:0;min-height:0;position:relative;overflow:hidden}.slice-3d-pane .viewport-shell{inset:0}.pane-caption{z-index:3;pointer-events:none;gap:4px;display:grid;position:absolute;top:11px;left:12px}.pane-caption span{color:var(--text-muted);font-size:9px}.slice-2d-pane .section-inspector{border:0;border-radius:0;inset:0}.section-axis-line{stroke:var(--border-default);stroke-width:1px;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.generic-section-inspector .section-shape{fill:var(--selection-soft);stroke:var(--selection);stroke-width:1.5px}.generic-section-inspector .section-label{text-anchor:middle;dominant-baseline:central}.slice-empty-state{text-align:center;place-content:center;gap:7px;padding:30px;display:grid;position:absolute;inset:0}.slice-empty-state strong{color:var(--text-primary);font-size:13px;font-weight:580}.slice-empty-state span{max-width:280px;color:var(--text-muted);font-size:9px;line-height:1.55}.stage-nav button:not(:disabled){cursor:pointer}.stage-nav button:not(:disabled):hover{color:var(--text-primary)}@media (width<=1050px){.slice-workspace-grid{grid-template-rows:minmax(240px,.75fr) minmax(320px,1fr);grid-template-columns:1fr;overflow:auto}}@media (width<=680px){.slice-workspace-grid{min-height:100vh;margin:58px 12px 12px;position:relative;inset:auto}.slice-2d-pane .section-inspector{min-height:0;margin:0;position:absolute}}.gate-action,.continue-action{border:1px solid var(--success);background:var(--success-soft);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:7px;margin-top:8px;padding:8px 10px;font-size:9px;font-weight:650}.continue-action{width:100%;margin-top:14px}.gate-action:hover,.continue-action:hover{border-color:var(--success);background:var(--success-soft)}.procedural-slice-gate{z-index:4;border:1px solid var(--border-default);border-radius:var(--radius-floating);background:var(--surface-primary);min-width:300px;box-shadow:var(--shadow-floating);grid-template-columns:1fr auto;gap:3px 12px;padding:10px 11px;display:grid;position:absolute;top:74px;right:18px}.procedural-slice-gate>div{gap:3px;display:grid}.procedural-slice-gate span{color:var(--text-muted);font-size:8px}.procedural-slice-gate strong{color:var(--text-primary);font-size:9px;font-weight:590}.procedural-slice-gate button{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger);cursor:pointer;border-radius:7px;grid-area:1/2/span 1;align-self:center;padding:8px 10px;font-size:9px;font-weight:650}.procedural-slice-gate button:disabled{opacity:.55;cursor:progress}.procedural-slice-gate>p{color:var(--danger);grid-column:1/-1;margin:6px 0 0;font-size:8px}.viewport-empty{border:1px dashed var(--border-default);border-radius:var(--radius-floating);color:var(--text-muted);place-items:center;font-size:10px;display:grid;position:absolute;inset:58px 18px 18px}.source-label{border:1px solid var(--border-subtle);background:var(--surface-secondary);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:7px;margin:-2px 0 14px;padding:8px 9px;font-size:8px;overflow:hidden}@media (width<=680px){.procedural-slice-gate{min-width:0;top:68px;left:12px;right:12px}}.source-segmented-three{grid-template-columns:repeat(3,1fr)}.loft-source-panel{border-right:0}.loft-source-health{border:1px solid var(--success);background:var(--success-soft);border-radius:8px;gap:4px;margin:18px 0 12px;padding:10px;display:grid}.loft-source-health span,.loft-source-health small{color:var(--text-secondary);line-height:1.45}.loft-source-health strong{color:var(--text-secondary);font-weight:620}.loft-source-health.invalid{border-color:var(--danger);background:var(--danger-soft)}.loft-source-health.invalid span,.loft-source-health.invalid small,.loft-source-health.invalid strong{color:var(--danger)}.viewport-area>.loft-viewport{position:absolute;inset:0}@media (width<=680px){.source-segmented-three{grid-template-columns:repeat(3,minmax(0,1fr))}.viewport-area>.loft-viewport{position:absolute}}.modifier-stack{gap:8px;display:grid}.modifier-list{gap:6px;display:grid}.modifier-card{border:1px solid var(--border-default);background:var(--surface-canvas);border-radius:8px;overflow:hidden}.modifier-card.disabled{opacity:.56}.modifier-card>header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;display:flex}.modifier-card.disabled>header{border-bottom:0}.modifier-card>header>label{cursor:pointer;align-items:center;gap:7px;min-width:0;display:flex}.modifier-card>header input{width:13px;height:13px;accent-color:var(--brand)}.modifier-card>header span{gap:1px;min-width:0;display:grid}.modifier-card>header strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:650;overflow:hidden}.modifier-card>header small{color:var(--text-muted);font-size:7px}.modifier-actions{gap:3px;display:flex}.modifier-actions button{border:1px solid var(--border-default);background:var(--surface-secondary);width:22px;height:22px;color:var(--text-muted);cursor:pointer;border-radius:5px;place-items:center;padding:0;font-size:9px;display:grid}.modifier-actions button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.modifier-actions button:disabled{opacity:.28;cursor:default}.modifier-fields{gap:1px;padding:5px 8px 8px;display:grid}.modifier-influence-fields{border-top:1px solid var(--border-subtle);gap:1px;margin:0 8px 8px;padding-top:7px;display:grid}.modifier-influence-title{color:var(--brand);letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;font-size:7px;font-weight:650}.modifier-slider{gap:4px;padding:5px 0;display:grid}.modifier-slider>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.modifier-slider span,.modifier-select>span{color:var(--text-muted);font-size:8px}.modifier-slider strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:8px;font-weight:580}.modifier-slider input{width:100%;accent-color:var(--brand)}.modifier-select{justify-content:space-between;align-items:center;gap:8px;padding:4px 0 6px;display:flex}.modifier-select select{border:1px solid var(--border-default);background:var(--surface-secondary);min-width:130px;color:var(--surface-secondary);border-radius:6px;padding:5px 6px;font-size:8px}.modifier-add-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.modifier-add-grid button{border:1px dashed var(--surface-secondary);background:var(--surface-secondary);color:var(--brand-soft);cursor:pointer;text-align:left;border-radius:6px;padding:6px 7px;font-size:7px}.modifier-add-grid button:hover{border-style:solid;border-color:var(--brand);color:var(--brand)}.modifier-stack.compact .modifier-fields{padding-bottom:6px}.modifier-stack.compact .modifier-add-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.modifier-stack.compact .modifier-add-grid button{padding:5px;font-size:6.5px}.loft-document-name{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;display:grid}.loft-document-name span{color:var(--text-muted);font-size:8px}.loft-document-name input{border:1px solid var(--border-default);background:var(--surface-primary);width:100%;color:var(--surface-secondary);border-radius:6px;outline:0;padding:6px 7px;font-size:9px}.loft-document-name input:focus{border-color:var(--brand)}.loft-document-actions{grid-template-columns:1fr 1fr;gap:5px;margin-top:7px;display:grid}.loft-document-actions button{border:1px solid var(--surface-secondary);background:var(--brand-soft);color:var(--brand-soft);cursor:pointer;border-radius:6px;padding:6px 7px;font-size:8px}.loft-document-actions .preset-export-action{border-color:var(--selection);background:var(--selection-soft);color:var(--selection);grid-column:1/-1;font-weight:700}.loft-preset-authoring-note{color:var(--text-secondary);margin:7px 0 0;font-size:9px;line-height:1.45}.loft-preset-authoring-note code{color:var(--selection);font-size:8px}.loft-load-error{color:var(--danger);margin:7px 0 0;font-size:8px;line-height:1.4}.spine-editor{gap:8px;display:grid}.spine-mode-toggle{border:1px solid var(--border-default);background:var(--surface-secondary);border-radius:7px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.spine-mode-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:6px 7px;font-size:8px}.spine-mode-toggle button.active{background:var(--brand-soft);color:var(--brand-soft)}.spine-fields{gap:2px;display:grid}.spine-slider{gap:4px;padding:5px 0;display:grid}.spine-slider>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.spine-slider span{color:var(--text-muted);font-size:8px}.spine-slider strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:8px;font-weight:580}.spine-slider input{width:100%;accent-color:var(--brand)}.spine-fields p,.spine-note{color:var(--text-muted);margin:3px 0 0;font-size:7.5px;line-height:1.45}.spine-editor.compact .spine-slider{padding:4px 0}.spine-editor.compact .spine-fields p,.spine-editor.compact .spine-note{font-size:7px}@media (width<=560px){.modifier-add-grid,.modifier-stack.compact .modifier-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.fablab-shell .modifier-header span,.fablab-shell .enable-toggle span,.fablab-shell .modifier-card strong,.fablab-shell .modifier-card span,.fablab-shell .loft-source-presets strong,.fablab-shell .loft-source-presets span,.fablab-shell .source-switcher>span,.fablab-shell .source-segmented button,.fablab-shell .source-label,.fablab-shell .kernel-badge,.fablab-shell .metric-grid span,.fablab-shell .dimension-list span,.fablab-shell .material-spec-row span,.fablab-shell .fabrication-check-setting span,.fablab-shell .fabrication-check-result span,.fablab-shell .fabrication-check-result p,.fablab-shell .export-summary-card span,.fablab-shell .export-summary-card small,.fablab-shell .export-action span,.fablab-shell .export-action strong{line-height:1.45;font-size:12px!important}.fablab-shell .modifier-header,.fablab-shell .modifier-card,.fablab-shell .loft-source-presets button,.fablab-shell .export-action{min-height:40px}.fablab-shell .modifier-card .control-row,.fablab-shell .modifier-fields .modifier-slider{padding-top:8px;padding-bottom:8px}.fablab-shell .modifier-slider span,.fablab-shell .modifier-slider strong,.fablab-shell .modifier-select>span,.fablab-shell .modifier-select select,.fablab-shell .loft-document-name span,.fablab-shell .loft-document-name input,.fablab-shell .loft-document-actions button{font-size:12px!important}.fablab-shell .metric-grid strong,.fablab-shell .dimension-list strong,.fablab-shell .material-spec-row strong{font-size:14px}.fablab-shell .text-button,.fablab-shell .add-button,.fablab-shell .icon-button{font-size:12px}.fablab-shell .control-row input[type=range],.fablab-shell .fabricate-range input[type=range],.fablab-shell .modifier-slider input[type=range]{min-height:18px}.fablab-shell .source-switcher{padding-top:14px;padding-bottom:4px}.fablab-shell .source-segmented{min-height:42px}.fablab-shell .loft-source-panel{font-size:13px}.fablab-shell .loft-panel-header h1{font-size:24px;line-height:1.15}.fablab-shell .loft-intro,.fablab-shell .loft-helper{font-size:12.5px;line-height:1.55}.fablab-shell .loft-preset-section{padding-bottom:15px}.fablab-shell .loft-preset-section .section-title h2,.fablab-shell .loft-collapsible-summary h2{font-size:14px;font-weight:650;line-height:1.2}.fablab-shell .loft-preset-section .section-title span,.fablab-shell .loft-collapsible-summary>div>span{font-size:11.5px}.fablab-shell .loft-preset-select{gap:10px;margin-top:10px}.fablab-shell .loft-preset-select>span{font-size:13px}.fablab-shell .loft-preset-select select{min-height:38px;font-size:13px;font-weight:550}.fablab-shell .loft-preset-description{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.45}.fablab-shell .loft-collapsible{border-top:1px solid var(--border-default);padding:0}.fablab-shell .loft-collapsible:last-of-type{border-bottom:1px solid var(--border-default)}.fablab-shell .loft-collapsible-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:11px 2px;list-style:none;display:flex}.fablab-shell .loft-collapsible-summary::-webkit-details-marker{display:none}.fablab-shell .loft-collapsible-summary>div{justify-content:space-between;align-items:baseline;gap:12px;width:100%;display:flex}.fablab-shell .loft-collapse-chevron{color:var(--brand);flex:none;font-size:17px;line-height:1;transition:transform .12s}.fablab-shell .loft-collapsible[open] .loft-collapse-chevron{transform:rotate(180deg)}.fablab-shell .loft-collapsible-body{padding:2px 0 15px}.fablab-shell .loft-control-row{padding-top:9px;padding-bottom:9px}.fablab-shell .loft-control-row .control-label,.fablab-shell .loft-control-row .control-value{font-size:13px}.fablab-shell .loft-control-row .control-value{font-weight:600}.fablab-shell .loft-source-panel .spine-mode-toggle button{min-height:36px;font-size:12.5px}.fablab-shell .loft-source-panel .spine-slider span,.fablab-shell .loft-source-panel .spine-slider strong,.fablab-shell .loft-source-panel .spine-note,.fablab-shell .loft-source-panel .spine-fields p{font-size:12.5px;line-height:1.45}.fablab-shell .loft-source-panel .spine-slider{padding:8px 0}.fablab-shell .loft-modifier-card{border:1px solid var(--border-default);background:var(--surface-primary);border-radius:8px;min-height:0;margin:7px 0;padding:0;overflow:hidden}.fablab-shell .loft-modifier-card.disabled{opacity:.68}.fablab-shell .loft-modifier-header{grid-template-columns:minmax(0,1fr) 34px auto;align-items:center;gap:6px;min-height:46px;padding:6px 8px 6px 10px;display:grid}.fablab-shell .loft-modifier-enable{cursor:pointer;align-items:center;gap:9px;min-width:0;display:flex}.fablab-shell .loft-modifier-enable input{width:16px;height:16px;accent-color:var(--brand);flex:none}.fablab-shell .loft-modifier-enable>span{align-items:baseline;gap:8px;min-width:0;display:flex}.fablab-shell .loft-modifier-enable strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden;font-size:13px!important}.fablab-shell .loft-modifier-enable small{color:var(--text-muted);white-space:nowrap;font-size:10.5px}.fablab-shell .loft-modifier-expand{width:32px;min-width:32px;min-height:30px;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;font-size:15px}.fablab-shell .loft-modifier-expand:hover{background:var(--surface-secondary);color:var(--brand)}.fablab-shell .loft-modifier-actions{gap:2px;display:flex}.fablab-shell .loft-modifier-actions button{width:27px;min-width:27px;min-height:28px;padding:0;font-size:12px}.fablab-shell .loft-modifier-body{border-top:1px solid var(--border-default);background:var(--surface-primary);padding:4px 12px 12px}.fablab-shell .loft-modifier-body .modifier-slider,.fablab-shell .loft-modifier-body .modifier-select{padding-top:9px;padding-bottom:9px}.fablab-shell .loft-modifier-body .modifier-slider span,.fablab-shell .loft-modifier-body .modifier-slider strong,.fablab-shell .loft-modifier-body .modifier-select>span,.fablab-shell .loft-modifier-body .modifier-select select{font-size:12.5px!important}.fablab-shell .loft-modifier-disabled-note{color:var(--text-muted);margin:8px 0 4px;font-size:12px;line-height:1.45}.fablab-shell .loft-modifier-add-grid{gap:6px;margin-top:10px}.fablab-shell .loft-modifier-add-grid button{min-height:34px;font-size:11.5px}.fablab-shell .loft-source-health span,.fablab-shell .loft-source-health small{font-size:11.5px;line-height:1.45}.join-mode-segmented{margin:0 0 8px}.join-empty-copy{color:var(--text-secondary);margin:6px 0 0;font-size:9px;line-height:1.5}.registration-list{gap:5px;display:grid}.registration-list>div{border:1px solid var(--border-default);background:var(--surface-canvas);border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.registration-list strong{color:var(--brand);font-size:9px}.registration-list span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.registration-list button{border:1px solid var(--border-default);background:var(--surface-secondary);width:22px;height:22px;color:var(--text-muted);cursor:pointer;border-radius:5px}.clear-feature-button{margin-top:7px}.hardware-settings{border-top-color:var(--border-default)}.hardware-check-row{border:1px solid var(--border-default);background:var(--surface-canvas);cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding:9px;display:flex}.hardware-check-row>span{gap:3px;display:grid}.hardware-check-row strong{color:var(--text-secondary);font-size:9px;font-weight:600}.hardware-check-row small{color:var(--text-muted);font-size:8px;line-height:1.4}.hardware-check-row input{width:14px;height:14px;accent-color:var(--brand)}.groove-settings{gap:4px;margin-top:7px;display:grid}.join-validation,.joinery-handoff{border:1px solid var(--border-default);border-radius:8px;gap:5px;margin-top:12px;padding:10px;display:grid}.join-validation.valid,.joinery-handoff.ready{border-color:var(--success);background:var(--success-soft)}.join-validation.invalid,.joinery-handoff.blocked{border-color:var(--danger);background:var(--danger-soft)}.join-validation strong,.joinery-handoff strong{color:var(--text-primary);font-size:9px}.join-validation>span,.joinery-handoff span{color:var(--text-secondary);font-size:8px;line-height:1.45}.join-issue-list{border-top:1px solid var(--danger);gap:3px;padding-top:4px;display:grid}.join-issue-list span{color:var(--danger);font-size:8px}.join-workspace,.join-workspace-empty{border:1px solid var(--border-subtle);border-radius:var(--radius-floating);background:var(--surface-secondary);position:absolute;inset:58px 18px 18px;overflow:hidden}.join-workspace{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.join-toolbar,.join-footer{background:var(--surface-primary);justify-content:space-between;align-items:center;gap:16px;padding:11px 13px;display:flex}.join-toolbar{border-bottom:1px solid var(--border-subtle)}.join-toolbar>div:first-child{align-items:baseline;gap:9px;display:flex}.join-toolbar strong{color:var(--text-primary);font-size:11px}.join-toolbar span,.join-footer span{color:var(--text-muted);font-size:8px}.join-footer{border-top:1px solid var(--border-subtle);justify-content:flex-start}.join-footer strong{color:var(--text-secondary);margin-left:3px;font-weight:600}.join-canvas{cursor:crosshair;background-image:linear-gradient(var(--surface-secondary) 1px, transparent 1px), linear-gradient(90deg, var(--surface-secondary) 1px, transparent 1px);background-size:28px 28px;min-height:0;padding:18px;position:relative}.join-canvas.auto,.join-canvas.disabled,.join-canvas.readonly{cursor:default}.join-canvas svg{width:100%;height:100%}.join-part-shape{fill:var(--selection-soft);stroke:var(--selection);stroke-width:1.5px;vector-effect:non-scaling-stroke}.hole-clearance{fill:none;stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.hole-cut{fill:var(--surface-primary);stroke:var(--selection);stroke-width:1.5px;vector-effect:non-scaling-stroke}.join-hole.invalid .hole-clearance,.join-hole.invalid .hole-cut{stroke:var(--danger)}.join-hole.valid .hole-cut{stroke:var(--success)}.join-hole.pending .hole-cut{stroke:var(--warning)}.join-hole text{fill:var(--text-primary);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:10px;font-weight:700}.hole-hit-target{fill:#0000;stroke:none;cursor:pointer}.join-canvas-hint{border:1px solid var(--border-default);background:var(--surface-primary);max-width:330px;color:var(--text-muted);pointer-events:none;border-radius:7px;padding:7px 9px;font-size:8px;line-height:1.4;position:absolute;bottom:10px;right:10px}.join-workspace-empty{color:var(--text-muted);place-items:center;font-size:10px;display:grid}@media (width<=680px){.join-workspace,.join-workspace-empty{min-height:70vh;margin:58px 12px 12px;position:relative;inset:auto}.join-toolbar,.join-footer{flex-wrap:wrap}}.groove-settings{border:1px solid var(--border-default);background:var(--surface-secondary);border-radius:8px;margin-top:8px;padding:5px 9px 8px}.join-pocket-shape{fill:var(--brand-soft);stroke:var(--selection);stroke-width:1.5px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;pointer-events:none}.waffle-card{z-index:5;border:1px solid var(--border-default);border-radius:var(--radius-floating);background:var(--surface-primary);width:min(330px,100% - 28px);box-shadow:var(--shadow-floating);position:absolute;top:14px;right:14px;overflow:hidden}.waffle-card.enabled{border-color:var(--selection)}.waffle-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:10px 11px;display:flex}.waffle-toggle>span{gap:3px;display:grid}.waffle-toggle strong{color:var(--text-primary);font-size:9px;font-weight:650}.waffle-toggle small,.waffle-settings p,.waffle-result span,.waffle-result small{color:var(--text-muted);font-size:8px;line-height:1.45}.waffle-toggle input{width:14px;height:14px;accent-color:var(--brand)}.waffle-settings{border-top:1px solid var(--border-subtle);gap:7px;padding:9px 11px 11px;display:grid}.waffle-select-row,.waffle-number-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;font-size:8px;display:flex}.waffle-select-row select,.waffle-number-row input{border:1px solid var(--border-default);background:var(--surface-primary);min-width:92px;color:var(--text-primary);border-radius:6px;padding:5px 6px;font-size:8px}.waffle-select-row select{max-width:190px}.waffle-number-row>div{align-items:center;gap:5px;display:flex}.waffle-number-row em{min-width:18px;color:var(--text-muted);font-size:8px;font-style:normal}.waffle-family-summary{border:1px solid var(--border-default);background:var(--surface-secondary);border-radius:7px;grid-template-columns:1fr 1fr;gap:5px;padding:7px 8px;display:grid}.waffle-family-summary span{color:var(--text-muted);justify-content:space-between;gap:6px;font-size:8px;display:flex}.waffle-family-summary strong{color:var(--brand);font-weight:650}.waffle-family-summary small{color:var(--text-muted);grid-column:1/-1;font-size:7px;line-height:1.4}.waffle-entry-selector{margin:2px 0 0}.waffle-settings p{margin:0}.waffle-generate,.waffle-result button{border:1px solid var(--border-default);background:var(--surface-primary);color:var(--brand);cursor:pointer;border-radius:7px;padding:8px 9px;font-size:8px;font-weight:650}.waffle-generate:disabled{opacity:.5;cursor:progress}.waffle-error{color:var(--danger)!important}.waffle-result{border:1px solid var(--border-default);background:var(--surface-canvas);border-radius:7px;gap:4px;padding:8px;display:grid}.waffle-result.valid{border-color:var(--success);background:var(--success-soft)}.waffle-result.invalid{border-color:var(--danger);background:var(--danger-soft)}.waffle-result strong{color:var(--text-primary);font-size:9px}@media (width<=680px){.waffle-card{width:auto;margin:10px;position:relative;top:auto;right:auto}}.joinery-handoff-card{border:1px solid var(--success);border-radius:var(--radius-floating);background:var(--success-soft);gap:4px;margin:0 0 16px;padding:10px 11px;display:grid}.joinery-handoff-card>span,.joinery-handoff-card>small{color:var(--success);font-size:8px;line-height:1.4}.joinery-handoff-card>strong{color:var(--text-secondary);font-size:9px;font-weight:620}.material-spec-row{gap:5px;margin-top:8px;display:grid}.material-spec-row span{color:var(--text-muted);justify-content:space-between;gap:12px;font-size:8px;display:flex}.material-spec-row strong{color:var(--text-secondary);font-weight:600}.thickness-mismatch{border:1px solid var(--danger);background:var(--danger-soft);border-radius:8px;gap:5px;margin-top:10px;padding:9px;display:grid}.thickness-mismatch strong{color:var(--danger);font-size:9px}.thickness-mismatch span,.solver-note{color:var(--brand);font-size:8px;line-height:1.45}.thickness-mismatch button{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger);cursor:pointer;text-align:left;border-radius:6px;margin-top:3px;padding:7px 8px;font-size:8px}.number-row{color:var(--text-secondary);grid-template-columns:1fr auto;align-items:center;gap:10px;padding:6px 0;font-size:9px;display:grid}.number-row>div{align-items:center;gap:5px;display:flex}.number-row input{border:1px solid var(--border-default);background:var(--surface-canvas);width:78px;color:var(--text-primary);font:inherit;font-variant-numeric:tabular-nums;border-radius:6px;outline:none;padding:6px 7px}.number-row input:focus{border-color:var(--selection)}.number-row em{width:20px;color:var(--text-muted);font-size:8px;font-style:normal}.custom-stock-grid{border:1px solid var(--border-subtle);background:var(--surface-canvas);border-radius:7px;gap:1px;margin:5px 0;padding:4px 8px;display:grid}.solver-note{margin:8px 0 0}.yield-number{color:var(--text-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;margin:8px 0 10px;font-size:27px;font-weight:520;display:flex}.yield-number small{color:var(--brand);font-size:9px;font-weight:500}.nest-workspace,.nest-empty-state{border:1px solid var(--border-subtle);border-radius:var(--radius-floating);background:var(--surface-secondary);position:absolute;inset:58px 18px 18px;overflow:hidden}.nest-workspace{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.sheet-tabs{border-bottom:1px solid var(--border-subtle);background:var(--surface-primary);gap:5px;padding:9px;display:flex;overflow-x:auto}.sheet-tabs button{border:1px solid var(--border-default);background:var(--surface-canvas);color:var(--text-muted);cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:7px;padding:7px 9px;font-size:8px;display:flex}.sheet-tabs button.active{border-color:var(--selection);background:var(--selection-soft);color:var(--selection)}.sheet-tabs small{color:var(--text-muted);font-size:7px}.stock-stage{background-image:linear-gradient(var(--surface-secondary) 1px, transparent 1px), linear-gradient(90deg, var(--surface-secondary) 1px, transparent 1px);background-size:26px 26px;min-height:0;padding:18px}.stock-stage svg{width:100%;height:100%}.stock-sheet-shape{fill:var(--surface-secondary);stroke:var(--border-default);stroke-width:2px;vector-effect:non-scaling-stroke}.stock-margin-shape{fill:none;stroke:var(--selection);stroke-width:1px;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.nested-part-shape{fill:var(--surface-primary);fill-opacity:.72;stroke:var(--border-strong);stroke-width:1.5px;vector-effect:non-scaling-stroke}.nested-part-label{fill:var(--text-primary);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:var(--surface-primary);stroke-width:3px;stroke-opacity:.65;font-size:18px;font-weight:700}.stock-footer{border-top:1px solid var(--border-subtle);background:var(--surface-primary);color:var(--text-muted);gap:18px;padding:10px 12px;font-size:8px;display:flex}.stock-footer strong{color:var(--text-secondary);margin-left:4px;font-weight:600}.nest-empty-state{text-align:center;place-content:center;justify-items:center;gap:6px;padding:30px;display:grid}.nest-empty-state>strong{color:var(--text-primary);font-size:12px;font-weight:580}.nest-empty-state>span{max-width:310px;color:var(--text-muted);font-size:9px;line-height:1.5}.atlas-placeholder{color:var(--text-muted);grid-template-rows:80px auto;grid-template-columns:auto 120px;align-items:center;gap:5px;margin-bottom:8px;font-size:7px;display:grid}.atlas-placeholder div{border:1px dashed var(--border-default);background:var(--surface-secondary);grid-area:1/2;width:120px;height:80px}.atlas-placeholder span:first-child{writing-mode:vertical-rl;grid-area:1/1}.atlas-placeholder span:last-child{grid-area:2/2}@media (width<=680px){.nest-workspace,.nest-empty-state{min-height:70vh;margin:58px 12px 12px;position:relative;inset:auto}.stock-footer{flex-wrap:wrap}}.multi-material-intro{border:1px solid var(--border-default);background:var(--surface-secondary);border-radius:8px;gap:4px;margin:12px 0 2px;padding:10px;display:grid}.multi-material-intro strong{color:var(--text-primary);font-size:9px}.multi-material-intro span{color:var(--text-muted);font-size:8px;line-height:1.5}.part-material-list{gap:5px;max-height:280px;padding-right:2px;display:grid;overflow:auto}.part-material-row{border:1px solid var(--border-default);background:var(--surface-canvas);border-radius:7px;grid-template-columns:minmax(0,1fr) 138px;align-items:center;gap:8px;padding:7px 8px;display:grid}.part-material-row>span{gap:2px;min-width:0;display:grid}.part-material-row strong{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:620;overflow:hidden}.part-material-row small{color:var(--text-muted);font-size:7px}.part-material-row select,.material-job-config select{border:1px solid var(--border-default);background:var(--surface-secondary);min-width:0;color:var(--text-secondary);border-radius:6px;padding:5px 6px;font-size:8px}.part-material-row.invalid{border-color:var(--danger)}.part-material-row em{color:var(--danger);font-size:7px;font-style:normal;line-height:1.35}.material-job-configs,.material-job-result-list{gap:6px;display:grid}.material-job-config{border:1px solid var(--border-default);background:var(--surface-canvas);border-radius:7px;grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:8px;padding:8px;display:grid}.material-job-config>div,.material-job-result-list>div{gap:2px;display:grid}.material-job-config strong,.material-job-result-list strong{color:var(--text-secondary);font-size:8px}.material-job-config span,.material-job-result-list span{color:var(--text-muted);font-size:7px;line-height:1.4}.multi-material-result{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.multi-material-result>div{border:1px solid var(--border-default);background:var(--surface-primary);border-radius:7px;gap:3px;padding:8px;display:grid}.multi-material-result span{color:var(--text-muted);font-size:7px}.multi-material-result strong{color:var(--brand);font-size:13px;font-weight:600}.material-job-result-list{margin-top:7px}.material-job-result-list>div{border-left:2px solid var(--danger);background:var(--surface-secondary);padding:7px 8px}.material-mode-toggle{border:1px solid var(--border-default);background:var(--surface-secondary);border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 12px;padding:3px;display:grid}.material-mode-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 8px;font-size:8px;font-weight:600}.material-mode-toggle button.active{background:var(--brand-soft);color:var(--brand)}.material-job-tabs{background:var(--surface-secondary);gap:6px;padding:8px 10px 0;display:flex;overflow-x:auto}.material-job-tabs button{border:1px solid var(--border-default);background:var(--surface-primary);min-width:150px;color:var(--text-muted);cursor:pointer;text-align:left;border-radius:7px;gap:2px;padding:7px 9px;display:grid}.material-job-tabs button strong{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.material-job-tabs button small{color:var(--text-muted);font-size:7px}.material-job-tabs button.active{border-color:var(--selection);background:var(--brand-soft)}.material-job-tabs button.active strong{color:var(--selection)}.multi-export-jobs{gap:5px;margin-top:7px;display:grid}.multi-export-jobs>div{border:1px solid var(--border-default);background:var(--surface-canvas);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px;display:flex}.multi-export-jobs strong{color:var(--text-secondary);font-size:8px}.multi-export-jobs span{color:var(--text-muted);text-align:right;font-size:7px}.connection-toggle{border:1px solid var(--border-default);background:var(--surface-canvas);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:10px;display:flex}.connection-toggle>span{gap:3px;display:grid}.connection-toggle strong{color:var(--text-primary);font-size:9px;font-weight:620}.connection-toggle small,.connection-note,.connection-result span{color:var(--text-muted);font-size:8px;line-height:1.45}.connection-toggle input{width:14px;height:14px;accent-color:var(--brand)}.connection-settings{border:1px solid var(--border-subtle);background:var(--surface-secondary);border-radius:8px;margin-top:8px;padding:4px 9px 8px}.connection-note{margin:7px 0 0}.connection-result{border:1px solid var(--success);background:var(--success-soft);border-radius:8px;gap:3px;margin-top:8px;padding:9px 10px;display:grid}.connection-result strong{color:var(--text-secondary);font-size:10px;font-weight:620}.fablab-shell .fabrication-assembly-viewport:focus{outline:none}.fablab-shell .fabrication-frame-view{z-index:8;border:1px solid var(--border-default);background:var(--surface-primary);min-height:30px;color:var(--text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;padding:0 9px;font-size:10px;position:absolute;top:12px;right:12px}.fablab-shell .fabrication-frame-view:hover{border-color:var(--selection);color:var(--selection)}.fablab-shell .fabrication-rod-tools{z-index:9;gap:6px;max-width:280px;display:grid;position:absolute;top:12px;left:12px}.fablab-shell .fabrication-rod-tools>button,.fablab-shell .fabrication-rod-chips button{border:1px solid var(--border-default);background:var(--surface-primary);min-height:30px;color:var(--text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;padding:0 9px;font-size:10px}.fablab-shell .fabrication-rod-tools>button:hover,.fablab-shell .fabrication-rod-tools>button.active,.fablab-shell .fabrication-rod-chips button:hover{border-color:var(--selection);color:var(--selection)}.fablab-shell .fabrication-rod-tools>button:disabled{cursor:not-allowed;opacity:.45}.fablab-shell .fabrication-rod-manual-panel{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-primary) 92%, transparent);color:var(--text-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:6px;gap:6px;padding:8px 9px;font-size:9px;line-height:1.4;display:grid}.fablab-shell .fabrication-rod-manual-panel small{color:var(--text-muted);font-size:8px}.fablab-shell .fabrication-rod-chips{flex-wrap:wrap;gap:4px;display:flex}.fablab-shell .fabrication-rod-chips button{min-height:24px;padding:0 7px;font-size:9px}.fablab-shell .rod-placement-active canvas{cursor:crosshair}.export-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#141c1a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.export-modal{border:1px solid var(--border-default);background:var(--surface-primary);width:min(760px,100%);max-height:min(820px,100vh - 48px);box-shadow:var(--shadow-floating);border-radius:12px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.export-modal-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.export-modal-header h1{color:var(--text-primary);margin:3px 0 0;font-size:20px}.export-modal-header button{border:1px solid var(--border-default);background:var(--surface-secondary);width:34px;min-height:34px;color:var(--text-secondary);cursor:pointer;border-radius:7px;font-size:20px}.export-modal-content{min-height:0;overflow:auto}.export-modal-content .export-panel{padding:20px;overflow:visible}.export-modal-content .export-panel>.panel-header{display:none}.export-package-contents{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px;display:grid}.export-package-contents>span{border:1px solid var(--border-subtle);background:var(--surface-secondary);color:var(--text-secondary);border-radius:7px;padding:9px 10px;font-size:11px}.export-package-contents strong{color:var(--text-primary);margin-right:4px}.export-package-download{text-align:center;margin-top:12px}.export-included-item{border:1px solid var(--border-subtle);background:var(--surface-secondary);border-radius:7px;gap:3px;margin:7px 0 0;padding:9px 10px;display:grid}.export-included-item strong{color:var(--text-primary);font-size:11px}.export-included-item span{color:var(--text-muted);font-size:10px;line-height:1.4}@media (width<=620px){.export-modal-backdrop{padding:10px}.export-modal{max-height:calc(100vh - 20px)}.export-package-contents{grid-template-columns:1fr}}.export-summary-card{border:1px solid var(--border-default);border-radius:var(--radius-floating);background:var(--brand-soft);gap:4px;margin-bottom:16px;padding:11px;display:grid}.export-summary-card span,.export-summary-card small{color:var(--text-muted);font-size:8px}.export-summary-card strong{color:var(--brand);font-size:10px;font-weight:620}.export-action{border:1px solid var(--brand);background:var(--brand);width:100%;color:var(--surface-primary);cursor:pointer;text-align:left;border-radius:8px;gap:4px;margin-top:7px;padding:11px;display:grid}.export-action.secondary{border-color:var(--border-default);background:var(--surface-canvas)}.export-action:hover{border-color:var(--brand-hover);background:var(--brand-hover)}.export-action strong{font-size:10px;font-weight:650}.export-action span{color:var(--brand);font-size:8px;line-height:1.45}.export-assembly-note{border:1px solid var(--success);background:var(--success-soft);border-radius:8px;gap:5px;margin-top:16px;padding:10px;display:grid}.export-assembly-note strong{color:var(--text-secondary);font-size:9px;font-weight:620}.export-assembly-note span{color:var(--text-secondary);font-size:8px;line-height:1.5}.export-layer-guide{border:1px solid var(--border-subtle);background:var(--surface-secondary);border-radius:8px;gap:7px;margin-top:18px;padding:10px;display:grid}.export-layer-guide span{color:var(--text-muted);align-items:center;gap:7px;font-size:8px;display:flex}.layer-dot{border-radius:50%;width:7px;height:7px}.layer-dot.cut{background:var(--brand)}.layer-dot.label,.layer-dot.stock{background:var(--surface-secondary)}.export-caveat{color:var(--text-muted);margin:14px 0 0;font-size:8px;line-height:1.55}.fabrication-checks{border-top-color:var(--selection)}.fabrication-check-settings{gap:6px;margin:8px 0 10px;display:grid}.fabrication-check-setting{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;font-size:8px;display:flex}.fabrication-check-setting>div{align-items:center;gap:5px;display:flex}.fabrication-check-setting input{border:1px solid var(--border-default);background:var(--surface-primary);width:76px;color:var(--text-primary);text-align:right;border-radius:6px;padding:5px 6px;font-size:8px}.fabrication-check-setting em{min-width:20px;color:var(--text-muted);font-size:8px;font-style:normal}.fabrication-check-result{border:1px solid var(--border-strong);background:var(--surface-canvas);border-radius:8px;gap:5px;padding:9px;display:grid}.fabrication-check-result.clear{border-color:var(--success);background:var(--success-soft)}.fabrication-check-result.conditional{border-color:var(--warning);background:var(--warning-soft)}.fabrication-check-result.blocked{border-color:var(--danger);background:var(--danger-soft)}.fabrication-check-result>strong{color:var(--text-primary);font-size:9px}.fabrication-check-result>span,.fabrication-check-result>small{color:var(--text-muted);font-size:8px;line-height:1.45}.fabrication-check-result p{border-top:1px solid var(--border-default);color:var(--text-secondary);grid-template-columns:auto minmax(0,1fr);gap:6px;margin:0;padding-top:5px;font-size:8px;line-height:1.45;display:grid}.fabrication-check-result p b{border:1px solid var(--border-default);color:var(--text-secondary);letter-spacing:.06em;border-radius:4px;align-self:start;padding:1px 4px;font-size:7px}.fabrication-check-result p.error{color:var(--danger)}.fabrication-check-result p.error b{border-color:var(--danger);color:var(--danger)}.fabrication-check-result p.warning{color:var(--warning)}.fabrication-check-result p.warning b{border-color:var(--warning);color:var(--warning)}.fablab-shell .surface-source-panel,.fablab-shell .spline-source-panel,.fablab-shell .import-panel{padding-top:8px}.fablab-shell .surface-source-panel>.panel-collapsible:first-child,.fablab-shell .spline-source-panel>.panel-collapsible:first-child,.fablab-shell .import-panel>.panel-collapsible:first-child{margin-top:0}.fablab-shell .design-preset-select,.fablab-shell .loft-preset-select{padding-top:0}.fablab-shell .preset-description,.fablab-shell .loft-preset-description{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.5}.fablab-shell .deformer-subhead{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);letter-spacing:.09em;text-transform:uppercase;margin:14px 0 7px;padding-bottom:6px;font-size:10px;font-weight:750}.fablab-shell .deformer-subhead:first-child{margin-top:2px}.fablab-shell .loft-document-name{grid-template-columns:78px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:10px;display:grid}.fablab-shell .loft-document-name>span{color:var(--text-secondary);font-size:12px}.fablab-shell .loft-document-name input{border:1px solid var(--border-default);background:var(--surface-canvas);width:100%;color:var(--text-primary);border-radius:6px;padding:6px 9px}.fablab-shell .loft-document-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.fablab-shell .loft-document-actions button{border:1px solid var(--border-default);background:var(--surface-primary);min-height:36px;color:var(--text-secondary);cursor:pointer;border-radius:6px;font-size:12px}.fablab-shell .loft-document-actions button:hover{border-color:var(--selection);color:var(--selection)}.fablab-shell .import-clear-button{border:1px solid var(--border-default);background:var(--surface-primary);border-radius:6px;width:100%;margin-top:8px;padding:6px 8px}.fablab-shell .loft-source-health span,.fablab-shell .loft-source-health small{font-size:11px}.fablab-shell .loft-source-health strong{font-size:13px}.fablab-shell .curve-global-controls{border-bottom:1px solid var(--border-default);padding-bottom:9px}.fablab-shell .section-curve-list{gap:5px;max-height:230px;margin-top:10px;display:grid;overflow:auto}.fablab-shell .section-curve-row{grid-template-columns:minmax(0,1fr) 30px 30px;gap:4px;display:grid}.fablab-shell .section-curve-row>button{border:1px solid var(--border-default);background:var(--surface-primary);min-height:36px;color:var(--text-muted);cursor:pointer;border-radius:6px}.fablab-shell .section-curve-row>button:disabled{opacity:.3;cursor:default}.fablab-shell .section-curve-row.active>button{border-color:var(--selection);background:var(--brand-soft)}.fablab-shell .section-curve-select{text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:0 9px;display:flex}.fablab-shell .section-curve-select strong{color:var(--text-primary);font-size:12px;font-weight:620}.fablab-shell .section-curve-select span{color:var(--brand);font-variant-numeric:tabular-nums;font-size:10px}.fablab-shell .curve-list-actions{grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:8px;display:grid}.fablab-shell .curve-list-actions button{border:1px solid var(--border-default);background:var(--surface-primary);min-height:34px;color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:0 6px;font-size:11px}.fablab-shell .curve-list-actions button:first-child{border-color:var(--selection);color:var(--selection)}.fablab-shell .curve-list-actions button:disabled{opacity:.35;cursor:default}.fablab-shell .selected-curve-properties{border:1px solid var(--border-default);background:var(--surface-secondary);border-radius:7px;margin-top:10px;padding:10px}.fablab-shell .selected-curve-heading{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.fablab-shell .selected-curve-heading strong{color:var(--text-primary);font-size:12px}.fablab-shell .selected-curve-heading span,.fablab-shell .selected-curve-properties>small{color:var(--text-secondary);font-size:10px}.fablab-shell .curve-precision-row{padding-top:6px;padding-bottom:6px}.fablab-shell .spline-edit-toolbar{z-index:9;border:1px solid var(--border-default);background:var(--surface-primary);box-shadow:var(--shadow-floating);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:5px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.fablab-shell .spline-mode-primary-row,.fablab-shell .spline-mode-context-row{justify-content:center;align-items:center;gap:6px;display:flex}.fablab-shell .spline-mode-context-row{border-top:1px solid var(--border-subtle);flex-wrap:wrap;width:100%;padding-top:5px}.fablab-shell .spline-context-numbers{align-items:center;gap:4px;display:flex}.fablab-shell .spline-context-number{color:var(--text-secondary);grid-template-columns:auto 58px auto;align-items:center;gap:3px;font-size:9px;display:grid}.fablab-shell .spline-context-number input{border:1px solid var(--border-default);background:var(--surface-secondary);width:58px;min-height:27px;color:var(--text-primary);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 5px;font-size:10px}.fablab-shell .spline-context-number small{color:var(--text-muted);font-size:8px}.fablab-shell .spline-context-action{border:1px solid var(--border-default);background:var(--surface-secondary);min-height:27px;color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:0 8px;font-size:9px}.fablab-shell .spline-context-action:hover{border-color:var(--selection);color:var(--selection)}.fablab-shell .spline-edit-selection{gap:1px;min-width:106px;padding:0 7px;display:grid}.fablab-shell .spline-edit-selection span{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:750}.fablab-shell .spline-edit-selection strong{max-width:180px;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:620;overflow:hidden}.fablab-shell .spline-transform-modes{border:1px solid var(--border-default);background:var(--surface-canvas);border-radius:6px;gap:2px;padding:2px;display:flex}.fablab-shell .spline-transform-modes button,.fablab-shell .spline-exit-point{min-height:27px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 8px;font-size:10px}.fablab-shell .spline-transform-modes button.active{background:var(--selection-soft);color:var(--selection)}.fablab-shell .spline-exit-point{border:1px solid var(--selection);background:var(--brand-soft);color:var(--selection)}.fablab-shell .spline-design-workspace{background:var(--surface-canvas);min-width:0;min-height:0;display:flex;position:absolute;inset:0;overflow:hidden}.fablab-shell .spline-3d-region{flex:auto;min-width:0;min-height:0;position:relative}.fablab-shell .spline-design-workspace .loft-viewport{width:auto;height:auto;position:absolute;inset:0}.fablab-shell .profile-split-open .spline-3d-region{flex-basis:62%}.fablab-shell .profile-split-toggle{z-index:10;border:1px solid var(--selection);background:var(--surface-primary);min-height:42px;color:var(--text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:7px;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:650;display:flex;position:absolute;top:12px;right:16px}.fablab-shell .profile-split-toggle:hover,.fablab-shell .profile-split-toggle.active{border-color:var(--selection);color:var(--selection)}.fablab-shell .profile-split-toggle:disabled{opacity:.35;cursor:default}.fablab-shell .profile-2d-editor{border-left:1px solid var(--border-default);background:var(--surface-canvas);flex:0 0 38%;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:300px;max-width:560px;min-height:0;display:grid}.fablab-shell .profile-2d-header,.fablab-shell .profile-2d-meta,.fablab-shell .profile-2d-footer{border-bottom:1px solid var(--border-subtle);padding:10px 12px}.fablab-shell .profile-2d-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.fablab-shell .profile-2d-header>div{gap:2px;display:grid}.fablab-shell .profile-2d-header span,.fablab-shell .profile-2d-meta span,.fablab-shell .profile-2d-footer span{color:var(--text-secondary);font-size:10px}.fablab-shell .profile-2d-header strong,.fablab-shell .profile-2d-meta strong{color:var(--text-primary);font-size:12px;font-weight:620}.fablab-shell .profile-2d-header button{border:1px solid var(--border-default);background:var(--surface-secondary);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:6px;font-size:17px}.fablab-shell .profile-2d-meta{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:10px;display:flex}.fablab-shell .profile-2d-canvas-wrap{min-height:0;padding:10px}.fablab-shell .profile-2d-canvas{border:1px solid var(--border-default);background:var(--surface-primary);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;width:100%;height:100%;min-height:260px;display:block}.fablab-shell .profile-grid-minor{stroke:var(--surface-hover);stroke-width:1px}.fablab-shell .profile-grid-major{stroke:var(--border-default);stroke-width:1.5px}.fablab-shell .profile-axis{stroke:var(--selection);stroke-width:1.4px}.fablab-shell .profile-outline{stroke:var(--selection);stroke-width:3px;stroke-linejoin:round}.fablab-shell .profile-control-point{fill:var(--selection-soft);stroke:var(--selection);stroke-width:4px;cursor:grab}.fablab-shell .profile-control-point:hover,.fablab-shell .profile-control-point.selected{fill:var(--brand-soft);stroke:var(--selection)}.fablab-shell .profile-control-point:active{cursor:grabbing}.fablab-shell .profile-2d-footer{border-top:1px solid var(--border-subtle);border-bottom:0;justify-content:space-between;gap:10px;display:flex}.fablab-shell .profile-2d-empty{height:100%;color:var(--text-muted);place-items:center;font-size:12px;display:grid}@media (width<=900px){.fablab-shell .profile-2d-editor{flex-basis:45%;min-width:280px}}@media (width<=680px){.fablab-shell .spline-edit-toolbar{justify-content:flex-start;left:12px;right:12px;overflow-x:auto;transform:none}.fablab-shell .spline-design-workspace{flex-direction:column}.fablab-shell .profile-split-open .spline-3d-region{flex-basis:55%}.fablab-shell .profile-2d-editor{border-top:1px solid var(--border-default);border-left:0;flex:0 0 45%;width:100%;min-width:0;max-width:none}.fablab-shell .profile-split-toggle{top:64px;right:12px}.fablab-shell .profile-2d-canvas{min-height:190px}}.fablab-shell .spline-mode-toolbar{gap:5px}.fablab-shell .spline-mode-switch{gap:1px;display:flex}.fablab-shell .spline-mode-switch button,.fablab-shell .spline-exit-edit{min-height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0 10px;font-size:10px;font-weight:550}.fablab-shell .spline-mode-switch button.active{background:var(--brand-soft);color:var(--brand);font-weight:650}.fablab-shell .spline-exit-edit{border:1px solid var(--selection);background:var(--selection-soft);color:var(--selection)}.fablab-shell .spline-exit-edit:hover{border-color:var(--selection);color:var(--selection)}.fablab-shell .spline-frame-view{border:0;border-left:1px solid var(--border-default);min-height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:0;margin-left:3px;padding:0 9px 0 11px;font-size:10px;font-weight:550}.fablab-shell .spline-frame-view:hover{border-left-color:var(--border-default);color:var(--selection)}.fablab-shell .spline-debug-select{border:1px solid var(--border-default);background:var(--surface-primary);min-height:29px;color:var(--text-muted);border-radius:5px;align-items:center;gap:5px;padding:0 5px 0 8px;font-size:10px;font-weight:650;display:flex}.fablab-shell .spline-debug-select.active{border-color:var(--selection);background:var(--selection-soft);color:var(--selection)}.fablab-shell .spline-debug-select select{background:var(--surface-hover);min-height:23px;color:var(--text-primary);cursor:pointer;border:0;border-radius:4px;outline:0;padding:0 20px 0 6px;font-size:10px;font-weight:600}.fablab-shell .spline-debug-select.active select{background:var(--selection-soft);color:var(--selection)}.fablab-shell .loft-debug-panel{z-index:5;border:1px solid var(--selection);background:var(--surface-primary);width:min(260px,100% - 28px);box-shadow:var(--shadow-floating);pointer-events:none;border-radius:7px;padding:10px;position:absolute;top:58px;right:14px}.fablab-shell .loft-debug-panel header{border-bottom:1px solid var(--selection);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:7px;display:flex}.fablab-shell .loft-debug-panel header strong{color:var(--text-primary);font-size:11px;font-weight:700}.fablab-shell .loft-debug-panel header span{color:var(--selection);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:700}.fablab-shell .loft-debug-stats{grid-template-columns:1fr 1fr;gap:4px 10px;display:grid}.fablab-shell .loft-debug-stats>div{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;gap:6px;padding:3px 0;display:flex}.fablab-shell .loft-debug-stats span{color:var(--selection);font-size:9px}.fablab-shell .loft-debug-stats strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:10px}.fablab-shell .loft-debug-panel p{color:var(--selection);margin:8px 0 0;font-size:9.5px;line-height:1.45}.fablab-shell .loft-viewport:focus{outline:none}@media (width<=860px){.fablab-shell .spline-mode-toolbar{flex-wrap:nowrap;max-width:none;overflow-x:auto}.fablab-shell .loft-debug-panel{top:96px}}.fablab-shell .profile-control-cage{stroke:var(--border-strong);stroke-width:2px;stroke-dasharray:8 8;vector-effect:non-scaling-stroke;pointer-events:none}.fablab-shell .profile-smooth-outline{stroke-width:3.2px;vector-effect:non-scaling-stroke;pointer-events:none}.fablab-shell .profile-2d-meta>span{color:var(--text-secondary)}.fablab-shell .profile-2d-tools{border-bottom:1px solid var(--border-default);background:var(--surface-secondary);align-items:end;gap:6px;padding:8px 10px;display:flex}.fablab-shell .profile-point-type{gap:3px;min-width:122px;display:grid}.fablab-shell .profile-point-type>span{color:var(--text-secondary);letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:700}.fablab-shell .profile-point-type select{border:1px solid var(--selection);background:var(--surface-secondary);min-height:30px;color:var(--selection);border-radius:5px;padding:0 28px 0 8px;font-size:10px}.fablab-shell .profile-point-type select:disabled{opacity:.4}.fablab-shell .profile-2d-tools button{border:1px solid var(--border-default);background:var(--surface-secondary);min-height:30px;color:var(--text-secondary);cursor:pointer;border-radius:5px;padding:0 9px;font-size:10px}.fablab-shell .profile-2d-tools button:disabled{opacity:.35;cursor:default}.fablab-shell .profile-handle-line{stroke:var(--selection);stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;pointer-events:none}.fablab-shell .profile-handle-point{fill:var(--brand-soft);stroke:var(--selection);stroke-width:2px;vector-effect:non-scaling-stroke;cursor:default}.fablab-shell .profile-handle-point.editable{fill:var(--selection-soft);stroke:var(--selection);cursor:grab}.fablab-shell .profile-handle-point.editable:active{cursor:grabbing}.fablab-shell .profile-handles-vector .profile-handle-line{stroke-dasharray:2 4;opacity:.65}.fablab-shell .profile-handles-auto .profile-handle-point,.fablab-shell .profile-handles-vector .profile-handle-point{opacity:.55}.fablab-shell .profile-control-point.profile-point-vector{stroke-width:3px}.fablab-shell .profile-control-point.profile-point-free{stroke-dasharray:2 2}.fablab-shell .profile-2d-header-actions{align-items:center;grid-template-columns:none!important;gap:4px!important;display:flex!important}.fablab-shell .profile-2d-header .profile-frame-button{width:auto;min-width:28px;color:var(--brand);padding:0 7px;font-size:10px;font-weight:700}.fablab-shell .profile-2d-header .profile-frame-button:hover{border-color:var(--selection);color:var(--selection)}.fablab-shell .profile-2d-editor:focus{outline:none}.fablab-shell .profile-2d-canvas{cursor:crosshair}.fablab-shell .profile-point-coordinates{gap:5px;display:flex}.fablab-shell .profile-point-coordinates label{color:var(--text-secondary);grid-template-columns:auto 66px auto;align-items:center;gap:3px;font-size:9px;display:grid}.fablab-shell .profile-point-coordinates input{border:1px solid var(--border-default);background:var(--surface-primary);width:66px;min-height:30px;color:var(--text-primary);font-variant-numeric:tabular-nums;border-radius:5px;padding:0 5px;font-size:10px}.fablab-shell .profile-point-coordinates small{color:var(--text-muted);font-size:8px}.fablab-shell .profile-2d-canvas.profile-edge-insert-ready{cursor:copy}.fablab-shell .profile-insertion-preview circle{fill:var(--surface-primary);stroke:var(--selection);stroke-width:3px;vector-effect:non-scaling-stroke}.fablab-shell .profile-insertion-preview line{stroke:var(--selection);stroke-width:2px;vector-effect:non-scaling-stroke}.fablab-shell .profile-selection-marquee{fill:color-mix(in srgb, var(--selection) 12%, transparent);stroke:var(--selection);stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.fablab-shell .spline-context-menu{z-index:100;border:1px solid var(--border-default);background:var(--surface-primary);min-width:172px;box-shadow:var(--shadow-floating);border-radius:7px;padding:5px;display:grid;position:fixed}.fablab-shell .spline-context-menu button{min-height:30px;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;padding:0 9px;font-size:10px}.fablab-shell .spline-context-menu button:hover{background:var(--surface-hover)}.fablab-shell .spline-context-menu button.danger{color:var(--danger)}.fablab-shell .spline-context-menu button:disabled{color:var(--text-disabled);cursor:default}.fablab-shell .spline-context-menu-separator{background:var(--border-subtle);height:1px;margin:4px 2px}.fablab-shell .spline-context-menu.in-viewport{position:relative;top:10px;left:10px}.fablab-shell .path-selection-marquee{border:1px dashed var(--selection);background:color-mix(in srgb, var(--selection) 12%, transparent);position:absolute}.fablab-shell .spine-mode-toggle{grid-template-columns:repeat(3,minmax(0,1fr))}.fablab-shell .spine-mode-toggle button{min-width:0;padding-inline:7px;font-size:10px}.fablab-shell .editable-path-panel{gap:10px;margin-top:10px;display:grid}.fablab-shell .editable-path-actions{grid-template-columns:minmax(0,1fr) auto auto;gap:5px;display:grid}.fablab-shell .editable-path-actions button{border:1px solid var(--border-default);background:var(--surface-secondary);min-height:32px;color:var(--text-secondary);cursor:pointer;border-radius:5px;padding:0 8px;font-size:10px}.fablab-shell .editable-path-actions button.active,.fablab-shell .editable-path-actions button:first-child:hover{border-color:var(--selection);background:var(--selection-soft);color:var(--selection)}.fablab-shell .editable-path-actions button:disabled{opacity:.35;cursor:default}.fablab-shell .editable-path-point-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:150px;display:grid;overflow:auto}.fablab-shell .editable-path-point-list button{border:1px solid var(--border-default);background:var(--surface-primary);text-align:left;cursor:pointer;border-radius:5px;gap:2px;min-height:42px;padding:6px 7px;display:grid}.fablab-shell .editable-path-point-list button span{color:var(--text-secondary);font-size:11px;font-weight:650}.fablab-shell .editable-path-point-list button small{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.fablab-shell .editable-path-point-list button.active{border-color:var(--selection);background:var(--selection-soft)}.fablab-shell .editable-path-selected{border:1px solid var(--border-default);background:var(--surface-secondary);border-radius:6px;gap:8px;padding:9px;display:grid}.fablab-shell .editable-path-selected>label{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:7px;display:grid}.fablab-shell .editable-path-selected>label>span,.fablab-shell .editable-path-coordinates label>span{color:var(--text-secondary);font-size:10px}.fablab-shell .editable-path-selected select,.fablab-shell .editable-path-coordinates input{border:1px solid var(--border-default);background:var(--surface-canvas);width:100%;min-height:30px;color:var(--text-primary);border-radius:5px}.fablab-shell .editable-path-coordinates{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.fablab-shell .editable-path-coordinates label{grid-template-columns:18px minmax(0,1fr) 18px;align-items:center;gap:3px;display:grid}.fablab-shell .editable-path-coordinates input{padding:0 5px;font-size:10px}.fablab-shell .editable-path-coordinates small{color:var(--text-muted);font-size:8px}.fablab-shell .editable-path-selected p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.45}@media (width<=680px){.fablab-shell .spine-mode-toggle,.fablab-shell .editable-path-point-list{grid-template-columns:1fr}}.fabricate-layout-pane .nested-part{cursor:pointer}.fabricate-layout-pane .nested-part:hover .nested-part-shape{filter:brightness(1.16)}.fabricate-layout-pane .nested-part.selected .nested-part-shape{stroke:var(--selection);stroke-width:2.2px;vector-effect:non-scaling-stroke}.fabricate-layout-pane .nested-part.selected .nested-part-label{fill:var(--selection);font-weight:700}.fablab-shell .design-measurements-panel,.fablab-shell .scene-objects-panel{border-top:1px solid var(--border-default)}.fablab-shell .measurement-overall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:2px 0 12px;display:grid}.fablab-shell .measurement-overall-grid>span,.fablab-shell .measurement-result{border:1px solid var(--border-default);background:var(--surface-secondary);border-radius:7px;flex-direction:column;gap:2px;padding:8px 9px;display:flex}.fablab-shell .measurement-overall-grid small,.fablab-shell .measurement-result small,.fablab-shell .scene-object-list small,.fablab-shell .measurement-note,.fablab-shell .scene-object-note,.fablab-shell .scene-transform-note{color:var(--text-muted);font-size:11px;line-height:1.4}.fablab-shell .measurement-overall-grid strong,.fablab-shell .measurement-result strong{color:var(--text-primary);font-size:12px;font-weight:650}.fablab-shell .measurement-anchor-editor,.fablab-shell .scene-object-properties{gap:8px;display:grid}.fablab-shell .measurement-anchor-editor>label,.fablab-shell .scene-name-field{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:8px;font-size:12px;display:grid}.fablab-shell .measurement-anchor-editor select,.fablab-shell .scene-name-field input,.fablab-shell .scene-number-field input{border:1px solid var(--border-default);background:var(--surface-primary);min-width:0;min-height:32px;color:var(--text-primary);border-radius:6px}.fablab-shell .measurement-actions,.fablab-shell .scene-object-actions,.fablab-shell .scene-transform-modes{gap:6px;display:flex}.fablab-shell .measurement-actions button,.fablab-shell .scene-object-actions button,.fablab-shell .scene-transform-modes button{flex:1;min-height:32px}.fablab-shell .scene-transform-modes button.active{border-color:var(--brand);background:var(--surface-secondary);color:var(--brand)}.fablab-shell .saved-measurements,.fablab-shell .scene-object-list{gap:5px;margin-top:10px;display:grid}.fablab-shell .saved-measurements>div,.fablab-shell .scene-object-list>button{border:1px solid var(--border-default);background:var(--surface-primary);min-height:38px;color:var(--text-primary);text-align:left;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;display:flex}.fablab-shell .scene-object-list>button.active{border-color:var(--brand);background:var(--surface-secondary)}.fablab-shell .scene-object-list>button{flex-direction:column;align-items:flex-start}.fablab-shell .scene-object-properties{border-top:1px solid var(--border-default);margin-top:12px;padding-top:10px}.fablab-shell .scene-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.fablab-shell .scene-number-field{grid-template-columns:1fr;gap:3px;font-size:11px;display:grid}.fablab-shell .scene-number-field small{color:var(--text-muted)}.fablab-shell .spline-snap-note{color:var(--text-muted);white-space:nowrap;font-size:10.5px}.fablab-shell .spline-history-controls{z-index:28;gap:4px;display:flex;position:absolute;top:8px;left:12px}.fablab-shell .spline-history-controls button{border:1px solid var(--border-default);width:32px;min-width:32px;height:30px;min-height:30px;color:var(--text-primary);background:#ffffffeb;border-radius:7px;padding:0;font-size:17px;line-height:1;box-shadow:0 1px 3px #141e1c14}.fablab-shell .spline-history-controls button:disabled{opacity:.38;cursor:default}.fablab-shell .design-viewport-tool-rail{z-index:30;border:1px solid var(--border-default);background:var(--surface-primary);box-shadow:var(--shadow-floating);border-radius:8px;gap:4px;padding:4px;display:grid;position:absolute;top:72px;right:12px}.fablab-shell .design-viewport-tool-rail button{width:54px;min-height:46px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;gap:1px;padding:4px;display:grid}.fablab-shell .design-viewport-tool-rail button>span{font-size:17px;line-height:1}.fablab-shell .design-viewport-tool-rail button>small{font-size:8px}.fablab-shell .design-viewport-tool-rail button:hover,.fablab-shell .design-viewport-tool-rail button.active{background:var(--selection-soft);color:var(--selection)}.fablab-shell .design-viewport-tool-drawer{z-index:29;border:1px solid var(--border-default);background:var(--surface-primary);width:min(340px,100% - 104px);max-height:calc(100% - 92px);box-shadow:var(--shadow-floating);border-radius:8px;padding:8px;position:absolute;top:72px;right:78px;overflow:auto}.fablab-shell .viewport-tool-drawer-close{z-index:2;border:1px solid var(--border-default);background:var(--surface-secondary);width:26px;min-width:26px;min-height:26px;color:var(--text-secondary);cursor:pointer;border-radius:5px;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.fablab-shell .design-viewport-tool-drawer .collapsible-section{border:0;margin:0}@media (width<=680px){.fablab-shell .design-viewport-tool-rail,.fablab-shell .design-viewport-tool-drawer{top:112px}}.fablab-shell .profile-2d-ruler-band{fill:#f4f6f5eb;stroke:#5f6c6824;stroke-width:1px}.fablab-shell .profile-2d-ruler-tick{stroke:#5f6c6875;stroke-width:1px}.fablab-shell .profile-2d-ruler-label{fill:#4e5a57a3;font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:20px;font-weight:600}.fablab-shell .profile-2d-ruler-axis-label{fill:#4e5a57b8;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;font-size:18px;font-weight:750}.fablab-shell .profile-grid-minor-world{stroke:#5f6c6814;stroke-width:1px}.fablab-shell .profile-grid-major-world{stroke:#5f6c682e;stroke-width:1.25px}.fablab-shell .profile-axis-zero{stroke:#168f8494;stroke-width:1.75px}.fablab-shell .profile-origin-dot{fill:#168f84d1}.fablab-shell .profile-grid-scale-badge rect{fill:#f4f6f5f0;stroke:#5f6c6838;stroke-width:1px}.fablab-shell .profile-grid-scale-badge text{fill:#4e5a57c2;letter-spacing:.02em;pointer-events:none;font-size:19px;font-weight:700}.fablab-shell .profile-grid-scale-badge .profile-grid-scale-subtext{fill:#4e5a578a;font-size:16px;font-weight:600}.fablab-shell .section-ground-status{z-index:26;border:1px solid var(--border-default);width:min(290px,100% - 24px);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border-radius:8px;padding:10px;position:absolute;bottom:14px;left:12px}.fablab-shell .section-ground-status.safe{border-color:#168f846b}.fablab-shell .section-ground-status.unsafe{border-color:#b8701f94}.fablab-shell .section-ground-status-heading{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.fablab-shell .section-ground-status-heading span{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:760}.fablab-shell .section-ground-status-heading strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:11px}.fablab-shell .section-ground-status p,.fablab-shell .section-ground-status>small,.fablab-shell .section-ground-issues small{color:var(--text-muted);margin:0;font-size:10px;line-height:1.4}.fablab-shell .section-ground-issues{gap:4px;margin-bottom:7px;display:grid}.fablab-shell .section-ground-issues>span{background:#b8701f14;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;display:flex}.fablab-shell .section-ground-issues strong{color:var(--text-primary);font-size:10px;font-weight:650}.fablab-shell .section-ground-status button{border:1px solid var(--selection);background:var(--brand-soft);width:100%;min-height:30px;color:var(--selection);cursor:pointer;border-radius:6px;margin:7px 0 5px;font-size:10px;font-weight:680}.fablab-shell .section-ground-status button:disabled{border-color:var(--border-default);background:var(--surface-secondary);color:var(--text-muted);cursor:default}.fablab-shell .fabricate-toolbar-checks{align-items:center;gap:10px;display:flex}.fablab-shell .ground-requirement-toggle{border:1px solid var(--border-default);background:var(--surface-primary);min-height:28px;color:var(--text-secondary);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:10px;display:inline-flex}.fablab-shell .ground-requirement-toggle.unsafe{color:#8a5517;background:#b8701f14;border-color:#b8701fa6}.fablab-shell .fabricate-model-status .status-danger,.fablab-shell .fabricate-model-status .status-danger strong{color:#9a5d18}@media (width<=760px){.fablab-shell .section-ground-status{width:min(250px,100% - 20px);bottom:10px}.fablab-shell .fabricate-toolbar-checks{gap:5px}.fablab-shell .ground-requirement-toggle{padding:0 5px}}.topbar-drawing-button{border:1px solid var(--border-default);background:var(--surface-primary);min-width:112px;min-height:34px;color:var(--text-primary);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:0 11px;font-size:12px;font-weight:700;display:flex}.topbar-drawing-button small{background:var(--surface-secondary);color:var(--text-muted);letter-spacing:.06em;border-radius:4px;margin-left:auto;padding:2px 4px;font-size:8px;font-weight:750}.topbar-drawing-button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.topbar-drawing-button:disabled{opacity:.38;cursor:default}.technical-drawing-backdrop{z-index:70;background:color-mix(in srgb, var(--text-primary) 28%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:16px;position:fixed;inset:0}.technical-drawing-modal{border:1px solid var(--border-default);background:var(--surface-primary);border-radius:10px;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;display:grid;overflow:hidden;box-shadow:0 24px 70px #17262d33}.technical-drawing-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:20px;min-height:66px;padding:12px 16px;display:flex}.technical-drawing-header h1{color:var(--text-primary);margin:2px 0 0;font-size:20px}.technical-drawing-exports{align-items:center;gap:7px;display:flex}.technical-drawing-exports button{border:1px solid var(--border-default);background:var(--surface-secondary);min-height:34px;color:var(--text-primary);cursor:pointer;border-radius:7px;padding:0 12px;font-size:11px;font-weight:700}.technical-drawing-exports button:hover{border-color:var(--brand);color:var(--brand)}.technical-drawing-exports .technical-drawing-close{width:34px;padding:0;font-size:20px}.technical-drawing-body{grid-template-columns:340px minmax(0,1fr);min-height:0;display:grid}.technical-drawing-sidebar{border-right:1px solid var(--border-default);background:var(--surface-secondary);min-height:0;overflow:auto}.drawing-sheet-tabs{z-index:2;border-bottom:1px solid var(--border-subtle);background:var(--surface-primary);gap:4px;padding:10px;display:flex;position:sticky;top:0}.drawing-sheet-tabs button{border:1px solid var(--border-default);background:var(--surface-secondary);min-width:42px;min-height:30px;color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:0 9px;font-size:10px;font-weight:750}.drawing-sheet-tabs button.active{border-color:var(--selection);background:var(--selection-soft);color:var(--brand)}.technical-drawing-sidebar details{border-bottom:1px solid var(--border-subtle);background:var(--surface-primary)}.technical-drawing-sidebar summary{color:var(--text-primary);cursor:pointer;letter-spacing:.02em;justify-content:space-between;align-items:center;padding:12px;font-size:11px;font-weight:750;display:flex}.technical-drawing-sidebar summary small{color:var(--text-muted);font-size:10px}.drawing-control-grid{grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px;display:grid}.drawing-control-grid label{color:var(--text-secondary);gap:4px;font-size:9px;font-weight:700;display:grid}.drawing-control-grid input,.drawing-control-grid select,.drawing-view-row input,.drawing-view-row select,.drawing-inline-add select,.drawing-note-add textarea,.drawing-note-add select,.drawing-revision-add input{border:1px solid var(--border-default);background:var(--surface-primary);min-width:0;min-height:30px;color:var(--text-primary);font:inherit;border-radius:5px;padding:5px 7px}.drawing-danger{border:1px solid var(--danger);background:var(--danger-soft);min-height:28px;color:var(--danger);cursor:pointer;border-radius:5px;margin:0 12px 12px;font-size:10px}.drawing-danger:disabled{opacity:.4;cursor:default}.drawing-list,.drawing-compact-list{gap:7px;padding:0 12px 12px;display:grid}.drawing-view-row{border:1px solid var(--border-subtle);background:var(--surface-secondary);border-radius:6px;grid-template-columns:1fr 1fr;gap:5px;padding:8px;display:grid}.drawing-view-row>button{width:28px;min-height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;grid-column:2;justify-self:end;font-size:16px}.drawing-check{color:var(--text-secondary);align-items:center;gap:5px;font-size:9px;display:flex}.drawing-list>button,.drawing-inline-add button,.drawing-note-add button,.drawing-revision-add button{border:1px solid var(--border-default);background:var(--surface-secondary);min-height:30px;color:var(--text-primary);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.drawing-inline-add{grid-template-columns:1.4fr 1fr auto;gap:5px;padding:0 12px 8px;display:grid}.drawing-compact-list span{min-height:26px;color:var(--text-secondary);align-items:center;gap:7px;font-size:9px;display:flex}.drawing-compact-list span strong{color:var(--text-primary)}.drawing-compact-list span button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:15px}.drawing-hint{color:var(--text-muted);margin:0;padding:0 12px 12px;font-size:9px;line-height:1.45}.drawing-note-add,.drawing-revision-add{gap:6px;padding:0 12px 10px;display:grid}.drawing-note-add textarea{resize:vertical;min-height:58px}.drawing-revision-add{grid-template-columns:48px 1fr}.drawing-revision-add input:nth-child(3){grid-column:1/-1}.technical-drawing-preview{background:var(--surface-canvas);min-width:0;min-height:0;padding:28px;overflow:auto}.technical-drawing-paper{background:#fff;width:min(100%,1180px);margin:0 auto;box-shadow:0 5px 24px #17262d24}.technical-drawing-paper svg{width:100%;height:auto;display:block}@media (width<=900px){.technical-drawing-body{grid-template-columns:290px minmax(520px,1fr)}.technical-drawing-backdrop{padding:6px}.editor-project-context{display:none}}
