:root{--bg:#0b0c0e;--panel:#111419;--panel-2:#161a20;--ink:#e7ecf2;--muted:#93a1b3;--line:#2a3442;--line-soft:#1f2732;--accent:#5b83e0;--accent-2:#35c9a0;--navy:#1d3f8a;--green:#0f8a6b;--ok:#35c9a0;--warn:#e3b04b;--bad:#f07a70;--paper:#e3e8ee;--view-bg:#16191d;--band:linear-gradient(180deg, #4b4ad0, #2f6fc0 45%, #19b38d);--title-font:"Lexend", "Barlow", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:inherit}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-family:Barlow,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}h1,h2{font-family:var(--title-font)}h3{font-family:Barlow Semi Condensed,Barlow,system-ui,sans-serif}h1{letter-spacing:-.01em;margin:0 0 6px;font-size:2.4rem;font-weight:700;line-height:1.05}h2{margin:26px 0 10px;font-size:1.25rem;font-weight:600}h3{margin:0;font-size:.9rem;font-weight:650}.kick{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);font-size:.72rem;font-weight:600;display:block}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bar button,.seg button,.act,.foot button,.nav button{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:4px;padding:7px 12px;font-size:.86rem}.bar button[aria-pressed=true],.seg button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.bar button,.seg button,.act,.foot button,.nav button,.tab,.rec{transition:background-color .16s,border-color .16s,color .16s}@media (hover:hover){.bar button:hover:not([aria-pressed=true]),.seg button:hover:not([aria-pressed=true]),.act:hover,.foot button:hover,.nav button:hover{background-color:color-mix(in srgb, var(--ink) 7%, var(--panel));border-color:color-mix(in srgb, var(--ink) 35%, var(--line))}.bar button[aria-pressed=true]:hover,.seg button[aria-pressed=true]:hover{background-color:color-mix(in srgb, var(--accent) 85%, #fff)}.tab:hover:not([aria-selected=true]){color:var(--ink)}.rec:hover{border-color:color-mix(in srgb, var(--ink) 40%, var(--line))}}@media (prefers-reduced-motion:reduce){.bar button,.seg button,.act,.foot button,.nav button,.tab,.rec{transition:none}}.seg button:disabled{opacity:.38;cursor:not-allowed}@media (hover:hover){.seg button:disabled:hover,.foot button:disabled:hover{border-color:var(--line);background-color:#0000}}.band{background:var(--band);z-index:2;pointer-events:none;width:8px;position:fixed;top:0;bottom:0;left:0}body{padding-left:8px}.mast{border-bottom:1px solid var(--line);background:#0d0e10;align-items:center;gap:10px;margin-bottom:12px;padding:12px 16px;display:flex}.mast-mark{flex:none;display:block}.mast-t{gap:1px;min-width:0;display:grid}.mast-word{font:800 .68rem/1 "Montserrat", var(--title-font,system-ui), sans-serif;letter-spacing:.12em;color:var(--muted)}.mast-t h1{color:#fff;margin:0;font-size:1.2rem;line-height:1.15}.mast-help{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;transition:color .16s;display:inline-flex}.mast-help:hover,.mast-help:active{color:var(--accent-2)}.mast-help+.mast-help{margin-left:0}.mast-veil{z-index:900;opacity:0;pointer-events:none;background:#05080c8c;transition:opacity .22s;position:fixed;inset:0}.mast-veil.on{opacity:1;pointer-events:auto}.mast-menu{z-index:901;width:min(280px,82vw);padding:calc(12px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) 16px 16px;background:var(--panel);border-left:1px solid var(--line);flex-direction:column;gap:6px;transition:transform .26s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(105%);box-shadow:-12px 0 32px #00000073}.mast-menu.on{transform:none}.mast-menu-head{justify-content:space-between;align-items:center;margin:0 -8px 8px 0;display:flex}.mast-menu-head span{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.mast-item{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;font-size:.95rem;font-weight:600;display:flex}.mast-menu .mast-go{background:var(--accent-2);border-color:var(--accent-2);color:#06231b}.mast-menu{overflow-y:auto}.mast-foot{border-top:1px solid var(--line);color:var(--muted);gap:12px;margin-top:auto;padding-top:18px;font-size:12px;line-height:1.45;display:grid}.mast-foot p{flex-direction:column;gap:2px;margin:0;display:flex}.mast-foot b{color:var(--ink);font-family:"Montserrat", var(--title-font,system-ui), sans-serif;letter-spacing:.05em;font-size:.86rem;font-weight:800}.mast-foot .mesa-ver{margin-top:6px}@media (prefers-reduced-motion:reduce){.mast-veil,.mast-menu{transition:none}}.mast-help:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.layout{grid-template:"view panel""report panel"1fr/minmax(0,1fr) 350px;gap:0 20px;max-width:1280px;margin:0 auto;padding:0 24px 32px;display:grid}.area-view{grid-area:view;min-width:0}.area-report{grid-area:report;min-width:0}.panel{grid-area:panel;min-width:0}@media (width<=900px){body{padding-left:4px}.band{width:4px}.layout{grid-template:"view""panel""report"/minmax(0,1fr);gap:16px;padding:0 16px 28px}}.bar{flex-wrap:wrap;gap:6px;margin:0 0 8px;display:flex}.bar button{background:var(--panel)}.bar button[aria-pressed=true]{background:var(--accent);color:#fff}.bar-section{margin-top:14px}canvas{width:100%;max-width:100%;height:auto;display:block}.view{background:var(--view-bg);cursor:grab;touch-action:none;aspect-ratio:720/500;border:1px solid var(--line)}.section{background:var(--paper);aspect-ratio:720/198;border:1px solid var(--line);margin-top:2px}.cap{color:var(--muted);margin:6px 0 4px;font-size:.85rem}.section-scroll{overscroll-behavior-x:contain;overflow-x:auto}@media (width<=600px){.section-scroll .section{min-width:620px}.section-scroll{scrollbar-width:thin}}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:8px 0 0;font-size:12px;display:flex}.legend span{align-items:center;gap:7px;display:inline-flex}.legend i{border-radius:2px;flex:none;width:20px;height:13px;display:inline-block;position:relative}.legend .sw-cut{background:#3a3f42}.legend .sw-cut:after{content:"";border-top:2px dashed #fff;position:absolute;top:5px;left:2px;right:2px}.legend .sw-batten{background:#aab3bb;border:1px solid #5f6a74}.legend .sw-tee{background:#e9ecef;border:1px solid #5f6a74}.legend .sw-batten-back{background:#bec8d273;border:1px dashed #8d98a2}.legend .sw-outline{background:#7f8689;border:1px dashed #fff}.legend .sw-selected{background:0 0;border:2px solid #4d8dff}.legend-section{margin-bottom:4px}.legend .sw-sec-plate{background:#17191b;border:1px solid #5f6a74}.legend .sw-sec-beyond{background:#e3e8ee;border:1px solid #17191b6b}.legend .sw-sec-rail{background:linear-gradient(#9aa4ad 0 3px,#0000 3px),linear-gradient(90deg,#0000 8px,#9aa4ad 8px 12px,#0000 12px);border-top:1px solid #4f5a64}.legend .sw-sec-bracket{background:#c9d0d6;border:1px solid #7d8790}.legend .sw-sec-screw{background:linear-gradient(#0000 5px,#4b535b 5px 8px,#0000 8px)}.legend .sw-sec-pad{background:#3a3f45;height:6px}.legend .sw-sec-wall{background:#8d9497}.legend .sw-sec-behind{opacity:.5;background:#aab3bb;border:1px solid #5f6a74}.panel{background:var(--panel);border:1px solid var(--line);top:calc(12px + env(safe-area-inset-top,0px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:4px;flex-direction:column;align-self:start;display:flex;position:sticky}.recs,.tabs,.foot{flex:none}.controls{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}@media (width<=900px){.panel{max-height:none;position:static}.controls{overflow-y:visible}}.foot{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:10px 16px 12px;display:flex}.foot button:disabled{opacity:.38;cursor:not-allowed}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.tab{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;flex:22%;padding:11px 6px 8px;font-size:.8rem;font-weight:600}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.pane{padding:14px 16px 6px}.recs{border-bottom:1px solid var(--line);padding:12px 16px 8px}.rech{justify-content:space-between;align-items:center;margin:0 0 8px;display:flex}.nav{gap:4px;display:flex}.nav button{width:30px;height:28px;padding:0 0 3px;font-size:1.15rem;line-height:1}.recrow{scrollbar-width:none;padding-bottom:6px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.recrow::-webkit-scrollbar{display:none}.rectrack{will-change:transform;gap:8px;display:flex}.rec{border:1px solid var(--line);background:var(--panel-2);width:80px;color:var(--ink);font:inherit;cursor:pointer;text-align:left;border-radius:4px;flex:none;padding:0;font-size:.72rem;line-height:1.2;overflow:hidden}.rec canvas{width:78px;height:78px}.rec{position:relative}.rec .rec-start{background:var(--accent-2);color:#06231b;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex;position:absolute;top:4px;right:4px;box-shadow:0 1px 3px #00000059}.rec span{padding:4px 5px 6px;display:block}.nav .rec-all{align-items:center;gap:5px;width:auto;margin-right:4px;padding:0 8px;font-size:.8rem;display:inline-flex}.fab.gallery{width:min(980px,100vw - 32px)}.fab.gallery[open]{flex-direction:column;height:min(760px,100dvh - 32px);display:flex;overflow:hidden}.fab.gallery .fab-pad{flex-direction:column;flex:1;min-height:0;display:flex}.gal-filter{flex:none;margin-bottom:14px}.gal-save{flex:none;margin-bottom:12px}.gal-save .lib-save{flex-wrap:wrap;gap:8px;display:flex}.gal-save .lib-save .act{align-items:center;gap:6px;display:inline-flex}.gal-save .lib-save .selbox{flex:220px;min-width:0}.lib-card{flex-direction:column;gap:4px;display:flex}.lib-card .rec{width:auto}.lib-card .rec canvas{aspect-ratio:1;width:100%;height:auto}.lib-card-acts{align-items:center;gap:4px;display:flex}.lib-card-acts .op-del{width:30px;height:28px}.lib-card-acts .act{flex:1;justify-content:center;align-items:center;gap:4px;padding:3px 4px;font-size:.74rem;display:inline-flex}.fab.gallery .gal-grid{flex:1;align-content:start;min-height:0;padding-right:4px;overflow-y:auto}.gal-filter button{flex:0 auto}.gal-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));grid-auto-rows:max-content;gap:10px;display:grid}.gal-grid .rec span:not(.rec-start){color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.gal-grid .rec{flex-direction:column;justify-content:flex-start;width:auto;display:flex}.gal-grid .rec canvas{aspect-ratio:1;width:100%;height:auto}.gal-card,.lib-card{flex-direction:column;display:flex;position:relative}.gal-fav{cursor:pointer;color:#fff;opacity:0;background:#0b0c0e9e;border:0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:opacity .16s,color .16s;display:inline-flex;position:absolute;top:4px;left:4px}.gal-fav.on{color:var(--warn);opacity:1}.gal-card:hover .gal-fav,.lib-card:hover .gal-fav,.gal-fav:focus-visible{opacity:1}@media (hover:none){.gal-fav{opacity:1}}@media (hover:hover){.gal-fav:hover{color:var(--warn)}}@media (prefers-reduced-motion:reduce){.gal-fav{transition:none}}.foot .icon-btn{justify-content:center;align-items:center;padding:6px 9px;display:inline-flex}.foot .foot-reset,.bar button{align-items:center;gap:6px;display:inline-flex}.st{align-items:center;gap:5px;display:inline-flex}.view3d{aspect-ratio:720/500;cursor:grab;touch-action:none;background:#2b2f32;width:100%;position:relative;overflow:hidden}.view3d canvas{width:100%!important;height:100%!important}.view-loading{color:#cfd4d6;justify-content:center;align-items:center;font-size:.9rem;display:flex}.bar-group{display:inline-flex}.bar-group button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.bar-group button:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.bar{gap:8px 18px}.bar-sec{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bar-files{margin-left:auto}.bar .bar-print{align-items:center;gap:6px;display:inline-flex}.bar button.bar-stl{color:var(--accent-2);border-color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 12%, transparent);align-items:center;gap:6px;font-weight:650;display:inline-flex}@media (hover:hover){.bar button.bar-stl:hover:not(:disabled){background-color:color-mix(in srgb, var(--accent-2) 22%, transparent)}}.bar button.bar-print{background:var(--accent-2);border-color:var(--accent-2);color:#06231b;font-weight:650}@media (hover:hover){.bar button.bar-print:hover{background-color:color-mix(in srgb, var(--accent-2) 82%, #fff);border-color:color-mix(in srgb, var(--accent-2) 82%, #fff)}}.rail-inset{border:1px solid var(--line);width:200px;color:var(--ink);-webkit-backdrop-filter:blur(4px);pointer-events:none;background:#0b0c0ed6;border-radius:6px;margin:0;padding:8px 10px 6px;position:absolute;bottom:10px;right:10px}.rail-inset figcaption{flex-direction:column;margin-bottom:4px;font-size:.74rem;line-height:1.25;display:flex}.rail-inset figcaption span{color:var(--muted);font-size:.68rem}.rail-inset svg{width:100%;height:auto;display:block}@media (width<=600px){.rail-inset{border-radius:4px;width:104px;padding:4px 5px 2px;bottom:6px;right:6px}.rail-inset figcaption{margin-bottom:1px;font-size:.62rem}.rail-inset figcaption span{display:none}}.view-wrap{position:relative}.view-ctrls{-webkit-backdrop-filter:blur(4px);background:#1013159e;border-radius:8px;flex-direction:column;gap:2px;padding:3px;display:flex;position:absolute;top:10px;left:10px}.view-ctrls button{color:#eef1f0;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background-color .16s;display:inline-flex}@media (hover:hover){.view-ctrls button:hover{background-color:#ffffff24}}.view-ctrls button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.view-ctrls button{transition:none}}.view-ctrls button[aria-pressed=true]{background-color:#3d86c659}.ambient{z-index:3;border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);background:#0d0f11eb;border-radius:8px;width:min(320px,100% - 66px);max-height:calc(100% - 20px);padding:10px 12px 2px;position:absolute;top:10px;left:56px;overflow-y:auto}.ambient-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ambient-head h3{margin:0;font-size:.95rem}.ambient-close{width:28px;height:28px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .16s;display:inline-flex}@media (hover:hover){.ambient-close:hover{background-color:#ffffff1f}}.ambient .lab{color:var(--muted);margin-bottom:6px;font-size:.82rem;display:block}@media (prefers-reduced-motion:reduce){.ambient-close{transition:none}}.view-cams{-webkit-backdrop-filter:blur(4px);background:#1013159e;border-radius:8px;gap:2px;padding:3px;display:flex;position:absolute;top:10px;right:10px}.view-cams button{color:#eef1f0;height:30px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:.82rem;transition:background-color .16s}@media (hover:hover){.view-cams button:hover{background-color:#ffffff24}}.view-cams-sep{background:#ffffff38;width:1px;margin:5px 4px}.view-cams button.chip{align-items:center;gap:6px;display:inline-flex}.chip-box{border:1.5px solid #eef1f0b3;border-radius:3px;flex:none;justify-content:center;align-items:center;width:14px;height:14px;transition:background-color .16s,border-color .16s;display:inline-flex}.chip[aria-checked=true] .chip-box{background:var(--accent);border-color:var(--accent);color:#fff}@media (prefers-reduced-motion:reduce){.chip-box{transition:none}}.view-cams button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.view-cams button{transition:none}}@media (width<=600px){.view-cams button{height:28px;padding:0 7px;font-size:.74rem}}.room{z-index:3;border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);background:#0d0f11e0;border-radius:8px;gap:6px;padding:8px 10px;display:grid;position:absolute;bottom:10px;left:10px}.room-row{grid-template-columns:52px minmax(0,190px) auto;align-items:center;gap:8px;font-size:.82rem;display:grid}.room-row label{color:var(--muted)}.room-row select{min-width:0;font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:4px;padding:4px 6px}.room-st{white-space:nowrap;font-size:.76rem}.room-st.ok{color:var(--ok)}.room-st.warn{color:var(--warn)}.room-st.bad{color:var(--bad)}@media (width<=600px){.room-row{grid-template-columns:44px minmax(0,1fr) auto}.bar-files{margin-left:0}}.sel{flex:none;display:inline-flex;position:relative}.sel-btn{white-space:nowrap}.sel-val{text-align:left;display:inline-block;position:relative}.sel-val:before{content:attr(data-size);visibility:hidden}.sel-cur{text-overflow:ellipsis;position:absolute;inset:0;overflow:hidden}.sel-btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:7px 10px 7px 12px;font-size:.86rem;transition:background-color .16s,border-color .16s;display:inline-flex}@media (hover:hover){.sel-btn:hover{background-color:color-mix(in srgb, var(--ink) 7%, var(--panel));border-color:color-mix(in srgb, var(--ink) 35%, var(--line))}}.sel-btn[aria-expanded=true]{border-color:color-mix(in srgb, var(--ink) 35%, var(--line))}.sel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sel-ico{color:var(--muted);transition:rotate .16s}.sel-btn[aria-expanded=true] .sel-ico{rotate:180deg}.sel-list{z-index:1000;border:1px solid var(--line);background:var(--panel);border-radius:6px;margin:0;padding:4px;font-family:inherit;list-style:none;animation:.12s ease-out sel-in;position:fixed;box-shadow:0 8px 24px #00000073}.sel-list:focus{outline:none}.sel-list li{white-space:nowrap;cursor:pointer;color:var(--ink);border-radius:4px;padding:7px 12px;font-size:.86rem}.sel-list li.on{background-color:color-mix(in srgb, var(--ink) 7%, var(--panel))}.sel-list li[aria-selected=true]{background:var(--accent);color:#fff}.sel-list li[aria-selected=true].on{background-color:color-mix(in srgb, var(--accent) 85%, #fff)}.sel-list:focus-visible li.on{box-shadow:inset 0 0 0 2px var(--accent)}@keyframes sel-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.sel-btn,.sel-ico{transition:none}.sel-list{animation:none}}.use-switch{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex:none;gap:2px;padding:3px;display:inline-flex}.use-switch button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:6px 14px;font-size:.86rem;font-weight:600;transition:background-color .16s,color .16s}.use-switch button[aria-pressed=true]{background:var(--accent-2);color:#06231b}@media (hover:hover){.use-switch button:hover:not([aria-pressed=true]){color:var(--ink);background:#ffffff0f}}@media (prefers-reduced-motion:reduce){.use-switch button{transition:none}}.stages ol{align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.stages li{flex:1 1 0;align-items:center;min-width:0;display:flex}.stages li:last-child{flex:0 auto}.stages li:not(:last-child):after{content:"";background:var(--line);border-radius:1px;flex:auto;min-width:12px;height:2px;margin:0 10px}.stages button{max-width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex:none;align-items:center;gap:10px;padding:8px 10px;transition:background-color .16s,border-color .16s;display:flex;position:relative}@media (hover:hover){.stages li:not(.on) button:hover .stage-t b{color:var(--ink)}}.stage-n{border:2px solid var(--line);background:var(--bg);width:28px;height:28px;color:var(--muted);z-index:1;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.86rem;font-weight:700;display:inline-flex;position:relative}.stages li.on .stage-n{border-color:var(--accent-2);background:var(--accent-2);color:#06231b}.stage-t{gap:1px;min-width:0;display:grid}.stage-t b{font-size:.95rem;font-weight:650}.stage-t small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.stages li:not(.on) .stage-t b{color:var(--muted)}.stages li.on .stage-t b{color:var(--accent-2)}.stages li.on .stage-t small{color:color-mix(in srgb, var(--accent-2) 70%, var(--muted))}.stages li.stage-0{border-right:2px solid var(--line);flex:none;align-self:stretch;margin-right:14px;padding-right:10px}.stages li.stage-0:after{display:none}.stage-0-box{align-items:center;gap:10px;padding:4px 10px;display:flex}.stage-0 .stage-n{border-color:var(--accent-2);color:var(--accent-2)}.stage-0 .stage-t small{color:var(--muted)}.stages .stage-0 .sel-btn{color:var(--accent-2);text-align:left;background:0 0;border:0;border-radius:6px;flex-direction:row;gap:6px;padding:1px 6px 1px 0;font-size:.95rem;font-weight:650}@media (hover:hover){.stages .stage-0 .sel-btn:hover{background:color-mix(in srgb, var(--accent-2) 10%, transparent)}}.stages .stage-0 .sel-ico{color:var(--accent-2)}.stage-anim{animation:.26s cubic-bezier(.2,.7,.2,1) backwards stage-in}@keyframes stage-in{0%{opacity:0;transform:translateX(calc(var(--stage-dir,1) * 14px))}}.stage-n,.stage-t b{transition:background-color .2s,border-color .2s,color .2s}@media (prefers-reduced-motion:reduce){.stages button,.stage-n,.stage-t b{transition:none}.stage-anim{animation:none}}.stage-next{justify-content:space-between;gap:12px;margin:28px 0 8px;display:flex}.stage-next .act{padding:9px 18px}.stage-page{margin-top:8px}.stage-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:8px 0 18px;display:flex}.stage-head h2{margin:0 0 6px;font-size:1.5rem}.stage-head p{color:var(--muted);max-width:80ch;margin:0;line-height:1.5}.stage-cta{flex:none;align-items:center;gap:8px;padding:10px 18px;display:inline-flex}.stage-cols{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0 40px;display:grid}.stage-cols>div{min-width:0}.stage-page h3{margin:22px 0 10px;font-size:1.05rem}.stage-block{margin-top:8px}.stage-carbon .co2{max-width:none;padding:0}button.strip{font:inherit;text-align:left;cursor:pointer;padding:0}.mobile-nav{gap:10px;padding:0 16px 12px;display:grid}.layout-stage{padding:0 16px}@media (width<=900px){.stages button{text-align:center;flex-direction:column;gap:4px;padding:6px 2px}.stage-t small{display:none}.stage-t b{font-size:.8rem}.stages li:not(:last-child):after{margin:0 2px 18px}.stage-0-box{flex-direction:column;gap:4px;padding:6px 2px}.stages li.stage-0{margin-right:6px;padding-right:4px}.stages .stage-0 .sel-btn{padding-left:4px;font-size:.8rem}.stage-head{flex-direction:column;gap:12px}.stage-cols{grid-template-columns:minmax(0,1fr)}}.stage-narrow{max-width:none}.stage-first h3{margin-top:10px}@media (width>=901px){.wq{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:0 36px;display:grid}.wq-plan{position:sticky;top:16px}.wq-plan .wallplan svg{max-height:560px}.wq-side .data{grid-template-columns:repeat(2,minmax(0,1fr))}}.wq-kpi{margin:18px 0 6px}.wq-n{font-family:var(--title-font);letter-spacing:-.02em;color:var(--accent-2);font-size:3rem;font-weight:700;line-height:1}.wq-n small{letter-spacing:0;color:var(--ink);margin-left:10px;font-size:1rem;font-weight:600}.wq-split{color:var(--muted);margin-top:8px;font-size:.9rem}.mesa .wq-n{font-family:var(--mono);font-weight:400}.mesa .wq-n small{font-family:var(--title-font)}.stage-head>div{flex:auto;min-width:0}.stage-head p{max-width:none}@media (width>=901px){.stage-fab{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stage-fab .mesa-data .data{grid-template-columns:repeat(2,minmax(0,1fr))}}.bar-section .section-zoom-btn{align-items:center;gap:6px;margin-left:auto;display:inline-flex}@media (width<=900px){.layout .bar-help,.layout .recs,.layout .caps-chip,.layout .bar-files{display:none}.layout .bar-group .bt-t{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.row{margin:0 0 14px}.lab{justify-content:space-between;gap:10px;margin-bottom:5px;font-size:.9rem;display:flex}.lab output{font-weight:650}.lab-color{align-items:center}.rl{margin-bottom:5px;font-size:.9rem;display:block}.hint,.about{color:var(--muted);margin:0 0 14px;font-size:.86rem}.about summary{cursor:pointer;list-style:none}.about summary::-webkit-details-marker{display:none}.about .more{color:var(--accent);white-space:nowrap}.about[open] .more{display:none}.about p{margin:6px 0 0}.group{border-top:1px solid var(--line-soft);margin:0 0 12px;padding-top:10px}.group>summary{cursor:pointer;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);justify-content:space-between;align-items:center;margin:0 0 12px;font-size:.72rem;font-weight:600;list-style:none;display:flex}.group>summary::-webkit-details-marker{display:none}.group>summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;margin-right:4px;transition:transform .16s;transform:rotate(45deg)}.group[open]>summary:after{transform:rotate(-135deg)}.group .group{border-top:0;margin-left:2px;padding-top:0}.group .group>summary{color:var(--muted);letter-spacing:.12em}@media (prefers-reduced-motion:reduce){.group>summary:after{transition:none}}.nums{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px;display:grid}.nums .num{color:var(--muted);flex-direction:column;gap:2px;font-size:.78rem;display:flex}.nums .num input{width:100%}.pad{border:1px solid var(--line);cursor:crosshair;touch-action:none;background:linear-gradient(var(--line-soft), var(--line-soft)) center / 1px 100% no-repeat, linear-gradient(var(--line-soft), var(--line-soft)) center / 100% 1px no-repeat, var(--panel-2);border-radius:6px;width:132px;height:132px;position:relative}.pad-dot{background:var(--accent);pointer-events:none;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;box-shadow:0 0 0 3px #5b83e040}.info{margin:0 0 10px;font-size:.9rem;font-weight:600}input[type=range]{width:100%;accent-color:var(--accent);height:22px;margin:0}.seg{flex-wrap:wrap;gap:4px;display:flex}.seg button{flex:auto;padding:7px 8px}.sw{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;width:54px;height:30px;padding:2px}.chk{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.chk input{width:17px;height:17px;accent-color:var(--accent)}.selbox{font:inherit;text-overflow:ellipsis;border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);border-radius:4px;padding:6px;font-size:.9rem}.numrow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.numrow input{font:inherit;border:1px solid var(--line);width:84px;color:var(--ink);background:0 0;border-radius:4px;padding:5px 6px}.numrow .u{color:var(--muted);flex:60px;font-size:.85rem}.numrow .chk{font-size:.85rem}.rule-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rule-head .chk{flex:none;margin-top:1px;font-size:.85rem}.seg-shapes button{justify-content:center;align-items:center;min-width:48px;padding:5px 4px;display:flex}.lab .seg-name{color:var(--ink);font-size:.82rem}.shape-icon{display:block}.lib-save{gap:6px;display:flex}.lib-save .selbox{flex:auto;min-width:0}.lib-link{margin:0 0 12px;font-size:.78rem}.lib-h{margin:18px 0 8px;font-size:.95rem}.lib-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.lib-list li{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:6px;padding:9px 0;display:flex}.lib-name{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.lib-name b{overflow-wrap:anywhere;font-weight:600}.lib-name span{color:var(--muted);white-space:nowrap;font-size:.76rem}.lib-acts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lib-acts .act{padding:5px 10px;font-size:.8rem}.lib-ask{color:var(--warn);margin-right:2px;font-size:.84rem}.bumps .bump{border:1px solid var(--line);border-radius:6px;margin:0 0 8px;padding:8px 10px}.bumps .bump b{margin-bottom:4px;font-weight:600;display:block}.bump-row{grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:2px 8px;margin-bottom:4px;font-size:.84rem;display:grid}.bump-row span{color:var(--muted);grid-column:1/-1}.bump-row output{text-align:right;font-weight:600}.bumps .act{padding:5px 10px;font-size:.82rem}.bump-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.bump-head b{margin-bottom:0}.act.act-danger{color:var(--bad);border-color:#f07a7080}@media (hover:hover){.act.act-danger:hover{background-color:#f07a701f}}.act.act-go{background:var(--accent-2);border-color:var(--accent-2);color:#06231b;font-weight:650}@media (hover:hover){.act.act-go:hover:not(:disabled){background-color:color-mix(in srgb, var(--accent-2) 82%, #fff);border-color:color-mix(in srgb, var(--accent-2) 82%, #fff)}}.area-report h2{margin-top:30px}.chk-sum{flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin:0 0 10px;font-size:.92rem;display:flex}.chk-sum b{font-family:var(--title-font);margin-right:4px;font-size:1.6rem;font-weight:700}.chk-sum .ok{color:var(--ok)}.chk-sum .warn{color:var(--warn)}.chk-sum .bad{color:var(--bad)}.chk-all{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-left:auto;padding:4px 0;font-size:.82rem;text-decoration:underline}.chk-all:hover{color:var(--ink)}.checks{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.checks li{border-bottom:1px solid var(--line-soft);grid-template-columns:86px minmax(0,1fr) auto;align-items:baseline;gap:4px 12px;padding:9px 0;display:grid}.st{letter-spacing:.12em;text-transform:uppercase;padding-top:1px;font-size:.7rem;font-weight:650}.ck-more{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:.78rem}.ck-more:hover{color:var(--ink)}.checks li.open .ck-more{color:var(--accent)}.st.ok{color:var(--ok)}.st.warn{color:var(--warn)}.st.bad{color:var(--bad)}.ck b{font-weight:650}.ck span{color:var(--muted);margin-top:4px;font-size:.86rem;display:block}@media (width<=520px){.checks li{grid-template-columns:minmax(0,1fr) auto}.checks li .st{grid-column:1/-1}}.data{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 20px;margin:0;padding:12px 0;display:grid}.data dt{color:var(--muted);font-size:.85rem}.data dd{margin:0;font-weight:600}.wallin{flex-wrap:wrap;gap:12px 28px;margin:0 0 14px;display:flex}.wallin label{flex-direction:column;gap:5px;font-size:.9rem;display:flex}.wallin span{color:var(--muted)}.wallin input{font:inherit;border:1px solid var(--line);background:var(--panel);width:96px;color:var(--ink);border-radius:4px;margin-right:4px;padding:6px 8px;font-weight:600}.note{color:var(--muted);margin:12px 0 0;font-size:.88rem}.wall-start{flex-direction:column;gap:5px;font-size:.9rem;display:flex}.wall-start>span{color:var(--muted)}.openings{flex-direction:column;gap:10px;margin:0 0 14px;display:flex}.opening{border:1px solid var(--line);border-radius:6px;padding:10px 12px}.opening b{margin-bottom:8px;font-weight:600;display:block}.opening .wallin{margin-bottom:8px}.opening .act{padding:5px 10px;font-size:.82rem}.open-add{flex-wrap:wrap;gap:8px;display:flex}.open-add .act:disabled{opacity:.4;cursor:not-allowed}.opening-row{align-items:flex-end;gap:12px;display:flex}.opening-row .wallin{flex:1;margin-bottom:0}.op-del{width:34px;height:34px;color:var(--bad);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .16s,border-color .16s;display:inline-flex}@media (hover:hover){.op-del:hover{background-color:#f07a701f;border-color:#f07a7066}}.op-del:focus-visible{outline:2px solid var(--bad);outline-offset:1px}@media (prefers-reduced-motion:reduce){.op-del{transition:none}}.wallplan{margin:0 0 14px}.wallplan svg{background:var(--panel);border:1px solid var(--line);border-radius:4px;width:100%;max-height:360px;display:block}.wp-wall{fill:#16191d;stroke:none}.wp-full{fill:#2f4e8f;stroke:#0b0c0e}.wp-cut{fill:#4b4ad0;fill-opacity:.25;stroke:#8fb0ff;stroke-dasharray:6 5}.wp-hole{fill:#0b0c0e;stroke:#e3b04b}.wp-move{cursor:ew-resize;touch-action:none;outline:none;transition:fill .16s}@media (hover:hover){.wp-move:hover{fill:#2a2412}}.wp-move.on{fill:#3a3016;stroke:#f2c968}.wp-dim line{stroke:#f2c968}.wp-dim text{fill:#f2c968;font-family:inherit;font-weight:600}@media (prefers-reduced-motion:reduce){.wp-move{transition:none}}.wp-edge{fill:none;stroke:#e7ecf2}.wallplan figcaption{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:6px;font-size:.82rem;display:flex}.wallplan figcaption i{vertical-align:-1px;border-radius:2px;width:14px;height:10px;margin-right:6px;display:inline-block}.wp-sw-full{background:#2f4e8f}.wp-sw-cut{background:#4b4ad040;border:1px dashed #8fb0ff}.wp-sw-hole{background:#0b0c0e;border:1px solid #e3b04b}.co2{max-width:1280px;margin:0 auto 40px;padding:0 24px}.co2in{border-top:1px solid var(--line);color:var(--ink);padding:28px 0 26px}.co2 h2{color:#fff;margin:0 0 6px;font-size:1.6rem;font-weight:700}.co2 .lead{color:var(--muted);margin:0 0 18px}.pyro{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 20px;font-size:.92rem;display:flex}.co2 select{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:4px;padding:6px 8px}.kp{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:18px;display:grid}.kp>div{background:var(--panel);border:1px solid #2f4e8f;border-radius:10px;padding:18px 20px}.kp .t{color:var(--muted);margin-bottom:8px;font-size:.92rem}.kp .n{font-family:var(--title-font);letter-spacing:-.02em;color:var(--accent-2);font-size:3rem;font-weight:700;line-height:1}.kp .n.neg{color:#e2a94f}.kp .n small{letter-spacing:0;color:#cfe9d8;margin-left:8px;font-size:1rem;font-weight:600}.kp .s{color:var(--muted);margin-top:12px;font-size:.86rem}.bal{background:var(--line);border-radius:5px;height:22px;margin:12px 0 0;display:flex;overflow:hidden}.bal i{height:100%;display:block}.cg{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;display:grid}.cg figure{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin:0;padding:16px 18px}.cg figcaption{color:#eef1f0;margin-bottom:10px;font-size:.95rem;font-weight:600}.cg svg{width:100%;height:auto;display:block}.lgd{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:.84rem;display:flex}.lgd-top{margin:0 0 18px}.lgd b{vertical-align:-1px;border-radius:2px;width:11px;height:11px;margin-right:6px;display:inline-block}.co2-note{color:var(--muted);margin:14px 0 0;font-size:.86rem}.co2 .cond{color:var(--muted);margin:20px 0 0;padding-left:18px;font-size:.87rem}.co2 .cond li{margin:4px 0}@media (width<=600px){.cg figure{overflow-x:auto}.cg figure:first-child svg{min-width:520px}}@media (width<=820px){.cg{grid-template-columns:minmax(0,1fr)}.co2{padding:0 16px}.co2in{padding:22px 16px}.kp .n{font-size:2.3rem}}.fab{border:1px solid var(--line);background:var(--bg);width:min(1180px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:8px;padding:0}.fab.fab-download{height:min(860px,100dvh - 32px)}.fab.section-zoom{width:min(1600px,100vw - 32px)}.section-zoom .section{width:100%}.fab.lib-dialog{width:min(560px,100vw - 32px)}.fab::backdrop{-webkit-backdrop-filter:blur(6px);background:#0a0c0e59}.fab[open]{animation:.2s ease-out fab-in}.fab[open]::backdrop{animation:.2s ease-out fab-fade}.fab[data-closing]{animation:.16s ease-in forwards fab-out}.fab[data-closing]::backdrop{animation:.16s ease-in reverse forwards fab-fade}.welcome[data-closing],.welcome[data-closing]::backdrop{animation-duration:.26s;animation-timing-function:ease-in-out}@keyframes fab-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}@keyframes fab-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)scale(.99)}}@keyframes fab-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.fab[open],.fab[open]::backdrop,.fab[data-closing],.fab[data-closing]::backdrop{animation:none}}.toast{z-index:10;color:#fff;background:#15803d;border-radius:6px;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px;font-size:.88rem;font-weight:650;animation:.18s ease-out toast-in,.26s ease-in 1.94s forwards toast-out;display:inline-flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.toast-sub{font-weight:400}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-24px)}to{opacity:1;transform:translate(-50%)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%,-24px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.fab-close{width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .16s,border-color .16s;display:inline-flex}@media (hover:hover){.fab-close:hover{background-color:color-mix(in srgb, var(--ink) 8%, transparent);border-color:var(--line)}}.fab-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fab-head{border-bottom:1px solid var(--line);background:var(--bg);z-index:1;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px 12px;display:flex;position:sticky;top:0}.fab-head h2{margin:0}.fab-body{grid-template-columns:300px minmax(0,1fr);gap:20px;padding:16px 22px 22px;display:grid}@media (width<=860px){.fab-body{grid-template-columns:minmax(0,1fr)}}.fab-options{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.fab-option{text-align:left;font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:10px 12px;transition:border-color .16s,background-color .16s}.fab-option b{margin-bottom:3px;font-weight:650;display:block}.fab-option span{color:var(--muted);font-size:.85rem;display:block}.fab-option[aria-checked=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}@media (hover:hover){.fab-option:hover:not([aria-checked=true]){border-color:color-mix(in srgb, var(--ink) 35%, var(--line))}}@media (prefers-reduced-motion:reduce){.fab-option{transition:none}}.fab-draw{margin:0 0 16px}.fab-draw figcaption{margin-bottom:6px;font-weight:650}.fab-canvases{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px;display:grid}@media (width<=640px){.fab-canvases{grid-template-columns:minmax(0,1fr)}}.fab-canvases>div{flex-direction:column;gap:4px;display:flex}.fab-canvases span{color:var(--muted);font-size:.8rem}.fab-plan,.fab-cut{border-radius:4px;width:100%;height:220px}.fab-files{border-collapse:collapse;width:100%;margin:4px 0 8px;font-size:.9rem}.fab-files th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px 6px 0;font-size:.82rem;font-weight:600}.fab-files td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 8px 8px 0}.fab-files td:last-child{text-align:right;padding-right:0}.fab .act:disabled{opacity:.6;cursor:progress}.fab .numrow{flex-wrap:nowrap}.fab .numrow .u{flex:none}.fab .numrow input{width:80px}.fab-all{flex-flow:row-reverse wrap;align-items:center;gap:12px;margin:4px 0 8px;display:flex}.fab-all .hint{text-align:right;margin:0}.fab-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:10px 0 0;display:flex}.fab-actions .lab{min-width:84px;color:var(--muted);margin:0;font-size:.85rem}.fab-actions+.about{margin-top:10px}.fab-load{border:1px solid var(--line);color:var(--muted);border-radius:4px;margin:12px 0 10px;padding:10px 12px;font-size:.9rem}.fab-load b{color:var(--ink);font-weight:600}.fab-foot{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:10px 22px 16px;font-size:.82rem}.plano{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.plano h3{margin:0 0 4px;font-size:1rem}.plano-controls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px;margin-top:10px;display:grid}.plano-two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.plano-sheet{border:1px solid var(--line);background:#fff;border-radius:4px;margin:4px auto 8px;box-shadow:0 2px 10px #0003}.plano-sheet svg{width:100%;height:auto;display:block}.plano-A4{max-width:460px}.plano-A3{max-width:100%}.plano-warn{color:var(--warn)}.plano-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.plano-side .plano-controls{grid-template-columns:minmax(0,1fr)}.plano-view{position:sticky;top:0}.plano-view .plano-sheet{margin-top:0}.plano-view .plano-A4{max-width:620px}.plano-view .row{margin-top:16px}@media (width<=860px){.plano-layout{grid-template-columns:minmax(0,1fr)}.plano-view{order:-1;position:static}}.plano-scales{margin-top:6px}.plano-scales .seg button{flex:0 auto;min-width:54px}.fab-tabs{border-bottom:1px solid var(--line);gap:4px;padding:0 22px;display:flex}.fab-tabs .tab{flex:none;padding:11px 14px 9px;font-size:.9rem}.fab-tabs .tab-print{color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 10%, transparent);border-radius:6px 6px 0 0}.fab-tabs .tab-print[aria-selected=true]{color:var(--accent-2);border-bottom-color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 16%, transparent)}.fab-tabs .tab-print:hover:not([aria-selected=true]){color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 16%, transparent)}.fab-pad{padding:16px 22px 22px}.fab .plano{border-top:0;margin-top:0;padding-top:0}.gh{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:28px;display:grid}.gh h3{margin:18px 0 6px;font-size:1rem}.gh-help{border-right:1px solid var(--line);order:-1;padding-right:22px}.gh-help h3{margin-top:0}@media (width<=860px){.gh{grid-template-columns:minmax(0,1fr);gap:0}.gh-help{border-right:0;order:0;padding-right:0}.gh-help h3{margin-top:18px}}.gh-steps{margin:0;padding-left:20px;font-size:.9rem}.gh-steps li{margin:4px 0}.fab .sub{border-left:2px solid var(--line);margin:4px 0 0;padding-left:12px}.img-panel{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.img-view img{border:1px solid var(--line);border-radius:4px;width:100%;height:auto;display:block}.img-view .img-clear{background:repeating-conic-gradient(#3a3e42 0 25%, #2a2d30 0 50%) 0 0 / 20px 20px}.img-view .iso-img{object-fit:contain;background:#f4f2ec;max-height:72vh;padding:12px;transition:opacity .16s}.img-view .iso-img.busy{opacity:.55}.img-empty{aspect-ratio:720/500;color:var(--muted);border:1px dashed var(--line);border-radius:4px;justify-content:center;align-items:center;display:flex}@media (width<=860px){.img-panel{grid-template-columns:minmax(0,1fr)}.img-view{order:-1}}.fab.upload-dialog{width:min(880px,100vw - 32px)}.up-kinds{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}@media (width<=760px){.up-kinds{grid-template-columns:minmax(0,1fr)}}.up-kind{border:1px solid var(--line);background:var(--panel);border-radius:6px;flex-direction:column;gap:8px;padding:14px;transition:border-color .16s,background-color .16s;display:flex}.up-kind.over{border-color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 10%, var(--panel))}.up-kind-head{flex-direction:column;gap:2px;display:flex}.up-kind-head b{font-weight:650}.up-files{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2);font-size:.78rem;font-weight:600}.up-kind p{color:var(--muted);flex:1;margin:0;font-size:.86rem;line-height:1.45}.up-kind .act{justify-content:center;align-items:center;gap:6px;display:inline-flex}.up-err{color:var(--bad);margin:0 0 12px}@media (prefers-reduced-motion:reduce){.up-kind{transition:none}}.fab.welcome{width:min(640px,100vw - 32px);position:relative;overflow:hidden auto}.fab.welcome[open]{flex-direction:column;display:flex}.wel-x{z-index:2;background:#0b0c0eb3;position:absolute;top:10px;right:10px}.wel-media{aspect-ratio:16/9;background:var(--panel);border-bottom:1px solid var(--line);flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.wel-media video{object-fit:cover;width:100%;height:100%;display:block}.wel-fallback{padding:24px 28px}.wel-body{padding:20px 26px 4px}.wel-count{font-family:var(--mono,ui-monospace, monospace);letter-spacing:.06em;color:var(--accent-2);margin:0 0 6px;font-size:.72rem}.wel-body h2{margin:0 0 10px;font-size:1.35rem}.wel-text p{max-width:62ch;margin:0 0 10px;line-height:1.55}.wel-text .wel-for{color:var(--ink);margin-top:18px;font-weight:600}.wel-text .wel-note{color:var(--muted);font-size:.86rem}.wel-text .wel-key{color:var(--accent-2);font-weight:650}.wel-foot{justify-content:space-between;align-items:center;gap:12px;padding:14px 26px 20px;display:flex}.wel-nav{gap:8px;display:flex}.wel-nav .act{padding:8px 16px}.wel-dots{gap:6px;display:flex}.wel-dots span{background:var(--line);border-radius:50%;width:7px;height:7px;transition:background-color .16s,width .16s}.wel-dots span.on{background:var(--accent-2);border-radius:4px;width:20px}@media (prefers-reduced-motion:reduce){.wel-dots span{transition:none}}.wel-sampler{grid-template-columns:repeat(3,1fr);gap:10px;width:min(100%,420px);display:grid}.wel-sampler canvas{aspect-ratio:1;border:1px solid var(--line);border-radius:6px;width:100%;height:auto;display:block}.wel-states{gap:10px;width:min(100%,420px);margin:0;padding:0;list-style:none;display:grid}.wel-states li{border:1px solid var(--line);background:var(--bg);border-radius:8px;grid-template-columns:22px 92px 1fr;align-items:center;gap:10px;padding:10px 14px;display:grid}.wel-states li.ok{color:var(--ok)}.wel-states li.warn{color:var(--warn)}.wel-states li.bad{color:var(--bad)}.wel-states b{font-weight:650}.wel-states span{color:var(--muted);font-size:.86rem}.wel-files{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.wel-files li{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:10px 12px}.wel-files b{margin-bottom:2px;font-weight:650;display:block}.wel-files span{color:var(--muted);font-size:.82rem}.wel-pick{border-top:1px solid var(--line);margin-top:6px;padding-top:14px}.wel-pick h3{margin:0 0 10px;font-size:.95rem}.wel-picks{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.wel-picks .rec{width:auto}.wel-picks .rec canvas{aspect-ratio:1;width:100%;height:auto;display:block}.wel-picks .rec span{color:var(--muted)}.wel-picks .rec[aria-pressed=true]{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2)}.wel-picks .rec[aria-pressed=true] span{color:var(--accent-2);font-weight:600}@media (width<=520px){.wel-body{padding:16px 18px 4px}.wel-foot{padding:12px 18px 16px}.wel-fallback{padding:14px}.wel-states li{grid-template-columns:20px 76px 1fr;padding:8px 10px}.wel-picks{grid-template-columns:repeat(2,1fr)}}.wheel-hint{z-index:3;pointer-events:none;color:#fff;background:#0b0c0edb;border:1px solid #ffffff14;border-radius:8px;padding:10px 16px;font-size:.9rem;animation:.14s ease-out fab-fade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.wheel-hint{animation:none}}.fab.welcome.wel-tour{background:0 0;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;animation:none;position:fixed;inset:0;overflow:hidden}.fab.welcome.wel-tour::backdrop{-webkit-backdrop-filter:none;background:0 0}.wel-hole{pointer-events:none;box-shadow:0 0 0 9999px #050608bd, 0 0 0 2px var(--accent-2), 0 0 26px 4px color-mix(in srgb, var(--accent-2) 45%, transparent);border-radius:14px;transition:top .42s cubic-bezier(.2,.8,.2,1),left .42s cubic-bezier(.2,.8,.2,1),width .42s cubic-bezier(.2,.8,.2,1),height .42s cubic-bezier(.2,.8,.2,1),opacity .2s;animation:2.2s ease-in-out infinite wel-glow;position:absolute}@keyframes wel-glow{0%,to{box-shadow:0 0 0 9999px #050608bd, 0 0 0 2px var(--accent-2), 0 0 18px 2px color-mix(in srgb, var(--accent-2) 35%, transparent)}50%{box-shadow:0 0 0 9999px #050608bd, 0 0 0 2px var(--accent-2), 0 0 34px 8px color-mix(in srgb, var(--accent-2) 55%, transparent)}}.wel-tip{background:var(--panel-2);border:1px solid var(--line);width:min(360px,100vw - 24px);color:var(--ink);border-radius:12px;padding:18px 20px 0;transition:top .42s cubic-bezier(.2,.8,.2,1),left .42s cubic-bezier(.2,.8,.2,1),opacity .2s;position:absolute;box-shadow:0 18px 40px -12px #000c}.wel-tip .wel-x{background:0 0;width:32px;height:32px;top:8px;right:8px}.wel-tip h2{margin:0 32px 8px 0;font-size:1.1rem}.wel-tip .wel-text p{font-size:.9rem;line-height:1.5}.wel-tip .wel-text b.ok{color:var(--ok)}.wel-tip .wel-text b.warn{color:var(--warn)}.wel-tip .wel-text b.bad{color:var(--bad)}.wel-tip .wel-foot{padding:6px 0 16px}.wel-tip .wel-nav .act{padding:7px 14px}@media (prefers-reduced-motion:reduce){.wel-hole,.wel-tip{transition:none;animation:none}}.wel-pick-solo{border-top:0;padding-top:4px}.wel-uses{margin:0 0 12px}:root:has(.mesa){--float:#111419f2;--float-line:#ffffff12;--title-font:"Schibsted Grotesk", "Barlow", system-ui, sans-serif;--mono:"Martian Mono", ui-monospace, Consolas, monospace;--side:380px;--mesa-w:min(1600px, calc((100dvh - 250px) * 720 / 500 + var(--side) + 44px))}body:has(.mesa){font-variant-numeric:normal;padding-left:0;font-family:Schibsted Grotesk,Barlow,system-ui,sans-serif;font-size:14.5px}.mesa h1,.mesa h2,.mesa h3{font-family:var(--title-font);letter-spacing:-.01em}.mesa h2{font-size:1.2rem;font-weight:600}.mesa-main{max-width:var(--mesa-w);margin:0 auto;padding-block:16px 8px;padding-inline:16px;container-type:inline-size}.mesa-head{align-items:center;gap:14px;margin-bottom:22px;padding:2px 0 2px 2px;display:flex}.hud-brand{color:var(--ink);flex:none;align-items:center;gap:9px;display:flex}.hud-mark{display:block}.hud-word{font-family:"Montserrat", var(--title-font);letter-spacing:.06em;background:linear-gradient(90deg,#4b4ad0,#2f6fc0 45%,#19b38d);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:.95rem;font-weight:800}.hud-sep{background:var(--line);width:1px;height:18px}.hud-titles{gap:3px;display:grid}.mesa .hud-title{color:var(--ink);letter-spacing:0;margin:0;font-size:.92rem;font-weight:600;line-height:1.1}.hud-tag{color:var(--muted);white-space:nowrap;margin:0;font-size:.74rem;line-height:1.2}@container (width<=1240px){.hud-sep,.hud-titles{display:none}}.mesa .bar button.bar-help{font-size:.8rem}.mesa .mesa-head .bar{flex:1;gap:6px 14px;min-width:0;margin:0}.mesa .bar button,.mesa .bar .sel-btn{color:var(--muted);background:0 0;border-color:#0000;border-radius:7px;padding:6px 10px;font-size:.84rem}.mesa .bar .bar-group{border:1px solid var(--line);background:var(--panel);border-radius:9px;gap:2px;padding:2px}.mesa .bar-group button:last-child{margin-left:0}.mesa .bar-group button{padding:5px 12px;border-radius:7px!important}@media (hover:hover){.mesa .bar button:hover:not([aria-pressed=true]),.mesa .bar .sel-btn:hover{color:var(--ink);background-color:#ffffff0f;border-color:#0000}.mesa .bar button.bar-help:hover{color:var(--accent-2);background-color:#0000}}.mesa .bar .chip{color:var(--muted)}.mesa .bar button.bar-stl{color:var(--accent-2);border-color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 12%, transparent);font-weight:650}.mesa .bar button.bar-print{background:var(--accent-2);border-color:var(--accent-2);color:#06231b;font-weight:650}@media (hover:hover){.mesa .bar button.bar-print:hover{background-color:color-mix(in srgb, var(--accent-2) 82%, #fff);border-color:color-mix(in srgb, var(--accent-2) 82%, #fff);color:#06231b}}.mesa .bar button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}@media (hover:hover){.mesa .bar button[aria-pressed=true]:hover{background-color:color-mix(in srgb, var(--accent) 85%, #fff)}}.mesa .seg button{border-radius:6px}.mesa-top{grid-template-columns:minmax(0, 1fr) var(--side);grid-template-rows:auto auto;gap:12px;display:grid}.mesa-mat,.stage{grid-column:1}.mesa-mat{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;display:flex}.mesa .mesa-mat .bar{flex:none;gap:6px 10px;margin:0}.stage{border:1px solid var(--line);background:var(--view-bg);border-radius:12px;min-width:0;position:relative;overflow:hidden}.stage .view,.stage .view3d{border:0;display:block}.float{background:var(--float);border:1px solid var(--float-line);border-radius:10px;box-shadow:inset 0 1px #ffffff0a,0 12px 28px -12px #000000b3}.hud{pointer-events:none;grid-template-rows:minmax(0,1fr) auto;gap:10px;display:grid;position:absolute;inset:12px}.hud>*{pointer-events:none;min-width:0;min-height:0}.hud>*>*{pointer-events:auto}.hud-tools{align-items:flex-start;gap:8px;display:flex;position:relative}.mesa .view-ctrls,.mesa .view-cams{background:var(--float);border:1px solid var(--float-line);border-radius:10px;position:static}.mesa .view-cams{margin-left:auto}.mesa .ambient{background:var(--float);border-color:var(--float-line);border-radius:10px;max-height:100%;top:0;left:52px}.mesa-side{grid-area:1/2/3;min-width:0;position:relative;container-type:size}.mesa .mesa-side .panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:auto;height:100%;max-height:100%;position:absolute;top:0;left:0;right:0;overflow:hidden}.mesa .panel .tab{font-size:.8rem}.mesa .controls{scrollbar-width:thin;scrollbar-color:#3a3c40 transparent}.hud-foot{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.mesa .room,.mesa .rail-inset{background:var(--float);border-color:var(--float-line);border-radius:10px;position:static}.strip{color:var(--ink);align-items:stretch;min-width:0;text-decoration:none;transition:border-color .16s;display:flex;overflow:hidden}.strip>span{gap:2px;min-width:0;padding:8px 14px;display:grid}.strip>span+span{border-left:1px solid var(--line)}.strip small{color:var(--muted);white-space:nowrap;font-size:.72rem}.strip b{font-family:var(--mono);align-items:center;gap:7px;font-size:.86rem;font-weight:400;display:flex}.strip i{border-radius:50%;width:7px;height:7px;display:inline-block}.strip i.ok{background:var(--ok)}.strip i.warn{background:var(--warn)}.strip i.bad{background:var(--bad)}.strip .strip-worst b{font-family:var(--title-font);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:600;display:block;overflow:hidden}@media (hover:hover){.strip:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}}.strip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mesa-under{padding:12px 4px 0}.mesa-under .cap{max-width:none}.mesa-section{margin-top:18px}.mesa-section .section{border-radius:8px}.mesa-report{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0 40px;margin-top:28px;padding-top:4px;display:grid}.mesa-report>div{min-width:0}.mesa-report h2{margin:22px 0 10px}.mesa-checks{scroll-margin-top:16px}.mesa .chk-sum b,.mesa .kp .n{font-family:var(--mono);letter-spacing:-.02em;font-weight:400}.mesa .co2{max-width:var(--mesa-w);padding:0 20px}.mesa .co2 h2{font-size:1.4rem}.mesa-foot{max-width:var(--mesa-w);border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 32px;margin:0 auto;padding-block:20px 36px;padding-inline:20px;font-size:12px;display:flex}.mesa-foot p{max-width:80ch;margin:0}.mesa-foot b{color:var(--ink);font-family:"Montserrat", var(--title-font);letter-spacing:.05em;font-size:.86rem;font-weight:800}.mesa-about,.mesa-cred{flex-direction:column;gap:2px;display:flex}.mesa-cred{white-space:nowrap}.mesa-ver{margin-top:6px}@media (prefers-reduced-motion:reduce){.strip{transition:none}}.mesa .view-ctrls,.mesa .view-cams,.mesa .ambient,.mesa .room,.mesa .rail-inset{-webkit-backdrop-filter:none}.mesa .stages{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin:0 0 12px;padding:4px}.mesa .stage-page h2,.mesa .stage-page h3{font-family:var(--title-font)}.mesa .mesa-mat .bar-group{background:var(--panel-2);border-color:#0000}.mesa .mesa-mat{background:0 0;border-color:#0000;padding:0 2px 2px}.mesa .stage{border-color:#0000}.mesa .stages{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;margin-bottom:14px;padding:0 0 8px}.mesa .stage-head{border-bottom:0;padding-bottom:6px}.mesa .stage-page .data{border-top:0;border-bottom:0;padding:4px 0 0}.mesa .stage-page .checks{border-top-color:var(--line-soft)}.mesa .stage-page .wallplan svg{border-color:#0000}@container (width<=1060px){.mesa-head .bar-help .bt-t{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.splash{z-index:2000;cursor:pointer;color:#fff;background:linear-gradient(135deg,#4b4ad0 0%,#2f6fc0 45%,#19b38d 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.splash-out{animation:.9s ease-in-out forwards splash-out}.splash-img{object-fit:cover;object-position:40% 50%;width:100%;height:100%;animation:3s cubic-bezier(.2,.6,.2,1) both splash-zoom;position:absolute;inset:0}.splash-tint{background:radial-gradient(#05080c26 0%,#05080c8c 75%),linear-gradient(#05080c00 45%,#05080c8c 100%),linear-gradient(135deg,#4b4ad08c 0%,#2f6fc04d 45%,#19b38d80 100%);animation:.9s ease-out both splash-fade;position:absolute;inset:0}.splash-box{justify-items:center;gap:14px;padding:24px;display:grid;position:relative}.splash-logo{filter:drop-shadow(0 6px 24px #00000059);width:min(240px,54vw);height:auto;overflow:visible}.splash-line{letter-spacing:.32em;text-transform:uppercase;color:#ffffffdb;text-shadow:0 2px 12px #0006;margin:0;font:600 .82rem/1 Barlow Semi Condensed,Barlow,system-ui,sans-serif;animation:.6s ease-out 1.05s both splash-up}.splash-logo polygon{transform-box:fill-box;transform-origin:50%;animation:.65s cubic-bezier(.2,.8,.2,1) both splash-tile}.splash-logo polygon:first-child{--dx:-18px;--dy:-14px;animation-delay:.25s}.splash-logo polygon:nth-child(2){--dx:18px;--dy:-14px;animation-delay:.37s}.splash-logo polygon:nth-child(3){--dx:-18px;--dy:14px;animation-delay:.49s}.splash-logo polygon:nth-child(4){--dx:18px;--dy:14px;animation-delay:.61s}.splash-logo text{animation:.56s ease-out .85s both splash-up}@keyframes splash-tile{0%{opacity:0;transform:translate(var(--dx), var(--dy)) rotate(-12deg) scale(.6)}to{opacity:1;transform:none}}@keyframes splash-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes splash-zoom{0%{opacity:0;transform:scale(1.08)}25%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes splash-fade{0%{opacity:0}to{opacity:1}}@keyframes splash-out{to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.splash-img,.splash-tint,.splash-line,.splash-logo polygon,.splash-logo text{animation:none}.splash-out{animation:.2s linear forwards splash-out}}
