:root{font:13px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#d9e4ef;background:#0b1220;--line:#263345;--muted:#93a5b9;--accent:#8ad8c5;--panel:#111d2b}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}button,input,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 11px;border-radius:6px;border:1px solid #33465b;background:#192a3b;color:#d9e4ef;cursor:pointer;white-space:nowrap}button:hover{background:#253e52;border-color:#578095}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #8ad8c5;outline-offset:2px}button:disabled{opacity:.45;cursor:default}.primary{background:#24695f;border-color:#4a9e8c;color:#eafff8}.icon{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}input,select,textarea{background:#0e1927;color:#d8e7f4;border:1px solid #35475a;border-radius:6px;padding:8px 10px;min-width:0}input[type=checkbox]{accent-color:#7cd4bc}.rail{position:fixed;inset:0 auto 0 0;width:64px;background:#070e18;border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;gap:14px;padding:14px 0;z-index:20}.rail button{width:40px;height:40px;border:0;background:transparent;color:#8da3b9}.rail button.active{background:#1c413f;color:#98e4ce}.mark{display:flex;align-items:center;justify-content:center;background:#224e47;color:#b4f7d9;border:1px solid #477367;border-radius:11px;width:38px;height:38px;text-decoration:none;font-weight:800;font-size:22px;margin:1px 0 18px}.mark span{font-size:9px;margin-top:12px}.rail .bottom{margin-top:auto;color:#8aa9bd;padding:10px}.shell{margin-left:64px;width:calc(100% - 64px)}header{height:93px;display:flex;align-items:center;justify-content:space-between;padding:16px 30px;background:#0c1725;border-bottom:1px solid var(--line);gap:25px}.eyebrow{font-size:9px;letter-spacing:2px;color:#83b0b1}h1{font-size:23px;line-height:1.2;margin:7px 0 0;font-weight:590;letter-spacing:-.5px}.headerActions{display:flex;align-items:center;gap:10px}.pill{font-size:8px;font-weight:700;letter-spacing:1px;border-radius:5px;padding:5px 8px;display:inline-block;white-space:nowrap}.green{color:#99e3cb;background:#24473d}.amber{color:#e5c994;background:#493a25}.subbar{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#101d2c;padding:8px 30px;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line)}.subbar nav{color:#c3d4df}.ribbon{display:flex;gap:9px;padding:14px 30px;background:#0f1a29}.ribbon>span{flex:1}.ribbon button{font-size:11px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:3px 30px 22px}.metrics article{background:linear-gradient(135deg,#152534,#111c2b);border:1px solid var(--line);border-radius:10px;padding:16px 20px;display:flex;flex-direction:column}.metrics small{font-size:9px;letter-spacing:1.3px;color:#8b9eb1}.metrics strong{font-size:29px;line-height:1.45;font-weight:560;letter-spacing:-1px}.metrics span{font-size:10px;color:var(--muted)}main{padding:0 30px 22px}.contenthead{display:flex;justify-content:space-between;align-items:flex-start;margin:2px 0 16px;gap:20px}h2{font-size:17px;margin:0 0 4px;font-weight:570}p{margin:7px 0;color:var(--muted);font-size:12px}.contenthead p{font-size:11px}.filters{display:flex;gap:7px;padding-top:1px}.filters input{width:200px}.filters input,.filters select{font-size:11px}.filters select{max-width:165px}.panel{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.split{display:grid;grid-template-columns:minmax(380px,1fr) 320px;gap:18px}.panelhead{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px}.panelhead strong{font-weight:600}.panelhead span:not(.pill){font-size:10px;color:var(--muted)}.plan{position:relative;display:flex;flex-direction:column;min-height:535px}#plan{display:block;position:absolute;inset:53px 0 41px;width:100%;height:calc(100% - 94px);touch-action:none}.mapNote{padding:10px 16px;font-size:9px;color:#8cacc0;display:flex;justify-content:space-between;align-items:center;margin-top:auto;height:40px;border-top:1px solid var(--line)}.mapNote button{font-size:9px;padding:3px 7px}.inspector{padding:15px 18px;max-height:483px;overflow:auto}.empty{padding:40px 22px;text-align:center;color:#8da5b9;font-size:12px}.kv{display:flex;justify-content:space-between;padding:6px 0;gap:12px;border-bottom:1px solid #1d3040;font-size:11px}.kv span:first-child{color:#8ca4b9}.kv span:last-child{text-align:right;overflow-wrap:anywhere}.inspector input{width:100%;font-size:11px}.inspector label{font-size:10px;color:#9daebe;display:block;margin:10px 0 3px}.inspector h3{font-size:15px;margin:0 0 8px}.inspector .source{font-size:10px;color:#ddb873;background:#453725;padding:9px;border-radius:5px}.banner{padding:12px 17px;background:#2e291f;color:#d7c5a5;font-size:11px;border:1px solid #5a4b32;border-radius:7px;margin-bottom:14px}.hidden{display:none!important}.drawingFilters,.tabline{display:flex;align-items:center;gap:10px;margin:14px 0}.tabline .active{background:#2b584f}.check{font-size:11px;display:flex;gap:6px;align-items:center}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.imagecard{background:#132132;border:1px solid var(--line);border-radius:8px;overflow:hidden;cursor:pointer;text-align:left;display:block;padding:0}.imagecard img{width:100%;height:173px;object-fit:contain;background:#e6e8ec;display:block}.imagecard div{padding:12px}.imagecard b{display:block;font-size:12px;font-weight:580}.imagecard small{color:#8ea7ba;font-size:10px}.tablewrap{overflow:auto;max-height:590px;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;font-size:11px}th{position:sticky;top:0;background:#1b2d3f;padding:12px;color:#a6bbc9;font-size:9px;text-transform:uppercase;letter-spacing:.8px;text-align:left;z-index:2}td{padding:9px 12px;border-bottom:1px solid #223248;color:#c9d8e3;vertical-align:top;max-width:400px;overflow-wrap:anywhere}tbody tr:hover{background:#1c3041}.selected{background:#1c3d43}td button{padding:4px 7px;font-size:10px}.pager{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin:13px 0;font-size:11px}.pager span{margin-right:auto;color:var(--muted)}.evidencegrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.evidencegrid .kv{margin:0 18px}.evidencegrid .panel{padding-bottom:14px}.solvergrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.form{padding:20px}.form h3{margin:3px 0 12px;font-size:13px}.form label,.bulkMaterial label{display:block;font-size:11px;color:#a0b6c6;margin:12px 0}.form label input,.form label select{display:block;width:100%;margin-top:4px}.form label.check{display:flex;align-items:flex-start}.form label.check input{width:16px;margin:3px 3px 0 0}.form button{margin-top:9px;margin-right:6px;font-size:11px}.form pre{font-size:10px;line-height:1.6;padding:12px;background:#0c1722;border-radius:6px;white-space:pre-wrap;color:#9fc5cf;max-height:190px;overflow:auto}.bulkMaterial{display:flex;gap:15px;align-items:center;padding:15px;flex-wrap:wrap}.bulkMaterial small{color:#93a9bb}.bulkMaterial label{margin:0}.bulkMaterial select{margin-left:10px}.form .banner{margin:17px 0}.tabline select{max-width:400px}footer{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);padding:12px 30px;color:#8ca1b4;font-size:10px}#frameHost{height:650px;background:#0d1b28;border:1px solid var(--line);border-radius:8px;overflow:hidden}#frameHost iframe{border:0;width:100%;height:100%}#syncBack{margin-top:10px}dialog{width:min(1100px,94vw);max-height:90vh;background:#132131;color:#dce9f3;border:1px solid #496374;border-radius:11px;padding:0}dialog::backdrop{background:#030b13c9}.dialoghead{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#132131;z-index:5}.dialoghead h3{font-size:15px;margin:0}#dialogBody{padding:22px;overflow:auto;max-height:78vh}#dialogBody img{display:block;max-width:100%;margin:auto;background:white}#dialogBody pre{overflow:auto;font-size:11px;white-space:pre-wrap}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:100;background:#803f43;color:#fff;padding:12px 18px;border-radius:8px;max-width:90vw;box-shadow:0 5px 50px #0005}.widthfull{width:100%}@media(max-width:1180px){header{padding:14px 20px}h1{font-size:19px}.metrics{padding:4px 20px 18px;gap:10px}.metrics article{padding:13px}main{padding:0 20px 20px}.contenthead{flex-direction:column;gap:12px}.split{grid-template-columns:1fr 290px}.headerActions .pill{display:none}.ribbon{padding:12px 20px}.ribbon button{font-size:10px}.subbar{padding:7px 20px}}@media(max-width:780px){.rail{width:48px;gap:10px}.rail button{width:34px;height:34px}.mark{width:33px;height:33px;font-size:19px}.shell{margin-left:48px;width:calc(100% - 48px)}header{height:auto;min-height:90px;padding:13px;flex-wrap:wrap;gap:10px}.headerActions{gap:7px}h1{font-size:17px}.eyebrow{font-size:7px}.subbar{padding:7px 13px}.subbar #frameLabel{display:none}.ribbon{padding:10px 13px;flex-wrap:wrap;gap:6px}.ribbon button{padding:6px;font-size:9px}.ribbon>span{display:none}.metrics{grid-template-columns:1fr 1fr;padding:0 13px 16px;gap:8px}.metrics article{padding:10px 12px}.metrics strong{font-size:24px}.metrics span{font-size:9px}.metrics small{font-size:8px}main{padding:0 13px 16px}.split,.solvergrid,.evidencegrid{grid-template-columns:1fr}.plan{min-height:450px}.filters{flex-wrap:wrap;width:100%}.filters input{width:100%}.filters select{max-width:calc(50% - 6px);width:calc(50% - 6px)}.gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.imagecard img{height:140px}footer{padding:10px 13px;flex-direction:column;gap:5px}.panelhead{padding:12px}.panelhead .pill{font-size:7px;letter-spacing:.3px}.plan canvas{inset:48px 0 40px;height:calc(100% - 88px)}.form{padding:15px}#frameHost{height:70vh}.mapNote span{max-width:75%;font-size:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v03 integrated authoring and live exports */
body[data-view="scene"] .metrics{display:none}.shell{min-width:0}.ribbon{flex-wrap:wrap;row-gap:6px}.ribbon button{font-size:11px}.export-option{display:block;width:100%;padding:13px 16px;text-align:left;margin:8px 0;background:#16384b;border:1px solid #365c70;border-radius:8px}.export-option:hover{background:#245265}.scene-controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:10px;background:#122d3e}.scene-controls span{font-size:11px;color:#9bd2c3}#frameHost{height:calc(100dvh - 260px);min-height:560px}#frameHost iframe{height:100%;width:100%;border:0}#dialogBody>input,#dialogBody>select{display:block;width:100%;margin:8px 0;padding:9px;background:#12293b;color:#e4edf5;border:1px solid #456578}#dialogBody table input{max-width:120px}footer label{font-size:10px;margin:0}#inspector .source{word-break:break-word}a{color:#a7e6d5}.mapNote{flex-wrap:wrap;gap:7px}.mapNote button{font-size:10px}.headerActions{flex-shrink:0}#projectTitle{overflow:hidden;text-overflow:ellipsis;max-width:60vw}button:focus-visible,a:focus-visible{outline:2px solid #89d9c7;outline-offset:3px}@media(max-width:800px){#frameHost{height:calc(100dvh - 235px);min-height:700px}.ribbon button{font-size:10px;padding:7px}.headerActions .pill{display:none}#projectTitle{max-width:48vw;font-size:17px}.metrics{grid-template-columns:1fr 1fr}.mapNote span{width:100%}.scene-controls{font-size:10px}.scene-controls button{font-size:10px}.shell header{gap:8px}.shell{width:calc(100vw - 48px)}}

/* v04 engineering design center */
.design-center{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;min-height:500px}.design-tabs{display:flex;flex-direction:column;gap:6px;position:sticky;top:0;align-self:start}.design-tabs button{text-align:left;font-size:12px;padding:11px}.design-tabs button.active{background:#235b62;border-color:#7ad0be}.design-content{min-width:0;max-height:68dvh;overflow:auto;padding-right:10px}.design-content>h3{margin-top:24px}.design-content h3:first-child{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#b4cad7;margin:5px 0}.form-grid .wide{grid-column:1/-1}.design-content input,.design-content select,.design-content textarea{font:12px system-ui;color:#e1eef5;background:#102a3a;border:1px solid #416274;border-radius:5px;padding:8px;min-width:0;max-width:100%}.design-content>label{display:flex;flex-direction:column;font-size:11px;gap:5px;margin:12px 0}.design-content textarea{display:block;width:100%;min-height:100px;margin:8px 0;font-family:ui-monospace,monospace}.design-content>button{margin:8px 6px 8px 0}.button-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.design-content td{max-width:220px;overflow-wrap:anywhere}.reference-card{margin:20px 0;padding:12px;border:1px solid #345165;border-radius:8px}#dialog:has(.design-center){width:min(1180px,96vw);max-width:96vw}.design-content small{display:block;color:#a6bfcd;margin:8px 0}.design-content pre{white-space:pre-wrap;overflow-wrap:anywhere}.ribbon a{font-size:11px;align-self:center}.ribbon{gap:6px}button:disabled{opacity:.55;cursor:wait}@media(max-width:780px){.design-center{grid-template-columns:1fr;gap:10px}.design-tabs{position:static;display:grid;grid-template-columns:1fr 1fr}.design-tabs button{font-size:10px;padding:7px}.design-content{max-height:55dvh}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:1}.design-content>h3{font-size:16px}}
