:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18302c;background:#e8edec}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button{font:inherit;cursor:pointer}.model-viewer{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 48% 43%,#fff 0%,#e8edec 55%,#cad6d4 100%)}.viewport{position:absolute;inset:0;touch-action:none;cursor:grab}.viewport:active{cursor:grabbing}.viewport canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}.fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.65}.viewport.loaded .fallback{display:none}.loading{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:11px;border:1px solid #c6d2cf;padding:12px 17px;border-radius:10px;background:#ffffffed;box-shadow:0 10px 40px #58726a2e;font-size:13px;font-weight:600;white-space:nowrap}.loader{width:16px;height:16px;border:2px solid #9ec979;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toolbar{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:clamp(15px,2.7vw,34px);pointer-events:none}.toolbar>*{pointer-events:auto}.identity{display:flex;flex-direction:column;gap:4px;text-shadow:0 1px 12px #fff}.identity strong{font-size:clamp(22px,2.3vw,33px);font-weight:900;letter-spacing:-.07em;color:#123b29}.identity strong span{margin-left:8px;color:#40945f;font-weight:600;letter-spacing:-.04em}.identity small{font-size:9px;font-weight:700;letter-spacing:.19em;color:#548071}.tools{display:flex;gap:7px}.tools button{background:#ffffffdb;border:1px solid #c9d6d2;border-radius:8px;padding:10px 12px;box-shadow:0 3px 15px #46625417;color:#1f4a3c;font-size:13px;font-weight:700}.tools button:hover,.toggle-all:hover{background:#f2fff0;border-color:#72ae7c}.controls{position:absolute;z-index:4;left:50%;bottom:clamp(18px,3vw,34px);transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:8px;background:#ffffffeb;border:1px solid #cbd8d4;border-radius:14px;box-shadow:0 8px 36px #385e5036;max-width:calc(100vw - 22px)}.controls-title{font-size:10px;font-weight:800;letter-spacing:.13em;color:#718980;padding:0 8px}.flow-chip{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 12px;border:1px solid #d8e4df;border-radius:8px;color:#263c34;font-size:12px;font-weight:700;cursor:pointer;user-select:none;background:#fff;transition:opacity .2s,background .2s}.flow-chip:hover{background:#f4faf6}.flow-chip:has(input:not(:checked)){opacity:.4;background:#f4f6f5}.flow-chip:focus-within{outline:2px solid #3e9d62;outline-offset:1px}.flow-chip input{position:absolute;opacity:0;width:1px;height:1px}.flow-chip i{display:block;flex:none;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px #0000000b}.energy i{background:#7ac847}.heating i{background:#ed5349}.cold i{background:#2eb9d6}.hot i{background:#f0993c}.toggle-all{border:0;background:transparent;color:#558269;font-size:11px;font-weight:700;white-space:nowrap;padding:9px}.hint{position:absolute;z-index:3;left:50%;bottom:1px;transform:translateX(-50%);margin:0;color:#607c72;font-size:10px;text-align:center;white-space:nowrap;text-shadow:0 1px 8px #fff}.mobile-hint{display:none}.viewer-error .fallback{opacity:1}.viewer-error .loading{white-space:normal;max-width:min(360px,80vw)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.toolbar{padding:12px}.identity strong{font-size:21px}.identity small{font-size:7px}.tools button{padding:8px;font-size:14px}.tools button span{display:none}.controls{bottom:34px;overflow-x:auto;left:10px;right:10px;transform:none;justify-content:flex-start;scrollbar-width:none}.controls::-webkit-scrollbar{display:none}.controls-title{display:none}.flow-chip{font-size:11px;padding:9px 10px}.toggle-all{font-size:10px}.desktop-hint{display:none}.mobile-hint{display:inline}.hint{bottom:9px;font-size:9px}}
