.topbar{top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right))}.modal-card,.look-card{max-height:calc(100dvh - 32px)}.inv-panel{max-height:min(78dvh,640px)}@media(max-width:760px){.topbar{top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right))}.panel.left{max-height:46dvh;bottom:calc(8px + env(safe-area-inset-bottom))}.undo-bar{bottom:calc(46dvh + 16px + env(safe-area-inset-bottom))}}body.touchui{-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-user-select:none;user-select:none}body.touchui input,body.touchui textarea{-webkit-user-select:text;user-select:text}body.touchui button,body.touchui select,body.touchui a,body.touchui label{touch-action:manipulation}body.touchui input:not([type=checkbox]):not([type=radio]):not([type=range]),body.touchui select,body.touchui textarea{font-size:16px}body.touchui #walkHelp{display:none}.stick{position:fixed;z-index:12;left:calc(22px + env(safe-area-inset-left));bottom:calc(22px + env(safe-area-inset-bottom));display:grid;place-items:center;width:124px;height:124px;border-radius:50%;background:#ffffff42;border:2px solid rgba(255,255,255,.8);box-shadow:0 4px 18px #14284640,inset 0 0 0 1px #1428461f;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);touch-action:none}.stick-knob{width:56px;height:56px;border-radius:50%;background:#fffffff2;box-shadow:0 3px 10px #14284659;pointer-events:none;transition:transform .12s ease-out}.stick.on{background:#fff6}.stick.on .stick-knob{transition:none}.touch-dock{position:fixed;z-index:12;right:calc(14px + env(safe-area-inset-right));bottom:calc(30px + env(safe-area-inset-bottom));display:flex;gap:10px}.touch-dock button{position:relative;width:54px;height:54px;padding:0;border-radius:50%;font-size:24px;line-height:1;background:#fffffff2;box-shadow:var(--shadow)}.touch-dock button.on{background:#e9f7ef;border-color:#22a55b;box-shadow:0 0 0 3px #22a55b4d,var(--shadow)}#dockHand[aria-pressed=true]{background:#ffe08a;border-color:#e0b84a}#dockChat[aria-pressed=true]{background:#eaf1fd;border-color:var(--accent)}.dock-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--danger);color:#fff;font-size:12px;font-weight:800;line-height:22px}.chat-fold{display:none}body.touchui .chat-fold{display:block;flex:none;width:36px;height:36px;padding:0;font-size:20px;border-radius:50%}body.touchui:not(.chat-open) #chatPanel{display:none}body.touchui #chatPanel{z-index:13;gap:8px}body.touchui .voice-bar button,body.touchui .react-bar button{padding:7px 12px;font-size:15px}body.touchui .react-bar .help-btn{font-size:14px}body.touchui .chat-form button{padding:8px 16px}body.phone #chatPanel{left:0;right:0;bottom:0;width:auto;max-height:72dvh;overflow:auto;padding:12px calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));border-radius:20px 20px 0 0;box-shadow:0 -10px 40px #14284647}body.phone .chat-log{max-height:30dvh}body.tablet #chatPanel{left:auto;right:calc(14px + env(safe-area-inset-right));top:calc(184px + env(safe-area-inset-top));bottom:auto;width:380px;max-height:calc(100dvh - 400px);min-height:0;overflow:auto}body.tablet .chat-log{max-height:26dvh}body.touchui #seatPrompt,body.touchui #actPrompt,body.touchui #stairsPanel{bottom:calc(168px + env(safe-area-inset-bottom))}body.touchui .power-meter{bottom:calc(248px + env(safe-area-inset-bottom))}body.touchui.landscape #seatPrompt,body.touchui.landscape #actPrompt,body.touchui.landscape #stairsPanel{bottom:calc(22px + env(safe-area-inset-bottom));max-width:calc(100vw - 460px)}body.touchui.landscape .power-meter{bottom:calc(110px + env(safe-area-inset-bottom))}body.touchui .prompt{padding:10px 10px 10px 16px}body.touchui .prompt kbd,body.touchui .seat-choices .choice kbd{display:none}body.touchui .prompt button{padding:12px 16px;font-size:16px}body.phone:not(.landscape) .seat-choices{grid-template-columns:repeat(2,1fr)}body.phone:not(.landscape) .seat-choices .choice{flex-direction:row;justify-content:center;flex-wrap:wrap;padding:12px 6px}body.touchui .prompt.seated{bottom:calc(100px + env(safe-area-inset-bottom));max-height:calc(100dvh - 190px);overflow:auto}body.touchui.landscape .prompt.seated{left:auto;right:calc(84px + env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));transform:none;width:min(440px,calc(100vw - 200px));max-height:calc(100dvh - 80px)}body.phone .avatar-chip{top:calc(70px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));padding:4px 4px 4px 6px;gap:6px;font-size:13px}body.phone .avatar-chip img{width:28px;height:28px}body.phone .avatar-chip button{padding:5px 10px}body.phone .place-badge{top:calc(116px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right))}body.phone:not(.landscape) .toast{top:calc(120px + env(safe-area-inset-top));max-width:calc(100vw - 32px)}body.phone .announce-bar{top:calc(64px + env(safe-area-inset-top))}body.phone.landscape .topbar{padding:4px 8px}body.phone.landscape .topbar button,body.phone.landscape .topbar select,body.phone.landscape .admin-link{padding-top:6px;padding-bottom:6px}body.phone.landscape .panel.left,body.phone.landscape .avatar-chip{top:calc(60px + env(safe-area-inset-top))}body.phone.landscape .place-badge{top:calc(104px + env(safe-area-inset-top))}body.touchui .fly-pad{grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,52px);bottom:calc(150px + env(safe-area-inset-bottom));right:calc(12px + env(safe-area-inset-right))}body.touchui .fly-bar{bottom:calc(12px + env(safe-area-inset-bottom))}.install-pop{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;transform:translate(-50%);display:grid;grid-template-columns:auto 1fr;gap:10px 14px;align-items:start;width:min(440px,calc(100vw - 24px));padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 48px #1428464d;animation:install-in .25s ease-out}.install-icon{width:56px;height:56px;border-radius:14px}.install-text b{display:block;font-size:16px;margin:2px 0 4px}.install-text p{margin:0;font-size:13.5px;line-height:1.7;color:var(--muted)}.install-btns{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.install-btns button{padding:10px 16px;font-size:15px}.share-icon{width:18px;height:18px;margin:0 2px;vertical-align:-3px;color:var(--accent)}@keyframes install-in{0%{opacity:0;transform:translate(-50%,16px)}}.update-bar{position:fixed;left:50%;top:calc(76px + env(safe-area-inset-top));z-index:31;transform:translate(-50%);display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 24px);padding:8px 8px 8px 16px;font-size:14px;font-weight:700;background:#1d2733;color:#fff;border-radius:14px;box-shadow:0 10px 30px #00000040}.update-bar button{padding:6px 12px;font-size:13px}.update-bar .linkish{color:#cfe0ff;padding:6px 4px}
