@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap";:root{--bg-color:#050510;--panel-bg:#140a2899;--text-color:#fff;--text-muted:#a7a2cd;--neon-pink:#ff007f;--neon-cyan:#00f3ff;--neon-purple:#9d00ff;--neon-green:#39ff14;--primary:var(--neon-purple);--primary-glow:#9d00ff99;--accent:var(--neon-cyan);--accent-glow:#00f3ff99;--danger:var(--neon-pink)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 15%,#ff007f26,#0000 40%),radial-gradient(circle at 85% 30%,#00f3ff26,#0000 40%),#050510 radial-gradient(circle at 50% 80%,#9d00ff26,#0000 50%);flex-direction:column;min-height:100vh;font-family:Outfit,sans-serif;animation:10s ease-in-out infinite alternate pulseBackground;display:flex;overflow-x:hidden}@keyframes pulseBackground{0%{background-position:0 0}to{background-position:100% 100%}}#root{flex-direction:column;flex:1;display:flex}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);border:1px solid #ffffff14;border-color:#fff3 #ffffff14 #ffffff14 #ffffff1a;border-radius:24px;padding:24px;box-shadow:0 10px 40px #0009,inset 0 0 20px #9d00ff1a}input{color:#fff;background:#0006;border:1px solid #ffffff1a;border-radius:16px;outline:none;width:100%;margin-bottom:16px;padding:16px 20px;font-family:Outfit,sans-serif;font-size:16px;transition:all .3s;box-shadow:inset 0 2px 5px #00000080}input:focus{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow), inset 0 2px 5px #00000080;background:#00f3ff0d}button{background:linear-gradient(135deg, var(--neon-purple), var(--neon-pink));color:#fff;text-transform:uppercase;letter-spacing:1px;cursor:pointer;width:100%;box-shadow:0 6px 25px var(--primary-glow);border:none;border-radius:16px;padding:16px 20px;font-family:Outfit,sans-serif;font-size:18px;font-weight:800;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}button:after{content:"";background:linear-gradient(to bottom right,#fff0 0%,#fff3 50%,#fff0 100%);width:200%;height:200%;transition:transform .6s;position:absolute;top:-50%;left:-50%;transform:rotate(45deg)translateY(-100%)}button:hover:after{transform:rotate(45deg)translateY(100%)}button:active{transform:scale(.96)}button:hover{box-shadow:0 10px 30px #ff007f99}button.danger{border:1px solid var(--danger);box-shadow:none;color:var(--danger);background:0 0}button.danger:hover{background:#ff007f1a;box-shadow:0 0 15px #ff007f66}h1{background:linear-gradient(to right, var(--neon-cyan), var(--neon-purple));-webkit-text-fill-color:transparent;text-transform:uppercase;letter-spacing:2px;-webkit-background-clip:text;margin-bottom:8px;font-size:36px;font-weight:800}p.subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:3px;margin-bottom:24px;font-size:14px}.app-container{flex-direction:column;flex:1;width:100%;max-width:500px;margin:0 auto;padding:20px;display:flex}.screen{flex-direction:column;flex:1;justify-content:center;animation:.5s cubic-bezier(.16,1,.3,1) forwards slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.user-list{flex:1;margin-top:16px;padding-right:4px;list-style:none;overflow-y:auto}.user-card{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px;transition:all .3s;display:flex;position:relative;overflow:hidden}.user-card:before{content:"";background:var(--accent);opacity:0;width:4px;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.user-card:hover{background:#00f3ff0d;border-color:#00f3ff33;transform:translate(6px)}.user-card:hover:before{opacity:1}.user-card .avatar{background:linear-gradient(135deg, var(--neon-cyan), var(--neon-purple));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-right:16px;font-size:22px;font-weight:800;display:flex;box-shadow:0 4px 15px #00f3ff66}.user-info h3{letter-spacing:.5px;font-size:18px;font-weight:700}.user-info p{color:var(--text-muted);margin-top:4px;font-size:13px}.app-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.app-header h2{align-items:center;gap:12px;font-size:22px;font-weight:800;display:flex}.room-badge{color:var(--neon-pink);letter-spacing:2px;background:linear-gradient(135deg,#ff007f33,#9d00ff33);border:1px solid #ff007f4d;border-radius:8px;padding:6px 14px;font-size:16px;font-weight:800}.compass-view{background:radial-gradient(circle,#140a28cc 0%,#050510e6 100%);flex-direction:column;flex:1;justify-content:space-around;align-items:center;padding:30px 0;display:flex}.compass-target{text-align:center}.compass-target h2{margin-bottom:8px;font-size:32px;font-weight:800}.compass-container{margin:20px 0;position:relative}.compass-circle{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;border:2px solid #00f3ff4d;border-radius:50%;justify-content:center;align-items:center;width:280px;height:280px;display:flex;position:relative;box-shadow:inset 0 0 60px #00f3ff1a,0 0 30px #00f3ff33,0 0 80px #9d00ff33}.compass-circle:before{content:"";border:2px dashed #ff007f66;border-radius:50%;animation:20s linear infinite rotateSlow;position:absolute;inset:-15px}.compass-circle:after{content:"";border:1px dotted #00f3ff4d;border-radius:50%;animation:30s linear infinite rotateSlowReverse;position:absolute;inset:-30px}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotateSlowReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.compass-arrow-container{z-index:2;width:100%;height:100%;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;top:0;left:0}.arrow-wrapper{filter:drop-shadow(0 0 25px var(--accent-glow));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.distance-display-bottom{background:#05051066;border:1px solid #ffffff0d;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;margin-top:30px;padding:16px 40px;display:flex;box-shadow:0 10px 30px #00000080}.distance-value{background:linear-gradient(to bottom, #fff, var(--neon-cyan));-webkit-text-fill-color:transparent;text-shadow:0 0 20px #00f3ff4d;-webkit-background-clip:text;font-size:56px;font-weight:800;line-height:1}.distance-unit{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-top:4px;font-size:14px}.gps-waiting{color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;font-size:14px;animation:1.5s infinite pulse}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.top-bar-action{color:#fff;width:auto;box-shadow:none;text-transform:uppercase;letter-spacing:1px;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:600}.top-bar-action:hover{background:#ffffff1a;box-shadow:0 0 15px #ffffff1a}.permission-banner{border:1px solid var(--neon-pink);text-align:center;background:#ff007f1a;border-radius:16px;margin-bottom:20px;padding:16px;box-shadow:0 0 20px #ff007f33}.history-btn{color:var(--text-color);text-align:left;text-transform:none;letter-spacing:normal;background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;justify-content:space-between;align-items:center;padding:14px;font-size:14px;font-weight:400;transition:all .2s;display:flex}.history-btn:hover{background:#9d00ff1a;border-color:#9d00ff4d;transform:translate(4px)}.history-btn strong{color:var(--neon-cyan);letter-spacing:1px;font-weight:800}.history-btn em{color:var(--neon-pink);font-style:normal;font-weight:600}
