:root{--glass:#1c181573;--glass-strong:#1c18159e;--warm:#e9c39b;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);color:#fff;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;background:#1f1b18;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}#app{-webkit-user-select:none;user-select:none;position:fixed;inset:0}#gl{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.labels{pointer-events:none;position:absolute;inset:0}#loading{z-index:50;color:#6b5a4b;background:#efe8de;justify-content:center;align-items:center;transition:opacity .9s,transform 1.1s;display:flex;position:absolute;inset:0}#loading.done{opacity:0;pointer-events:none;transform:scale(1.04)}.boot{text-align:center;flex-direction:column;align-items:center;padding:0 24px;display:flex}.boot-orb{background:#a86f4b;border-radius:50%;width:10px;height:10px;margin-bottom:18px;animation:1.6s both boot-orb}.boot-brand{letter-spacing:6px;color:#3d2c1f;font-size:22px;font-weight:700;animation:.9s .15s both boot-up}.boot-rule{background:#c4a27a;width:72px;height:1px;margin:14px 0 12px;animation:.7s .45s forwards boot-rule;transform:scaleX(0)}.boot-sub{letter-spacing:2px;color:#8a7360;margin:0;font-size:13px;animation:.8s .5s both boot-up}#loadingText{letter-spacing:2px;color:#9a8776;margin:22px 0 0;font-size:12px}@keyframes boot-orb{0%{opacity:0;transform:scale(.4)}40%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes boot-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes boot-rule{to{transform:scaleX(1)}}#hud{pointer-events:none;transition:opacity .7s;position:absolute;inset:0}#hud>*{pointer-events:auto}body.clear #hud,body.clear .labels,body.booting #hud,body.booting .labels{opacity:0;pointer-events:none}body.clear #hud>*,body.booting #hud>*{pointer-events:none}.top-left{left:14px;top:calc(12px + var(--safe-t));text-shadow:0 1px 6px #00000059;position:absolute;pointer-events:none!important}.brand{letter-spacing:2px;font-size:15px;font-weight:700}.schemes{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex;pointer-events:auto!important}.scheme-btn{color:#fff;text-shadow:none;background:var(--glass);-webkit-backdrop-filter:blur(8px);border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 5px;font-size:11px;display:flex}.scheme-btn .ver{background:#ffffff29;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:grid}.scheme-btn.on{color:#3d2c1f;background:#e9c39beb;border-color:#0000}.scheme-btn.on .ver{color:#f4e6d4;background:#3d2c1f}.room-chip{background:var(--glass);-webkit-backdrop-filter:blur(8px);text-shadow:none;border-radius:999px;margin-top:8px;padding:4px 10px;font-size:12px;display:inline-block}.quality{opacity:0;text-shadow:0 1px 4px #00000080;margin-top:6px;font-size:11px;transition:opacity .3s}.quality.show{opacity:.9}.minimap{right:10px;top:calc(10px + var(--safe-t));-webkit-backdrop-filter:blur(8px);background:#46403a9e;border-radius:6px;width:122px;transition:opacity .25s;position:absolute;overflow:hidden}.minimap canvas{width:122px;height:150px;display:block}.minimap button{text-align:center;color:#fff;width:100%;padding:6px 0 8px;font-size:12px;display:block}body.overview .minimap{opacity:0;pointer-events:none}.side{right:12px;bottom:calc(96px + var(--safe-b));flex-direction:column;gap:14px;display:flex;position:absolute}.side-btn{flex-direction:column;align-items:center;gap:4px;display:flex}.side-btn .ic{background:var(--glass-strong);-webkit-backdrop-filter:blur(8px);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.side-btn svg{fill:none;stroke:#fff;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.side-btn .tx{text-shadow:0 1px 4px #00000080;font-size:11px}.side-btn.on .ic{background:#a86f4bd9}.rooms{padding:10px 12px calc(14px + var(--safe-b));scrollbar-width:none;background:linear-gradient(#14110f00,#14110f8c);gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.rooms::-webkit-scrollbar{display:none}.rooms button{background:var(--glass);-webkit-backdrop-filter:blur(8px);border:1px solid #ffffff1f;border-radius:999px;flex:none;padding:7px 14px;font-size:13px}.rooms button.active{color:#3d2c1f;background:#e9c39beb;border-color:#0000;font-weight:600}.hint{background:var(--glass-strong);white-space:nowrap;border-radius:10px;padding:10px 16px;font-size:13px;transition:opacity .6s;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);pointer-events:none!important}.hint.hide{opacity:0}#exitClear{right:12px;bottom:calc(20px + var(--safe-b));background:var(--glass-strong);border-radius:999px;padding:8px 14px;font-size:12px;display:none;position:absolute}body.clear #exitClear{display:block}.tag{pointer-events:auto;color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(6px);cursor:pointer;background:#1e1a178c;border:1px solid #ffffff2e;border-radius:999px;padding:5px 11px;font-size:12px;transition:opacity .2s}.tag:before{content:"";background:var(--warm);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.tag.hidden{opacity:0;pointer-events:none}.tag.big{padding:6px 12px;font-size:13px}.tag small{opacity:.7;margin-left:6px;font-size:11px}#planModal{z-index:30;opacity:0;pointer-events:none;background:#00000059;align-items:flex-end;transition:opacity .25s;display:flex;position:absolute;inset:0}#planModal.open{opacity:1;pointer-events:auto}#planModal .sheet{color:#4a3f36;width:100%;padding:0 16px calc(16px + var(--safe-b));background:#fbf8f3;border-radius:18px 18px 0 0;transition:transform .25s;transform:translateY(30px)}#planModal.open .sheet{transform:none}#planModal header{justify-content:space-between;align-items:center;padding:16px 2px 8px;font-size:16px;font-weight:600;display:flex}#planModal header button{color:#6b5a4b;background:#efe8de;border-radius:50%;width:30px;height:30px}#planCanvas{width:100%;height:min(62vh,520px);display:block}.plan-tip{text-align:center;color:#8b7a6b;margin:6px 0 0;font-size:12px}#fade{opacity:0;pointer-events:none;z-index:20;background:#f4eee6;transition:opacity .22s;position:absolute;inset:0}#fade.on{opacity:1}
