.mouse-mode-toggle{position:fixed;top:74px;right:max(14px,env(safe-area-inset-right));z-index:1001;display:flex;align-items:center;gap:6px;border:1px solid #ccd8cc;border-radius:22px;background:#ffffffd9;color:#294233;box-shadow:0 3px 12px #20372b14;min-height:40px;padding:7px 12px;font-size:12px;backdrop-filter:blur(8px)}
.mouse-mode-toggle[aria-checked=true]{background:#28694fe8;color:white;border-color:#28694f}
.mouse-mode-toggle,.floating-mouse-key,.floating-wheel{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
#scale-space{margin-inline:auto}
.virtual-input-layer{position:fixed;z-index:960;background:transparent;touch-action:none}
.floating-mouse{position:fixed;left:50%;transform:translateX(-50%);bottom:max(58px,calc(env(safe-area-inset-bottom) + 48px));z-index:1000;display:flex;gap:20px;pointer-events:none}
.floating-mouse-key{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:3px;width:72px;height:72px;min-height:72px;border:0;border-radius:50%;background:#bac0bd99;color:#183e2b;box-shadow:none;backdrop-filter:blur(3px);pointer-events:auto;touch-action:none;user-select:none;padding:6px;font-size:10px}
.floating-mouse-key.is-held{background:#c4d8cfcc;outline:2px solid #367458;outline-offset:-2px}
.mouse-drawing{position:relative;width:28px;height:38px;border:2px solid #294338;border-radius:12px 12px 14px 14px;background:#ffffff70;display:block}
.mouse-drawing:after{content:'';position:absolute;top:-1px;left:11px;width:2px;height:15px;background:#294338}
.mouse-drawing:before{content:'';position:absolute;top:2px;width:8px;height:10px;background:#438be4;border-radius:6px 1px 2px 1px;left:2px}
.right-drawing:before{left:auto;right:2px;border-radius:1px 6px 1px 2px}
.floating-wheel{position:fixed;right:max(16px,env(safe-area-inset-right));top:44%;z-index:1000;display:flex;flex-direction:column;width:44px;border-radius:15px;background:#c2c8c499;backdrop-filter:blur(3px);overflow:hidden;touch-action:none;user-select:none}
.floating-wheel button{padding:0;border:0;min-height:34px;max-height:44px;background:transparent;color:#438be4;border-radius:0;display:grid;place-items:center;font-size:18px;touch-action:none}
.floating-wheel #wheel-track{height:48px;min-height:48px;max-height:48px}
.wheel-thumb{display:block;width:17px;height:24px;border-radius:9px;background:#438be4}
.remote-controls{top:122px;bottom:auto;right:max(14px,env(safe-area-inset-right));width:310px;padding:12px;background:#fffffff2;z-index:1002}
.remote-controls .control-top{display:flex;align-items:center;justify-content:space-between;font-size:12px}
.remote-controls .control-top>button{border:0;background:transparent;padding:2px 8px;font-size:20px;min-height:30px}
.view-controls,.pan-controls{display:flex;align-items:center;gap:5px;margin-top:9px}
.view-controls{flex-wrap:wrap}
.view-controls button,.pan-controls button{padding:6px 9px;font-size:12px;min-height:36px}
.view-controls output{min-width:38px;text-align:center;font-size:12px}
.pan-controls span{font-size:12px;color:var(--muted);margin-right:auto}
.keyboard-controls{position:fixed;left:50%;transform:translateX(-50%);bottom:max(8px,env(safe-area-inset-bottom));z-index:1100;width:min(520px,calc(100vw - 24px));display:flex;gap:6px;background:#ffffffed;border:1px solid var(--line);border-radius:9px;padding:8px;box-shadow:var(--shadow)}
.keyboard-controls input{flex:1;min-width:0;font-size:16px;padding:8px;border:1px solid var(--line);border-radius:5px}
.keyboard-controls button{min-height:40px;padding:6px 12px}
.portrait-guide{position:fixed;inset:0;background:#edf3ed;z-index:2000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:28px;text-align:center}
.portrait-guide h2{font-size:22px;font-weight:500}
.portrait-guide p{font-size:14px;color:var(--muted)}
.portrait-guide button{background:var(--accent);color:white;border-color:var(--accent);min-height:44px}
.portrait-guide #portrait-return{background:transparent;color:var(--muted);border:0;padding:4px 12px}
.rotate-phone{display:block;color:var(--accent);font-size:66px;line-height:1;transform:rotate(90deg)}
.desktop-context-menu{position:fixed;z-index:1050;min-width:160px;padding:5px;background:white;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}
.desktop-context-menu button{display:block;width:100%;border:0;border-radius:3px;padding:8px 12px;text-align:left;background:transparent;font-size:13px;min-height:38px}
.desktop-context-menu button:hover{background:var(--soft)}
.desktop-viewport.virtual-mode,.desktop-viewport.virtual-mode *{touch-action:none!important}
.virtual-cursor{font-size:30px;text-shadow:1px 1px white,-1px -1px white}
@media(pointer:coarse){.experience-header{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));min-height:42px}.taskbar{min-height:36px;padding:3px max(10px,env(safe-area-inset-right)) 3px max(10px,env(safe-area-inset-left))}.taskbar>button{min-height:30px}.task-buttons button{min-height:29px}.experience-identity .brand-mark{width:25px;height:25px;font-size:16px}.experience-actions button{min-height:30px;padding:3px 8px}.desktop-canvas{cursor:none}.mouse-mode-toggle{top:58px;right:max(14px,env(safe-area-inset-right));min-height:36px;font-size:11px}.remote-controls{top:104px}.desktop-notice{bottom:44px;font-size:12px}.floating-mouse{bottom:max(48px,calc(env(safe-area-inset-bottom) + 38px))}.floating-mouse-key{width:66px;height:66px;min-height:66px}.floating-wheel{top:38%}.keyboard-controls{bottom:max(5px,env(safe-area-inset-bottom))}.desktop-viewport:not(.virtual-mode){touch-action:pan-x pan-y}}
@media(pointer:coarse) and (orientation:landscape){.experience-page{min-height:0;background:var(--wall)}.experience-identity>span:last-child{display:none}.experience-header{min-height:40px}.desktop-viewport{margin-right:108px}.floating-mouse{gap:26px;left:calc((100% - 108px)/2)}.remote-controls{max-height:calc(100dvh - 118px);overflow:auto}.floating-wheel{top:calc(50% - 45px)}}
