:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#24343e;background:#dce3e5;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;height:100dvh}body{display:flex;flex-direction:column}button{font:inherit;cursor:pointer}button:focus-visible,#scene:focus-visible{outline:3px solid #2995ac;outline-offset:2px}[hidden]{display:none!important}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.topbar{height:64px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#f9fbfb;border-bottom:1px solid #d9e2e4;z-index:4}.brand{display:flex;align-items:center;gap:11px}.brandmark{display:grid;place-items:center;width:38px;height:38px;color:#f5fbfa;background:#315e5b;border-radius:11px}.brandmark svg{width:26px;height:26px}.brand h1{font-size:15px;line-height:1.15;margin:0;font-weight:720}.brand span:not(.brandmark){display:block;margin-top:4px;color:#789098;font-size:9px;font-weight:700;letter-spacing:.12em}.topactions{display:flex;align-items:center;gap:16px}.topmeta{color:#7b8d93;font-size:12px}.topmeta i,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5cb79e;margin-right:6px}.topbar button,.icon-button{min-height:40px;border:1px solid #d5e0e2;border-radius:9px;background:#fff;color:#36505a;padding:8px 13px;font-size:12px;font-weight:600}.topbar button:hover,.icon-button:hover{background:#eff7f5}main{position:relative;flex:1;min-height:0;overflow:hidden}#scene,canvas{width:100%;height:100%;display:block;touch-action:none}#scene{background:radial-gradient(ellipse at 50% 38%,#c4d4d7,#a6b9bc 85%)}.glass{background:rgba(250,252,251,.95);border:1px solid rgba(211,224,224,.9);box-shadow:0 12px 35px #132c311f;backdrop-filter:blur(18px)}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;padding:15px 20px;box-shadow:0 10px 32px #16333a2a;font-size:13px}.model-panel{position:absolute;left:16px;top:16px;bottom:16px;width:280px;border-radius:16px;display:flex;flex-direction:column;padding:23px 18px 15px}.panel-head{display:flex;justify-content:space-between;gap:8px}.eyebrow,.section-title{font-size:10px;font-weight:750;letter-spacing:.13em;color:#77908f}.panel-head h2{margin:12px 0 8px;font-size:22px;letter-spacing:-.03em;color:#263e40}.panel-head p{margin:0;color:#789096;font-size:12px;line-height:1.5}.section-title{margin:30px 0 12px}#layers{display:grid;gap:7px}#layers button{display:flex;align-items:center;text-align:left;min-height:44px;padding:9px 12px;border:1px solid #e0e9e7;border-radius:10px;background:#fff;color:#52676a;font-size:13px}#layers button:before{content:"";width:14px;height:14px;border-radius:4px;border:1.5px solid #acbfbd;margin-right:11px;flex:none}#layers button[aria-pressed=true]{background:#e6f1ee;color:#2a5a50;border-color:#a8d0c2;font-weight:650}#layers button[aria-pressed=true]:before{background:#4e9b82;border-color:#4e9b82;box-shadow:inset 0 0 0 3px #e6f1ee}.panel-foot{margin-top:auto;padding-top:18px;border-top:1px solid #e2eae9;color:#788c90;font-size:11px}.viewtools{position:absolute;top:16px;right:16px;display:flex;gap:4px;padding:5px;border-radius:12px}.viewtools button,.panel-toggle{min-height:38px;border:0;border-radius:8px;background:transparent;color:#3c5559;padding:8px 12px;font-size:12px;font-weight:650;white-space:nowrap}.viewtools button:hover,.viewtools button[aria-pressed=true]{background:#e4f1ed;color:#316455}.viewtools button+button{border-left:1px solid #e7eeec;border-radius:0 8px 8px 0}#guide{position:absolute;z-index:5;top:16px;right:16px;width:min(350px,calc(100% - 32px));border-radius:14px;padding:20px;color:#405a5e;font-size:13px;line-height:1.55}#guide p:last-child{margin-bottom:0}#minimap{position:absolute;right:16px;top:76px;width:150px;padding:7px;border-radius:10px;pointer-events:none}.map-caption{font-size:10px;font-weight:700;color:#637d7e;margin-bottom:5px;text-transform:uppercase;letter-spacing:.08em}.map-surface{position:relative;width:100%;aspect-ratio:1;background:#334553;border-radius:6px;overflow:hidden}.map-surface img{width:100%;height:100%;display:block}#map-position{position:absolute;width:11px;height:11px;border:2px solid white;border-radius:50%;background:#e8443c;box-shadow:0 0 0 1px #932a25;transform:translate(-50%,-50%)}#walkpad{position:absolute;left:312px;bottom:20px;display:flex;align-items:flex-end;gap:10px}#walkpad button{touch-action:none;border:1px solid #d2e0df;background:#fbfdfceF;color:#355453;border-radius:10px;min-height:42px;font-size:11px;font-weight:650}.move-grid{width:134px;display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:4px}.move-grid button{padding:10px}.move-grid svg{width:20px;height:20px;stroke-width:2}.move-grid button:first-child{grid-column:2}.move-grid button:nth-child(2){grid-column:1;grid-row:2}.move-grid button:nth-child(3){grid-column:2;grid-row:2}.move-grid button:nth-child(4){grid-column:3;grid-row:2}.walk-options{display:grid;gap:5px}.walk-options>div{display:flex;gap:4px}.walk-options button{padding:6px 9px}.speeds button[aria-pressed=true]{background:#dcefe6!important;border-color:#6caf99!important;color:#255b49!important}.panel-toggle,#close-panel{display:none}
@media(max-width:700px){.topbar{height:56px;padding:0 12px}.brandmark{width:34px;height:34px}.brand h1{font-size:14px}.brand span:not(.brandmark){font-size:8px}.topmeta{display:none}.topbar button{min-height:38px;padding:7px 10px;font-size:11px}.model-panel{display:none;z-index:3;top:auto;left:8px;right:8px;bottom:calc(62px + env(safe-area-inset-bottom));width:auto;max-height:min(60vh,420px);padding:17px;border-radius:16px;overflow:auto}.model-panel.open{display:flex}.panel-head h2{margin:7px 0 4px;font-size:19px}.panel-head p{font-size:11px}.section-title{margin:16px 0 9px}#layers{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#layers button{font-size:11px;min-height:40px;padding:7px}.panel-foot{margin-top:12px;padding-top:10px}#close-panel{display:grid;place-items:center;min-width:38px;padding:8px}.icon-button svg{width:18px;height:18px}.panel-toggle{position:absolute;display:flex;align-items:center;gap:7px;left:10px;bottom:calc(10px + env(safe-area-inset-bottom));min-height:42px;padding:8px 13px;border-radius:11px;color:#365952}.panel-toggle svg{width:18px;height:18px}.viewtools{top:9px;right:9px;left:9px;justify-content:center;padding:3px}.viewtools button{flex:1;padding:7px 6px;font-size:11px;min-width:0;min-height:38px}.viewtools button+button{border-left:0}#minimap{right:9px;top:61px;width:100px;padding:5px}.map-caption{font-size:9px;margin-bottom:3px}#walkpad{left:10px;bottom:calc(62px + env(safe-area-inset-bottom));gap:6px}.move-grid{width:122px;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,38px);gap:4px}.move-grid button{min-height:38px;padding:8px}.walk-options button{font-size:10px;min-height:38px;padding:5px 6px}.walk-options{gap:4px}#guide{top:9px;right:9px;width:calc(100% - 18px);font-size:12px}}
@media(max-width:350px){.brand span:not(.brandmark){display:none}.viewtools button{font-size:10px}#walkpad{gap:4px}.walk-options button{padding:4px;font-size:9px}#layers button{font-size:10px}}
/* A quiet scene-first mobile dock, keeping detailed controls inside the panel. */
#panel-toggle svg{width:17px;height:17px;vertical-align:middle;margin-right:5px}.walk-settings{display:none}.walking .walk-settings{display:block}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#788b8d;font-size:11px;margin:8px 0}.speeds,.vertical-move{display:flex;gap:4px}.speeds button,.vertical-move button,#map-toggle,#quality-mobile{min-height:36px;border:1px solid #d8e5e2;border-radius:8px;padding:6px 8px;background:#fff;color:#49645f;font-size:11px}.speeds button[aria-pressed=true]{background:#dcefe6;border-color:#6caf99;color:#255b49}#map-toggle{margin-top:5px}#quality-mobile,#joystick-wrap{display:none}
@media(max-width:700px){
 .topbar{height:50px;padding:0 12px;background:#fbfcfc}.brandmark{width:30px;height:30px;border-radius:9px}.brandmark svg{width:21px;height:21px}.brand h1{font-size:13px}.brand span:not(.brandmark){display:none}.topbar button{min-height:34px;border:0;background:transparent;padding:5px 7px;color:#637a7b;font-size:11px}
 .viewtools{left:10px;right:10px;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));height:54px;display:flex;justify-content:stretch;gap:0;padding:5px 4px;border-radius:15px;background:rgba(249,252,251,.96);z-index:4}
 .viewtools button{display:block;flex:1;min-width:0;min-height:42px;padding:5px 3px;font-size:11px;border-radius:10px}.viewtools button+button{border:0}.viewtools #quality{display:none}.viewtools #panel-toggle{position:static;display:block;background:transparent;box-shadow:none;border:0;color:#3c5559}.viewtools #panel-toggle svg{display:none}.viewtools #walk{font-size:0}.viewtools #walk:after{content:'Прогулка';font-size:11px}.viewtools #walk[aria-pressed=true]:after{content:'Завершить';font-size:11px}
 .model-panel{bottom:calc(74px + env(safe-area-inset-bottom));max-height:min(65vh,470px);z-index:5}.panel-foot{margin-top:12px}.model-panel #quality-mobile{display:block;width:100%;margin-top:12px;text-align:left}.walking .model-panel{overflow:auto}
 #walkpad{display:none!important}#joystick-wrap{display:none;position:absolute;left:20px;bottom:calc(82px + env(safe-area-inset-bottom));align-items:center;flex-direction:column;gap:5px;color:#fff;text-shadow:0 1px 3px #243b3c80;font-size:10px;font-weight:650;pointer-events:none}.walking #joystick-wrap{display:flex}#joystick{width:84px;height:84px;border:1px solid #ffffffa8;border-radius:50%;background:#183b3b39;box-shadow:0 2px 10px #203a3b22;touch-action:none;pointer-events:auto}#joystick-knob{position:absolute;top:42px;left:42px;width:32px;height:32px;border-radius:50%;background:#ffffffe6;box-shadow:0 2px 5px #1b353933;transform:translate(-50%,-50%);pointer-events:none}
 #minimap{display:none!important;top:10px;right:10px;width:100px}.walking.map-visible #minimap{display:block!important}#guide{top:9px;right:9px}
}
@media(max-width:350px){.viewtools button,.viewtools #walk:after,.viewtools #walk[aria-pressed=true]:after{font-size:10px}#joystick{width:76px;height:76px}#joystick-knob{top:38px;left:38px}}
.move-choices{display:flex;gap:4px}.move-choices button{width:36px;height:36px;padding:8px;border:1px solid #d8e5e2;border-radius:8px;background:#fff;color:#49645f;touch-action:none}.move-choices svg{width:18px;height:18px}
:root{font-family:system-ui,sans-serif;color:#eef6f1;background:#102821}.topbar{background:#0e211c;border-color:#355448;color:#eef6f1}.brandmark{background:#19372d;color:#dcefe3;border:1px solid #57776a}.brand span:not(.brandmark),.topmeta{color:#bed9c8}.topbar button,.icon-button{background:#19372d;border-color:#57776a;color:#eef6f1}.topbar button:hover,.icon-button:hover{background:#284e40}#scene{background:radial-gradient(ellipse at 50% 32%,#284e40,#10241d 78%)}.glass{background:rgba(14,33,28,.95);border-color:#355448;color:#eef6f1;box-shadow:0 10px 28px #0004}.panel-head h2{color:#eef6f1}.panel-head p,.eyebrow,.section-title,.panel-foot,.setting-row{color:#b6d0c1}.panel-foot{border-color:#355448}#layers button,.speeds button,.vertical-move button,#map-toggle,#quality-mobile,.move-choices button{background:#19372d;color:#eef6f1;border-color:#57776a}#layers button[aria-pressed=true],.speeds button[aria-pressed=true]{background:#355d4c;color:#fff;border-color:#8eb9a0}#layers button[aria-pressed=true]:before{background:#9dceb2;border-color:#9dceb2;box-shadow:inset 0 0 0 3px #355d4c}.viewtools button{color:#eef6f1}.viewtools button:hover,.viewtools button[aria-pressed=true]{background:#355d4c;color:#fff}.viewtools button+button{border-color:#355448}#guide{color:#eef6f1}#loading{background:#19372d;color:#eef6f1}#walkpad button{background:#19372df0;border-color:#57776a;color:#eef6f1}.map-caption{color:#bed9c8}
@media(max-width:700px){.topbar{background:#0e211c}.topbar button{color:#c7dacf}.viewtools{background:#0e211cf5;border-color:#57776a}.viewtools #panel-toggle{color:#eef6f1}.stick-wrap{display:none;position:absolute;bottom:calc(82px + env(safe-area-inset-bottom));align-items:center;flex-direction:column;gap:5px;color:#fff;text-shadow:0 1px 3px #000b;font-size:10px;font-weight:650;pointer-events:none}.walking .stick-wrap{display:flex}#joystick-wrap{left:20px}#look-wrap{right:20px}.stick{position:relative;width:84px;height:84px;border:1px solid #e4f2e4a8;border-radius:50%;background:#10282173;box-shadow:0 2px 10px #10282155;touch-action:none;pointer-events:auto}.stick-knob{position:absolute;top:50%;left:50%;width:32px;height:32px;border-radius:50%;background:#eef6f1e6;box-shadow:0 2px 5px #10282177;transform:translate(-50%,-50%);pointer-events:none}#joystick-knob{top:50%;left:50%}}
@media(max-width:350px){.stick{width:76px;height:76px}#joystick-knob{top:50%;left:50%}}
@media(min-width:701px){#panel-toggle{display:none}}
body{display:block;position:relative}.topbar{position:absolute;top:12px;left:12px;right:12px;height:64px;padding:8px 14px;border:1px solid #355448;border-radius:12px;background:#0e211cf2;box-shadow:0 8px 24px #0003}.brand{gap:13px}.weon-logo{width:90px;height:auto;display:block}.brand h1{font-size:14px}.brand span:not(.brandmark){font-size:10px;letter-spacing:0;color:#a6c0b1;font-weight:500}.topactions{gap:8px}.topbar button{min-height:32px;border-radius:8px;font-size:11px;padding:6px 10px}#fullscreen{display:flex;align-items:center;gap:6px}#fullscreen svg{width:15px;height:15px}main{width:100%;height:100%;overflow:hidden}.scene-summary{position:absolute;top:145px;left:28px;pointer-events:none}.scene-summary>span{color:#b3cdbd;font-size:9px;letter-spacing:.11em;font-weight:700}.scene-summary h2{margin:10px 0 4px;color:#eef6f1;font-size:28px;letter-spacing:-.04em}.scene-summary small{font-size:11px;color:#a9c1b3}.model-panel{display:none;z-index:5;top:88px;bottom:auto;max-height:calc(100% - 165px);overflow:auto}.model-panel.open{display:flex}#close-panel{display:grid;place-items:center;min-width:34px;min-height:34px;padding:6px}.icon-button svg{width:17px;height:17px}.panel-head h2{font-size:17px;margin:8px 0 2px}.section-title{margin:18px 0 8px}.panel-foot{margin-top:20px}.viewtools{top:auto;bottom:12px;left:50%;right:auto;transform:translateX(-50%);padding:5px;gap:5px;border-radius:10px}.viewtools button{display:flex;align-items:center;justify-content:center;gap:6px;flex:initial;min-height:32px;padding:5px 11px;border:1px solid #57776a;border-radius:18px;background:#19372d;font-size:11px;white-space:nowrap}.viewtools button+button{border:1px solid #57776a;border-radius:18px}.viewtools #panel-toggle{display:flex;position:static;min-height:32px;padding:5px 11px;box-shadow:none;border:1px solid #57776a;background:#19372d;color:#eef6f1}.viewtools #panel-toggle svg{width:14px;height:14px;margin:0}.viewtools #walk[aria-pressed=true]{background:#355d4c}#walkpad{left:20px;bottom:66px}#minimap{top:88px}#guide{position:absolute;z-index:6;top:88px;right:12px;width:min(410px,calc(100% - 24px));padding:16px;border-radius:12px}.guide-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.guide-header strong{font-size:14px}.guide-header button{display:grid;place-items:center;width:32px;height:32px;border:1px solid #57776a;border-radius:8px;background:#19372d;color:#eef6f1}.guide-header button svg{width:16px;height:16px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.guide-card{display:grid;justify-items:center;gap:4px;text-align:center;padding:10px 5px;border:1px solid #355448;border-radius:9px;background:#19372d}.guide-card svg{width:52px;height:42px;color:#bce0ca;stroke-width:1.5}.guide-card b{font-size:11px}.guide-card span{color:#b4cbbd;font-size:10px;line-height:1.3}
@media(max-width:700px){.topbar{top:6px;left:6px;right:6px;height:46px;padding:6px 9px;border-radius:9px}.weon-logo{width:55px}.brand{gap:8px}.brand h1{font-size:11px}.brand span:not(.brandmark){display:none}.topbar button{min-height:30px;padding:4px 7px;font-size:10px}#fullscreen{display:none}.scene-summary{display:none}.viewtools{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));height:auto;min-height:48px;transform:none;display:flex;justify-content:center;padding:4px;gap:4px}.viewtools button{min-width:0;min-height:36px;flex:1;padding:5px 3px;font-size:10px}.viewtools #panel-toggle{display:flex;flex:1;min-height:36px;padding:5px 3px}.viewtools #panel-toggle svg{display:none}.viewtools #quality,.viewtools #snapshot{display:none}.model-panel{top:auto;left:8px;right:8px;bottom:calc(65px + env(safe-area-inset-bottom));max-height:min(65vh,470px)}#guide{top:60px;right:8px;width:calc(100% - 16px);padding:12px}.guide-header{margin-bottom:8px}.guide-grid{gap:6px}.guide-card{padding:8px 4px}.guide-card svg{height:34px}.guide-card span{font-size:9px}.stick-wrap{bottom:calc(70px + env(safe-area-inset-bottom))}#minimap{top:60px}}
.viewtools #home::before,.viewtools #walk::before,.viewtools #quality::before,.viewtools #snapshot::before{content:"";display:inline-block;width:14px;height:14px;flex:none;background:currentColor;mask-position:center;mask-size:contain;mask-repeat:no-repeat}.viewtools #home::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 10a8 8 0 1 1 2 7M4 4v6h6'/%3E%3C/svg%3E")}.viewtools #walk::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='4' r='2'/%3E%3Cpath d='m9 22 2-6 3 2 2 4M7 12l4-5 3 2 3 1M11 9l-1 6'/%3E%3C/svg%3E")}.viewtools #quality::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='10' cy='10' r='6'/%3E%3Cpath d='m15 15 5 5M10 7v6M7 10h6'/%3E%3C/svg%3E")}.viewtools #snapshot::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 7h4l2-3h6l2 3h4v13H3z'/%3E%3Ccircle cx='12' cy='13' r='4'/%3E%3C/svg%3E")}
/* Section filter and floating legend. */
.header-filters{display:flex;align-items:center;gap:8px;min-width:0;margin-left:auto;margin-right:auto}.header-filters > label{font:500 9px system-ui;color:#a8beb0;display:grid;gap:3px}.header-filters select{width:148px;min-width:0;height:28px;background:#19372d;border:1px solid #57776a;border-radius:7px;padding:0 7px;font:500 11px system-ui;color:#eef6f1;color-scheme:dark}.model-legend{position:absolute;left:24px;bottom:58px;z-index:3;width:185px;padding:11px 10px;border-radius:11px}.model-legend>b{display:block;margin:0 0 6px;color:#a8beb0;font-size:9px;letter-spacing:.09em}.legend-row{display:flex;align-items:center;width:100%;min-height:22px;padding:2px 1px;border:0;background:transparent;color:#d7e5dc;text-align:left;font-size:10px;font-weight:600}.legend-row i{width:11px;height:11px;margin-right:7px;border-radius:3px;flex:none}.legend-row[aria-pressed=false]{opacity:.4;text-decoration:line-through}.legend-row:hover{color:#fff}#loading{position:fixed;inset:0;z-index:20;transform:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;border-radius:0;background:#0e211c;color:#eef6f1;text-align:center;box-shadow:none}.loader-logo{width:148px;height:auto}.loader-line{width:42px;height:2px;background:#83b997;margin:4px}.loader-spin{width:30px;height:30px;border:2px solid #57776a;border-top-color:#c9e8d5;border-radius:50%;animation:loader-rotate .85s linear infinite}#loading b{font-size:16px}#loading span{font-size:11px;color:#b6cfc0}@keyframes loader-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loader-spin{animation:none}}
@media(max-width:700px){.topbar{height:87px;display:grid;grid-template-columns:1fr auto;grid-template-rows:34px 31px;gap:4px;padding:5px 9px}.brand{min-width:0}.topactions{gap:4px}.header-filters{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:2px;width:100%;margin:0}.header-filters > label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.header-filters select{width:100%;height:29px}.topbar #fullscreen{display:grid;place-items:center;padding:5px;width:30px}.topbar #fullscreen span{display:none}.topbar #fullscreen svg{width:15px;height:15px}.model-legend{display:none}#guide{top:100px}#minimap{top:100px}}
/* Restrained residential presentation, preserving the workspace geometry. */
.topbar,.viewtools,.model-legend,.model-panel,#guide{border-color:#8b806158;box-shadow:0 12px 32px #0003}.topbar{background:#111c18ef}.brand h1{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:500;letter-spacing:.01em;color:#f4f0e5}.brand span:not(.brandmark),.header-filters > label{color:#c0b99f}.scene-summary>span,.eyebrow,.section-title,.model-legend>b{color:#cfbf98}.scene-summary h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:33px;color:#f6f1e5}.scene-summary small{color:#beb9a9}.viewtools button,.viewtools button+button,.viewtools #panel-toggle,.header-filters select,.topbar button{border-color:#857b615e;background:#1b2a23;color:#e9e6d8}.viewtools button:hover,.viewtools button[aria-pressed=true],#layers button[aria-pressed=true]{background:#394b3c;border-color:#c4b48a;color:#fff8e8}.model-legend,.model-panel,#guide{background:#111d19ed}.loader-line{background:#c7b58a}.loader-spin{border-color:#766c53;border-top-color:#e0cfa3}.panel-head h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:22px}.guide-card{border-color:#80735560;background:#1b2a23}.guide-card svg{color:#ddcba3}
@media(max-width:700px){.brand h1{font-size:13px}.topbar,.viewtools{background:#111c18f5}.header-filters select{background:#1b2a23}.stick{border-color:#e0d5b6a8;background:#15231dbc}.stick-knob{background:#f1ead9e8}}
/* Graphite shell and canvas ground; muted champagne is reserved for accents. */
:root,html,body{background:#17191a;color:#ecebe7}.topbar{background:#1c1f20f2;border-color:#7a75664f}.topbar button,.header-filters select,.viewtools button,.viewtools button+button,.viewtools #panel-toggle,.guide-card,#layers button,.speeds button,.vertical-move button,#map-toggle,#quality-mobile,.move-choices button{background:#292c2d;color:#eeeae0;border-color:#85817660}#scene{background:radial-gradient(ellipse at 50% 35%,#34383a,#1c1f20 80%)}.viewtools,.model-legend,.model-panel,#guide{background:#1c1f20ed;border-color:#7f796754}.viewtools button:hover,.viewtools button[aria-pressed=true],#layers button[aria-pressed=true],.speeds button[aria-pressed=true]{background:#514c40;border-color:#b4a279;color:#fff9e9}.eyebrow,.section-title,.model-legend>b,.scene-summary>span{color:#cdbd98}.panel-head h2,.scene-summary h2{color:#f1eee5}.panel-head p,.panel-foot,.setting-row,.brand span:not(.brandmark),.header-filters > label{color:#bab7ae}.guide-card svg{color:#d6c49e}.guide-card span{color:#bdbab2}#loading{background:radial-gradient(ellipse at 50% 40%,#303334,#191b1c 80%);color:#eeeae0}.loader-line{background:#c6b48d}.loader-spin{border-color:#5d594f;border-top-color:#d8c69f}.panel-foot{border-color:#7772644f}.map-caption{color:#c6c2b7}
@media(max-width:700px){.topbar,.viewtools{background:#1c1f20f5}.header-filters select{background:#292c2d}.stick{background:#242626ba;border-color:#e3d5b7a8}.stick-knob{background:#f1ead9e8}}
#help{display:inline-flex;align-items:center;gap:7px}.topbar #help .help-mark{width:19px;height:13px;fill:currentColor;stroke:none;flex:none}
.tool-panel{position:absolute;z-index:6;right:16px;top:88px;width:260px;padding:15px;border-radius:12px}.tool-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tool-panel-head strong{font-size:13px}.tool-panel-head button{display:grid;place-items:center;width:30px;height:30px;padding:6px;border:1px solid #85817660;border-radius:8px;background:#292c2d;color:#eeeae0}.tool-panel-head svg{width:16px;height:16px}.tool-switch,.tool-field,.types-list label{display:flex;align-items:center;gap:8px;color:#dedbd2;font-size:12px}.tool-switch input,.types-list input{accent-color:#c6b48d}.tool-field{margin:12px 0;flex-wrap:wrap}.tool-field select{margin-left:auto;min-width:80px;height:32px;padding:0 8px;border:1px solid #85817660;border-radius:7px;background:#292c2d;color:#eeeae0}.tool-field output{margin-left:auto;color:#cdbd98}.tool-field input[type=range]{width:100%;accent-color:#c6b48d}.tool-reset{width:100%;min-height:36px;margin-top:8px;border:1px solid #85817660;border-radius:8px;background:#292c2d;color:#eeeae0;font-size:11px}.types-list{display:grid;gap:8px;max-height:35vh;overflow:auto;padding:3px 0}.types-placeholder{color:#bdbab2;font-size:11px}.viewtools button.active{background:#514c40;border-color:#b4a279}.viewtools #section-toggle::before,.viewtools #types-toggle::before{content:"";width:14px;height:14px;flex:none;background:currentColor;mask-size:contain;mask-position:center;mask-repeat:no-repeat}.viewtools #section-toggle::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 12h18M8 6l4-3 4 3M8 18l4 3 4-3M12 3v18'/%3E%3C/svg%3E")}.viewtools #types-toggle::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 5h16M7 12h10M10 19h4'/%3E%3C/svg%3E")}
@media(max-width:700px){.tool-panel{top:auto;left:8px;right:8px;bottom:calc(65px + env(safe-area-inset-bottom));width:auto;max-height:min(60vh,430px);overflow:auto}.viewtools{gap:2px}.viewtools button,.viewtools #panel-toggle{font-size:9px;padding:4px 2px}.viewtools #walk:after,.viewtools #walk[aria-pressed=true]:after{font-size:9px}.viewtools #home::before,.viewtools #walk::before,.viewtools #section-toggle::before,.viewtools #types-toggle::before{width:12px;height:12px}.tool-panel-open .stick-wrap{visibility:hidden}}
.tool-panel{background:#1c1f20ed;border-color:#7f796754}
#measure-result{position:absolute;z-index:4;bottom:calc(82px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:8px 14px;border-radius:10px;pointer-events:none} #measure-result[hidden]{display:none} #measure[aria-pressed=true]{color:#f3ca90}
#camera-view{border:1px solid #64615b;border-radius:999px;background:#292a2a;color:#f1ece4;min-height:34px;padding:0 8px;font:inherit;color-scheme:dark}
#element-inspector{position:absolute;z-index:5;right:14px;bottom:calc(90px + env(safe-area-inset-bottom));padding:8px 12px;border-radius:10px;display:flex;gap:12px;align-items:center} #element-inspector[hidden]{display:none} #inspect[aria-pressed=true]{color:#f3ca90}
#element-inspector{max-width:calc(100% - 28px);flex-wrap:wrap} #element-restore{position:absolute;z-index:4;right:14px;bottom:calc(90px + env(safe-area-inset-bottom));border-radius:10px} #element-restore[hidden]{display:none} #element-inspector:not([hidden])~#element-restore{bottom:calc(160px + env(safe-area-inset-bottom))}
@media(max-width:700px){
  .viewtools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100% - 16px);gap:4px}
  .viewtools > :is(button,select){min-width:0;width:100%;min-height:38px;justify-content:center}
  .viewtools > #panel-toggle{position:static}
  #element-inspector,#measure-result,#element-restore{bottom:calc(112px + env(safe-area-inset-bottom))}
  #element-inspector:not([hidden])~#element-restore{bottom:calc(192px + env(safe-area-inset-bottom))}
  .stick-wrap{bottom:calc(108px + env(safe-area-inset-bottom))}
}
/* Cohesive controls and panels. Layout stays over the scene at every size. */
:root{--ui-bg:rgba(27,29,30,.96);--ui-surface:#292b2b;--ui-line:rgba(214,204,182,.18);--ui-text:#eeeae0;--ui-muted:#aaa9a2;--ui-accent:#c8b893}
.topbar,.viewtools,.model-panel,.model-legend,.tool-panel,#guide,#element-inspector,#element-restore{background:var(--ui-bg);border:1px solid var(--ui-line);box-shadow:0 10px 32px #0004}
.topbar{backdrop-filter:blur(18px)}.topbar button,.viewtools button,.viewtools select,.tool-reset,.tool-panel-head button,.header-filters select,#element-inspector button,#element-restore{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-line);transition:background-color .16s,border-color .16s,color .16s}
.topbar button:hover,.viewtools button:hover,.viewtools select:hover,.tool-reset:hover,#element-inspector button:hover,#element-restore:hover{background:#383733;border-color:#bbae9066}
.viewtools button:focus-visible,.viewtools select:focus-visible,.topbar button:focus-visible,.header-filters select:focus-visible,.tool-panel button:focus-visible,.tool-panel input:focus-visible,#element-inspector button:focus-visible{outline:2px solid #d7c8a3;outline-offset:2px}
.viewtools button[aria-pressed=true],.viewtools button.active{background:#4a463c;border-color:#bdab83;color:#fff9eb}.viewtools{padding:5px;gap:5px;border-radius:12px}.viewtools button{min-height:34px;border-radius:8px;padding-inline:10px;font-weight:600}.viewtools button+button,.viewtools #panel-toggle{border-radius:8px}.viewtools select{min-height:34px;border-radius:8px;padding:0 8px;font:600 11px system-ui;color-scheme:dark}#camera-view{width:98px}#material-mode{width:118px}.viewtools #panel-toggle{padding-inline:10px}.model-legend{border-radius:10px}.legend-row{text-decoration:none!important}.legend-row[aria-pressed=false] span{color:#96958f}.legend-row[aria-pressed=false] i{opacity:.42}.legend-row[aria-pressed=false]{opacity:.7}
.tool-panel,.model-panel,#guide{border-radius:12px}.panel-head h2,.tool-panel-head strong,.guide-header strong{color:#f2ede2}.tool-panel input[type=checkbox],.types-list input{width:16px;height:16px;accent-color:#c8b893}.tool-panel select,.tool-panel input[type=range]{accent-color:#c8b893}.tool-switch{min-height:32px}.types-list label{min-height:32px;padding:3px 2px}.tool-reset{min-height:38px}.tool-panel-head button,.icon-button{width:34px;height:34px;min-height:34px}.tool-panel-head button svg,.icon-button svg{width:16px;height:16px}
#element-inspector button,#element-restore{min-height:36px;border-radius:8px;padding:6px 10px;font-size:11px}#element-category{font-size:12px;color:#ddd7ca}#measure-result{color:#f3e5c9}
#loading{background:radial-gradient(ellipse at 50% 42%,#2a2d2e,#17191a 75%);gap:12px}.loader-logo{width:146px}.loader-line{width:36px;height:1px;margin:5px 0;background:#bca983}#loading b{font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:400;letter-spacing:.01em}#loading span{font-size:11px;letter-spacing:.03em;color:#a8a69e}.loader-spin{margin-top:6px;width:26px;height:26px;border-color:#5c5951;border-top-color:#d3c19a}
@media(max-width:700px){
 .topbar{left:8px;right:8px;top:8px;height:86px;border-radius:11px;padding:6px 9px}.weon-logo{width:58px}.topbar button{min-height:32px}.header-filters select{height:29px;font-size:11px}.viewtools{position:absolute;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:5px;border-radius:12px}.viewtools > :is(button,select),.viewtools > #panel-toggle{width:100%;min-width:0;min-height:36px;max-width:none;padding:5px 3px;font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;justify-content:center;border-radius:8px}.viewtools #walk:after,.viewtools #walk[aria-pressed=true]:after{font-size:10px}.viewtools #camera-view,.viewtools #material-mode{width:100%;font-size:10px;padding:0 3px}.viewtools #snapshot,.viewtools #quality{display:none}
 .model-panel,.tool-panel{left:8px;right:8px;top:auto;bottom:calc(145px + env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 250px);overflow:auto;overscroll-behavior:contain}.tool-panel{padding:12px}.tool-panel-head{margin-bottom:8px}.tool-field{margin:8px 0}.tool-switch{min-height:28px}.types-list{max-height:calc(100dvh - 365px)}.model-panel{padding:14px}.section-title{margin:12px 0 8px}#guide{top:102px;max-height:calc(100dvh - 250px);overflow:auto;overscroll-behavior:contain}
 .stick-wrap{bottom:calc(150px + env(safe-area-inset-bottom))}#minimap{top:102px}#element-inspector,#measure-result,#element-restore{bottom:calc(145px + env(safe-area-inset-bottom))}#element-inspector:not([hidden])~#element-restore{bottom:calc(215px + env(safe-area-inset-bottom))}#element-inspector{gap:5px;padding:8px}#element-inspector button{min-height:32px;font-size:10px;padding:5px 7px}
}
@media(max-width:350px){.viewtools > :is(button,select),.viewtools > #panel-toggle,.viewtools #walk:after,.viewtools #walk[aria-pressed=true]:after{font-size:9px}.viewtools button::before{width:11px!important;height:11px!important}.viewtools{gap:3px}.model-panel,.tool-panel{bottom:calc(141px + env(safe-area-inset-bottom));max-height:calc(100dvh - 243px)}.stick-wrap{bottom:calc(146px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.topbar button,.viewtools button,.viewtools select{transition:none}}
.loader-line{position:relative;width:144px;height:2px;overflow:hidden;background:#555148;border-radius:3px}.loader-line::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--load-progress,0%);background:#d4c19a;transition:width .2s ease}
@media(prefers-reduced-motion:reduce){.loader-line::after{transition:none}}
.section-box{margin:10px 0 2px;border-top:1px solid var(--ui-line);padding-top:10px}.section-box summary{min-height:28px;cursor:pointer;color:#dedbd2;font-size:12px}.section-box summary:focus-visible{outline:2px solid #d7c8a3;outline-offset:3px}.section-bounds{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.section-bounds label{display:grid;gap:4px;color:#bdbab2;font-size:10px}.section-bounds input{width:100%;accent-color:#c8b893}
.filter-caption{font:500 9px system-ui;color:#bab7ae}.header-filters{position:relative;display:flex;align-items:center;gap:8px}.section-picker-wrap{position:relative}.topbar #section-picker{display:flex;align-items:center;justify-content:space-between;gap:14px;width:165px;min-height:32px;border-radius:8px;padding:5px 9px;text-align:left}.topbar #section-picker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar #section-picker svg{width:14px;height:14px;flex:none;transition:transform .16s}.topbar #section-picker[aria-expanded=true] svg{transform:rotate(180deg)}.section-options{position:absolute;top:calc(100% + 7px);left:0;width:240px;max-height:min(50vh,350px);overflow:auto;padding:9px;background:#1c1f20fa;border:1px solid #7f79677a;border-radius:11px;box-shadow:0 14px 35px #0007}.section-options label{display:flex;align-items:center;gap:9px;min-height:38px;padding:6px 8px;color:#eeeae0;font-size:12px;cursor:pointer;border-radius:7px}.section-options label:hover{background:#33332f}.section-options input{width:16px;height:16px;accent-color:#c8b893}.section-option-actions{display:flex;gap:6px;margin-top:7px;padding-top:8px;border-top:1px solid #7f796750}.section-option-actions button{flex:1;min-height:34px;padding:5px;font-size:11px}.section-options input:focus-visible,#section-picker:focus-visible{outline:2px solid #d7c8a3;outline-offset:2px}
@media(max-width:700px){.filter-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.header-filters{display:block}.section-picker-wrap{width:100%}.topbar #section-picker{width:100%;min-height:29px}.section-options{left:0;right:0;width:auto;max-height:min(48vh,310px)}}
@media(prefers-reduced-motion:reduce){.topbar #section-picker svg{transition:none}}
.section-box h3{margin:0 0 4px;color:#dedbd2;font-size:12px;font-weight:600}
/* Accessible custom checkboxes for section and element filters. */
input[type="checkbox"]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;flex:none;width:18px;height:18px;margin:0;border:1px solid #8d887b;border-radius:5px;background:#252727;color:#ddc794;vertical-align:middle;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
input[type="checkbox"]::after{content:"";width:9px;height:5px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform .12s ease}
input[type="checkbox"]:checked{background:#39372f;border-color:#cfbb8e}
input[type="checkbox"]:checked::after{transform:translateY(-1px) rotate(-45deg) scale(1)}
input[type="checkbox"]:hover:not(:disabled){border-color:#ead6aa;background-color:#34332e}
input[type="checkbox"]:focus-visible{outline:2px solid #e2cf9f;outline-offset:3px;box-shadow:0 0 0 2px #1c1f20}
input[type="checkbox"]:disabled{opacity:.45;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){input[type="checkbox"],input[type="checkbox"]::after{transition:none}}
@media(forced-colors:active){input[type="checkbox"]{appearance:auto;-webkit-appearance:checkbox;forced-color-adjust:auto}input[type="checkbox"]::after{content:none}input[type="checkbox"]:focus-visible{outline:2px solid Highlight;box-shadow:none}}
/* Keep section selection and secondary tools inside the model panel. */
.model-panel .header-filters{display:block;width:100%;margin:0 0 8px}.model-panel .filter-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.model-panel .section-picker-wrap{width:100%}.model-panel #section-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:40px;padding:8px 10px;background:#292b2b;border:1px solid var(--ui-line);border-radius:8px;color:var(--ui-text);font:600 12px system-ui;text-align:left}.model-panel #section-picker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-panel #section-picker svg{width:15px;height:15px;flex:none;transition:transform .16s}.model-panel #section-picker[aria-expanded=true] svg{transform:rotate(180deg)}.model-panel .section-options{position:static;width:100%;max-height:210px;margin-top:6px;box-shadow:none}.model-panel .panel-tools{display:flex;gap:6px}.model-panel .panel-tools button{flex:1;min-height:38px;padding:7px 10px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-surface);color:var(--ui-text);font:600 11px system-ui}.model-panel .panel-tools button:hover{background:#383733;border-color:#bbae9066}.model-panel .panel-tools button[aria-pressed=true]{background:#4a463c;border-color:#bdab83;color:#fff9eb}.model-panel .panel-tools button:focus-visible,.model-panel #section-picker:focus-visible{outline:2px solid #d7c8a3;outline-offset:2px}
@media(max-width:700px){.topbar{display:flex;align-items:center;justify-content:space-between;height:48px;grid-template-columns:none;grid-template-rows:none}.model-panel .header-filters{display:block}.model-panel .section-options{position:static;max-height:180px}#guide,#minimap{top:66px}.model-panel{max-height:calc(100dvh - 210px)}}
@media(prefers-reduced-motion:reduce){.model-panel #section-picker svg{transition:none}}
.model-panel #layers{display:none}
.model-panel .section-option-actions button,.model-panel .icon-button{border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-surface);color:var(--ui-text);font:600 11px system-ui}.model-panel .section-option-actions button:hover,.model-panel .icon-button:hover{background:#383733;border-color:#bbae9066}.model-panel .section-option-actions button:focus-visible,.model-panel .icon-button:focus-visible{outline:2px solid #d7c8a3;outline-offset:2px}
/* Near-graphite interface with a restrained green undertone. */
:root{--ui-bg:rgba(28,36,33,.97);--ui-surface:#29312d;--ui-line:rgba(213,204,180,.19)}
.topbar,.viewtools,.model-panel,.model-legend,.tool-panel,#guide,#element-inspector,#element-restore,.section-options{background:var(--ui-bg)}
.topbar button,.viewtools button,.viewtools select,.viewtools #panel-toggle,.tool-reset,.tool-panel-head button,.header-filters select,#element-inspector button,#element-restore,.model-panel #section-picker,.model-panel .panel-tools button,.model-panel .section-option-actions button,.model-panel .icon-button,.tool-field select,.guide-card{background:#29312d}
.topbar button:hover,.viewtools button:hover,.viewtools select:hover,.viewtools #panel-toggle:hover,.tool-reset:hover,#element-inspector button:hover,#element-restore:hover,.model-panel #section-picker:hover,.model-panel .panel-tools button:hover,.model-panel .section-option-actions button:hover,.model-panel .icon-button:hover,.section-options label:hover{background:#353d36}
.viewtools button[aria-pressed=true],.viewtools button.active,.model-panel .panel-tools button[aria-pressed=true],#layers button[aria-pressed=true],.speeds button[aria-pressed=true]{background:#47483b;border-color:#bdab83;color:#fff9eb}
input[type="checkbox"]{background:#29312d}input[type="checkbox"]:checked{background:#3d4136}input[type="checkbox"]:hover:not(:disabled){background:#353d36}
#loading{background:radial-gradient(ellipse at 50% 42%,#29312d,#1a201e 75%)}
@media(max-width:700px){.topbar,.viewtools{background:rgba(28,36,33,.97)}.section-options{background:#1c2421}}
