body.ui2.ui2-theme{
  --glass:rgba(10,10,12,.58);
  --glass2:rgba(10,10,12,.78);
  --glass-line:rgba(255,255,255,.14);
  --line:rgba(255,255,255,.14);
  --text:#EDE8E0;
  --ink:#EDE8E0;
  --ink2:rgba(237,232,224,.62);
  --ink3:rgba(237,232,224,.38);
  --muted:rgba(237,232,224,.62);
  --brass:#EDE8E0;                       
  --brass-soft:rgba(255,255,255,.07);
  --orange:#F0641E;
  --r:14px;
  font-family:"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.ui2.ui2-theme .glass{background:var(--glass);backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)}
body.ui2.ui2-theme .m-val,body.ui2.ui2-theme .sec-readout,body.ui2.ui2-theme .room-tip,body.ui2.ui2-theme .toast,body.ui2.ui2-theme .message,
body.ui2.ui2-theme .align-title,body.ui2.ui2-theme .title{font-family:"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif}
body.ui2.ui2-theme .m-val{font-size:22px;font-weight:500;letter-spacing:.02em;border-radius:9px;background:var(--glass2);border:1px solid var(--line)}
body.ui2.ui2-theme .m-val small{color:var(--ink2)}
body.ui2.ui2-theme .m-line,body.ui2.ui2-theme .m-tick{stroke:var(--ink)}
body.ui2.ui2-theme .m-pt{fill:var(--ink);stroke:rgba(10,10,12,.6)}
body.ui2.ui2-theme .sec-readout{background:var(--glass2);border:1px solid var(--line);border-radius:9px;font-size:12.5px;letter-spacing:.04em;padding:7px 12px}
body.ui2.ui2-theme .sec-readout.snap{color:var(--ink)}
body.ui2.ui2-theme .sec-handle{border-color:var(--line);color:var(--ink)}
body.ui2.ui2-theme .sec-handle.cut{background:rgba(255,255,255,.07)}
body.ui2.ui2-theme .sec-handle.dragging{background:var(--ink);color:#0d0d0f}
body.ui2.ui2-theme .sec-rect{border-color:var(--ink);background:rgba(255,255,255,.08)}
body.ui2.ui2-theme .loading span{background:var(--ink2)}
body.ui2.ui2-theme .toast{background:var(--glass2);border:1px solid var(--line);border-radius:9px;font-size:12.5px;letter-spacing:.04em}
body.ui2.ui2-theme button:focus-visible{outline:1px solid var(--ink2)}
body.ui2.ui2-theme .tune-panel{font-family:"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif}
body.ui2.ui2-theme .tune-panel summary::before,body.ui2.ui2-theme .tune-copy{color:var(--ink)}
body.ui2.ui2-theme .tune-copy{background:rgba(255,255,255,.07)}
body.ui2.ui2-theme .tune-row input[type=checkbox]{accent-color:#EDE8E0}
body.ui2.ui2-theme .btn.primary{background:var(--ink);color:#0d0d0f}
body.ui2.ui2-theme .pv-pin span,body.ui2.ui2-theme .pv-handle span{background:var(--ink);color:#0d0d0f}
.brand{position:absolute;left:36px;top:30px;display:none;align-items:center;gap:14px;z-index:6;pointer-events:none}
body.ui2.ui2-brand .brand{display:flex}
body.ui2.ui2-brand .top{display:none}
.brand .mark{width:46px;height:46px;border-radius:9px;display:block;box-shadow:0 6px 24px rgba(0,0,0,.5);object-fit:cover}
.brand .word{line-height:1}
.brand .n{font-size:24px;font-weight:300;letter-spacing:.34em;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.brand .n b{font-weight:600}
.brand .addr{margin-top:7px;font-size:11.5px;letter-spacing:.06em;color:var(--ink2);text-shadow:0 1px 8px rgba(0,0,0,.8)}
.brand .addr:empty{display:none}
.rail{position:absolute;left:36px;bottom:34px;display:none;align-items:center;gap:2px;padding:6px;z-index:7}
body.ui2.ui2-rail .rail{display:flex}
body.ui2.ui2-rail .tools,body.ui2.ui2-rail .bar,body.ui2.ui2-rail .view-seg,body.ui2.ui2-rail .roof-seg,body.ui2.ui2-rail .look-seg,
body.ui2.ui2-rail .sec-presets{display:none!important}
body.ui2.ui2-rail .rail .tool{position:relative;width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--ink2);transition:.2s;padding:0;cursor:pointer}
body.ui2.ui2-rail .rail .tool svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
body.ui2.ui2-rail .rail .tool.on,body.ui2.ui2-rail .rail .tool:hover{color:#fff;background:rgba(255,255,255,.07)}
body.ui2.ui2-rail .rail .tool.on::after{content:"";position:absolute;bottom:5px;left:50%;width:14px;height:1.5px;margin-left:-7px;background:var(--orange);border-radius:2px}
body.ui2.ui2-rail .rail .tool.off{color:var(--ink3);cursor:default}
body.ui2.ui2-rail .rail .tool.off:hover{background:none;color:var(--ink3)}
body.ui2.ui2-rail .rail .sep{width:1px;height:26px;background:var(--line);margin:0 6px}
body.ui2 .tip2{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12.5px;letter-spacing:.04em;color:var(--ink);
  padding:7px 12px;border-radius:9px;background:var(--glass2);border:1px solid var(--line);opacity:0;pointer-events:none;transition:.2s;z-index:9;
  backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);font-family:inherit;font-weight:400;text-align:center}
body.ui2 .tip2::after{content:"";position:absolute;left:0;right:0;top:100%;height:18px}          
body.ui2 .tool:hover .tip2,body.ui2 .tool.show .tip2,body.ui2 .ib:hover .tip2,body.ui2 .ib.show .tip2{opacity:1;transform:translate(-50%,-2px);pointer-events:auto}
body.ui2 .tool.off:hover .tip2{opacity:0;pointer-events:none}
body.ui2 .tip2 .opt{display:block;margin-top:6px;padding-top:6px;border-top:1px solid var(--line);color:var(--ink2);cursor:pointer}
body.ui2 .tip2 .opt:hover{color:#fff}
body.ui2 .tip2 .opt.busy{color:var(--ink3);cursor:default}
body.ui2 .tip2.units{display:flex;gap:2px;padding:4px;opacity:1;pointer-events:auto;transform:translate(-50%,-2px)}
body.ui2 .tip2.units span{padding:4px 10px;border-radius:6px;color:var(--ink3);cursor:pointer}
body.ui2 .tip2.units span.on{color:#fff;background:rgba(255,255,255,.10)}
body.ui2 .tool:hover .tip2.units:not([hidden]) + .tip2{opacity:0}
body.ui2 #rail-levels-wrap:has(.lv:not([hidden])) .tip2{opacity:0;pointer-events:none}       
body.ui2 .tw{position:relative;display:flex}
body.ui2 .lv{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);min-width:118px;padding:6px;font-size:13px;letter-spacing:.03em;z-index:9;
  max-height:min(60vh,620px);overflow:auto;scrollbar-width:thin;text-align:left;cursor:default}
body.ui2 .lv div{padding:7px 12px;border-radius:8px;color:var(--ink2);white-space:nowrap;cursor:pointer}
body.ui2 .lv .h{font-size:10.5px;letter-spacing:.14em;color:var(--ink3);padding-bottom:3px;cursor:default}
body.ui2 .lv .cur{color:#fff;background:rgba(255,255,255,.08);position:relative}
body.ui2 .lv .cur::before{content:"";position:absolute;left:4px;top:11px;width:2px;height:12px;background:var(--orange);border-radius:2px}
body.ui2 .lv div:hover{color:#fff}
.rail3d{position:absolute;right:36px;top:30px;display:none;flex-direction:column;align-items:flex-end;gap:8px;z-index:7}
body.ui2.ui2-rail.mode-dollhouse .rail3d{display:flex}
body.ui2.ui2-rail .rail3d .grp{display:flex;align-items:center;gap:2px;padding:4px}
body.ui2.ui2-rail .rail3d .grp-in{display:contents}
body.ui2.ui2-rail .ib{position:relative;width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--ink2);cursor:pointer;padding:0;transition:.2s}
body.ui2.ui2-rail .ib svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
body.ui2.ui2-rail .ib:hover{color:#fff;background:rgba(255,255,255,.07)}
body.ui2.ui2-rail .ib.on{color:#fff;background:rgba(255,255,255,.10)}
body.ui2.ui2-rail .ib .tip2{bottom:auto;top:52px;transform:translate(-50%,0)}
body.ui2.ui2-rail .ib:hover .tip2,body.ui2.ui2-rail .ib.show .tip2{transform:translate(-50%,2px)}
body.ui2.ui2-rail .ib .tip2::after{top:auto;bottom:100%}
body.ui2.ui2-rail .rail3d .sep{width:1px;height:22px;background:var(--line);margin:0 5px}
body.ui2.ui2-rail .rail3d input[type=range]{width:120px;margin:0 8px;accent-color:#EDE8E0}
body.ui2.ui2-rail .rail3d .grp[hidden]{display:none}
body.ui2.ui2-minimap .plan{right:36px;bottom:34px;width:360px;padding:12px 12px 10px;gap:0}
body.ui2.ui2-minimap .plan-top{gap:6px}
body.ui2.ui2-minimap .plan .seg{padding:3px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid var(--line)}
body.ui2.ui2-minimap .plan .seg button{padding:5px 9px;border-radius:7px;color:var(--ink3);display:flex;align-items:center;justify-content:center;font-size:0}
body.ui2.ui2-minimap .plan .seg button .t{display:none}
body.ui2.ui2-minimap .plan .seg button svg{display:block;width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
body.ui2.ui2-minimap .plan .seg button:hover{color:#fff}
body.ui2.ui2-minimap .plan .seg button[aria-pressed="true"]{color:#fff;background:rgba(255,255,255,.10)}
body.ui2.ui2-minimap .plan .icon{width:28px;height:28px;border-radius:7px;color:var(--ink3);background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
body.ui2.ui2-minimap .plan .icon:hover{color:#fff;background:rgba(255,255,255,.07)}
body.ui2.ui2-minimap .plan .icon.on{color:#fff}
body.ui2.ui2-minimap .plan .icon svg.i{width:15px;height:15px;stroke-width:1.4}
body.ui2.ui2-minimap .plan #plan-split{display:none}                 
body.ui2.ui2-minimap .plan .plan-body{margin:12px 0 10px;height:190px;border-radius:9px;background:#0b0b0d;border:1px solid rgba(255,255,255,.08)}
body.ui2.ui2-minimap .plan .cap{padding:0 2px;font-size:12px;color:var(--ink2);justify-content:flex-end}
body.ui2.ui2-minimap .plan .cap #plan-level,body.ui2.ui2-minimap .plan .cap #plan-setup{display:none}
body.ui2.ui2-minimap .plan .cap .cnt{display:inline;color:var(--ink3);letter-spacing:.04em;white-space:nowrap}
body.ui2.ui2-minimap .plan-zoom .icon{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink2)}
body.ui2.ui2-minimap .plan.full{width:auto;padding:12px}
body.ui2.ui2-minimap .plan.full .plan-body{height:auto;flex:1}
body.ui2.ui2-minimap .plan.full .cap{padding-top:8px}
body.ui2.ui2-minimap .plan-show{right:36px;bottom:34px;width:40px;height:40px;border-radius:10px;color:var(--ink2)}
body.ui2.ui2-minimap .plan-show:hover{color:#fff}
body.ui2.ui2-minimap .plan-show svg.i{stroke-width:1.35}
body.ui2.ui2-minimap .pv-here-dot{fill:#fff;stroke:rgba(255,255,255,.35);stroke-width:3px}
body.ui2.ui2-minimap .plan.bp .plan-body{background:#fff;border-color:rgba(255,255,255,.14)}
body.ui2.ui2-minimap .plan.bp .pv-here-dot{fill:#0b0b0d;stroke:rgba(0,0,0,.3)}
body.ui2.ui2-minimap .plan.bp .pv-cone{fill:rgba(10,10,12,.22);stroke:rgba(10,10,12,.5)}
body.ui2.ui2-minimap .pv-cone{fill:rgba(237,232,224,.26);stroke:rgba(237,232,224,.55)}
body.ui2.ui2-minimap .pv-dot{fill:#F8F6F0}
body.ui2.ui2-minimap .pv-dot.pv-mezz{fill:#F3B45C}
body.ui2.ui2-minimap .leaflet-tooltip.pv-tip{background:var(--glass2);border:1px solid var(--line);font-family:inherit}
body.ui2.ui2-split.plan-split:not(.mode-dollhouse) .plan.split{padding:12px 12px 10px;border-width:0 1px 0 0;border-radius:0;box-shadow:none}
body.ui2.ui2-split.plan-split:not(.mode-dollhouse) .plan.split .plan-body{margin:12px 0 10px;flex:1;height:auto}
body.ui2.ui2-split.plan-split:not(.mode-dollhouse) .plan.split .cap{display:flex}
body.ui2.ui2-split .split-divider .grip{border-color:var(--line);box-shadow:0 10px 40px rgba(0,0,0,.35);background-color:var(--glass);
  background-image:linear-gradient(var(--ink3),var(--ink3)),linear-gradient(var(--ink3),var(--ink3))}
body.ui2.ui2-split .split-divider:hover .grip,body.ui2.ui2-split .split-divider.dragging .grip{border-color:rgba(255,255,255,.3);
  background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff)}
body.ui2.ui2-split.plan-split:not(.mode-dollhouse) .rail{left:36px}                 
body.ui2.ui2-split.plan-split:not(.mode-dollhouse) .toast{left:calc(50% + var(--split) * 50%)}
@media (min-width:761px){
  body.ui2.ui2-split.plan-split.plan-right:not(.mode-dollhouse) .plan.split{border-width:0 0 0 1px}
  body.ui2.ui2-split.plan-split.plan-right:not(.mode-dollhouse) .toast{left:calc((1 - var(--split)) * 50%)}
}
@media (max-width:760px){
  body.ui2.ui2-phone.ui2-brand .brand{left:16px;top:max(16px,env(safe-area-inset-top));gap:10px}
  body.ui2.ui2-phone.ui2-brand .brand .mark{width:36px;height:36px;border-radius:8px}
  body.ui2.ui2-phone.ui2-brand .brand .n{font-size:17px;letter-spacing:.3em}
  body.ui2.ui2-phone.ui2-brand .brand .addr{font-size:9.5px;margin-top:4px}
  body.ui2.ui2-phone.ui2-rail .rail{left:50%;transform:translateX(-50%);bottom:max(18px,env(safe-area-inset-bottom));padding:5px}
  body.ui2.ui2-phone.ui2-rail .rail .tool{width:46px;height:46px}
  body.ui2.ui2-phone .tool .tip2{transition:none}
  body.ui2.ui2-phone .tool:hover .tip2{opacity:0;pointer-events:none}                 
  body.ui2.ui2-phone .tool.show .tip2,body.ui2.ui2-phone .tool .tip2.units{opacity:1;pointer-events:auto}
  body.ui2.ui2-phone.ui2-rail .rail3d{right:12px;top:calc(max(16px,env(safe-area-inset-top)) + 58px);gap:6px}   
  body.ui2.ui2-phone.ui2-rail .ib{width:44px;height:44px}
  body.ui2.ui2-phone.ui2-rail .rail3d input[type=range]{width:90px}
  body.ui2.ui2-phone.ui2-minimap .plan{right:12px;left:12px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 70px);width:auto;padding:10px}
  body.ui2.ui2-phone.ui2-minimap .plan .plan-body{height:150px;margin:10px 0 8px}
  body.ui2.ui2-phone.ui2-minimap .plan .cap{display:flex}
  body.ui2.ui2-phone.ui2-minimap .plan .seg button{min-width:44px;min-height:44px}
  body.ui2.ui2-phone.ui2-minimap .plan .icon{width:44px;height:44px}
  body.ui2.ui2-phone.ui2-minimap .plan-zoom .icon{width:44px;height:44px}
  body.ui2.ui2-phone.ui2-minimap .plan-show{right:12px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 70px);width:44px;height:44px}
  body.ui2.ui2-phone.ui2-minimap .plan.full{inset:max(12px,env(safe-area-inset-top)) 12px calc(max(18px,env(safe-area-inset-bottom)) + 70px) 12px}
  body.ui2.ui2-phone.ui2-split.plan-split:not(.mode-dollhouse) .rail{left:50%}
  body.ui2.ui2-phone.ui2-split.plan-split:not(.mode-dollhouse) .plan.split{padding:calc(max(12px,env(safe-area-inset-top)) + 2px) 10px 6px;border-width:0 0 1px 0}
  body.ui2.ui2-phone.ui2-split.plan-split:not(.mode-dollhouse) .brand{display:none}
  body.ui2.ui2-phone .lv{max-height:50vh}
  body.ui2.ui2-phone .lv div:not(.h){min-height:44px;display:flex;align-items:center}           
  body.ui2.ui2-phone .tip2.units span{min-height:44px;display:flex;align-items:center}
  body.ui2.ui2-phone .tip2 .opt{min-height:44px;display:flex;align-items:center}
}
