@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.grid{display:grid}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}}.measurement-heading{justify-content:space-between;align-items:end;gap:24px;padding:32px 0 26px;display:flex}.measurement-heading h1{letter-spacing:-.04em;margin:12px 0;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.05}.measurement-heading p{color:var(--muted);margin:12px 0 0}.measurement-heading .eyebrow{color:var(--copper);margin-top:24px}.measurement-progress{flex-shrink:0;width:220px}.measurement-progress strong{color:var(--acid);font:44px IBM Plex Mono,monospace;display:block}.measurement-progress strong span{color:var(--muted);font-size:24px}.measurement-progress small{color:var(--muted);margin:5px 0 12px;display:block}.measurement-progress progress{width:100%;height:5px;accent-color:var(--acid)}.measurement-workspace{border:1px solid var(--line);background:var(--panel);grid-template-columns:minmax(0,1.7fr) minmax(340px,1fr);display:grid}.measurement-stage{border-right:1px solid var(--line);min-width:0}.measurement-shell button{cursor:pointer}.measurement-shell button:disabled{cursor:not-allowed;opacity:.45}.measurement-stage-toolbar,.measurement-photo-tools,.measurement-voice-heading,.measurement-sidebar>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.measurement-stage-toolbar{flex-wrap:wrap}.measurement-stage-toolbar label,.measurement-voice-heading label{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.measurement-photo-tabs{gap:6px;display:flex}.measurement-shell button:not(.primary-action):not(.measurement-task):not(.record-button){border:1px solid var(--line);min-height:44px;color:var(--ink);background:0 0;padding:10px 13px}.measurement-photo-tabs button[aria-pressed=true]{border-color:var(--acid)!important;color:var(--acid)!important}.measurement-photo-tools{color:var(--muted);border:0;font:10px IBM Plex Mono,monospace}.measurement-photo-tools>div{gap:4px;display:flex}.measurement-photo-svg{touch-action:none;cursor:grab;background:#090c0b;width:100%;max-height:550px;display:block}.dimension-annotation{cursor:pointer;color:#ffeac0}.dimension-annotation line{stroke:currentColor;filter:drop-shadow(0 1px 2px #000)}.dimension-annotation rect{fill:#18201deb;stroke:currentColor}.dimension-annotation text{fill:currentColor;font-family:IBM Plex Mono,monospace;font-weight:600}.dimension-annotation.is-complete{color:#a1cf9b}.dimension-annotation.is-selected{color:var(--acid)}.dimension-annotation.is-selected rect{fill:var(--acid)}.dimension-annotation.is-selected text{fill:#0e1211}.dimension-annotation circle{fill:#0e1211;stroke:var(--acid);cursor:crosshair}.measurement-photo-caption{color:var(--muted);border-bottom:1px solid var(--line);margin:0;padding:12px 16px;font-size:.8rem}.measurement-voice-panel{padding:20px}.measurement-voice-heading{border:0;padding:0 0 16px}.record-button{border:1px solid var(--acid);width:100%;min-height:76px;color:var(--acid);touch-action:none;-webkit-user-select:none;user-select:none;background:#d9ff430a;justify-content:center;align-items:center;gap:16px;padding:16px;font-size:1.08rem;font-weight:600;display:flex}.record-indicator{border:2px solid;border-radius:50%;width:13px;height:13px}.record-button.is-recording{border-color:var(--copper);color:var(--copper);background:#ec793f14}.record-button.is-recording .record-indicator{background:var(--copper);box-shadow:0 0 0 6px #ec793f22}.record-cancel{margin-top:8px}.measurement-voice-example{color:var(--ink);font-size:.85rem}.measurement-provider-note{color:var(--muted);font-size:.74rem;line-height:1.5}.measurement-transcript{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.measurement-transcript small{color:var(--muted);letter-spacing:.12em;font:10px IBM Plex Mono,monospace}.measurement-transcript p{margin:8px 0}.measurement-confirmation{color:var(--acid);align-items:baseline;gap:12px;font-size:.94rem;display:flex}.measurement-confirmation>span{font-size:24px}.measurement-sidebar{min-width:0}.measurement-sidebar>header h2{margin:0;font-size:1.1rem;font-weight:500}.measurement-sidebar>header>span{color:var(--muted);font:12px IBM Plex Mono,monospace}.measurement-task-list{border-bottom:1px solid var(--line);max-height:330px;overflow:auto}.measurement-task{text-align:left;width:100%;min-height:70px;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #33403970;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.measurement-task[aria-pressed=true]{box-shadow:inset 3px 0 var(--acid);background:#d9ff430e}.measurement-task[aria-pressed=true] .measurement-number{color:var(--acid)}.measurement-task small{color:var(--muted);margin-top:4px;font-size:.7rem;display:block}.measurement-task>strong,.measurement-number{font:13px IBM Plex Mono,monospace}.measurement-task.is-complete>strong{color:#a1cf9b}.measurement-active-task{padding:22px 20px}.measurement-active-label{align-items:start;gap:14px;display:flex}.measurement-active-label>span{color:var(--acid);padding-top:2px;font:18px IBM Plex Mono,monospace}.measurement-active-label h3{margin:0;font-size:1.2rem;font-weight:500}.measurement-active-task>p{font-size:.87rem;line-height:1.5}.measurement-range{color:var(--muted)}.measurement-accepted{color:#a1cf9b}.measurement-value-form{margin-top:22px}.measurement-value-form label{color:var(--muted);margin-bottom:8px;font-size:.8rem;display:block}.measurement-value-form>div{gap:8px;display:flex}.measurement-value-form input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#0e1211;padding:12px;font:23px IBM Plex Mono,monospace}.measurement-value-form input:focus{outline:1px solid var(--acid)}.measurement-shell .primary-action{background:var(--acid);color:#12170c;white-space:nowrap;border:0;min-height:50px;padding:14px 18px;font-weight:600}.measurement-shell .measurement-clear{font-size:.8rem;color:var(--muted)!important;border:0!important;padding-left:0!important}.measurement-stepper{border-top:1px solid var(--line);justify-content:space-between;gap:8px;margin-top:20px;padding-top:18px;display:flex}.measurement-stepper button{flex:1;font-size:.8rem}.measurement-warning{border-left:3px solid var(--copper);color:#ffd5b8;background:#ec793f0c;margin:12px 0;padding:12px 16px;font-size:.88rem;line-height:1.5}.measurement-warning button{margin-top:10px}.measurement-warning p{margin:0}.measurement-finalize{border:1px solid var(--line);background:#101713;border-top:0;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.measurement-finalize p{color:var(--muted);margin:6px 0 0;font-size:.88rem}.measurement-no-photo,.measurement-empty{text-align:center;min-height:300px;color:var(--muted);place-content:center;padding:30px;display:grid}.measurement-no-photo>span{color:var(--acid);font:72px IBM Plex Mono,monospace}.measurement-no-photo h2{color:var(--ink);font-size:1.3rem;font-weight:500}@media (width<=900px){.measurement-workspace{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr)}.measurement-stage-toolbar,.measurement-voice-heading{flex-direction:column;align-items:start}.measurement-active-task,.measurement-voice-panel{padding:16px}}@media (width<=700px){.measurement-workspace{grid-template-columns:1fr}.measurement-stage{border-right:0;border-bottom:1px solid var(--line)}.measurement-progress{width:120px}.measurement-progress strong{font-size:30px}.measurement-progress strong span{font-size:18px}.measurement-heading{align-items:center}.measurement-finalize{flex-direction:column;align-items:stretch;padding:20px 16px}.measurement-task-list{max-height:260px}.measurement-stage-toolbar,.measurement-voice-heading{flex-flow:wrap}}:root{color:#e7e7de;font-synthesis:none;text-rendering:optimizelegibility;--ink:#e7e7de;--muted:#919b95;--panel:#151b19;--panel-strong:#1b2421;--line:#334039;--acid:#d9ff43;--copper:#ec793f;--danger:#ff725e;background:#0e1211;font-family:IBM Plex Sans Variable,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#d9ff4306 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#d9ff4306 1px,#0000 1px) 0 0/44px 44px,radial-gradient(circle at 77% 18%,#ec793f1f,#0000 28rem),#0e1211;min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--acid);outline-offset:4px}.status-shell{width:min(1380px,100% - 48px);min-height:100vh;margin:0 auto;padding:24px 0 32px}.topline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:64px;display:flex}.wordmark{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:13px;font-size:1.1rem;font-weight:650;text-decoration:none;display:inline-flex}.wordmark-mark{background:var(--acid);color:#101411;place-items:center;width:34px;height:34px;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:700;display:grid}.topline-meta,.eyebrow,.card-label,.milestone small,footer span{letter-spacing:.13em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.68rem}.topline-meta{color:var(--muted);gap:28px;display:flex}.live-clock{color:var(--acid)}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:clamp(48px,8vw,132px);min-height:480px;padding:64px 0 52px;display:grid}.eyebrow-row{color:var(--muted);align-items:center;gap:12px;display:flex}.signal{border:1px solid var(--muted);border-radius:50%;width:9px;height:9px}.signal-ok{border-color:var(--acid);background:var(--acid);box-shadow:0 0 18px #d9ff43b3}.hero-copy h1{letter-spacing:-.072em;max-width:760px;margin:20px 0 24px;font-size:clamp(4rem,9vw,8rem);font-weight:560;line-height:.82}.hero-lede{color:#b4bcb7;max-width:670px;margin:0;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.55}.diagram{min-height:340px;position:relative}.diagram-room{border:1px solid #d9ff4370;position:absolute;inset:64px 32px 44px 54px;transform:skewY(-7deg);box-shadow:inset 0 0 70px #d9ff4306}.diagram-room:before,.diagram-room:after{content:"";border:1px solid var(--line);position:absolute}.diagram-room:before{inset:28px -28px -28px 28px}.diagram-room:after{inset:56px 62px 42px 44px}.node{z-index:2;background:var(--copper);width:12px;height:12px;box-shadow:0 0 0 1px var(--copper);border:2px solid #0e1211;border-radius:50%;position:absolute}.node-a{top:68%;left:18%}.node-b{top:32%;left:52%}.node-c{top:55%;right:12%}.route-line{background:var(--copper);transform-origin:0;width:66%;height:1px;position:absolute;top:69%;left:20%;transform:rotate(-24deg)}.diagram-axis,.diagram-label{color:var(--muted);letter-spacing:.1em;font-family:IBM Plex Mono,monospace;font-size:.64rem;position:absolute}.diagram-axis-x{bottom:20px;right:7px}.diagram-axis-z{top:20px;left:28px}.diagram-label{bottom:0;right:14px}.status-rack{border:1px solid var(--line);background:#151b19e0;box-shadow:14px 14px #d9ff4309}.rack-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding:25px 28px;display:flex}.rack-heading h2{margin:5px 0 0;font-size:1.5rem;font-weight:520}.refresh-button,.fatal-panel button{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #5d6b63;align-items:center;gap:9px;padding:10px 14px;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.refresh-button:hover,.fatal-panel button:hover{border-color:var(--acid);background:var(--acid);color:#0e1211}.readout-grid{grid-template-columns:repeat(3,1fr);display:grid}.readout-card{border-right:1px solid var(--line);min-height:176px;padding:28px;position:relative}.readout-card:last-child{border-right:0}.card-index{color:#4e5b54;font-family:IBM Plex Mono,monospace;font-size:2rem;position:absolute;top:16px;right:18px}.card-label{color:var(--muted)}.readout-card h3{margin:30px 0 20px;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:530}.card-detail{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:9px;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:flex;overflow:hidden}.status-dot{background:var(--acid);border-radius:50%;flex:none;width:6px;height:6px}.skeleton-card{flex-direction:column;justify-content:center;gap:22px;display:flex}.skeleton-line{background:linear-gradient(90deg,#222b27,#34413a,#222b27) 0 0/200% 100%;width:78%;height:12px;animation:1.2s linear infinite shimmer;display:block}.skeleton-short{width:32%}.error-state{border-left:4px solid var(--danger);grid-template-columns:160px 1fr;gap:30px;padding:32px 28px;display:grid}.error-code{color:var(--danger);font-family:IBM Plex Mono,monospace;font-size:.7rem}.error-state h3,.error-state p{margin:0}.error-state p{color:var(--muted);margin-top:8px}.milestone-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:44px;display:grid}.milestone{border-right:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:92px;padding:18px 22px;display:grid}.milestone:last-child{border-right:0}.milestone>span{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:1.1rem}.milestone p{margin:0}.milestone small{color:#5f6963}.milestone-active{background:#d9ff430e}.milestone-active>span,.milestone-active small{color:var(--acid)}footer{color:#67736c;justify-content:space-between;gap:30px;padding-top:24px;font-family:IBM Plex Mono,monospace;font-size:.7rem;display:flex}footer p{margin:0}.fatal-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.fatal-panel{border:1px solid var(--danger);background:var(--panel);width:min(620px,100%);padding:34px}.fatal-panel h1{margin:18px 0 12px}.fatal-panel p{color:var(--muted)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-shell{width:min(1500px,100% - 48px);min-height:100vh;margin:0 auto;padding:24px 0 48px}.admin-topline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:64px;display:flex}.admin-topline-context{color:var(--acid);letter-spacing:.13em;align-items:center;gap:12px;font-family:IBM Plex Mono,monospace;font-size:.68rem;display:flex}.admin-session{align-items:center;gap:18px;display:flex}.admin-session button,.projects-user button,.session-failure button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #536058;padding:8px 11px;font-size:.72rem}.admin-session button:hover,.projects-user button:hover,.session-failure button:hover{border-color:var(--acid);color:var(--acid)}.admin-grid{grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 112px);display:grid}.admin-rail{border-right:1px solid var(--line);padding:42px 24px 32px 0;position:relative}.admin-rail:after{background:var(--acid);content:"";width:5px;height:48px;position:absolute;top:72px;right:-3px}.admin-rail-label,.admin-rail-note span{color:#68736d;letter-spacing:.14em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.64rem}.admin-rail nav{gap:4px;margin-top:20px;display:grid}.admin-rail nav a,.admin-nav-pending{color:#a6b0aa;border-left:1px solid #0000;padding:13px 14px;text-decoration:none;display:block}.admin-rail nav a.active{border-left-color:var(--acid);color:var(--ink);background:#d9ff430e}.admin-nav-pending{color:#56605a}.admin-rail-note{border-top:1px solid var(--line);padding-top:18px;position:absolute;bottom:40px;left:0;right:24px}.admin-rail-note p{color:#7d8982;margin:10px 0 0;font-size:.82rem;line-height:1.5}.admin-workspace{min-width:0;padding:58px 0 0 clamp(28px,5vw,76px)}.admin-page-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;margin-bottom:46px;display:grid}.admin-page-heading h1{letter-spacing:-.065em;margin:13px 0 16px;font-size:clamp(3.2rem,6vw,6.6rem);font-weight:550;line-height:.88}.admin-page-heading p{color:#a4aea8;max-width:690px;margin:0;font-size:1.06rem;line-height:1.55}.admin-count{justify-items:end;min-width:160px;padding-bottom:4px;display:grid}.admin-count strong{color:var(--acid);font-family:IBM Plex Mono,monospace;font-size:3.2rem;font-weight:400}.admin-count span{color:var(--muted);font-size:.75rem}.access-overview{border:1px solid var(--line);background:#151b19b8;grid-template-columns:repeat(3,1fr);display:grid}.access-overview article{border-right:1px solid var(--line);min-height:126px;padding:22px 24px;position:relative}.access-overview article:last-child{border-right:0}.access-overview article>span{color:#46514b;font-family:IBM Plex Mono,monospace;font-size:.72rem;position:absolute;top:14px;right:16px}.access-overview strong{color:var(--acid);font-family:IBM Plex Mono,monospace;font-size:2.3rem;font-weight:400;display:block}.access-overview p{color:var(--muted);margin:14px 0 0;font-size:.78rem}.admin-command-panel{background:linear-gradient(115deg, #d9ff4312, transparent 38%), var(--panel);border:1px solid #d9ff435c;grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);align-items:end;gap:32px 50px;margin-top:26px;padding:28px;display:grid}.command-panel-title h2,.register-toolbar h2{margin:6px 0 0;font-size:1.5rem;font-weight:520}.allowlist-create-form{grid-template-columns:minmax(220px,1.6fr) minmax(170px,.8fr) auto;align-items:end;gap:12px;display:grid}.allowlist-create-form label,.search-form label{gap:8px;display:grid}.allowlist-create-form label>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.65rem}input,select{min-width:0;color:var(--ink);font:inherit;background:#101513;border:1px solid #455149;border-radius:0;padding:12px 13px}input::placeholder{color:#5c6761}input:focus,select:focus{outline:1px solid var(--acid);outline-offset:0;border-color:var(--acid)}select:disabled,input:disabled{color:#66716b;cursor:not-allowed}.primary-action,.search-form button,.row-actions button,.admin-error button{min-height:43px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #58665e;border-radius:0;padding:10px 14px}.primary-action{border-color:var(--acid);background:var(--acid);color:#101411;font-weight:650}.primary-action:hover,.primary-action:focus-visible{background:#efffa8}button:disabled{cursor:wait;opacity:.55}.inline-feedback{border-left:3px solid var(--acid);color:#cbd4cf;background:#d9ff430f;grid-column:2/-1;padding:12px 14px;font-size:.83rem}.inline-feedback-error{border-left-color:var(--danger);background:#ff725e12}.allowlist-register{border-top:1px solid var(--line);margin-top:46px}.register-toolbar{justify-content:space-between;align-items:end;gap:32px;padding:25px 0 20px;display:flex}.search-form{align-items:end;gap:8px;display:flex}.search-form input{width:min(320px,35vw)}.search-form button:hover,.row-actions button:hover,.admin-error button:hover{border-color:var(--acid);color:var(--acid)}.allowlist-table{border:1px solid var(--line);background:#111614e6}.allowlist-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(230px,1.5fr) minmax(150px,.7fr) minmax(160px,.8fr) minmax(220px,1fr);align-items:center;gap:20px;min-height:88px;padding:15px 20px;transition:background .15s;display:grid}.allowlist-row:last-child{border-bottom:0}.allowlist-row:not(.allowlist-header):hover{background:#d9ff4306}.allowlist-header{color:#6f7b74;letter-spacing:.1em;text-transform:uppercase;min-height:43px;font-family:IBM Plex Mono,monospace;font-size:.62rem}.allowlist-row-inactive{opacity:.67}.allowlist-identity{align-items:center;gap:13px;min-width:0;display:flex}.allowlist-identity>div{min-width:0}.allowlist-identity strong{text-overflow:ellipsis;font-size:.9rem;display:block;overflow:hidden}.allowlist-identity small,.entry-state small{color:#68746d;margin-top:5px;font-size:.68rem;display:block}.email-monogram{width:34px;height:34px;color:var(--acid);border:1px solid #4a564f;flex:none;place-items:center;font-family:IBM Plex Mono,monospace;font-size:.65rem;display:grid}.allowlist-row select{width:100%;padding:9px 10px;font-size:.8rem}.state-chip{color:#9ca7a1;text-transform:uppercase;align-items:center;gap:7px;font-family:IBM Plex Mono,monospace;font-size:.68rem;display:inline-flex}.state-chip:before{content:"";background:#727c76;border-radius:50%;width:7px;height:7px}.state-active:before{background:var(--acid);box-shadow:0 0 10px #d9ff4380}.state-consumed:before{background:var(--copper)}.row-actions{justify-content:flex-end;gap:7px;display:flex}.row-actions button{min-height:36px;padding:7px 10px;font-size:.72rem}.row-actions .danger-action{color:#db8e80}.row-actions .danger-action:hover,.row-actions .danger-confirm{border-color:var(--danger);color:var(--danger);background:#ff725e14}.admin-error{background:#ff725e0a;border:1px solid #ff725e73;grid-template-columns:180px 1fr;gap:28px;padding:28px;display:grid}.admin-error>span{color:var(--danger);font-family:IBM Plex Mono,monospace;font-size:.68rem}.admin-error h3,.admin-error p{margin:0}.admin-error p{color:var(--muted);margin:8px 0 16px}.empty-register{text-align:center;border:1px dashed #455149;padding:48px 28px}.empty-register p{color:var(--muted);margin:8px 0 0}.register-loading{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.register-loading span{background:linear-gradient(90deg,#151b19,#202925,#151b19) 0 0/200% 100%;height:82px;animation:1.2s linear infinite shimmer;display:block}.users-heading h1{max-width:980px}.users-feedback,.users-register{margin-top:26px}.users-list{border:1px solid var(--line);background:#111614e6;display:grid}.user-card{border-bottom:1px solid var(--line);grid-template-columns:50px minmax(220px,1.35fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(250px,1fr);align-items:center;gap:18px;min-height:116px;padding:20px;transition:background .16s,opacity .16s;display:grid}.user-card:last-child{border-bottom:0}.user-card:hover{background:#d9ff4306}.user-card-blocked{opacity:.64}.user-card-index{width:42px;height:42px;color:var(--acid);border:1px solid #4a564f;place-items:center;font-family:IBM Plex Mono,monospace;font-size:.68rem;display:grid}.user-card-identity,.user-card-control,.user-card-status{min-width:0}.user-name-line{align-items:center;gap:10px;display:flex}.user-name-line h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:580;overflow:hidden}.user-name-line span{border:1px solid var(--acid);color:var(--acid);text-transform:uppercase;padding:2px 5px;font-family:IBM Plex Mono,monospace;font-size:.56rem}.user-card-identity p{color:#a7b0ab;text-overflow:ellipsis;margin:7px 0 0;font-family:IBM Plex Mono,monospace;font-size:.72rem;overflow:hidden}.user-card-identity small,.user-card-status small{color:#66716b;margin-top:7px;font-size:.67rem;display:block}.user-card-control label{gap:7px;display:grid}.user-card-control label>span{color:#68736d;letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.58rem}.user-card-control select{width:100%;padding:9px 10px;font-size:.78rem}.user-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.user-card-actions button{min-height:36px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #58665e;padding:7px 10px;font-size:.7rem}.user-card-actions button:hover{border-color:var(--acid);color:var(--acid)}.user-card-actions .danger-confirm{border-color:var(--danger);color:var(--danger);background:#ff725e14}.session-gate{justify-content:center;align-items:center;gap:24px;min-height:100vh;padding:30px;display:flex}.session-gate-mark{background:var(--acid);color:#101411;place-items:center;width:52px;height:52px;font-family:IBM Plex Mono,monospace;display:grid}.session-gate h1{margin:7px 0 0;font-size:2rem;font-weight:540}.session-failure .session-gate-mark{background:var(--danger)}.session-failure p{color:var(--muted)}.auth-shell{background:#0e1211;grid-template-columns:minmax(0,1.15fr) minmax(500px,.85fr);min-height:100vh;display:grid}.auth-visual{border-right:1px solid var(--line);background:linear-gradient(#d9ff4309 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#d9ff4309 1px,#0000 1px) 0 0/44px 44px,radial-gradient(circle at 70% 44%,#ec793f21,#0000 30rem),#0b100e;flex-direction:column;min-height:100vh;padding:34px clamp(32px,6vw,96px) 42px;display:flex;position:relative;overflow:hidden}.auth-wordmark{align-self:flex-start}.auth-visual-copy{z-index:2;max-width:760px;margin-top:clamp(100px,16vh,190px);position:relative}.auth-visual-copy h1{letter-spacing:-.072em;max-width:760px;margin:18px 0 25px;font-size:clamp(4rem,7.3vw,8rem);font-weight:540;line-height:.86}.auth-visual-copy p{color:#aab4ae;max-width:650px;margin:0;font-size:clamp(1rem,1.35vw,1.24rem);line-height:1.6}.auth-blueprint{opacity:.58;border:1px solid #d9ff433d;width:48%;height:38%;position:absolute;bottom:100px;right:-90px;transform:skewY(-8deg)}.auth-blueprint:before,.auth-blueprint:after{content:"";border:1px solid #344139;position:absolute}.auth-blueprint:before{inset:34px 55px -34px -55px}.auth-blueprint:after{inset:20% 18%}.auth-wire,.auth-node,.auth-axis,.auth-blueprint small{position:absolute}.auth-wire{background:var(--copper);transform-origin:0;height:1px}.auth-wire-a{width:43%;top:70%;left:12%;transform:rotate(-28deg)}.auth-wire-b{width:35%;top:49%;left:49%;transform:rotate(19deg)}.auth-wire-c{width:26%;top:50%;left:48%;transform:rotate(92deg)}.auth-node{background:var(--copper);width:11px;height:11px;box-shadow:0 0 0 1px var(--copper);border:2px solid #0b100e;border-radius:50%}.auth-node-a{top:68%;left:11%}.auth-node-b{top:47%;left:47%}.auth-node-c{top:57%;left:80%}.auth-axis,.auth-blueprint small{color:#78837c;letter-spacing:.1em;font-family:IBM Plex Mono,monospace;font-size:.6rem;font-style:normal}.auth-axis-x{bottom:10px;right:12px}.auth-axis-z{top:10px;left:10px}.auth-blueprint small{bottom:-62px;right:18px}.auth-principles{z-index:2;color:#66716b;letter-spacing:.08em;gap:30px;margin-top:auto;font-family:IBM Plex Mono,monospace;font-size:.62rem;display:flex;position:relative}.auth-panel{background:linear-gradient(145deg,#d9ff4306,#0000 35%),#121715;place-items:center;min-height:100vh;padding:52px clamp(34px,5vw,78px);display:grid}.auth-panel-register{place-items:safe center}.auth-form-wrap{width:min(510px,100%)}.auth-form-heading{margin-bottom:40px}.auth-form-heading h2{letter-spacing:-.06em;margin:10px 0 15px;font-size:clamp(3rem,5vw,5.2rem);font-weight:540;line-height:.92}.auth-form-heading p{color:var(--muted);margin:0;line-height:1.55}.auth-form{gap:20px;display:grid}.auth-form label{gap:9px;display:grid}.auth-form label>span{color:#8c9791;letter-spacing:.1em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.64rem}.auth-form input{background:#0d1210;min-height:52px;padding:14px 15px}.auth-password-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-submit{background:var(--acid);color:#0c100e;min-height:58px;font:inherit;cursor:pointer;border:0;justify-content:space-between;align-items:center;margin-top:4px;padding:0 18px 0 21px;font-weight:650;transition:background .15s,transform .15s;display:flex}.auth-submit:hover{background:#edff9b;transform:translateY(-1px)}.auth-submit b{font-size:1.6rem;font-weight:400}.auth-error{border-left:3px solid var(--danger);background:#ff725e12;padding:14px 16px}.auth-error span,.auth-error small{color:var(--danger);letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.62rem}.auth-error p{color:#d7dcd9;margin:7px 0 0;font-size:.86rem}.auth-error small{color:#8f6962;margin-top:8px;display:block}.auth-switch{border-top:1px solid var(--line);color:var(--muted);gap:10px;margin-top:28px;padding-top:22px;font-size:.84rem;display:flex}.auth-switch a{color:var(--acid);text-decoration:none}.auth-risk-note{color:#9d9188;border:1px solid #ec793f4d;margin-top:24px;padding:14px 15px;font-size:.76rem}.auth-risk-note span{color:var(--copper);letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.61rem}.auth-risk-note p{margin:8px 0 0;line-height:1.5}.projects-landing{width:min(1380px,100% - 48px);min-height:100vh;margin:0 auto;padding:24px 0 44px}.projects-topline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:64px;display:flex}.projects-user{align-items:center;gap:16px;display:flex}.projects-user>div{justify-items:end;display:grid}.projects-user strong{font-size:.78rem}.projects-user span{color:var(--muted);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.6rem}.projects-hero{grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);align-items:center;gap:clamp(48px,9vw,140px);min-height:calc(100vh - 140px);padding:70px 0;display:grid}.projects-hero h1{letter-spacing:-.072em;max-width:850px;margin:18px 0 26px;font-size:clamp(4rem,8vw,8.5rem);font-weight:540;line-height:.84}.projects-hero>div>p{color:#a8b2ac;max-width:700px;font-size:1.15rem;line-height:1.6}.projects-actions{gap:10px;margin-top:34px;display:flex}.projects-actions a{color:var(--ink);border:1px solid #536058;padding:12px 15px;text-decoration:none}.projects-actions a:first-child{border-color:var(--acid);background:var(--acid);color:#101411}.projects-stage-card{background:linear-gradient(145deg, #d9ff4314, transparent 42%), var(--panel);border:1px solid #d9ff4366;padding:32px;position:relative;box-shadow:14px 14px #d9ff4309}.projects-stage-card>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.65rem}.projects-stage-card>strong{color:var(--acid);margin:30px 0 8px;font-family:IBM Plex Mono,monospace;font-size:5rem;font-weight:400;display:block}.projects-stage-card h2{margin:0;font-size:1.5rem;font-weight:520}.projects-stage-card ul{border-top:1px solid var(--line);gap:12px;margin:28px 0 0;padding:22px 0 0;list-style:none;display:grid}.projects-stage-card li{color:#9ca7a1;font-size:.8rem}.projects-stage-card li:before{color:var(--acid);content:"●";margin-right:10px}.projects-header-actions,.projects-workspace-heading,.project-card,.project-card-actions,.project-detail-heading,.project-command-console,.project-command-console form>div,.project-dialog>div{align-items:center;display:flex}.projects-header-actions{gap:18px}.projects-header-actions>a{color:var(--muted);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.7rem;text-decoration:none}.projects-workspace-heading{justify-content:space-between;gap:60px;padding:70px 0 48px}.projects-workspace-heading h1,.project-detail-heading h1{letter-spacing:-.07em;margin:12px 0;font-size:clamp(3.4rem,8vw,7.4rem);font-weight:520;line-height:.9}.projects-workspace-heading p,.project-detail-heading p{max-width:680px;color:var(--muted);margin:0;line-height:1.6}.project-create-form{border:1px solid var(--line);background:var(--panel);width:min(100%,490px);padding:22px}.project-create-form label,.project-dialog label,.project-command-console label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px;font-family:IBM Plex Mono,monospace;font-size:.64rem;display:block}.project-create-form>div{grid-template-columns:1fr auto;display:grid}.project-create-form input,.project-dialog input,.project-command-console input{min-width:0;color:var(--ink);font:inherit;background:#0d120f;border:1px solid #465049;border-radius:0;padding:12px 13px}.project-create-form button,.projects-state button,.project-card-actions a,.project-card-actions button,.project-dialog button,.project-command-console button{color:var(--ink);cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #536058;border-radius:0;padding:11px 13px;font-family:IBM Plex Mono,monospace;font-size:.66rem;text-decoration:none}.project-create-form button,.project-card-actions a,.project-dialog button:last-child,.project-command-console button:first-child{border-color:var(--acid);background:var(--acid);color:#111510}.project-feedback{color:#d7aaa0;border:1px solid #ec793f80;gap:14px;margin-bottom:28px;padding:13px 15px;display:flex}.project-feedback strong{color:var(--copper);font-family:IBM Plex Mono,monospace;font-size:.68rem}.project-feedback-ok{color:var(--ink);border-color:#d9ff436b}.project-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.project-card{background:#111713;flex-direction:column;justify-content:space-between;align-items:stretch;min-height:310px;padding:25px}.project-card-index,.project-card-meta,.project-card-copy>p,.project-foundation-grid article>span,.project-dialog>span,.project-access-badge{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.64rem}.project-card-index{color:var(--acid)}.project-card-meta{justify-content:space-between;margin-top:52px;display:flex}.project-card h2{letter-spacing:-.04em;margin:12px 0 8px;font-size:2rem;font-weight:520}.project-card-copy>p{text-transform:none;margin:0}.project-card-actions{flex-wrap:wrap;align-items:stretch;gap:7px;margin-top:32px}.project-card-actions .danger,.project-dialog .danger,.project-command-console .danger{color:#f09a72;background:0 0;border-color:#ec793fa6}.project-card-loading{background:linear-gradient(100deg,#101511 20%,#1b241d 45%,#101511 70%) 0 0/200% 100%;min-height:310px;animation:1.1s linear infinite shimmer}.projects-state{border:1px solid var(--line);background:var(--panel);min-height:340px;padding:62px}.projects-state>span{color:var(--copper);font-family:IBM Plex Mono,monospace;font-size:.67rem}.projects-state h2{letter-spacing:-.05em;max-width:700px;margin:24px 0 12px;font-size:clamp(2.2rem,5vw,4.6rem);font-weight:520}.projects-state p{max-width:650px;color:var(--muted);line-height:1.6}.projects-empty>span{color:var(--acid)}.project-dialog-backdrop{z-index:20;background:#030604d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.project-dialog{background:#121813;border:1px solid #647068;width:min(100%,520px);padding:30px;box-shadow:16px 16px #00000059}.project-dialog h2{margin:13px 0 26px;font-size:2rem;font-weight:520}.project-dialog input{box-sizing:border-box;width:100%}.project-dialog>p{color:var(--muted);line-height:1.6}.project-dialog>div{justify-content:flex-end;gap:8px;margin-top:25px}.project-delete-dialog{border-color:#ec793fbf}.project-detail-heading{justify-content:space-between;gap:40px;padding:74px 0 48px}.project-access-badge{color:var(--acid);border:1px solid #d9ff4380;padding:12px 14px}.project-access-admin_read{color:var(--copper);border-color:#ec793f80}.project-editor-link{border:1px solid var(--acid);color:var(--acid);text-transform:uppercase;padding:12px 15px;font-family:IBM Plex Mono,monospace;font-size:.66rem;text-decoration:none}.project-foundation-grid{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.project-foundation-grid article{border-right:1px solid var(--line);min-height:250px;padding:24px}.project-foundation-grid article:last-child{border-right:0}.project-foundation-grid strong{color:var(--acid);margin:34px 0 16px;font-family:IBM Plex Mono,monospace;font-size:3.5rem;font-weight:400;display:block}.project-foundation-grid h2{margin:0;font-size:1.1rem;font-weight:520}.project-foundation-grid p,.project-command-console p{color:var(--muted);font-size:.8rem;line-height:1.55}.project-command-console{border:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:flex-start;gap:60px;margin-top:34px;padding:30px}.project-command-console h2{margin:10px 0;font-size:2rem;font-weight:520}.project-command-console form{width:min(100%,620px)}.project-command-console input{box-sizing:border-box;width:100%}.project-command-console form>div{flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:10px}@media (width<=1000px){.project-grid,.project-foundation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-foundation-grid article:nth-child(2){border-right:0}.project-foundation-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=700px){.projects-workspace-heading,.project-detail-heading,.project-command-console{flex-direction:column;align-items:stretch;gap:28px}.project-grid,.project-foundation-grid{grid-template-columns:1fr}.project-foundation-grid article{border-right:0;border-bottom:1px solid var(--line)}.project-foundation-grid article:last-child{border-bottom:0}.project-create-form>div{grid-template-columns:1fr;gap:8px}.projects-state{padding:34px 24px}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.editor-page{background-color:#080c09;background-image:linear-gradient(#d9ff4306 1px,#0000 1px),linear-gradient(90deg,#d9ff4306 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100vh}.editor-top-shell{width:min(1540px,100% - 36px);margin:0 auto;padding-top:18px}.editor-state{border:1px solid var(--line);box-sizing:border-box;background:#0c120eeb;width:min(1540px,100% - 36px);min-height:calc(100vh - 110px);margin:22px auto 0;padding:clamp(38px,8vw,110px)}.editor-state>span,.editor-project-id span,.editor-toolbar-meta span,.editor-panel-heading span,.viewport-scale,.editor-statusbar,.editor-canvas-empty>span{color:#7c8a81;letter-spacing:.09em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.61rem}.editor-state h1{letter-spacing:-.065em;max-width:900px;margin:34px 0 18px;font-size:clamp(3rem,7vw,7rem);font-weight:520;line-height:.9}.editor-state p{color:var(--muted)}.editor-state button,.editor-toolbar button,.editor-add-room{color:#c4cdc7;cursor:pointer;letter-spacing:.035em;text-transform:uppercase;background:0 0;border:1px solid #46534a;border-radius:0;padding:10px 11px;font-family:IBM Plex Mono,monospace;font-size:.6rem}.editor-layers{border-top:1px solid #303a33;margin-top:26px;padding-top:18px}.editor-layers>header{color:#77847b;text-transform:uppercase;justify-content:space-between;align-items:center;font-family:IBM Plex Mono,monospace;font-size:.54rem;display:flex}.editor-layers>header button{color:#89958d;cursor:pointer;font-family:inherit;font-size:inherit;text-transform:uppercase;background:0 0;border:0;padding:0}.editor-layers>header button:hover{color:var(--acid)}.editor-layers>div{gap:3px;margin-top:12px;display:grid}.editor-layers>div>button{color:#839088;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:7px 5px;font-family:IBM Plex Mono,monospace;display:grid}.editor-layers>div>button:hover{color:#cad4cd;background:#d9ff4309}.editor-layers strong{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.52rem;font-weight:400;overflow:hidden}.editor-layers small{color:#59655e;font-size:.48rem}.layer-dot{background:0 0;border:1px solid #58645c;width:6px;height:6px}.layer-dot.active{border-color:var(--acid);background:var(--acid);box-shadow:0 0 8px #d9ff4359}.editor-loader{background:#18231c;width:min(520px,70vw);height:3px;margin-top:34px;overflow:hidden}.editor-loader:after{background:var(--acid);content:"";width:35%;height:100%;animation:1.1s ease-in-out infinite alternate editor-scan;display:block}@keyframes editor-scan{to{transform:translate(190%)}}.editor-state-error{border-color:#ec793f80}.editor-workstation{width:min(1540px,100% - 36px);margin:22px auto 0;padding-bottom:24px}.editor-toolbar{background:#0d130ff5;border:1px solid #303a33;grid-template-columns:minmax(250px,.65fr) minmax(520px,1.7fr) minmax(150px,.4fr);min-height:76px;display:grid}.editor-project-id,.editor-view-controls,.editor-toolbar-meta{align-items:center;display:flex}.editor-project-id{border-right:1px solid #303a33;gap:17px;padding:12px 16px}.editor-project-id>a{color:var(--acid);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.62rem;text-decoration:none}.editor-project-id>div{gap:4px;display:grid}.editor-project-id strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.editor-view-controls{gap:6px;padding:11px 13px;overflow-x:auto}.editor-toolbar button{flex:none}.editor-toolbar button:hover,.editor-toolbar button.active{border-color:var(--acid);color:var(--acid);background:#d9ff4314}.editor-toolbar-meta{border-left:1px solid #303a33;justify-items:end;padding:12px 16px;display:grid}.editor-toolbar-meta strong{color:var(--acid);font-family:IBM Plex Mono,monospace;font-size:.7rem}.editor-feedback{color:#dce5df;background:#d9ff430d;border-bottom:1px solid #d9ff4373;border-left:1px solid #d9ff4373;border-right:1px solid #d9ff4373;padding:11px 14px;font-family:IBM Plex Mono,monospace;font-size:.68rem}.editor-feedback-error{color:#e8a68a;background:#ec793f0f;border-color:#ec793f8f}.editor-grid{border-bottom:1px solid #303a33;border-left:1px solid #303a33;border-right:1px solid #303a33;grid-template-columns:260px minmax(0,1fr) 290px;min-height:min(720px,100vh - 190px);display:grid}.editor-scene-panel,.editor-properties-panel{background:#0d130ff7;padding:20px}.editor-scene-panel{border-right:1px solid #303a33}.editor-properties-panel{border-left:1px solid #303a33}.editor-panel-heading{border-bottom:1px solid #303a33;justify-content:space-between;align-items:center;padding-bottom:17px;display:flex}.editor-panel-heading strong{color:var(--acid);font-family:IBM Plex Mono,monospace;font-size:1.05rem;font-weight:400}.editor-scene-panel h2,.editor-properties-panel h2{letter-spacing:-.035em;margin:24px 0 18px;font-size:1.35rem;font-weight:520}.editor-empty-copy{color:#7e8982;font-size:.75rem;line-height:1.65}.editor-scene-tree{background:#28322b;gap:1px;margin:0;padding:0;list-style:none;display:grid}.editor-scene-tree li{background:#111813;grid-template-columns:42px 1fr;gap:12px;padding:14px 12px;display:grid}.editor-scene-tree li>span{color:var(--acid);font-family:IBM Plex Mono,monospace;font-size:.68rem}.editor-scene-tree li>div{gap:5px;display:grid}.editor-scene-tree strong{font-size:.78rem;font-weight:520}.editor-room-select{color:#d3dbd5;cursor:pointer;text-align:left;background:0 0;border:0;width:fit-content;padding:0}.editor-room-select:hover,.editor-room-select.active{color:var(--acid)}.editor-scene-tree small{color:#6f7a73;font-family:IBM Plex Mono,monospace;font-size:.55rem}.editor-surface-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:10px;display:grid}.editor-surface-list button{color:#aab5ae;cursor:pointer;background:#0c120e;border:1px solid #303b34;border-radius:0;justify-content:space-between;align-items:center;padding:7px 8px;font-family:IBM Plex Mono,monospace;display:flex}.editor-surface-list button:hover,.editor-surface-list button.active{border-color:var(--acid);color:var(--acid)}.editor-surface-list button span{font-size:.62rem}.editor-surface-list button small{font-size:.46rem}.editor-add-room{width:100%;color:var(--acid);border-color:#d9ff437a;margin-top:16px}.editor-canvas-panel{background:#080d0a;min-width:0;min-height:620px;position:relative;overflow:hidden}.room-viewport,.room-viewport>div:first-child{width:100%;height:100%}.room-viewport{position:relative}.viewport-reticle{pointer-events:none;border-top:1px solid #d9ff437a;border-left:1px solid #d9ff437a;width:22px;height:22px;position:absolute;top:18px;right:18px}.viewport-reticle:after{background:var(--acid);content:"";width:5px;height:5px;position:absolute;top:-1px;left:-1px}.viewport-scale{background:#050906b8;padding:7px 9px;position:absolute;bottom:18px;left:18px}.editor-canvas-empty{background-color:#080d0a;background-image:radial-gradient(circle,#d9ff4314 0 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;align-content:center;justify-items:center;height:100%;display:grid}.editor-canvas-empty strong{color:#314038;margin:22px 0 10px;font-family:IBM Plex Mono,monospace;font-size:clamp(2.2rem,6vw,5.2rem);font-weight:400}.editor-canvas-empty p{color:#68736c;font-size:.76rem}.editor-readout{margin-top:30px}.editor-readout>div{text-transform:uppercase;border-top:1px solid #29332c;justify-content:space-between;gap:20px;padding:12px 0;font-family:IBM Plex Mono,monospace;font-size:.62rem;display:flex}.editor-readout dt{color:#69756e}.editor-readout dd{color:#cbd4ce;margin:0}.editor-opacity-control{color:#79857d;text-transform:uppercase;grid-template-columns:1fr auto;gap:10px;margin-top:24px;font-family:IBM Plex Mono,monospace;font-size:.59rem;display:grid}.editor-opacity-control output{color:var(--acid)}.editor-opacity-control input{width:100%;accent-color:var(--acid);grid-column:1/-1}.editor-hide-wall{color:#e9936d;cursor:pointer;text-transform:uppercase;background:#ec793f0a;border:1px solid #ec793f80;border-radius:0;width:100%;margin-top:18px;padding:10px;font-family:IBM Plex Mono,monospace;font-size:.58rem}.editor-openings-section{border-top:1px solid #303a33;margin-top:26px;padding-top:20px}.editor-openings-section>header{color:#859188;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:.58rem;display:flex}.editor-openings-section>header>div,.editor-openings-section article>div:last-child,.editor-opening-kind,.editor-opening-actions{gap:5px;display:flex}.editor-openings-section button,.editor-opening-form button{color:#aab6ae;cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #405047;border-radius:0;padding:7px 8px;font-family:IBM Plex Mono,monospace;font-size:.52rem}.editor-openings-section button:hover,.editor-opening-form button.active,.editor-opening-actions button:last-child{border-color:var(--acid);color:var(--acid)}.editor-openings-section button.danger{color:#e7936e;border-color:#ec793f7a}.editor-openings-section>p{color:#707d74;font-size:.68rem;line-height:1.5}.editor-openings-section article{background:#0b110d;border:1px solid #2d3831;margin-top:9px;padding:11px}.editor-opening-select{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;width:100%;padding:0 0 7px;display:flex}.editor-opening-select:hover,.editor-opening-select.active{border-bottom-color:var(--acid)}.editor-openings-section article strong{color:var(--acid);font-family:IBM Plex Mono,monospace;font-size:.65rem}.editor-openings-section article span,.editor-openings-section article small{color:#7b887f;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.52rem}.editor-openings-section article small{margin:8px 0;line-height:1.5;display:block}.editor-opening-form{background:#d9ff4306;border:1px solid #d9ff4357;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding:12px;display:grid}.editor-opening-kind,.editor-opening-actions,.editor-opening-warning{grid-column:1/-1}.editor-opening-kind button{flex:1}.editor-opening-form label{color:#7f8a83;text-transform:uppercase;gap:6px;font-family:IBM Plex Mono,monospace;font-size:.52rem;display:grid}.editor-opening-form input{color:#d6ded9;background:#080d0a;border:1px solid #3d4941;border-radius:0;min-width:0;padding:8px;font-family:IBM Plex Mono,monospace}.editor-opening-form input:disabled{color:#5d6861}.editor-opening-warning{color:#ed936b;margin:0;font-size:.62rem;line-height:1.45}.editor-opening-actions{justify-content:flex-end}.editor-selected-entity{background:#d9ff4306;border:1px solid #d9ff436b;margin:0 0 20px;padding:12px}.editor-selected-entity>span,.editor-validation-note{color:#839087;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.54rem}.editor-selected-entity .editor-readout{margin-top:10px}.editor-entity-actions{gap:7px;margin-top:12px;display:flex}.editor-entity-actions button,.editor-room-properties-form button{color:#bcc7bf;cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #445248;border-radius:0;padding:8px;font-family:IBM Plex Mono,monospace;font-size:.54rem}.editor-entity-actions button.danger{color:#e89570;border-color:#ec793f8c}.editor-room-properties-form{gap:10px;margin-top:22px;display:grid}.editor-room-properties-form label{color:#7f8b83;text-transform:uppercase;grid-template-columns:1fr 112px;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:.55rem;display:grid}.editor-room-properties-form input{color:#d6ded9;background:#080d0a;border:1px solid #3d4941;border-radius:0;min-width:0;padding:8px;font-family:IBM Plex Mono,monospace}.editor-room-properties-form button{border-color:var(--acid);color:var(--acid);margin-top:5px}.editor-validation-note{color:#78837c;text-transform:none;margin-top:16px;line-height:1.55}.editor-statusbar{background:#0d130f;border-bottom:1px solid #303a33;border-left:1px solid #303a33;border-right:1px solid #303a33;gap:28px;padding:11px 15px;display:flex}.editor-statusbar strong{color:var(--acid);margin-left:auto;font-weight:400}.room-create-dialog{width:min(100%,680px)}.room-create-dialog>label{margin-top:22px}.room-dimensions-grid{grid-template-columns:repeat(3,1fr);gap:10px!important;margin-top:14px!important;display:grid!important}.room-dimensions-grid label{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:.61rem;display:block}.room-create-dialog input{box-sizing:border-box;width:100%}@media (width<=1180px){.editor-toolbar{grid-template-columns:1fr}.editor-project-id,.editor-toolbar-meta{border:0}.editor-project-id{border-bottom:1px solid #303a33}.editor-toolbar-meta{display:none}.editor-grid{grid-template-columns:220px minmax(0,1fr)}.editor-properties-panel{display:none}}@media (width<=760px){.editor-top-shell,.editor-workstation,.editor-state{width:min(100% - 20px,1540px)}.editor-grid{grid-template-columns:1fr}.editor-scene-panel{border-bottom:1px solid #303a33;border-right:0}.editor-canvas-panel{min-height:520px}.editor-statusbar{gap:12px;overflow-x:auto}.editor-statusbar strong{display:none}.room-dimensions-grid{grid-template-columns:1fr}}@media (width<=900px){.hero-grid{grid-template-columns:1fr;gap:24px}.diagram{min-height:250px}.readout-grid,.milestone-strip{grid-template-columns:1fr}.readout-card,.milestone{border-right:0;border-bottom:1px solid var(--line)}.readout-card:last-child,.milestone:last-child{border-bottom:0}.admin-grid{grid-template-columns:1fr}.admin-rail{border-right:0;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 0;display:flex}.admin-rail:after,.admin-rail-note,.admin-rail-label{display:none}.admin-rail nav{margin:0;display:flex}.admin-workspace{padding:42px 0 0}.admin-command-panel{grid-template-columns:1fr}.inline-feedback{grid-column:1}.allowlist-create-form{grid-template-columns:1fr 1fr}.allowlist-create-form .primary-action{grid-column:1/-1}.allowlist-header{display:none}.allowlist-row{grid-template-columns:1fr 1fr}.user-card{grid-template-columns:42px minmax(0,1fr) minmax(150px,.65fr)}.user-card-control{grid-column:2}.user-card-status{grid-area:1/3}.user-card-actions{grid-area:2/3}.auth-shell{grid-template-columns:1fr}.auth-visual{border-right:0;border-bottom:1px solid var(--line);min-height:420px;padding-bottom:30px}.auth-visual-copy{margin-top:70px}.auth-visual-copy h1{font-size:clamp(3.7rem,13vw,7rem)}.auth-blueprint{display:none}.auth-principles{margin-top:50px}.auth-panel{min-height:auto;padding-top:70px;padding-bottom:70px}.projects-hero{grid-template-columns:1fr}}@media (width<=600px){.status-shell{width:min(100% - 28px,1380px)}.topline-meta span:first-child{display:none}.hero-grid{min-height:auto;padding-top:52px}.hero-copy h1{font-size:clamp(3.6rem,20vw,5.6rem)}.rack-heading,footer{flex-direction:column;align-items:flex-start}.error-state{grid-template-columns:1fr}.admin-shell{width:min(100% - 28px,1500px)}.admin-topline-context{display:none}.admin-session{gap:0}.admin-rail{overflow-x:auto}.admin-nav-pending{white-space:nowrap}.admin-page-heading{grid-template-columns:1fr}.admin-page-heading h1{font-size:clamp(3.2rem,17vw,5rem)}.users-heading h1{font-size:clamp(2.8rem,13vw,4.2rem)}.admin-count{display:none}.access-overview{grid-template-columns:1fr}.access-overview article{border-right:0;border-bottom:1px solid var(--line);min-height:95px}.access-overview article:last-child{border-bottom:0}.admin-command-panel{padding:22px 18px}.allowlist-create-form{grid-template-columns:1fr}.allowlist-create-form .primary-action{grid-column:auto}.register-toolbar{flex-direction:column;align-items:stretch}.search-form{flex-wrap:wrap;align-items:stretch}.search-form label,.search-form input{width:100%}.allowlist-row{grid-template-columns:1fr;gap:14px;padding:20px}.row-actions{justify-content:flex-start}.admin-error{grid-template-columns:1fr}.user-card{grid-template-columns:42px minmax(0,1fr);gap:14px}.user-card-control,.user-card-status,.user-card-actions{grid-area:auto/1/auto/-1}.user-card-actions{justify-content:flex-start}.auth-visual{min-height:390px;padding:24px 20px 28px}.auth-visual-copy{margin-top:62px}.auth-visual-copy h1{font-size:clamp(3.1rem,16vw,4.7rem)}.auth-principles{flex-wrap:wrap;gap:9px 18px;margin-top:42px}.auth-panel{padding:55px 20px}.auth-password-grid{grid-template-columns:1fr}.auth-switch{flex-direction:column;align-items:flex-start}.projects-landing{width:min(100% - 28px,1380px)}.projects-user>div{display:none}.projects-hero{min-height:auto}.projects-hero h1{font-size:clamp(3.5rem,18vw,5.5rem)}.projects-actions{flex-direction:column;align-items:stretch}}.photo-workspace{width:min(1540px,100% - 48px);min-height:100vh;margin:0 auto;padding:24px 0 72px}.photo-workspace-state>section{border-bottom:1px solid var(--line);align-content:center;min-height:430px;display:grid}.photo-workspace-state span,.photo-stage-strip span,.photo-dropzone>span,.analysis-failed>span,.proposal-ambiguity>span{color:var(--acid);letter-spacing:.13em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.65rem}.photo-workspace-state h1{letter-spacing:-.065em;margin:14px 0;font-size:clamp(3rem,7vw,7rem);font-weight:520}.photo-workspace-state p{color:var(--muted)}.photo-workspace-state button,.photo-workspace-actions a,.photo-analysis-command button,.manual-draft-panel button,.proposal-workbench button{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #56635c;padding:10px 14px;text-decoration:none}.photo-workspace-heading{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;min-height:320px;padding:68px 0 42px;display:grid}.photo-workspace-heading h1{letter-spacing:-.075em;margin:18px 0 12px;font-size:clamp(4.4rem,10vw,9.5rem);font-weight:520;line-height:.82}.photo-workspace-heading p{color:#a5afa9;max-width:720px;margin:0;font-size:1.05rem;line-height:1.55}.photo-workspace-actions{gap:9px;display:flex}.photo-workspace-actions a:hover,.photo-analysis-command button:hover,.proposal-workbench button:hover,.manual-draft-panel button:hover{border-color:var(--acid);color:var(--acid)}.photo-feedback{border-left:3px solid var(--acid);color:#cdd5d0;background:#d9ff430f;margin-top:22px;padding:13px 16px}.photo-feedback-error{border-color:var(--danger);background:#ff725e12}.photo-stage-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.photo-stage-strip article{border-right:1px solid var(--line);grid-template-columns:auto 1fr;align-content:center;gap:4px 20px;min-height:118px;padding:22px 26px;display:grid}.photo-stage-strip article:last-child{border-right:0}.photo-stage-strip article>span{color:#4e5a54;grid-row:1/3;align-self:center;font-size:2.2rem}.photo-stage-strip strong{color:#97a29c;text-overflow:ellipsis;font-family:IBM Plex Mono,monospace;font-size:1.15rem;font-weight:400;overflow:hidden}.photo-stage-strip p{color:#66716b;margin:0;font-size:.72rem}.photo-stage-strip article.active{background:linear-gradient(110deg,#ec793f1f,#0000)}.photo-stage-strip article.active>span,.photo-stage-strip article.active strong{color:var(--copper)}.photo-stage-strip article.complete{background:linear-gradient(110deg,#d9ff4314,#0000)}.photo-stage-strip article.complete>span,.photo-stage-strip article.complete strong{color:var(--acid)}.photo-ingest-panel{grid-template-columns:minmax(270px,.72fr) minmax(420px,1.28fr);align-items:center;gap:54px;padding:44px 0 28px;display:grid}.photo-ingest-panel h2,.photo-analysis-command h2,.manual-draft-panel h2,.proposal-workbench h2,.measurement-register h2{letter-spacing:-.04em;margin:8px 0 10px;font-size:clamp(1.8rem,3vw,3rem);font-weight:520}.photo-ingest-panel p,.photo-analysis-command p,.manual-draft-panel>p,.proposal-workbench header p{max-width:660px;color:var(--muted);margin:0;line-height:1.55}.photo-dropzone{background:repeating-linear-gradient(-45deg,#0000 0 16px,#d9ff4305 16px 32px),#111715d1;border:1px dashed #57645d;grid-template-columns:1fr auto;align-content:center;gap:12px 20px;min-height:190px;padding:30px;transition:border-color .16s,background .16s;display:grid}.photo-dropzone-active{border-color:var(--acid);background:#d9ff4314}.photo-dropzone strong{font-size:1.15rem;font-weight:520}.photo-dropzone button{border:1px solid var(--acid);background:var(--acid);color:#101411;cursor:pointer;grid-area:1/2/3;align-self:center;padding:12px 16px;font-weight:650}.photo-reel{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;display:grid}.photo-reel>article{background:#111715;grid-template-columns:112px minmax(0,1fr);gap:14px;min-height:112px;padding:12px;transition:background .16s,box-shadow .16s;display:grid}.photo-reel>article.selected{z-index:1;box-shadow:inset 0 -3px var(--copper);background:#1a221f}.photo-reel-preview{cursor:pointer;background:#090d0c;border:0;padding:0;position:relative;overflow:hidden}.photo-reel-preview img{object-fit:cover;filter:saturate(.75)contrast(1.08);width:100%;height:84px}.photo-reel-preview span{background:var(--copper);color:#130d09;padding:3px 5px;font-family:IBM Plex Mono,monospace;font-size:.62rem;font-weight:700;position:absolute;bottom:5px;right:5px}.photo-reel article>div:not(.photo-reel-controls){align-self:center;min-width:0}.photo-reel article strong,.photo-reel article small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.photo-reel article strong{font-size:.84rem}.photo-reel article small{color:#68736d;margin-top:7px;font-family:IBM Plex Mono,monospace;font-size:.62rem}.photo-reel-controls{grid-column:2;align-self:end;gap:5px;display:flex}.photo-reel-controls button{color:#8f9a94;cursor:pointer;background:0 0;border:1px solid #404b45;width:28px;height:25px}.photo-reel-controls button:hover{border-color:var(--acid);color:var(--acid)}.photo-reel-controls button.danger:hover{border-color:var(--danger);color:var(--danger)}.photo-empty{background:var(--panel);color:var(--muted);text-align:center;grid-column:1/-1;margin:0;padding:42px}.photo-analysis-command{background:linear-gradient(105deg, #d9ff4312, transparent 43%), var(--panel);border:1px solid #d9ff4354;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;margin-top:28px;padding:30px;display:grid}.photo-analysis-command>div:last-child{gap:8px;display:flex}.photo-analysis-command .primary-action,.manual-draft-panel .primary-action,.proposal-actions .primary-action{border-color:var(--acid);background:var(--acid);color:#0d110f}.analysis-running{background:#111614;border:1px solid #48544e;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:14px;padding:18px 22px;display:grid}.analysis-pulse{background:var(--copper);border-radius:50%;width:10px;height:10px;animation:1.4s infinite analysisPulse;box-shadow:0 0 #ec793f80}.analysis-running p{color:var(--muted);margin:4px 0 0;font-size:.8rem}.analysis-running code{color:#69756e;font-size:.65rem}.analysis-failed{background:#ff725e0b;border:1px solid #ff725e7a;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:14px;padding:24px;display:grid}.analysis-failed>span{color:var(--danger)}.analysis-failed h2,.analysis-failed p{margin:0}.analysis-failed p{color:var(--muted);margin-top:7px}.manual-draft-panel,.proposal-workbench,.measurement-register{border-top:4px solid var(--copper);background:#111715e6;margin-top:34px}.manual-draft-panel{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);padding:28px}.manual-draft-panel>header,.proposal-workbench>header,.measurement-register>header{justify-content:space-between;align-items:start;gap:30px;display:flex}.manual-opening-list{background:var(--line);gap:1px;margin-top:24px;display:grid}.manual-opening-list>div{background:#111715;grid-template-columns:minmax(200px,1fr) 150px 100px 42px;gap:9px;padding:12px;display:grid}.manual-opening-list button{padding:8px}.manual-draft-panel>footer{justify-content:space-between;padding-top:20px;display:flex}.proposal-workbench>header,.measurement-register>header{border-right:1px solid var(--line);border-left:1px solid var(--line);padding:30px}.proposal-state{border:1px solid var(--copper);color:var(--copper);letter-spacing:.1em;text-transform:uppercase;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:.65rem}.proposal-state-accepted{border-color:var(--acid);color:var(--acid)}.proposal-diagnostics{justify-items:end;gap:12px;min-width:280px;display:grid}.proposal-diagnostics dl{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(110px,1fr));width:100%;margin:0;font-family:IBM Plex Mono,monospace;display:grid}.proposal-diagnostics dl>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:7px 9px}.proposal-diagnostics dt{color:#758078;letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}.proposal-diagnostics dd{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:.68rem;overflow:hidden}.proposal-grid{border:1px solid var(--line);grid-template-columns:minmax(480px,1.4fr) minmax(390px,.9fr);display:grid}.proposal-photo-column{border-right:1px solid var(--line);background:#090d0c;min-width:0;padding:18px}.proposal-photo-column nav{gap:6px;margin-bottom:12px;display:flex}.proposal-photo-column nav button{color:#758078;padding:7px 10px;font-family:IBM Plex Mono,monospace;font-size:.64rem}.proposal-photo-column nav button.active{border-color:var(--copper);background:var(--copper);color:#160e09}.proposal-photo-stage{background:#000;border:1px solid #303a35;margin:0;position:relative;overflow:hidden}.proposal-photo-stage img{width:100%;height:auto;display:block}.proposal-bbox{border:2px solid var(--copper);pointer-events:none;position:absolute;box-shadow:0 0 0 1px #000000b3,inset 0 0 0 1px #000000b3}.proposal-bbox-door{border-color:var(--acid)}.proposal-bbox span{background:var(--copper);color:#160e09;text-overflow:ellipsis;white-space:nowrap;max-width:180px;padding:4px 6px;font-family:IBM Plex Mono,monospace;font-size:.6rem;position:absolute;bottom:100%;left:-2px;overflow:hidden}.proposal-bbox-door span{background:var(--acid);color:#101411}.proposal-ambiguity{border-left:2px solid var(--copper);background:#ec793f12;grid-template-columns:210px 1fr;gap:14px;margin-top:10px;padding:12px;display:grid}.proposal-ambiguity>span{color:var(--copper)}.proposal-ambiguity p{color:#a0aaa4;margin:0;font-size:.78rem}.proposal-entity-column{min-width:0;max-height:900px;overflow:auto}.proposal-surfaces,.proposal-openings{border-bottom:1px solid var(--line);padding:22px}.proposal-surfaces h3,.proposal-openings h3{color:#7f8a84;letter-spacing:.11em;text-transform:uppercase;margin:0 0 14px;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:400}.proposal-surfaces label{gap:6px;margin-top:10px;display:grid}.proposal-surfaces label span{color:#67736c;font-family:IBM Plex Mono,monospace;font-size:.6rem}.proposal-openings{gap:10px;display:grid}.proposal-openings h3{margin-bottom:4px}.proposal-openings article{background:#101513;border:1px solid #344039;gap:9px;padding:14px;display:grid}.proposal-opening-head,.proposal-opening-fields{justify-content:space-between;align-items:center;gap:12px;display:flex}.proposal-opening-head span,.proposal-opening-fields span{color:#68736d;font-family:IBM Plex Mono,monospace;font-size:.62rem}.proposal-opening-head strong{color:var(--copper);font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:400}.bbox-nudge{grid-template-columns:repeat(4,32px);gap:4px;display:grid}.bbox-nudge button{padding:5px}.proposal-openings .proposal-delete{color:#d89387;border-color:#ff725e66;justify-self:start;font-size:.72rem}.proposal-actions{border-top:1px solid var(--line);background:#0e1211f5;grid-template-columns:.7fr 1.3fr;gap:8px;padding:18px;display:grid;position:sticky;bottom:0}.measurement-register{border-top-color:var(--acid)}.measurement-register>header>strong{color:var(--acid);font-family:IBM Plex Mono,monospace;font-size:3.5rem;font-weight:400}.measurement-register>div{border:1px solid var(--line)}.measurement-register article{border-bottom:1px solid var(--line);grid-template-columns:72px minmax(0,1fr) 150px 90px;align-items:center;gap:20px;min-height:92px;padding:16px 22px;display:grid}.measurement-register article:last-child{border-bottom:0}.measurement-register article>span{color:var(--acid);font-family:IBM Plex Mono,monospace;font-size:1.4rem}.measurement-register h3,.measurement-register p{margin:0}.measurement-register h3{font-size:.95rem;font-weight:540}.measurement-register p{color:#768179;margin-top:5px;font-size:.78rem}.measurement-register small,.measurement-register b{color:#7d8882;font-family:IBM Plex Mono,monospace;font-size:.65rem;font-weight:400}.measurement-register b{color:var(--copper);text-transform:uppercase}.project-room-register{border-top:1px solid var(--line);margin-top:30px}.project-room-register>header{padding:28px 0 18px}.project-room-register h2{margin:7px 0 0;font-size:1.7rem;font-weight:520}.project-room-register>div{border:1px solid var(--line)}.project-room-register article{border-bottom:1px solid var(--line);grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:88px;padding:14px 20px;display:grid}.project-room-register article:last-child{border-bottom:0}.project-room-register article>span{color:var(--acid);font-family:IBM Plex Mono,monospace}.project-room-register h3,.project-room-register p{margin:0}.project-room-register p{color:var(--muted);margin-top:5px;font-size:.75rem}.project-room-register a{border-bottom:1px solid var(--copper);color:var(--ink);padding:7px 0;text-decoration:none}@keyframes analysisPulse{70%{box-shadow:0 0 0 9px #ec793f00}to{box-shadow:0 0 #ec793f00}}@media (width<=980px){.photo-workspace-heading,.photo-ingest-panel,.photo-analysis-command,.proposal-grid{grid-template-columns:1fr}.photo-workspace-actions{justify-content:flex-start}.photo-stage-strip{grid-template-columns:1fr}.photo-stage-strip article{border-right:0;border-bottom:1px solid var(--line);min-height:84px}.photo-stage-strip article:last-child{border-bottom:0}.photo-analysis-command>div:last-child{justify-content:flex-start}.proposal-photo-column{border-right:0;border-bottom:1px solid var(--line)}.proposal-entity-column{max-height:none}}@media (width<=680px){.photo-workspace{width:min(100% - 28px,1540px)}.photo-workspace-heading{min-height:260px;padding-top:44px}.photo-workspace-heading h1{font-size:clamp(3.4rem,18vw,5.3rem)}.photo-workspace-actions,.photo-analysis-command>div:last-child,.manual-draft-panel>footer{flex-direction:column;align-items:stretch}.photo-dropzone{grid-template-columns:1fr}.photo-dropzone button{grid-area:auto/1}.photo-analysis-command,.manual-draft-panel,.proposal-workbench>header,.measurement-register>header{padding:20px}.analysis-running,.analysis-failed,.manual-opening-list>div,.measurement-register article,.project-room-register article{grid-template-columns:1fr}.analysis-running code{overflow-wrap:anywhere}.proposal-ambiguity,.proposal-actions{grid-template-columns:1fr}.proposal-diagnostics{justify-items:start;width:100%;min-width:0}.measurement-register article>span{font-size:1.1rem}}.catalog-workspace{min-width:0;color:var(--ink)}.catalog-heading{justify-content:space-between;align-items:center;gap:24px;margin:30px 0;display:flex}.catalog-heading h1{letter-spacing:-.045em;margin:10px 0 15px;font-size:clamp(2rem,3.3vw,3.6rem);font-weight:450;line-height:1.08}.catalog-heading p,.catalog-note{color:var(--muted);font-size:.85rem;line-height:1.65}.catalog-workspace .eyebrow{color:var(--copper);letter-spacing:.12em;font:11px IBM Plex Mono,monospace}.catalog-workspace button,.catalog-workspace input,.catalog-workspace select,.catalog-workspace textarea{font:inherit}.catalog-workspace label{color:var(--muted);flex-direction:column;gap:7px;min-width:0;margin-bottom:14px;font-size:.8rem;display:flex}.catalog-workspace input:not([type=checkbox]),.catalog-workspace select,.catalog-workspace textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);background:#101813;border-radius:0;padding:10px 12px}.catalog-workspace input:focus,.catalog-workspace select:focus,.catalog-workspace textarea:focus{outline:1px solid var(--acid);outline-offset:2px}.catalog-workspace input[type=file]{max-width:100%;font-size:.75rem}.catalog-workspace button{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:0 0;min-height:42px;padding:10px 13px}.catalog-workspace button:hover:not(:disabled){border-color:var(--acid)}.catalog-workspace button:disabled,.catalog-workspace fieldset:disabled{opacity:.5;cursor:not-allowed}.catalog-workspace .primary-action{background:var(--acid);color:#111810;border-color:var(--acid);text-align:center}.catalog-admin-grid{border:1px solid var(--line);grid-template-columns:310px minmax(0,1fr);display:grid}.catalog-register{border-right:1px solid var(--line);background:#101611;padding:22px 16px}.catalog-detail{min-width:0;padding:28px}.catalog-detail h2{letter-spacing:-.03em;margin:10px 0;font-size:2rem;font-weight:450}.catalog-detail h3,.catalog-form h3{margin:22px 0 14px;font-size:1.1rem;font-weight:500}.catalog-detail>section{border-top:1px solid var(--line);margin-top:30px;padding-top:8px}.catalog-actions{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.catalog-items{flex-direction:column;gap:1px;max-height:700px;display:flex;overflow:auto}.catalog-workspace .catalog-item{border:0;border-bottom:1px solid var(--line);align-items:center;gap:12px;width:100%;padding:14px 7px;display:flex}.catalog-workspace .catalog-item.active{box-shadow:inset 2px 0 var(--acid);background:#202b17}.catalog-item>span:last-child{min-width:0}.catalog-item img{object-fit:cover;background:#1e2921;flex-shrink:0;width:48px;height:48px}.catalog-item strong{overflow-wrap:anywhere;font-size:.84rem;font-weight:500;display:block}.catalog-item small{color:var(--muted);margin-top:7px;font:10px IBM Plex Mono,monospace;display:block}.catalog-box-icon{color:var(--acid);text-align:center;flex-shrink:0;width:48px;font:36px IBM Plex Mono,monospace}.catalog-empty{padding:80px 25px}.catalog-empty>span{color:var(--copper);font:11px IBM Plex Mono,monospace}.catalog-error{color:#ff9b77;border:1px solid #864935;margin:16px 0;padding:14px 18px}.catalog-error button{margin-left:18px}.catalog-success{color:var(--acid)}.catalog-form fieldset{border:0;min-width:0;padding:0}.catalog-form legend{margin-bottom:24px;font-size:1.3rem}.catalog-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.catalog-wide{grid-column:1/-1}.catalog-workspace .catalog-check,.catalog-workspace .catalog-checks label{flex-direction:row;align-items:center;gap:10px}.catalog-checks{flex-wrap:wrap;gap:5px 18px;display:flex}.catalog-workspace input[type=checkbox]{accent-color:var(--acid);width:16px;height:16px}.catalog-form .catalog-port{border:1px solid var(--line);margin:20px 0;padding:20px 15px}.catalog-port legend{color:var(--copper);margin:0;padding:0 8px;font:12px IBM Plex Mono,monospace}.catalog-vector{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.catalog-port-preview{border:1px solid var(--line);background:repeating-linear-gradient(0deg,#0000,#0000 24px,#27342944 25px);width:100%;max-width:450px;margin:8px 0 18px}.catalog-specs{border-block:1px solid var(--line);flex-wrap:wrap;gap:20px;padding:18px 0;display:flex}.catalog-specs dt{color:var(--muted);margin-bottom:7px;font-size:.75rem}.catalog-specs dd{font:12px IBM Plex Mono,monospace}.catalog-assets{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.catalog-assets a{overflow-wrap:anywhere;flex-direction:column;gap:6px;width:150px;font-size:.75rem;display:flex}.catalog-assets img{object-fit:cover;height:115px}.catalog-price-history article{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:16px 0;display:flex}.catalog-price-history strong{font:16px IBM Plex Mono,monospace}.catalog-price-history a{color:var(--acid)}.catalog-price-history time{color:var(--muted);font-size:.75rem}.catalog-price-history{margin-bottom:20px}.catalog-badge{color:var(--acid);border:1px solid #6c862c;padding:4px 6px;font:9px IBM Plex Mono,monospace}.catalog-category-editor{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.catalog-category-editor summary{cursor:pointer;margin-bottom:20px;font-size:.85rem}.catalog-panel{border-top:1px solid var(--line);margin:24px -4px 16px;padding-top:20px}.catalog-panel .catalog-items{max-height:350px;margin-bottom:12px}.catalog-panel h2{margin-bottom:16px}.catalog-panel .catalog-item img,.catalog-panel .catalog-box-icon{width:32px;height:32px}.catalog-panel .catalog-item{gap:8px}.catalog-placement-hint{color:var(--acid);padding:12px 0;font-size:.75rem}.catalog-placement-hint button{margin-top:10px;display:block}.catalog-bom-link{color:var(--acid);border-block:1px solid var(--line);padding:15px 0;font-size:.85rem;display:block}.catalog-instance-list{margin-top:18px}.catalog-instance-list h3{font-size:.9rem}.catalog-instance-list button{color:var(--ink);text-align:left;border-bottom:1px solid var(--line);width:100%;padding:10px 0;font-size:.75rem;display:block}.equipment-inspector h2{margin:14px 0;line-height:1.2}.equipment-inspector .catalog-form{margin:24px 0}.equipment-photo{object-fit:contain;background:#182119;width:100%;max-height:170px}.equipment-tag{white-space:nowrap;color:#d9ff43;background:#101711ed;border:1px solid #596b37;padding:5px 9px;font:10px IBM Plex Mono,monospace;display:block}.equipment-delete{color:#f88b65!important}.catalog-modal{z-index:80;background:#030803dd;padding:30px;position:fixed;inset:0;overflow:auto}.catalog-modal>div{border:1px solid var(--line);background:#121b15;max-width:800px;margin:auto;padding:30px}.catalog-modal h2{margin-bottom:12px;font-size:2rem}.catalog-modal p{color:var(--muted);margin-bottom:25px}.bom-totals{border:1px solid var(--line);flex-wrap:wrap;gap:1px;margin:25px 0;display:flex}.bom-totals>div{border-right:1px solid var(--line);flex:1;padding:24px 30px}.bom-totals span{color:var(--muted);font:11px IBM Plex Mono,monospace}.bom-totals strong{color:var(--acid);margin-top:10px;font:32px IBM Plex Mono,monospace;display:block}.catalog-table-scroll{overflow:auto}.bom-table{border-collapse:collapse;width:100%}.bom-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:16px;font-size:.75rem;font-weight:400}.bom-table td{border-bottom:1px solid var(--line);padding:20px 16px;font-size:.9rem}.bom-table small{color:var(--muted);margin-top:6px;font-size:.7rem;display:block}.bom-table a{color:var(--acid)}.bom-table .unpriced td{background:#55261230}.bom-table .unpriced td:nth-child(4){color:var(--copper)}@media (width<=1100px){.catalog-admin-grid{grid-template-columns:250px minmax(0,1fr)}.catalog-detail{padding:20px}}@media (width<=760px){.catalog-heading{flex-direction:column;align-items:flex-start}.catalog-admin-grid{grid-template-columns:1fr}.catalog-register{border-right:0;border-bottom:1px solid var(--line)}.catalog-register .catalog-items{max-height:240px}.catalog-modal{padding:12px}.catalog-modal>div,.catalog-detail{padding:18px}.catalog-fields{gap:0 10px}.catalog-detail h2{font-size:1.5rem}.catalog-actions{gap:6px}.catalog-actions button{flex:140px}.bom-totals strong{font-size:24px}.catalog-heading h1{font-size:2.3rem}}.catalog-workspace .catalog-item{flex-shrink:0;min-height:82px}.editor-grid{height:calc(100vh - 190px);min-height:700px}.editor-scene-panel,.editor-properties-panel{min-height:0;overflow:auto}.editor-canvas-panel{min-height:0}@media (width<=1100px){.editor-grid{grid-template-columns:220px minmax(0,1fr);height:auto}.editor-scene-panel{max-height:740px}.editor-canvas-panel{height:740px}.editor-properties-panel{border-top:1px solid var(--line);grid-column:1/-1;display:block}.equipment-inspector{max-width:760px;margin:auto}}@media (width<=760px){.editor-grid{grid-template-columns:1fr}.editor-scene-panel{max-height:540px}.editor-canvas-panel{height:520px;min-height:520px}.editor-properties-panel{grid-column:1}}.projects-shell.catalog-workspace{width:min(100% - 60px,1540px);margin:auto;padding:20px 0 50px}@media (width<=760px){.projects-shell.catalog-workspace{width:calc(100% - 28px);padding-top:10px}}.editor-mode-bar{border-bottom:1px solid var(--line);background:#101812;align-items:center;gap:8px;padding:9px 18px;display:flex}.editor-mode-bar button{color:#a7b4a9;cursor:pointer;background:0 0;border:1px solid #344137;padding:9px 12px;font-size:12px}.editor-mode-bar button.active{color:#111a0a;background:#d9ff43;border-color:#d9ff43}.editor-mode-bar span{color:#9ba89e;margin-left:auto;font-size:11px}.editor-mode-bar button:disabled{opacity:.45;cursor:wait}.editor-grid.route-mode{grid-template-columns:270px minmax(0,1fr) 330px;height:calc(100vh - 230px)}.route-panel{color:#c6d0c7;font-size:12px}.route-panel h2{margin:20px 0 10px;font-size:23px}.route-panel h3{letter-spacing:.04em;justify-content:space-between;margin:22px 0 12px;font-size:12px;display:flex}.route-panel h3 small{color:#859489;font-family:IBM Plex Mono,monospace}.route-hint{color:#93a497;margin:12px 0 18px;font-size:12px;line-height:1.65}.route-panel label{color:#9faea3;gap:7px;margin:14px 0;font-size:11px;display:grid}.route-panel input,.route-panel select,.route-panel textarea{color:#e1eade;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#101b13;border:1px solid #38493c;border-radius:2px;outline-color:#d9ff43;width:100%;min-width:0;padding:10px 8px;font:12px IBM Plex Mono,monospace}.route-panel select{font-family:inherit}.route-panel textarea{resize:vertical;min-height:66px}.route-panel fieldset{border:0;min-width:0;margin:0;padding:0}.route-panel button{color:#d0dbce;cursor:pointer;font:inherit;background:#18291d;border:1px solid #3a4c3f;padding:9px 10px}.route-panel button:hover{background:#25372a;border-color:#a6bc92}.route-panel button:disabled,.route-panel fieldset:disabled{opacity:.45;cursor:default}.route-panel button.active{color:#d9ff43;border-color:#d9ff43}.route-panel button.route-primary{color:#121b0c;background:#d9ff43;border-color:#d9ff43;width:100%;margin:12px 0 10px;padding:12px 10px;font-weight:600;display:block}.route-panel button.route-primary.drawing{color:#d9ff43;background:#28432d}.route-panel button.route-danger{color:#eaa099;background:0 0;margin-top:12px;font-size:11px}.route-panel details{border-top:1px solid #293b30;margin:18px 0;padding-top:12px}.route-panel summary{color:#bdcbbf;cursor:pointer;font-size:12px;line-height:1.5}.route-total{background:#16241a;border-left:2px solid #d9ff43;margin:20px 0;padding:12px 14px}.route-total>span{color:#97ab98;letter-spacing:.09em;font-size:9px;line-height:1.6;display:block}.route-total>strong{color:#eff8e9;white-space:nowrap;margin:8px 0;font:32px IBM Plex Mono,monospace;display:block}.route-total strong small{color:#a9baaa;font:12px IBM Plex Sans Variable,sans-serif}.route-total p{color:#99ac9e;margin:4px 0 0;font-size:11px}.route-draw-help,.route-warning{color:#cfd5aa;background:#2a2e19;border-left:2px solid #c2c66e;padding:12px;font-size:11px;line-height:1.65}.route-node-grid{flex-wrap:wrap;gap:5px;display:flex}.route-node-grid button{padding:7px;font:10px IBM Plex Mono,monospace}.route-segment-list{margin:0;padding:0;list-style:none}.route-segment-list button{background:#121d16;border-color:#2c3c31;justify-content:space-between;align-items:center;width:100%;margin-bottom:4px;padding:11px 8px;font:10px IBM Plex Mono,monospace;display:flex}.route-segment-list button>span{align-items:center;gap:6px;display:flex}.route-segment-list small{color:#8a9c8e;font:9px IBM Plex Sans Variable,sans-serif}.route-segment-list i{border-top:2px solid;width:18px}.route-segment-list i.planned{opacity:.6;border-top-style:dashed}.route-segment-list strong{font-weight:400}.route-inspector-tabs{gap:0;margin:18px -6px 4px;display:flex}.route-inspector-tabs button{background:0 0;flex:1;min-width:0;padding:9px 4px;font-size:10px}.route-world-readout{overflow-wrap:anywhere;background:#0c150f;border:1px solid #2f3f32;padding:12px;font:10px IBM Plex Mono,monospace}.route-coordinate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.route-actions{flex-wrap:wrap;gap:5px;margin:12px 0;display:flex}.route-actions button{flex:1;font-size:10px}.route-node-label{color:#b8cec1;white-space:nowrap;cursor:pointer;background:#15261ce8;border:1px solid #435a4b;border-radius:2px;padding:3px 5px;font:9px IBM Plex Mono,monospace}.route-node-label.selected{color:#162012;background:#d9ff43;border-color:#d9ff43}.route-length-label{white-space:nowrap;color:#ddf2e9;background:#0a1612ed;border:1px solid #719287;padding:6px 8px;font:10px IBM Plex Mono,monospace;display:block}.route-attached-cables{padding:0;list-style:none}.route-attached-cables li{border-bottom:1px solid #314034;padding:12px;font:12px IBM Plex Mono,monospace}.route-attached-cables span{color:#59cee7;margin-right:12px}.route-path-order{padding:0;list-style:none}.route-path-order li{border-bottom:1px solid #344339;align-items:center;gap:10px;padding:5px 0;font-size:11px;display:flex}.route-path-order li>span{color:#859487;min-width:14px}.route-path-order small{color:#a2b4a5;margin-left:auto}.route-path-order button{padding:3px 8px}.route-evidence{margin:18px 0}.route-evidence img{border:1px solid #425449;width:100%;display:block}.route-evidence figcaption{margin-top:8px;font-size:11px}.route-evidence small{color:#8e9c91;margin-top:5px;display:block}.bom-cables{margin-top:50px}@media (width<=1250px){.editor-grid.route-mode{grid-template-columns:250px minmax(0,1fr);height:auto}.route-mode .editor-properties-panel{grid-column:1/-1;max-height:none;display:block}.route-mode .route-inspector{max-width:760px;margin:auto}.editor-mode-bar{flex-wrap:wrap}}@media (width<=720px){.editor-grid.route-mode{grid-template-columns:1fr}.editor-mode-bar span{margin-left:0}.editor-mode-bar button{font-size:10px}.route-mode .editor-properties-panel{grid-column:1}}.electrical-workspace{color:#dce7de;background:#0b120e}.electrical-toolbar{border-bottom:1px solid #2a3a30;flex-wrap:wrap;align-items:end;gap:14px;padding:14px 20px;display:flex}.electrical-workspace button{color:inherit;cursor:pointer;background:#18221b;border:1px solid #35463a;border-radius:3px;padding:8px 11px;font-size:12px}.electrical-workspace button:hover{border-color:#d9ff43}.electrical-workspace button:disabled{opacity:.4;cursor:not-allowed}.electrical-workspace .primary{color:#10160b;background:#d9ff43;border-color:#d9ff43;font-weight:600}.electrical-workspace button.active,.electrical-workspace button[aria-current=true]{background:#263021;border-color:#d9ff43}.electrical-workspace input,.electrical-workspace select,.electrical-workspace textarea{color:#eff6eb;background:#111b15;border:1px solid #3b4d40;border-radius:3px;width:100%;min-width:0;padding:8px;font-size:12px;display:block}.electrical-workspace input[type=checkbox]{accent-color:#d9ff43;width:auto}.electrical-workspace fieldset{border:0;min-width:0;margin:0;padding:0}.electrical-workspace h2{letter-spacing:-.5px;margin:12px 0;font-size:21px}.electrical-workspace h3{margin:22px 0 10px;font-size:14px}.electrical-field{flex-direction:column;gap:6px;min-width:0;margin-bottom:12px;font-size:11px;display:flex}.electrical-field>label{color:#a5b4a8}.electrical-toolbar .electrical-field{flex:0 330px;margin:0}.electrical-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;display:grid}.electrical-check{align-items:center;gap:9px;margin:12px 0;font-size:12px;display:flex}.electrical-note{color:#9dab9f;margin:10px 0 17px;font-size:12px;line-height:1.65}.electrical-grid{grid-template-columns:310px minmax(250px,1fr) 360px;height:calc(100vh - 300px);min-height:640px;display:grid}.electrical-tree-panel,.electrical-inspector{min-width:0;padding:20px 16px;overflow:auto}.electrical-tree-panel{border-right:1px solid #2a3a30}.electrical-inspector{border-left:1px solid #2a3a30}.electrical-canvas-panel{flex-direction:column;min-width:0;min-height:500px;display:flex;position:relative}.electrical-canvas-panel .room-viewport{flex:1;height:100%;min-height:400px}.electrical-filters{background:#101911;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.electrical-filters .electrical-field{flex:1;margin:0}.electrical-canvas-caption{color:#a5b4a8;border-top:1px solid #2a3a30;padding:10px 15px;font-size:10px}.electrical-tabs{flex-wrap:wrap;gap:5px;margin:5px 0 18px;display:flex}.electrical-tabs button{flex:1;padding:8px 5px;font-size:11px}.electrical-calculation-badge{color:#bceba0;padding:8px;font:11px IBM Plex Mono,monospace}.electrical-calculation-badge.stale{color:#f6c16c;background:#382b13}.electrical-tree ol{border-left:1px solid #3d5140;margin:0;padding-left:14px;list-style:none}.electrical-tree>ol{border:0;padding-left:0}.electrical-tree li{margin:9px 0}.electrical-tree-item>button{text-align:left;background:0 0;border-color:#26372b;flex-direction:column;gap:6px;width:100%;display:flex}.electrical-tree-item strong{font-size:13px}.electrical-tree-kind{color:#9bac9b;font:9px IBM Plex Mono,monospace}.electrical-metrics{flex-wrap:wrap;align-items:baseline;gap:10px;font:11px IBM Plex Mono,monospace;display:flex}.electrical-metrics b{color:#d9ff43;font-size:14px}.electrical-metrics small{color:#a8b9a3;font-size:10px}.electrical-tree-legend{color:#839984;flex-wrap:wrap;gap:7px;font-size:9px;display:flex}.electrical-tree-item small,.electrical-state-label{color:#aab5ac;font-size:10px}.electrical-tree-item.invalid>button{border-color:#d58156}.electrical-tree-item.unpowered>button{opacity:.65}.electrical-tree-circuit>button{color:#59cee7;background:0 0;border:0;font:10px IBM Plex Mono,monospace}.electrical-port-list,.electrical-register{margin:16px 0}.electrical-port-list button,.electrical-register button{text-align:left;width:100%;margin:6px 0;display:block}.electrical-port-list button span{color:#93ada0;margin-top:4px;font-size:10px;display:block}.electrical-workspace details>summary{cursor:pointer;color:#b3c6b7;font-size:12px}.electrical-results>div{border-bottom:1px solid #2c4032;padding:10px 0;font-size:12px}.electrical-results small{color:#99ad9d;margin-top:4px;display:block}.electrical-links{padding:0;list-style:none}.electrical-links li{justify-content:space-between;align-items:center;padding:5px 0;font:11px IBM Plex Mono,monospace;display:flex}.electrical-delete{flex-wrap:wrap;gap:6px;margin:8px 0;display:inline-flex}.electrical-workspace .electrical-delete button{color:#e5a083;background:0 0;border-color:#52362d;font-size:11px}.electrical-override,.electrical-connection-list article{border-bottom:1px solid #2c4032;padding:14px 0;font-size:12px}.electrical-override small,.electrical-connection-list small{color:#a2b8a8;overflow-wrap:anywhere;margin:8px 0;font-size:10px;display:block}.electrical-warning{color:#f6c48e;background:#382718;padding:12px 20px;font-size:12px}.electrical-warnings{border-top:1px solid #35463a;padding:12px 20px}.electrical-warnings summary span{color:#95a89b;margin-left:10px}.electrical-warnings>small{color:#7e9887;margin-top:8px;font-size:10px;display:block}.electrical-warnings li{flex-wrap:wrap;gap:15px;margin:10px 0;font-size:11px;display:flex}.electrical-warnings code{color:#e1aa7b}.electrical-hotspot{white-space:nowrap;color:#142c29;cursor:pointer;background:#e0f2e4;border:1px solid #d9ff43;border-radius:3px;padding:4px 7px;font:10px IBM Plex Mono,monospace}.electrical-hotspot.compatible{background:#59cee7}.electrical-3d-label{white-space:nowrap;color:#d9ff43;background:#0d1914ed;border:1px solid #688743;border-radius:3px;padding:5px 8px;font:10px IBM Plex Mono,monospace}.electrical-loading{min-height:500px;padding:60px}@media (width<=1250px){.electrical-grid{grid-template-columns:260px minmax(0,1fr);height:auto}.electrical-tree-panel{max-height:700px}.electrical-inspector{border-top:1px solid #35463a;grid-column:1/-1;overflow:visible}.electrical-inspector>section,.electrical-inspector>.electrical-device-editor{max-width:800px;margin:auto}.electrical-canvas-panel{min-height:650px}}@media (width<=720px){.electrical-grid{grid-template-columns:1fr}.electrical-tree-panel{max-height:500px}.electrical-inspector{grid-column:1}.electrical-toolbar{align-items:stretch}.electrical-toolbar .electrical-field{flex-basis:100%}.electrical-canvas-panel{min-height:500px}.electrical-fields{grid-template-columns:1fr}}.electrical-port-hotspots{background:#0b1715e8;border:1px solid #507054;border-radius:4px;flex-direction:column;gap:4px;min-width:62px;padding:5px;display:flex}.voice-design{border:1px solid var(--line);background:var(--panel);color:var(--ink);margin:0 0 1px}.voice-design-header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;padding:18px 24px;display:flex}.voice-design-kicker,.voice-session-state{letter-spacing:.08em;color:var(--muted);font:10px IBM Plex Mono,monospace}.voice-design h2{margin:6px 0 0;font-size:1.2rem;font-weight:500}.voice-design-modes{gap:5px;margin-left:auto;display:flex}.voice-design button{border:1px solid var(--line);cursor:pointer;min-height:42px;color:var(--ink);background:0 0;padding:9px 13px}.voice-design button:disabled{opacity:.45;cursor:not-allowed}.voice-design button[aria-pressed=true]{color:var(--acid);border-color:var(--acid)}.voice-session-state.is-live{color:var(--copper)}.voice-design-body{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);display:grid}.voice-design-input,.voice-design-output{min-width:0;padding:20px 24px}.voice-design-input{border-right:1px solid var(--line)}.voice-context-line{color:var(--muted);margin:0 0 14px;font:11px IBM Plex Mono,monospace}.voice-design-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.voice-design-actions label{align-items:center;gap:8px;margin-left:auto;font-size:.8rem;display:flex}.voice-design form{margin-top:14px}.voice-design form>label{color:var(--muted);margin-bottom:7px;font-size:.8rem;display:block}.voice-text-row{gap:8px;display:flex}.voice-design input:not([type=checkbox]),.voice-design select{background:var(--bg);width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);padding:10px 12px}.voice-text-row>button{border-color:var(--acid);color:var(--acid);flex-shrink:0}.voice-examples{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.voice-examples button{min-height:32px;color:var(--muted);font-size:.73rem}.voice-privacy,.voice-fixture-note{color:var(--muted);font-size:.75rem;line-height:1.5}.voice-fixture-note{color:var(--copper);border-left:2px solid var(--copper);padding-left:10px}.voice-speech{margin:14px 0 8px;font-size:1.12rem;line-height:1.5}.voice-design-output>small{color:var(--muted);font:10px IBM Plex Mono,monospace}.voice-confirm{border:1px solid var(--copper);margin:16px 0;padding:14px}.voice-confirm strong{color:var(--copper);margin-bottom:10px;display:block}.voice-confirm button{margin:4px 6px 0 0}.voice-error{border-left:2px solid var(--copper);color:var(--copper);padding:8px 12px;font-size:.85rem}.voice-design details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.voice-design summary{cursor:pointer;font-size:.8rem}.voice-context-details label{margin-top:10px;font-size:.75rem;display:block}.voice-debug article{border-bottom:1px solid var(--line);padding:12px 0}.voice-debug article>small{color:var(--muted);font:10px IBM Plex Mono,monospace}.voice-debug pre{background:var(--bg);max-height:200px;padding:10px;font-size:10px;overflow:auto}@media (width<=1100px){.voice-text-row{flex-wrap:wrap}.voice-design-header{gap:12px}}@media (width<=760px){.voice-design-body{grid-template-columns:1fr}.voice-design-input{border-right:0;border-bottom:1px solid var(--line)}.voice-design-modes{margin-left:0}.voice-design-input,.voice-design-output,.voice-design-header{padding:16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
