*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;font-family:Segoe UI,system-ui,sans-serif;background:#111;color:#fff}#scene-canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.hidden{display:none!important}#welcome-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#141419eb,#3c2814e0);z-index:100;text-align:center;cursor:pointer}#welcome-screen h1{font-size:4.5rem;margin-bottom:1rem}#welcome-screen p{font-size:2rem;opacity:.85;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}#room-select-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#141419f5;z-index:100;text-align:center}#room-select-screen h2{font-size:2.6rem;margin-bottom:2.5rem}#room-tiles{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;max-width:90%}.room-tile{width:220px;height:220px;border-radius:18px;border:4px solid transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:18px;font-size:1.4rem;color:#111;text-shadow:0 1px 2px rgba(255,255,255,.5)}.room-tile:active{border-color:#c0392b}.idle-warning{position:fixed;top:24px;left:50%;transform:translate(-50%);background:#c82828f2;padding:20px 36px;border-radius:12px;font-size:1.6rem;z-index:90}#top-bar{position:fixed;top:16px;left:16px;right:16px;display:flex;gap:12px;z-index:20}#search-input{flex:1;font-size:1.6rem;padding:16px 20px;border-radius:12px;border:none;background:#ffffffeb;color:#111}.icon-btn{font-size:1.4rem;padding:14px 22px;border-radius:12px;border:none;background:#ffffffe6;color:#111;cursor:pointer;min-width:64px;white-space:nowrap;flex-shrink:0}.icon-btn:active{background:#ddd}.room-size-panel{position:fixed;top:100px;left:16px;display:flex;flex-direction:column;gap:10px;background:#141414d9;padding:14px 16px;border-radius:16px;z-index:20}.room-size-row{display:flex;align-items:center;gap:10px;color:#fff;font-size:1.1rem}.room-size-row span{min-width:90px}.dim-input{width:56px;text-align:center;font-size:1.1rem;padding:8px 4px;border-radius:8px;border:none;background:#fffffff2;color:#111}.dim-unit{min-width:0!important;color:#ffffffb3}#roof-direction-row .icon-btn.small{min-width:140px}.icon-btn.small{font-size:1.3rem;padding:8px 16px;min-width:44px}.toolbar{position:fixed;top:100px;right:16px;display:flex;flex-direction:column;gap:12px;z-index:20}.toolbar .icon-btn{font-size:1.5rem;padding:20px 28px}#btn-delete{background:#dc3c3ceb;color:#fff}.swatch-search-bar{position:fixed;top:88px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:27;width:min(90%,420px)}.swatch-search-bar input{flex:1;font-size:1.2rem;padding:12px 16px;border-radius:12px;border:none;background:#fffffff2;color:#111}.zone-bar{position:fixed;bottom:300px;left:50%;transform:translate(-50%);display:flex;gap:12px;background:#141414d9;padding:14px 16px;border-radius:16px;z-index:26}.zone-btn{font-size:1.2rem;padding:14px 26px;border-radius:12px;border:none;background:#ffffffe6;color:#111;cursor:pointer;white-space:nowrap}.zone-btn.active{background:#c0392b;color:#fff}.swatch-bar{position:fixed;bottom:220px;left:50%;transform:translate(-50%);display:flex;gap:14px;background:#141414d9;padding:16px;border-radius:16px;z-index:25;max-width:90%;overflow-x:auto;align-items:flex-start}.swatch-item{display:flex;flex-direction:column;align-items:center;gap:6px;width:78px;flex-shrink:0}.swatch{width:72px;height:72px;border-radius:12px;border:4px solid transparent;cursor:pointer;flex-shrink:0}.swatch.active{border-color:#fff}.swatch-label{font-size:.78rem;color:#fff;text-align:center;line-height:1.2;max-width:78px}.swatch-empty{color:#fff;opacity:.75;font-size:1rem;padding:8px 4px;white-space:nowrap}#catalog-bar{position:fixed;bottom:0;left:0;right:0;background:#0f0f12eb;padding:16px;z-index:15}#category-tabs{display:flex;gap:10px;margin-bottom:12px;overflow-x:auto}.category-tab{font-size:1.3rem;padding:12px 22px;border-radius:24px;border:none;background:#ffffff1f;color:#fff;cursor:pointer;white-space:nowrap}.category-tab.active{background:#c0392b}#catalog-items{display:flex;gap:16px;overflow-x:auto;padding-bottom:4px}.catalog-item{flex-shrink:0;width:130px;height:130px;border-radius:14px;background:#ffffffe6;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1rem;text-align:center;cursor:grab;padding:8px}.catalog-item .swatch-preview{width:48px;height:48px;border-radius:8px;margin-bottom:8px}#keyboard-container{position:fixed;bottom:210px;left:0;right:0;z-index:50;background:#1c1c1e;padding:12px;border-radius:16px 16px 0 0}#keyboard-container .hg-button{color:#111;font-size:1.3rem}#btn-finish{position:fixed;bottom:200px;right:16px;font-size:1.3rem;padding:18px 28px;border-radius:14px;border:none;background:#27ae60;color:#fff;z-index:20;cursor:pointer}/*!
 * 
 *   simple-keyboard v3.8.187
 *   https://github.com/hodgef/simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 */.hg-theme-default{background-color:#ececec;border-radius:5px;box-sizing:border-box;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;overflow:hidden;padding:5px;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.hg-theme-default .hg-button span,.hg-theme-default .hg-button span svg{pointer-events:none}.hg-theme-default button.hg-button{border-width:0;font-size:inherit}.hg-theme-default .hg-button{display:inline-block;flex-grow:1}.hg-theme-default .hg-row{display:flex}.hg-theme-default .hg-row:not(:last-child){margin-bottom:5px}.hg-theme-default .hg-row .hg-button-container,.hg-theme-default .hg-row .hg-button:not(:last-child){margin-right:5px}.hg-theme-default .hg-row>div:last-child{margin-right:0}.hg-theme-default .hg-row .hg-button-container{display:flex}.hg-theme-default .hg-button{align-items:center;background:#fff;border-bottom:1px solid #b5b5b5;border-radius:5px;box-shadow:0 0 3px -1px #0000004d;box-sizing:border-box;cursor:pointer;display:flex;height:40px;justify-content:center;padding:5px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.hg-theme-default .hg-button.hg-standardBtn{width:20px}.hg-theme-default .hg-button.hg-activeButton{background:#efefef}.hg-theme-default.hg-layout-numeric .hg-button{align-items:center;display:flex;height:60px;justify-content:center;width:33.3%}.hg-theme-default .hg-button.hg-button-numpadadd,.hg-theme-default .hg-button.hg-button-numpadenter{height:85px}.hg-theme-default .hg-button.hg-button-numpad0{width:105px}.hg-theme-default .hg-button.hg-button-com{max-width:85px}.hg-theme-default .hg-button.hg-standardBtn.hg-button-at{max-width:45px}.hg-theme-default .hg-button.hg-selectedButton{background:#05194687;color:#fff}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn=".com"]{max-width:82px}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="@"]{max-width:60px}.hg-candidate-box{background:#ececec;border-bottom:2px solid #b5b5b5;border-radius:5px;display:inline-flex;margin-top:-10px;position:absolute;transform:translateY(-100%);-webkit-user-select:none;-moz-user-select:none;user-select:none}ul.hg-candidate-box-list{display:flex;flex:1;list-style:none;margin:0;padding:0}li.hg-candidate-box-list-item{align-items:center;display:flex;height:40px;justify-content:center;width:40px}li.hg-candidate-box-list-item:hover{background:#00000008;cursor:pointer}li.hg-candidate-box-list-item:active{background:#0000001a}.hg-candidate-box-prev:before{content:"◄"}.hg-candidate-box-next:before{content:"►"}.hg-candidate-box-next,.hg-candidate-box-prev{align-items:center;color:#969696;cursor:pointer;display:flex;padding:0 10px}.hg-candidate-box-next{border-bottom-right-radius:5px;border-top-right-radius:5px}.hg-candidate-box-prev{border-bottom-left-radius:5px;border-top-left-radius:5px}.hg-candidate-box-btn-active{color:#444}
