@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600;700&family=Inter:wght@400;500;600;650;700;800&display=swap');
:root{color-scheme:dark;--bg:#081522;--panel:rgba(10,27,43,.94);--line:rgba(172,205,229,.14);--text:#edf5ff;--muted:#91a7bb;--blue:#59aaff;--cyan:#4ce0ea;--green:#83efbc;font-family:Inter,'IBM Plex Sans KR',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,#viewport:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button:disabled{opacity:.5}button svg, .switch-row svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:hover{filter:brightness(1.15)}[hidden]{display:none!important}.topbar{height:78px;display:flex;align-items:center;gap:26px;padding:0 30px;border-bottom:1px solid var(--line);background:#091726;position:relative;z-index:12}.brand{font-weight:800;font-style:italic;font-size:28px;letter-spacing:-1.4px;color:#f1f7ff;text-decoration:none;line-height:1}.brand span{display:block;font-weight:500;font-style:normal;font-size:9px;letter-spacing:2.2px;color:#83a6c4;margin-top:7px}.header-divider{height:26px;width:1px;background:var(--line)}.page-title{font-size:17px;font-weight:600;display:flex;gap:17px;align-items:center}.page-title span{font-size:11px;letter-spacing:2px;color:#6e8aa2;font-weight:500}.header-end{margin-left:auto;display:flex;align-items:center;gap:18px}.concept-tag{font-size:11px;letter-spacing:1.7px;color:#8aa4bb}.icon-button{background:transparent;width:36px;height:36px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;color:#a9c0d5}#workspace{position:relative;height:calc(100dvh - 78px);min-height:480px;isolation:isolate;overflow:hidden}#viewport{position:absolute;inset:0;outline:none;cursor:grab;touch-action:none}#viewport:active{cursor:grabbing}#viewport canvas{display:block;width:100%;height:100%}.scene-title{position:absolute;top:31px;left:30px;pointer-events:none}.eyebrow{font-size:11px;letter-spacing:1.6px;color:#7e9eb8;font-weight:600}.scene-title h1{font-size:27px;letter-spacing:-1px;font-weight:600;margin:10px 0 7px}.scene-title p{color:#91a8bd;font-size:13px;margin:0}.view-nav{position:absolute;left:30px;top:158px;border:1px solid var(--line);padding:5px;display:flex;border-radius:11px;background:rgba(8,23,38,.9);gap:2px;backdrop-filter:blur(12px)}.view-nav button{background:transparent;border-radius:7px;display:flex;align-items:center;gap:7px;padding:10px 13px;color:#8fa9bf;font-size:13px}.view-nav button.active{background:#203b54;color:white;box-shadow:inset 0 0 0 1px #3d5a73}.view-nav button svg{width:17px;height:17px}.equipment-nav{position:absolute;top:231px;left:30px;width:186px}.section-label{font-size:10px;font-weight:600;letter-spacing:1.6px;color:#849fb5}.equipment-nav>.section-label{margin:0 0 12px 4px}.equipment-nav button{width:100%;text-align:left;display:flex;align-items:center;gap:12px;border-radius:8px;padding:13px 9px;background:rgba(9,25,40,.62);margin-bottom:5px;border:1px solid transparent;transition:.2s}.equipment-nav button:hover,.equipment-nav button.active{background:#183147;border-color:#36546e}.equipment-index{font-size:10px;color:#6686a0}.equipment-nav button>span:nth-child(2){font-size:14px;font-weight:500}.equipment-nav small{display:block;font-size:11px;color:#7793ab;margin-top:4px;font-weight:400}.chevron{margin-left:auto;color:#6686a0;font-size:16px}.solution-panel{position:absolute;top:30px;right:26px;width:292px;padding:23px 22px 17px;background:var(--panel);border:1px solid #294054;box-shadow:0 16px 50px #0003;border-radius:15px;backdrop-filter:blur(18px)}.panel-top{display:flex;align-items:center;justify-content:space-between}.demo-tag{font-size:10px;color:#95b4cb;border:1px solid #355167;border-radius:4px;padding:3px 5px}.solution-panel h2{font-size:22px;font-weight:600;margin:17px 0 9px;letter-spacing:-.6px}.solution-intro{font-size:13px;line-height:1.7;color:#99aec1;min-height:44px;margin:0 0 19px;word-break:keep-all}.solution-tabs{display:flex;align-items:stretch;overflow-x:auto;background:#05131f;border:1px solid var(--line);padding:4px;border-radius:8px;gap:4px;scrollbar-width:none}.solution-tabs::-webkit-scrollbar{display:none}.solution-tabs button{flex:1 0 auto;min-width:56px;background:transparent;color:#7d9ab4;font-size:12px;font-weight:600;padding:9px 10px;border-radius:5px;white-space:nowrap}.solution-tabs button.active{background:#176998;color:#e1f8ff;box-shadow:inset 0 0 0 1px #318abc}.solution-view-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:4px;margin:0 0 16px;padding:4px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.solution-view-tabs button{display:block!important;min-width:0!important;width:100%;white-space:nowrap;background:transparent;color:#7d9ab4;font-size:11px;font-weight:600;padding:9px 3px;border-radius:5px;letter-spacing:-.2px}.solution-view-tabs button[aria-pressed="true"]{background:#176998;color:#e1f8ff;box-shadow:inset 0 0 0 1px #318abc}.humidity-metrics{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:23px 0}.humidity-metrics>div+div{border-left:1px solid var(--line);padding-left:17px}.humidity-metrics span{font-size:12px;color:#9db2c4;display:block;margin-bottom:9px}.humidity-metrics strong{font-size:29px;font-weight:500;line-height:1;letter-spacing:-1px;white-space:nowrap;display:block;color:#c9f6ff}.humidity-metrics strong small{font-size:10px;letter-spacing:0;font-weight:400;margin-left:4px;color:#7799b1}.meter{height:3px;width:100%;border-radius:10px;background:#253b4c;margin-top:13px}.meter i{height:100%;display:block;min-width:4px;border-radius:10px;background:#57deea;transition:width .8s,background .8s}.solution-parts{display:flex;flex-direction:column;gap:11px;border-top:1px solid var(--line);padding-top:17px;margin-bottom:19px;min-height:97px}.part-row{display:flex;align-items:center;gap:9px;font-size:12px;color:#9bb3c7;line-height:1.5}.part-row b{font-weight:500;color:#e1edf7;min-width:51px}.part-row i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--cyan)}.part-row.off{opacity:.45}.view-controls{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:2px}.switch-row{display:flex;align-items:center;justify-content:space-between;min-height:35px;cursor:pointer;position:relative}.switch-row>span{display:flex;align-items:center;gap:9px;font-size:12px;color:#acc0d1}.switch-row svg{width:16px;height:16px;color:#6e90ac}.switch-row input{position:absolute;right:0;width:35px;height:22px;opacity:0;cursor:pointer;z-index:2}.switch-row>i{width:31px;height:18px;border-radius:12px;background:#334759;position:relative;transition:.2s}.switch-row>i:after{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:#bccedb;top:3px;left:3px;transition:.2s}.switch-row input:checked+i{background:#1d8aac}.switch-row input:checked+i:after{transform:translateX(13px);background:white}.switch-row input:focus-visible+i{outline:2px solid #87dfff;outline-offset:3px}.source-note{margin:13px 0 0;color:#708a9e;line-height:1.6;font-size:10px}.bottom-area{position:absolute;bottom:49px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:15px;width:max-content;max-width:calc(100% - 40px)}.legend{display:flex;gap:20px;font-size:11px;background:#091b2ada;border:1px solid #38516a55;border-radius:20px;padding:8px 15px}.legend span{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#b1c6d7}.legend i{width:6px;height:6px;border-radius:50%}.cyan{background:#4ce0ea}.green{background:#83efbc}.blue{background:#59aaff}.camera-toolbar{border:1px solid #344b60;background:rgba(9,28,44,.93);backdrop-filter:blur(16px);border-radius:12px;display:flex;align-items:center;padding:5px 9px;gap:2px;box-shadow:0 8px 25px #0003}.camera-toolbar button{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;min-width:38px;height:34px;font-size:22px;color:#b0c6d9;border-radius:6px}.camera-toolbar button:first-child{padding:0 12px 0 6px}.camera-toolbar button:hover{background:#234058}.camera-toolbar button.active{background:#20587c;color:#97e5ff}.camera-toolbar button span{font-size:12px}.toolbar-divider{width:1px;height:18px;background:#31495e;margin:0 7px}.navigation-hint{display:flex;gap:18px;font-size:10px;color:#61819b;user-select:none}.navigation-hint b{color:#a4bbce;font-weight:400;margin-left:4px}.scene-note{position:absolute;bottom:18px;left:30px;font-size:10px;letter-spacing:.15px;color:#66859d;pointer-events:none}.scene-note span{margin:0 6px}.detail-card{position:absolute;bottom:190px;left:245px;width:295px;padding:22px;background:rgba(9,27,43,.95);border:1px solid #3d677f;border-radius:12px;backdrop-filter:blur(16px);box-shadow:0 14px 45px #0004}.close-button{background:transparent;color:#96aabd;font-size:26px;width:32px;height:32px;line-height:1;border-radius:6px}.detail-card .close-button{position:absolute;right:9px;top:9px}.detail-card h2{font-size:22px;font-weight:500;margin:11px 0 9px}.detail-card p{font-size:13px;line-height:1.7;color:#9fb5c8;margin:0 0 13px;word-break:keep-all}.detail-card #detail-tags{display:flex;flex-wrap:wrap;gap:5px}.detail-card #detail-tags span{font-size:10px;color:#94dbe5;border:1px solid #235562;background:#153e4844;border-radius:4px;padding:5px 7px}.exterior-card{position:absolute;right:26px;top:30px;width:292px;background:var(--panel);padding:22px;border:1px solid #294054;border-radius:14px}.exterior-card h2{font-size:21px;font-weight:500;margin:12px 0 18px}.exterior-card img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:7px;opacity:.88}.exterior-card p{font-size:12px;color:#99b1c5;line-height:1.8;word-break:keep-all}.exterior-card button{width:100%;text-align:left;padding:13px 14px;background:#166b98;border:1px solid #2c8ab9;border-radius:7px;font-size:13px}.exterior-card button span{float:right}.exterior .equipment-nav,.exterior .legend{display:none}.exterior .scene-title p{max-width:300px}.label{position:absolute;left:0;top:0;display:flex;align-items:center;gap:7px;pointer-events:none;will-change:transform;white-space:nowrap;font-size:10px;color:#daeffb;text-shadow:0 1px 3px #000;opacity:0}.label .pin{display:inline-block;width:7px;height:7px;background:#9ee8ff;border:2px solid white;border-radius:50%;box-shadow:0 0 0 4px #59cbff22}.label .label-text{padding:6px 9px;background:#092031db;border:1px solid #43738a77;border-radius:5px;backdrop-filter:blur(6px)}.label.green .pin{background:#83efbc}.label.blue .pin{background:#59aaff}.label.cyan,.label.green,.label.blue{background:none}#loading{position:absolute;inset:0;z-index:20;background:#081522;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:14px;transition:opacity .5s}#loading strong{font-size:16px;font-weight:500}#loading>span{font-size:12px;color:#7899b2}.loading-mark{font-size:45px;font-weight:800;font-style:italic;color:#5bcaff;margin-bottom:8px;animation:pulse 1.3s infinite}@keyframes pulse{50%{opacity:.3}}#webgl-error{position:absolute;inset:0;background:#081522;z-index:25;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}#webgl-error h2{font-size:23px}#webgl-error p{color:#8faabf;line-height:1.8}#webgl-error button{background:#196d99;padding:12px 20px;border-radius:7px}dialog{width:min(1120px,94vw);max-height:90dvh;overflow:auto;background:#0e2335;color:#e6f1fb;border:1px solid #3b576c;border-radius:16px;padding:25px}dialog::backdrop{background:#020d19cc;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{font-size:22px;font-weight:500;margin:10px 0}.dialog-head+p{font-size:13px;color:#9eb4c7;line-height:1.7;margin:0 0 20px}.reference-tabs{display:flex;gap:6px;margin:0 0 17px}.reference-tabs button{padding:10px 15px;border-radius:7px;background:#1c354a;color:#93adc2;font-size:13px}.reference-tabs button.active{background:#206d96;color:white}#reference-image{display:block;width:100%;max-height:65vh;object-fit:contain;background:#fff;border-radius:8px}.reference-notes{font-size:12px;color:#8faabf;line-height:1.8}.reference-notes a{color:#78c9ff;text-underline-offset:3px}
@media(min-width:1600px){.solution-panel{right:35px;top:40px;width:315px;padding:26px}.scene-title{top:41px;left:40px}.view-nav{left:40px;top:178px}.equipment-nav{left:40px;top:260px;width:205px}.equipment-nav button{padding:16px 12px}.detail-card{left:270px}.solution-intro{font-size:14px}.part-row,.switch-row>span{font-size:13px}.humidity-metrics strong{font-size:33px}.source-note{font-size:11px}.solution-parts{gap:15px;padding-top:20px;margin-bottom:22px}.switch-row{min-height:40px}}
@media(max-height:810px) and (min-width:901px){.topbar{height:66px}#workspace{height:calc(100dvh - 66px)}.solution-panel{top:20px;padding:18px;width:278px}.solution-panel h2{margin:12px 0 7px}.solution-intro{margin-bottom:13px}.humidity-metrics{margin:16px 0}.solution-parts{padding-top:12px;margin-bottom:10px;min-height:85px;gap:8px}.source-note{margin-top:8px}.scene-title{top:22px}.view-nav{top:138px}.equipment-nav{top:208px}.equipment-nav button{padding:10px 9px}.bottom-area{bottom:38px;gap:11px}.detail-card{bottom:170px}.navigation-hint{display:none}}
@media(max-width:1150px){.equipment-nav{width:157px;left:20px}.equipment-nav button{gap:8px}.equipment-nav small{font-size:10px}.equipment-nav>.section-label{font-size:9px}.scene-title{left:20px}.view-nav{left:20px}.solution-panel{width:255px;right:18px;padding:18px}.solution-panel h2{font-size:20px}.solution-intro{font-size:12px}.humidity-metrics{gap:10px}.humidity-metrics>div+div{padding-left:10px}.humidity-metrics strong{font-size:26px}.humidity-metrics strong small{font-size:9px}.part-row{font-size:11px}.source-note{font-size:9px}.detail-card{left:193px;width:263px}.exterior-card{width:255px;right:18px}.legend{gap:12px}.header-end .concept-tag{display:none}}
@media(max-width:900px){body{overflow:hidden}.topbar{height:65px;padding:0 18px;gap:18px}.brand{font-size:24px}.brand span{font-size:7px}.header-divider{display:none}.page-title{font-size:14px}.page-title span{display:none}#workspace{height:calc(100dvh - 65px);min-height:500px}.scene-title{top:20px;left:20px}.scene-title h1{font-size:23px;margin:8px 0}.scene-title p{font-size:11px}.eyebrow{font-size:9px}.view-nav{top:117px;left:20px}.view-nav button{font-size:11px;padding:9px 10px}.view-nav button svg{width:14px}.equipment-nav{left:20px;top:181px;display:flex;gap:4px;width:auto;right:20px}.equipment-nav>.section-label,.equipment-nav small,.equipment-index,.chevron{display:none}.equipment-nav button{width:auto;padding:8px 10px;margin:0;background:#0b2235bf;border-color:#35536c66}.equipment-nav button>span:nth-child(2){font-size:10px}.solution-panel{top:auto;bottom:39px;right:16px;width:252px;padding:15px}.solution-panel .solution-intro,.source-note,.solution-parts{display:none}.solution-panel h2{font-size:17px;margin:10px 0 12px}.section-label{font-size:9px}.demo-tag{font-size:9px}.humidity-metrics{margin:14px 0}.humidity-metrics span{font-size:11px;margin-bottom:7px}.humidity-metrics strong{font-size:24px}.humidity-metrics strong small{font-size:9px}.view-controls{display:grid;grid-template-columns:1fr;gap:0;padding-top:5px}.switch-row{min-height:30px}.switch-row>span{font-size:11px}.bottom-area{bottom:42px;left:20px;transform:none;width:auto;gap:10px;align-items:flex-start;max-width:calc(100% - 290px)}.legend,.navigation-hint{display:none}.camera-toolbar{padding:6px;display:grid;grid-template-columns:repeat(2,32px);gap:3px}.camera-toolbar button{min-width:32px;height:33px}.camera-toolbar button:first-child{grid-column:1/-1;padding:3px 0}.camera-toolbar button:first-child span{display:none}.toolbar-divider{display:none}.scene-note{left:20px;bottom:15px;font-size:8px}.detail-card{left:20px;bottom:365px;width:240px;padding:16px}.detail-card h2{font-size:18px}.detail-card p{font-size:11px}.detail-card #detail-tags span{font-size:9px}.exterior-card{top:auto;bottom:42px;right:16px;width:252px;padding:16px}.exterior-card img{max-height:110px}.exterior-card h2{font-size:18px}.exterior-card p{font-size:11px}.label{font-size:9px}.label .label-text{padding:5px 6px}}
@media(max-width:450px){.page-title{font-size:13px}.topbar{padding:0 14px;gap:14px}.header-end{gap:0}.scene-title{left:16px;top:17px}.scene-title h1{font-size:22px}.view-nav{left:16px;top:110px}.equipment-nav{left:16px;right:16px;top:171px;gap:4px}.equipment-nav button{padding:7px 8px}.equipment-nav button>span:nth-child(2){font-size:9px}.solution-panel{width:238px;padding:12px;bottom:36px;right:12px}.humidity-metrics strong{font-size:23px}.scene-note{font-size:7px;left:16px}.bottom-area{left:16px;bottom:38px}.detail-card{bottom:346px;left:16px;width:229px}.detail-card p{line-height:1.6}.solution-tabs button{padding:7px 0}.solution-panel .panel-top{display:none}.solution-panel h2{margin:3px 0 10px}.humidity-metrics{margin:12px 0}.view-controls{padding-top:4px}.switch-row{min-height:27px}}
.solution-panel{max-height:calc(100% - 60px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#35556b transparent}.source-note{font-size:12px}.solution-intro,.part-row,.switch-row>span{font-size:14px}.solution-tabs button,.view-nav button{font-size:14px}.equipment-nav small,.legend,.camera-toolbar button span,.navigation-hint,.scene-title p{font-size:12px}.scene-note{font-size:12px}.equipment-nav button>span:nth-child(2){font-size:14px}.reference-notes,.dialog-head+p{font-size:14px}.detail-card p{font-size:14px}.humidity-metrics span{font-size:13px}.demo-tag{font-size:12px}.section-label{font-size:11px}.exterior-card p{font-size:14px}.exterior-card button{font-size:14px}
@media(max-width:1150px) and (min-width:901px){.solution-intro,.part-row,.switch-row>span{font-size:12px}.solution-tabs button,.view-nav button{font-size:12px}.source-note{font-size:11px}}
@media(max-width:900px){.solution-panel{max-height:330px}.solution-tabs button,.view-nav button{font-size:12px}.equipment-nav button>span:nth-child(2){font-size:12px}.switch-row>span{font-size:12px}.source-note{display:none}.scene-note{font-size:9px}.scene-title p{font-size:12px}.detail-card p{font-size:12px}.exterior-card p{font-size:12px}.exterior-card button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* A clear third-person playground, with the equipment explorer one tab away. */
.walking .equipment-nav,.walking .legend,.walking .navigation-hint{display:none}
.walking .scene-title{pointer-events:none}
.walking .scene-title h1{font-size:32px;letter-spacing:-1.3px}
.walking .bottom-area{top:28px;right:28px;bottom:auto;left:auto;transform:none;width:auto;max-width:none}
.walking .camera-toolbar{display:flex;align-items:center}
.walking .camera-toolbar button{min-width:36px;height:38px}
.walk-hud{position:absolute;z-index:5;left:50%;bottom:46px;transform:translateX(-50%);display:flex;align-items:center;gap:24px;padding:15px 18px;border:1px solid #577e9759;border-radius:17px;background:#0b2333ed;box-shadow:0 12px 44px #020d1940;backdrop-filter:blur(18px);white-space:nowrap}
.walk-guide{display:grid;grid-template-columns:8px auto;align-items:center;gap:8px;color:#d8eaf4;font-size:12px}
.walk-guide strong{font-size:13px;font-weight:600;letter-spacing:.1px}
.team-dot{width:7px;height:7px;border-radius:50%;background:#5ae1f0;box-shadow:0 0 12px #39d8ff88}
.desktop-guide{grid-column:1/-1;color:#9bb4c7;font-size:11px;display:flex;align-items:center;gap:5px}
.desktop-guide i{font-style:normal;color:#517487;margin:0 3px}
.walk-hud kbd{font-family:inherit;font-size:10px;font-weight:500;padding:3px 5px;line-height:1.3;border:1px solid #65839555;border-radius:4px;color:#b7d3e4;background:#22415788}
.touch-guide{display:none}
.walk-actions{display:flex;gap:8px}
.walk-actions button{height:46px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid #48738c7a;border-radius:10px;background:#193c51;color:#e5f6ff;font-size:12px;transition:background .2s,border-color .2s}
.walk-actions button:hover,.walk-actions button:focus-visible{background:#235a75;border-color:#70d4f4}
.walk-actions button:active{transform:translateY(1px)}
.walk-actions button.active{color:#071f2f;background:#64d9ef;border-color:#9defff}
.walk-actions button.active kbd{color:#103d51;background:#d9faff77;border-color:#2f829955}
.walk-actions svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
#wave-button{background:#125478;border-color:#45b7e388}
#wave-button:hover{background:#1773a0}
.joystick{display:none;position:absolute;z-index:6;left:24px;bottom:59px;width:116px;height:116px;border:1px solid #84c2dd6b;border-radius:50%;background:radial-gradient(circle,#245e7859 25%,#123449bc 68%);box-shadow:inset 0 0 22px #6dd0f018,0 8px 28px #00132250;backdrop-filter:blur(7px);touch-action:none;user-select:none;-webkit-user-select:none}
.joystick-axis{position:absolute;display:block;background:#70bad627}
.joystick-axis.x{height:1px;left:13px;right:13px;top:50%}
.joystick-axis.y{width:1px;top:13px;bottom:13px;left:50%}
#joystick-thumb{position:absolute;display:block;width:44px;height:44px;left:calc(50% - 22px);top:calc(50% - 22px);border-radius:50%;border:1px solid #a8eaffbf;background:radial-gradient(circle at 35% 25%,#a1e8ff,#3299cbd9);box-shadow:0 4px 13px #00172c7a;pointer-events:none}
.joystick-caption{position:absolute;bottom:-24px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:2px;color:#adc8dc;pointer-events:none}
.reference-tabs{flex-wrap:wrap}
@media(max-width:1150px){.walking .scene-title h1{font-size:27px}.walking .bottom-area{right:20px;top:27px}.walking .camera-toolbar button:first-child span{display:none}}
@media(max-width:900px){.walking .scene-title h1{font-size:24px}.walking .scene-title p{max-width:320px;line-height:1.7;font-size:11px}.walking .bottom-area{top:174px;right:16px;left:auto;bottom:auto}.walking .camera-toolbar{padding:4px;gap:2px}.walking .camera-toolbar button{min-width:31px;width:31px;height:31px}.walking .camera-toolbar button:first-child{padding:0}.walk-hud{left:auto;right:20px;bottom:57px;transform:none;display:flex;flex-direction:column;align-items:flex-end;gap:13px;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none}.walk-guide{border:1px solid #527d9459;background:#0b2333d9;padding:10px 12px;border-radius:10px}.walk-guide strong{font-size:12px}.desktop-guide{display:none}.touch-guide{display:block;grid-column:1/-1;font-size:10px;color:#abc4d4}.walk-actions{gap:6px}.walk-actions button{padding:0 11px;gap:6px;height:45px;box-shadow:0 5px 18px #03132159}.walk-actions kbd{display:none}.joystick{display:block}.walking .scene-note{max-width:calc(100% - 30px);line-height:1.5;font-size:8px}.view-nav button{padding:10px 11px}.reference-tabs button{font-size:12px;padding:9px 11px}}
@media(max-width:450px){.view-nav{right:16px;width:max-content;max-width:calc(100% - 32px);gap:2px;padding:4px}.view-nav button{padding:9px 11px;font-size:12px;gap:0}.view-nav button svg{display:none}.walking .scene-title h1{font-size:22px}.walking .scene-title p{max-width:300px;font-size:10px}.walking .bottom-area{top:165px}.joystick{left:20px;width:108px;height:108px;bottom:59px}.walk-hud{right:16px;bottom:57px}.walk-actions button{padding:0 10px;font-size:11px}.walk-actions svg{width:18px;height:18px}}
@media(hover:none) and (min-width:901px){.joystick{display:block}.walk-hud{left:auto;right:24px;transform:none}.desktop-guide{display:none}.touch-guide{display:block;grid-column:1/-1;color:#abc4d4;font-size:11px}.walk-actions kbd{display:none}}
@media(max-height:580px) and (max-width:900px){#workspace{min-height:0}.walking .scene-title{top:13px}.walking .scene-title h1{font-size:20px;margin:5px 0}.walking .scene-title p{display:none}.walking .view-nav{top:83px}.walking .bottom-area{top:20px;right:14px}.joystick{bottom:38px;width:95px;height:95px}.walk-hud{bottom:33px;gap:8px}.walk-guide{padding:7px 10px}.touch-guide{display:none}}

/* The hardware, its installation point, and its function share one view. */
#solution-leaders{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
#solution-leaders path{fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.88}
#solution-leaders circle{stroke:#ebfcff;stroke-width:1.5}
#labels{position:absolute;inset:0;pointer-events:none;z-index:3}
.solution-hotspot{pointer-events:auto;cursor:pointer;padding:0;border:0;background:none!important;font-family:inherit}
.solution-hotspot .pin{display:none}
.solution-hotspot .label-text{font-size:12px;font-weight:600;padding:9px 11px;border:1px solid currentColor;box-shadow:0 5px 18px #06101c66;background:#081c31f2;color:#bddeff}
.solution-hotspot.green .label-text{color:#a4f5ce;background:#102e2af2}
.solution-hotspot.cyan .label-text{color:#99f3f6;background:#082b33f2}
.solution-hotspot:hover .label-text{background:#1a4666}
.solution-inspection .equipment-nav{display:none}
.solution-inspection .scene-title{top:24px;left:30px;z-index:4}
.solution-inspection .scene-title h1{font-size:28px;margin:8px 0}
.solution-inspection .view-nav{top:110px;z-index:4}
.solution-inspection .solution-panel{top:24px;right:24px;z-index:4}
.solution-inspection .solution-intro{display:none}
.solution-inspection .solution-panel h2{font-size:23px;margin:14px 0 18px}
.solution-inspection .humidity-metrics{margin:19px 0}
.solution-inspection .solution-parts{display:none}
.solution-inspection .bottom-area{bottom:40px;z-index:4;left:calc((100% - 325px)/2)}
.solution-inspection .bottom-area .legend{display:none}
.solution-inspection .navigation-hint{display:none}
.solution-inspection .source-note{font-size:11px;line-height:1.65}
.solution-inspection .switch-row:has(#motion-toggle){display:none}
.solution-tabs{grid-template-columns:1fr 1.4fr 1fr 1fr 1fr}
.solution-tabs button,.solution-shortcuts button{white-space:nowrap}
.part-row b{min-width:64px;white-space:nowrap}
.solution-location{border-top:1px solid #38556c77;margin-top:18px;padding-top:16px;position:relative}
.solution-location .section-label{font-size:10px;letter-spacing:1px;color:#7f9db5}
.solution-location strong{display:block;color:#e1f2ff;font-size:15px;line-height:1.55;margin:7px 0 8px;font-weight:600;word-break:keep-all}
.solution-location p{font-size:13px;line-height:1.75;color:#aac1d5;margin:0 0 10px;word-break:keep-all}
.solution-location>small{display:block;font-size:10px;line-height:1.6;color:#7f9eb5;margin-top:8px}
.reveal-control{display:flex;align-items:center;gap:8px;background:#194052;border:1px solid #43849677;border-radius:6px;padding:9px 10px;font-size:12px;color:#a9e8f1;cursor:pointer}
.reveal-control input{accent-color:#41d9e9;width:15px;height:15px;margin:0}
.solution-shortcuts{position:absolute;left:30px;top:230px;z-index:5;padding:12px 13px;border:1px solid #345c7677;border-radius:12px;background:#0a2233e8;backdrop-filter:blur(12px)}
.solution-shortcuts>span{display:block;font-size:11px;color:#a0c1d6;margin-bottom:10px;letter-spacing:.3px}
.solution-shortcuts>div{display:flex;gap:6px}
.solution-shortcuts button{display:flex;align-items:center;gap:6px;color:#dbeffc;background:#183950;border:1px solid #47748d55;border-radius:6px;padding:9px 10px;font-size:12px;font-weight:600}
.solution-shortcuts button small{font-size:10px;font-weight:400;color:#9ebbcc}
.solution-shortcuts i{width:6px;height:6px;border-radius:50%}
@media(max-width:1150px){.solution-inspection .scene-title{left:20px}.solution-inspection .scene-title h1{font-size:25px}.solution-inspection .view-nav{left:20px}.solution-inspection .solution-panel{width:288px;right:20px}.solution-inspection .bottom-area{max-width:calc(100% - 350px)}.solution-shortcuts{left:20px}}
@media(max-width:900px){
  .solution-inspection .scene-title{top:18px;left:18px}.solution-inspection .scene-title h1{font-size:23px;margin:7px 0}.solution-inspection .scene-title p{font-size:11px}
  .solution-inspection .view-nav{top:92px;left:16px}
  .solution-inspection .solution-panel{top:auto;bottom:30px;left:16px;right:16px;width:auto;padding:11px 13px;max-height:208px;overflow-y:auto;border-radius:12px}
  .solution-inspection .solution-panel h2,.solution-inspection .panel-top,.solution-inspection .source-note{display:none}
  .solution-inspection .solution-tabs button{font-size:13px;padding:8px 0}
  .solution-location{margin-top:9px;padding-top:0;border:0}
  .solution-location .section-label{display:none}.solution-location strong{font-size:12px;line-height:1.55;margin:0 0 3px}
  .solution-location p{font-size:11px;line-height:1.55;margin-bottom:4px}
  .solution-location>small{font-size:9px;margin:3px 0 0}
  .reveal-control{position:absolute;right:0;top:0;background:none;border:0;padding:0;font-size:10px;gap:5px}
  .solution-location:has(.reveal-control:not([hidden])) strong{max-width:calc(100% - 105px)}
  .reveal-control input{width:13px;height:13px}
  .solution-inspection .humidity-metrics{margin:9px 0 6px;gap:14px}
  .solution-inspection .humidity-metrics>div{display:flex;align-items:center;gap:8px}
  .solution-inspection .humidity-metrics>div+div{padding-left:14px}
  .solution-inspection .humidity-metrics span{font-size:10px;margin:0}
  .solution-inspection .humidity-metrics strong{font-size:21px}
  .solution-inspection .humidity-metrics strong small{font-size:9px}
  .solution-inspection .meter{display:none}
  .solution-inspection .view-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding-top:4px}
  .solution-inspection .switch-row{min-height:25px;gap:4px}.solution-inspection .switch-row>span{font-size:10px;gap:0;white-space:nowrap}.solution-inspection .switch-row svg{display:none}.solution-inspection .switch-row>i{flex-shrink:0;width:27px;height:16px}.solution-inspection .switch-row>i:after{width:10px;height:10px}.solution-inspection .switch-row input:checked+i:after{transform:translateX(11px)}
  .solution-inspection .bottom-area{top:139px;bottom:auto;left:auto;right:17px;max-width:none}
  .solution-inspection .camera-toolbar{display:flex;padding:3px}.solution-inspection .camera-toolbar button{height:28px;min-width:28px}.solution-inspection .camera-toolbar button:first-child{padding:0}.solution-inspection #auto-orbit,.solution-inspection #fullscreen{display:none}
  .solution-hotspot .label-text{font-size:10px;padding:7px 9px}
  .solution-shortcuts{top:165px;left:16px;right:16px;padding:9px 10px;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 32px)}
  .solution-shortcuts>span{font-size:10px;line-height:1.6;max-width:72px;margin:0}.solution-shortcuts>div{gap:5px}.solution-shortcuts button{font-size:12px;padding:8px 9px}.solution-shortcuts button small{display:none}
  .walking .bottom-area{top:231px}
}
@media(max-width:450px){.view-nav button{padding:9px 10px;font-size:11px}.solution-inspection .scene-title h1{font-size:21px}.solution-inspection .solution-panel{left:12px;right:12px;padding:10px 12px}.solution-inspection .scene-note{font-size:8px}.solution-inspection .solution-location p{font-size:10px}.solution-inspection .humidity-metrics strong{font-size:19px}.solution-inspection .humidity-metrics>div{gap:6px}.solution-inspection .view-controls{gap:8px}}
@media(max-height:580px) and (max-width:900px){.solution-inspection .scene-title{top:10px}.solution-inspection .scene-title h1{font-size:19px}.solution-inspection .scene-title p{display:none}.solution-inspection .view-nav{top:72px}.solution-inspection .solution-panel{bottom:24px;max-height:96px;left:auto;width:310px;right:12px}.solution-inspection .solution-location p,.solution-inspection .solution-location>small,.solution-inspection .humidity-metrics,.solution-inspection .view-controls{display:none}.solution-inspection .solution-location{margin-top:6px}.solution-inspection .bottom-area{top:12px}.solution-shortcuts{top:135px}.walking .bottom-area{top:20px}}
