@font-face{font-family:Inter;src:url(/fonts/inter-600.woff)format("woff");font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-700.woff)format("woff");font-weight:700 800;font-display:swap}:root{--bg:#e9e4dc;--ink:#fff6e8;--chip:#181614b8;--chip-active:#ffb45c;--chip-active-ink:#1d1409}*{box-sizing:border-box}html,body{background:var(--bg);overscroll-behavior:none;height:100%;margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}.room{position:fixed;inset:0;overflow:hidden}.brand{background:var(--chip);color:var(--ink);pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:10px;padding:8px 14px;font-size:14px;font-weight:600;display:flex;position:absolute;top:12px;left:12px}.brand img{height:18px}.views{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--chip);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;gap:4px;padding:4px;display:flex;position:absolute;transform:translate(-50%)}.views button{min-height:44px;color:var(--ink);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 16px;font:600 14px Inter,Segoe UI,Arial,sans-serif}.views button.active{background:var(--chip-active);color:var(--chip-active-ink)}.views button:focus-visible,.overlay-head button:focus-visible{outline:2px solid var(--chip-active);outline-offset:2px}.overlay{background:#0a0c0c99;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.overlay-card{background:#07110d;border:1px solid #1f4a31;border-radius:12px;width:min(100%,1100px);overflow:hidden}.overlay-head{color:#d7f5e1;justify-content:space-between;align-items:center;padding:8px 8px 8px 14px;font-size:14px;font-weight:700;display:flex}.overlay-head button{color:#d7f5e1;cursor:pointer;background:#11251a;border:0;border-radius:8px;width:44px;height:44px;font-size:16px}.overlay canvas{width:100%;height:auto;display:block}@media (max-width:420px){.views button{padding:10px 12px;font-size:13px}.brand span{font-size:13px}}.roombar{background:var(--chip);color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:6px;padding:4px;font-size:14px;font-weight:600;display:flex;position:absolute;top:12px;right:12px}.roombar-me,.roombar-count{white-space:nowrap;padding:0 8px 0 10px}.roombar-btn{min-height:44px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#ffffff1f;border:0;border-radius:999px;align-items:center;padding:6px 16px;font:600 14px Inter,Segoe UI,Arial,sans-serif;text-decoration:none;display:inline-flex}.roombar-btn.primary{background:var(--chip-active);color:var(--chip-active-ink)}.roombar-btn:disabled{opacity:.6}.roombar-light{gap:6px;padding:6px 12px}.roombar-light.on{background:var(--chip-active);color:var(--chip-active-ink)}.roombar-btn:focus-visible{outline:2px solid var(--chip-active);outline-offset:2px}@media (max-width:480px){.brand span,.roombar-count{display:none}.roombar-light-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.roombar-light{padding:6px 12px}}.toast{background:var(--chip);width:max-content;max-width:calc(100% - 32px);color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;align-items:center;gap:8px;margin:0;padding:4px 4px 4px 16px;font-size:14px;font-weight:600;display:flex;position:absolute;top:76px;left:50%;transform:translate(-50%)}.toast button{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;font-size:16px}.toast-warn{border:1px solid var(--chip-active);padding:12px 16px}.toast button:focus-visible,.room-status button:focus-visible,.wall-keys button:focus-visible{outline:2px solid var(--chip-active);outline-offset:2px}.room.entered .views{bottom:calc(76px + env(safe-area-inset-bottom))}.actions{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));gap:8px;width:min(100% - 32px,480px);display:flex;position:absolute;transform:translate(-50%)}.actions button{text-overflow:ellipsis;background:var(--chip-active);min-width:0;min-height:48px;color:var(--chip-active-ink);white-space:nowrap;cursor:pointer;border:0;border-radius:12px;flex:1 1 0;padding:10px 8px;font:700 15px Inter,Segoe UI,Arial,sans-serif;overflow:hidden}.actions button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (max-width:400px){.actions{gap:6px}.actions button{padding:10px 4px;font-size:14px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room{--chat-w:clamp(200px, 50vw, 340px)}.chat-tab{z-index:4;background:var(--chip-active);width:36px;min-height:124px;color:var(--chip-active-ink);cursor:pointer;border:0;border-radius:0 12px 12px 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px 0;font:700 13px Inter,Segoe UI,Arial,sans-serif;transition:left .2s;display:flex;position:absolute;top:52%;left:0;transform:translateY(-50%)}.chat-tab:before{content:"";position:absolute;inset:0 -8px 0 0}.chat-tab.open{left:var(--chat-w)}.chat-tab-label{writing-mode:vertical-rl;letter-spacing:.03em;white-space:nowrap;transform:rotate(180deg)}.chat-tab-badge{background:var(--chip-active-ink);min-width:20px;height:20px;color:var(--chip-active);border-radius:999px;place-items:center;padding:0 5px;font:700 12px/1 Inter,Segoe UI,Arial,sans-serif;display:grid}.chat-tab:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.chat{--chat-muted:#c9bfb3;z-index:3;width:var(--chat-w);height:clamp(220px,50dvh,460px);color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);visibility:hidden;background:#181614e0;border:1px solid #f4ece329;border-left:0;border-radius:0 14px 14px 0;flex-direction:column;transition:transform .2s,visibility 0s linear .2s;display:flex;position:absolute;top:64px;left:0;overflow:hidden;transform:translate(-100%)}.chat.open{visibility:visible;transition:transform .2s;transform:none}@media (prefers-reduced-motion:reduce){.chat,.chat.open,.chat-tab{transition:none}}.chat-head{border-bottom:1px solid #f4ece31f;align-items:center;gap:6px;padding:0 2px 0 12px;display:flex}.chat-head h2{white-space:nowrap;margin:0;font-size:13px}.chat-head small{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--chat-muted);flex:1;font-size:11px;overflow:hidden}.chat-head button{width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:14px}.chat-log{overscroll-behavior:contain;flex-direction:column;flex:1;gap:5px;min-height:0;margin:0;padding:8px 10px;list-style:none;display:flex;overflow-y:auto}.chat-msg{overflow-wrap:anywhere;font-size:12px;line-height:1.35}.chat-meta{align-items:baseline;gap:5px;margin-right:5px;display:inline-flex}.chat-who{font-weight:700}.chat-msg.mine .chat-who{color:var(--chip-active)}.chat-dept,.chat-meta time{color:var(--chat-muted);font-variant-numeric:tabular-nums;font-size:10px}.chat-tag{background:var(--chip-active);color:var(--chip-active-ink);border-radius:4px;padding:1px 4px;font-size:10px;font-weight:700}.chat-day{text-align:center;color:var(--chat-muted);margin:4px 0 6px;font-size:10px;display:block}.chat-empty{text-align:center;color:var(--chat-muted);margin:auto 0;font-size:12px}.chat-form{border-top:1px solid #f4ece31f;flex-wrap:wrap;gap:6px;padding:8px;display:flex}.chat-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.chat-form input{min-width:0;min-height:40px;color:var(--ink);background:#2a2521;border:1px solid #8d8174;border-radius:10px;flex:1;padding:6px 10px;font:500 16px Inter,Segoe UI,Arial,sans-serif}.chat-form button{background:var(--chip-active);min-height:40px;color:var(--chip-active-ink);cursor:pointer;border:0;border-radius:10px;padding:6px 12px;font:700 13px Inter,Segoe UI,Arial,sans-serif}.chat-form button:disabled{opacity:.5;cursor:default}.chat-count{color:var(--chat-muted);flex-basis:100%;font-size:11px}.chat-head button:focus-visible,.chat-form input:focus-visible,.chat-form button:focus-visible{outline:2px solid var(--chip-active);outline-offset:2px}@media (min-width:900px){.room{--chat-w:340px}.chat{height:clamp(260px,100dvh - 214px,520px)}.chat-msg{font-size:13px}}.joystick{left:16px;bottom:calc(140px + env(safe-area-inset-bottom));background:var(--chip);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none;-webkit-user-select:none;user-select:none;border:2px solid #f4ece38c;border-radius:50%;place-items:center;width:88px;height:88px;display:none;position:absolute}.joystick-knob{background:var(--chip-active);pointer-events:none;border-radius:50%;width:36px;height:36px}@media (hover:none) and (pointer:coarse){.joystick{display:grid}}.roommenu{position:relative}.roommenu-list{z-index:6;background:#1b1815;border:1px solid #3a322b;border-radius:12px;min-width:180px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.roommenu-list button{min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 14px;font:600 15px Inter,Segoe UI,Arial,sans-serif}.roommenu-list button:hover{background:#2a2521}.roommenu-list button:focus-visible{outline:2px solid var(--chip-active);outline-offset:-2px}.sheet-backdrop{z-index:5;background:#0a0c0c73;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{--sheet-bg:#1b1815;--sheet-item:#2a2521;--sheet-line:#8d8174;--sheet-muted:#c9bfb3;width:min(100%,480px);max-height:75dvh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));background:var(--sheet-bg);color:var(--ink);border-radius:16px 16px 0 0;overflow-y:auto}.sheet.sheet-tall{max-height:88dvh}.sheet-head{z-index:1;background:var(--sheet-bg);justify-content:space-between;align-items:center;margin-top:-8px;padding-top:8px;display:flex;position:sticky;top:0}.sheet-head h2{margin:0;font-size:17px}.sheet-head button{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:16px}.sheet-list{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.sheet-list button{border:1px solid var(--sheet-line);background:var(--sheet-item);width:100%;min-height:56px;color:var(--ink);text-align:left;cursor:pointer;border-radius:10px;padding:8px 12px;font:700 15px Inter,Segoe UI,Arial,sans-serif}.sheet-list button small{color:var(--sheet-muted);margin-top:2px;font-size:12px;font-weight:500;display:block}.sheet-list button[aria-pressed=true]{border-color:var(--chip-active);box-shadow:inset 0 0 0 1px var(--chip-active)}.sheet-list button:disabled{cursor:default;opacity:.55}.sheet-msg{margin:8px 0 16px;font-size:16px;font-weight:600}.sheet-msg small{color:var(--sheet-muted);margin-top:4px;font-size:13px;font-weight:500;display:block}.sheet-msg time{font-variant-numeric:tabular-nums}.sheet-form{gap:6px;margin:8px 0 12px;display:grid}.sheet-form label{font-size:14px;font-weight:600}.sheet-form input{border:1px solid var(--sheet-line);background:var(--sheet-item);min-height:48px;color:var(--ink);border-radius:10px;padding:10px 12px;font:500 16px Inter,Segoe UI,Arial,sans-serif}.sheet-form input:focus-visible{outline:2px solid var(--chip-active);outline-offset:2px}.sheet-row{gap:8px;display:flex}.sheet-primary,.sheet-secondary{cursor:pointer;border-radius:10px;flex:1;min-height:48px;margin-top:12px;padding:10px 16px;font:700 15px Inter,Segoe UI,Arial,sans-serif}.sheet-row .sheet-primary,.sheet-row .sheet-secondary{margin-top:0}.sheet-primary{background:var(--chip-active);color:var(--chip-active-ink);border:0}.sheet-secondary{border:1px solid var(--sheet-line);width:100%;color:var(--ink);background:0 0}.sheet button:focus-visible{outline:2px solid var(--chip-active);outline-offset:2px}.sheet-sub{color:var(--sheet-muted);margin:16px 0 0;font-size:14px;font-weight:700}.sheet-head+.sheet-sub{margin-top:4px}.sheet-note,.sheet-count{color:var(--sheet-muted);margin:6px 0 0;font-size:13px}.sheet-primary.wide{width:100%}.sheet-card{grid-template-columns:max-content 1fr;gap:10px 16px;margin:8px 0;font-size:15px;display:grid}.sheet-card dt{color:var(--sheet-muted)}.sheet-card dd{overflow-wrap:anywhere;margin:0;font-weight:600}.sheet-choices{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.sheet-choices button,.swatch-original{border:1px solid var(--sheet-line);background:var(--sheet-item);min-height:44px;color:var(--ink);cursor:pointer;border-radius:10px;padding:8px 16px;font:600 15px Inter,Segoe UI,Arial,sans-serif}.sheet-choices button[aria-pressed=true],.swatch-original[aria-pressed=true]{border-color:var(--chip-active);box-shadow:inset 0 0 0 1px var(--chip-active)}.sheet-swatches{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.swatch{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.swatch span{border:1px solid #ffffff80;border-radius:50%;width:32px;height:32px}.swatch[aria-pressed=true]{border-color:var(--chip-active)}.sheet-backdrop-open{pointer-events:none;background:0 0}.sheet-backdrop-open .sheet{pointer-events:auto;box-shadow:0 -10px 28px #0006}.sheet-skin{max-height:44dvh;padding-bottom:0}.sheet-skin.collapsed{max-height:none}.sheet-head-actions{align-items:center;gap:4px;display:flex}.sheet-head .sheet-min{border:1px solid var(--sheet-line);white-space:nowrap;border-radius:999px;width:auto;height:44px;padding:0 14px;font:600 14px Inter,Segoe UI,Arial,sans-serif}.sheet-presets{scrollbar-width:none;gap:8px;margin:8px -16px 0;padding:0 16px 4px;display:flex;overflow-x:auto}.sheet-presets::-webkit-scrollbar{display:none}.sheet-presets button{border:1px solid var(--sheet-line);background:var(--sheet-item);min-height:44px;color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:8px 14px;font:600 14px Inter,Segoe UI,Arial,sans-serif}.sheet-presets button[aria-pressed=true]{border-color:var(--chip-active);box-shadow:inset 0 0 0 1px var(--chip-active)}.sheet-skin .sheet-choices button{min-height:44px;padding:8px 12px;font-size:14px}.sheet-acc{margin-top:10px}.sheet-acc>span{color:var(--sheet-muted);font-size:13px}.sheet-acc .sheet-choices{margin-top:4px}.sheet-sticky{padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--sheet-bg);border-top:1px solid #3a322b;margin:12px -16px 0;position:sticky;bottom:0}.room-status{background:var(--chip);width:max-content;max-width:calc(100% - 32px);color:var(--ink);text-align:center;border-radius:12px;margin:0;padding:12px 18px;font-size:15px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.room-status p{margin:0 0 12px}.wall-keys{background:var(--chip);clip-path:inset(50%);opacity:0;border-radius:12px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:72px;left:12px}.wall-keys:focus-within{z-index:2;clip-path:none;opacity:1}.wall-keys button{min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 14px;font:600 14px Inter,Segoe UI,Arial,sans-serif}.door-chip{left:50%;bottom:calc(140px + env(safe-area-inset-bottom));z-index:4;background:var(--chip-active);min-height:44px;color:var(--chip-active-ink);white-space:nowrap;cursor:pointer;border:0;border-radius:999px;padding:8px 18px;font:700 14px Inter,Segoe UI,Arial,sans-serif;position:absolute;transform:translate(-50%)}.door-chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.drone-panel{z-index:7;color:var(--ink);background:#1b1815;flex-direction:column;display:flex;position:absolute;inset:0}.drone-head{padding:calc(8px + env(safe-area-inset-top)) 12px 8px 16px;background:#1b1815;border-bottom:1px solid #3a332c;align-items:center;gap:8px;display:flex}.drone-head h2{white-space:nowrap;flex:1;min-width:0;margin:0;font-size:17px}.drone-body{background:#070b14;flex:1;min-height:0;position:relative}.drone-body iframe{border:0;width:100%;height:100%;display:block}.drone-cover{text-align:center;background:#1b1815;place-content:center;justify-items:center;gap:16px;padding:24px;display:grid;position:absolute;inset:0}.drone-cover p{max-width:32ch;margin:0;font-size:16px}.drone-cover small{color:#c9bfb3;margin-top:6px;font-size:13px;display:block}@media (min-width:900px){.drone-panel{border-radius:16px;inset:3vh 3vw;overflow:hidden;box-shadow:0 0 0 100vmax #0a0c0c8c}}
