*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0f;--bg-card: #13131a;--bg-card-hover: #1a1a24;--border: #2a2a3a;--text: #f0f0f5;--text-muted: #7a7a9a;--accent: #6c5ce7;--accent-hover: #7d6ff0;--accent-dim: rgba(108, 92, 231, .15);--success: #00b894;--danger: #d63031;--radius: 12px;--radius-sm: 8px}html,body{height:100%}html{overscroll-behavior:none}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;touch-action:manipulation}body.room-active{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none}body.room-active #root{height:100%;min-height:0;overflow:hidden}.room-page,.app-screen{height:100vh;height:100dvh}@keyframes mapPinPulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(2.6);opacity:0}to{transform:scale(2.6);opacity:0}}.map-pin-pulse{animation:mapPinPulse 2.4s ease-out infinite}@keyframes menuDrawerIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes menuBackdropIn{0%{opacity:0}to{opacity:1}}.menu-drawer{animation:menuDrawerIn .2s ease-out}.menu-backdrop{animation:menuBackdropIn .18s ease-out}body.room-active input,body.room-active textarea{user-select:text;-webkit-user-select:text}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}input{font-family:inherit}
