:root{--neon-pink:#f39;--neon-purple:#93f;--neon-cyan:#0cf;--neon-gold:#fc0;--neon-green:#0f8;--neon-orange:#f60;--dark-bg:#0a0512;--dark-card:#1a0e2e;--dark-input:#120a1e;--text-primary:#f0e6ff;--text-secondary:#a08bbf;--border-subtle:#9933ff26;--glow-pink:0 0 20px #ff33994d;--glow-purple:0 0 20px #9933ff4d;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--dark-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Noto Sans TC,Segoe UI,sans-serif;overflow:hidden}.screen{width:100vw;height:100vh;display:none;position:fixed;top:0;left:0}.screen.active{display:flex}button{font-family:inherit}.hidden{display:none!important}#lobby-screen{z-index:100;background:linear-gradient(135deg,#0a0512 0%,#1a0533 40%,#0d0520 100%);flex-direction:column;justify-content:center;align-items:center}.lobby-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.disco-ball{background:radial-gradient(circle at 35% 35%,#fff 0%,#ccc 30%,#888 60%,#555 100%);border-radius:50%;width:50px;height:50px;animation:8s linear infinite spin;position:absolute;top:-20px;left:50%;transform:translate(-50%);box-shadow:0 0 40px #ffffff26}.disco-ball:after{content:"";background:repeating-conic-gradient(#ffffff40 0deg,#0000 5deg 18deg,#ffffff26 20deg);border-radius:50%;position:absolute;inset:0}@keyframes spin{to{transform:translate(-50%)rotateY(360deg)}}.laser{background:linear-gradient(to bottom, transparent, var(--neon-pink), transparent);opacity:.15;transform-origin:top;width:2px;height:140vh;position:absolute}.laser-1{top:40px;left:50%;transform:rotate(-15deg)}.laser-2{background:linear-gradient(to bottom, transparent, var(--neon-cyan), transparent);top:40px;left:50%;transform:rotate(12deg)}.laser-3{background:linear-gradient(to bottom, transparent, var(--neon-green), transparent);opacity:.1;top:40px;left:50%;transform:rotate(25deg)}.scanlines{pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000014 2px 4px);position:absolute;inset:0}.lobby-logo{text-align:center;z-index:2;margin-bottom:24px;position:relative}.lobby-logo h1{letter-spacing:6px;font-family:Orbitron,sans-serif;font-size:72px;line-height:1}.logo-90{background:linear-gradient(135deg, var(--neon-pink), var(--neon-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.logo-s{color:var(--neon-cyan);font-size:48px}.logo-club{color:var(--text-primary);text-shadow:0 0 30px #ffffff4d}.lobby-sub{letter-spacing:16px;color:var(--text-secondary);margin-top:4px;font-size:20px}.lobby-tagline{color:var(--neon-gold);letter-spacing:3px;opacity:.7;margin-top:8px;font-size:13px}.lobby-card{z-index:2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#1a0e2ed9;width:420px;max-width:92vw;padding:28px 36px;position:relative;box-shadow:0 20px 60px #00000080}.lobby-card-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.lobby-card-header h2{font-size:22px}.disco-icon{font-size:28px}.lobby-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px;margin-top:14px;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.lobby-input{background:var(--dark-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:12px 16px;font-size:16px;transition:all .3s}.lobby-input:focus{border-color:var(--neon-pink);box-shadow:var(--glow-pink)}.style-select{flex-wrap:wrap;gap:10px;display:flex}.style-option{text-align:center;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:var(--dark-input);flex:1;min-width:70px;padding:10px 6px;transition:all .3s}.style-option:hover{border-color:var(--neon-pink)}.style-option.selected{border-color:var(--neon-pink);box-shadow:var(--glow-pink);background:#ff33991a}.style-option span{font-size:28px;display:block}.style-option small{color:var(--text-secondary);font-size:11px}.color-select{flex-wrap:wrap;gap:8px;display:flex}.color-option{cursor:pointer;border:3px solid #0000;border-radius:50%;width:42px;height:42px;transition:all .3s}.color-option:hover{transform:scale(1.15)}.color-option.selected{border-color:#fff;transform:scale(1.1);box-shadow:0 0 15px}.lobby-btn{background:linear-gradient(135deg, var(--neon-pink), var(--neon-purple));color:#fff;border-radius:var(--radius-md);letter-spacing:6px;cursor:pointer;border:none;width:100%;margin-top:20px;padding:16px;font-size:18px;font-weight:900;transition:all .3s;box-shadow:0 6px 25px #ff33994d}.lobby-btn:hover{transform:translateY(-3px);box-shadow:0 10px 35px #ff339980}.lobby-footer{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:16px;font-size:13px;display:flex}.online-dot{background:var(--neon-green);border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1.5s infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.dj-link{color:var(--text-secondary);text-decoration:none;transition:all .3s}.dj-link:hover{color:var(--neon-cyan)}#game-screen{background:var(--dark-bg);flex-direction:column}#game-canvas{width:100%;height:100%;display:block}#hud-top{z-index:50;background:linear-gradient(#0a0512e6 0%,#0000 100%);justify-content:space-between;align-items:center;padding:6px 16px;display:flex;position:fixed;top:0;left:0;right:0}.hud-logo{color:var(--neon-pink);letter-spacing:3px;opacity:.8;font-family:Orbitron,sans-serif;font-size:14px}.hud-zone-indicator{border:1px solid var(--border-subtle);color:var(--neon-gold);background:#1a0e2eb3;border-radius:20px;padding:4px 16px;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}.hud-right{align-items:center;gap:10px;font-size:12px;display:flex}#hud-coins{color:var(--neon-gold);font-weight:700}#hud-level{color:var(--neon-cyan)}.hud-btn{border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:all .3s;display:flex}.hud-btn:hover{border-color:var(--neon-pink);background:#ff339926;transform:scale(1.1)}.hud-btn-sm{color:var(--neon-gold);cursor:pointer;background:#ffcc001a;border:1px solid #ffcc004d;border-radius:14px;padding:4px 10px;font-family:inherit;font-size:11px;transition:all .3s}.hud-btn-sm:hover{background:#fc03}#hud-dj-bar{z-index:50;background:#1a0e2ecc;border:1px solid #ff33334d;border-radius:20px;align-items:center;gap:12px;padding:6px 16px;display:flex;position:fixed;top:42px;left:50%;transform:translate(-50%)}.dj-live-badge{color:#fff;background:linear-gradient(135deg,#f33,#f06);border-radius:10px;padding:2px 10px;font-size:11px;font-weight:700;animation:1.5s infinite pulse-dot}.zone-actions{z-index:45;gap:10px;display:flex;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.zone-btn{border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a0e2ed9;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:all .3s}.zone-btn:hover{border-color:var(--neon-pink);background:#ff33991a;transform:translateY(-2px)}.zone-btn.active{border-color:var(--neon-pink);background:#ff339926}#chat-panel{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0a0512d9;width:320px;position:fixed;bottom:10px;left:10px;overflow:hidden}.chat-tabs{border-bottom:1px solid var(--border-subtle);padding:0;display:flex}.chat-tab{text-align:center;cursor:pointer;color:var(--text-secondary);flex:1;padding:8px;font-size:12px;transition:all .3s}.chat-tab.active{color:var(--neon-pink);border-bottom:2px solid var(--neon-pink)}.chat-messages{scrollbar-width:thin;scrollbar-color:#93f3 transparent;height:160px;padding:8px 12px;font-size:12px;overflow-y:auto}.chat-msg{color:var(--text-secondary);word-wrap:break-word;padding:3px 0;line-height:1.4}.chat-msg.system{color:var(--neon-cyan);font-size:11px}.chat-msg.private{color:var(--neon-gold)}.chat-name{margin-right:6px;font-weight:700}.chat-input-row{border-top:1px solid var(--border-subtle);gap:6px;padding:6px;display:flex}#chat-input{background:var(--dark-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;flex:1;padding:8px 12px;font-size:13px}#chat-input:focus{border-color:var(--neon-pink)}.chat-send{background:linear-gradient(135deg, var(--neon-pink), var(--neon-purple));border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;padding:8px 14px;font-size:12px;font-weight:700;transition:all .3s}.chat-send:hover{transform:scale(1.05)}#emote-bar{z-index:50;border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0512d9;border-radius:30px;gap:4px;padding:8px 12px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.emote-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;transition:all .3s;display:flex}.emote-btn:hover{border-color:var(--neon-pink);background:#ff339926;transform:scale(1.2)}#danmaku-controls{z-index:50;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;top:50px;right:16px}#danmaku-input-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#0a0512d9;align-items:center;gap:4px;padding:6px;display:none}#danmaku-input-wrapper.show{display:flex}#danmaku-type{background:var(--dark-input);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:6px;padding:6px;font-size:11px}#danmaku-input{background:var(--dark-input);border:1px solid var(--border-subtle);width:140px;color:var(--text-primary);border-radius:6px;outline:none;padding:6px 10px;font-size:12px}#danmaku-send-btn{background:var(--neon-orange);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700}#movement-hint{z-index:40;color:var(--text-secondary);opacity:.6;gap:16px;font-size:11px;transition:opacity 2s;display:flex;position:fixed;bottom:72px;left:50%;transform:translate(-50%)}.modal-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);z-index:200;background:#0a0512f5;min-width:300px;max-width:90vw;max-height:85vh;padding:20px;animation:.3s modal-in;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0009}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.modal-close{color:#f55;cursor:pointer;background:#ff33331a;border:1px solid #ff33334d;border-radius:50%;width:28px;height:28px;font-size:14px;transition:all .3s}.modal-close:hover{background:#ff33334d}.social-actions{flex-direction:column;gap:6px;display:flex}.social-action-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;text-align:left;background:#ffffff0a;padding:10px 16px;font-family:inherit;font-size:13px;transition:all .3s}.social-action-btn:hover{border-color:var(--neon-pink);background:#ff339914}.social-action-btn.danger{color:#f55;border-color:#f553}.social-action-btn.danger:hover{background:#ff55551a;border-color:#f55}.gift-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.gift-item{text-align:center;cursor:pointer;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;padding:14px 8px;transition:all .3s}.gift-item:hover{border-color:var(--neon-gold);background:#ffcc000f;transform:scale(1.05)}.gift-item span{margin-bottom:4px;font-size:32px;display:block}.gift-item small{color:var(--text-secondary);font-size:11px}.ranking-tabs{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.ranking-tab{border:1px solid var(--border-subtle);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:16px;padding:6px 12px;font-size:12px;transition:all .3s}.ranking-tab.active{border-color:var(--neon-gold);color:var(--neon-gold);background:#ffcc0014}.ranking-list{min-height:120px}.ranking-item{border-bottom:1px solid #ffffff08;align-items:center;gap:10px;padding:8px 0;display:flex}.ranking-rank{text-align:center;width:36px;font-size:18px}.ranking-name{flex:1}.ranking-score{color:var(--neon-gold);font-weight:700}.rps-choices{justify-content:center;gap:12px;display:flex}.rps-btn{text-align:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;width:80px;height:80px;color:var(--text-primary);background:#ffffff0a;font-family:inherit;font-size:28px;line-height:1.3;transition:all .3s}.rps-btn:hover{border-color:var(--neon-pink);background:#ff33991a;transform:scale(1.1)}.invite-content{text-align:center;padding:10px}.invite-content p{margin-bottom:16px;font-size:16px}.invite-buttons{justify-content:center;gap:12px;display:flex}.btn-accept,.btn-decline{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:700;transition:all .3s}.btn-accept{background:linear-gradient(135deg, var(--neon-pink), var(--neon-purple));color:#fff}.btn-decline{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0f}.report-options{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.report-opt{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);background:#ffffff08;padding:10px;font-family:inherit;font-size:13px;transition:all .3s}.report-opt:hover{background:#ff55550d;border-color:#f55}.report-opt.selected{background:#ff55551a;border-color:#f55}#report-detail{background:var(--dark-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);resize:none;outline:none;margin-bottom:10px;padding:10px;font-size:12px}.btn-report-submit{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#f33;border:none;width:100%;padding:10px;font-family:inherit;font-size:14px;font-weight:700}.creator-dashboard{width:460px;max-width:95vw}.creator-tabs{flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.creator-tab{border:1px solid var(--border-subtle);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:16px;padding:8px 14px;font-family:inherit;font-size:12px;transition:all .3s}.creator-tab.active{border-color:var(--neon-cyan);color:var(--neon-cyan);background:#00ccff14}.creator-panel{animation:.2s modal-in}.creator-desc{color:var(--text-secondary);margin-bottom:16px;font-size:12px;line-height:1.6}.creator-field{margin-bottom:14px}.creator-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.creator-field input,.creator-field select,.creator-field textarea{background:var(--dark-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}.creator-field input:focus{border-color:var(--neon-cyan)}.creator-preview{color:var(--neon-green);margin-top:4px;font-size:11px}.creator-submit{background:linear-gradient(135deg, var(--neon-cyan), var(--neon-purple));border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;width:100%;margin-top:8px;padding:12px;font-family:inherit;font-size:14px;font-weight:700;transition:all .3s}.creator-submit:disabled{opacity:.4;cursor:not-allowed}.creator-submit:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #00ccff4d}.creator-stats{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;padding-top:16px;display:grid}.creator-stat{text-align:center;border-radius:var(--radius-sm);background:#ffffff05;padding:8px}.creator-stat span{font-size:18px;display:block}.creator-stat strong{color:var(--neon-gold);margin:4px 0;font-size:18px;display:block}.creator-stat small{color:var(--text-secondary);font-size:10px}.fullscreen-overlay{z-index:300;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gift-anim-content{text-align:center;animation:2.5s forwards gift-pop}.gift-anim-emoji{filter:drop-shadow(0 0 30px #ffcc0080);font-size:100px;display:block}.gift-anim-text{color:var(--neon-gold);margin-top:10px;font-size:20px;font-weight:700;display:block}@keyframes gift-pop{0%{opacity:0;transform:scale(0)}20%{opacity:1;transform:scale(1.3)}60%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)translateY(-60px)}}.drop-flash{animation:2s forwards drop-flash;position:absolute;inset:0}@keyframes drop-flash{0%{background:#ffffffe6}10%{background:#ff339980}20%{background:#93f6}40%{background:#00ccff4d}to{background:0 0}}.safety-banner{border-radius:var(--radius-md);color:var(--neon-gold);z-index:100;background:#ffcc001a;border:1px solid #ffcc004d;align-items:center;gap:10px;padding:10px 20px;font-size:12px;display:flex;position:fixed;bottom:50px;left:50%;transform:translate(-50%)}.safety-banner button{color:var(--neon-gold);cursor:pointer;background:0 0;border:none;font-size:14px}@media (width<=768px){.lobby-logo h1{font-size:48px}.lobby-card{padding:20px}#chat-panel{width:260px}.chat-messages{height:120px}.modal-panel{min-width:unset;width:90vw}.creator-dashboard{width:90vw}.creator-stats{grid-template-columns:repeat(2,1fr)}#emote-bar{gap:2px;padding:6px 8px}.emote-btn{width:36px;height:36px;font-size:18px}.hud-extra{gap:3px;padding:4px 8px;bottom:68px}.hud-btn-ext{width:32px;height:32px;font-size:14px}}.hud-extra{z-index:50;flex-direction:column;gap:4px;display:flex;position:fixed;bottom:72px;right:10px}.hud-btn-ext{border:1px solid var(--border-subtle);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0512cc;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;transition:all .3s;display:flex}.hud-btn-ext:hover{border-color:var(--neon-pink);background:#ff339926;transform:scale(1.15)}.soul-modal{width:420px}.soul-intro{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.soul-progress{align-items:center;gap:10px;margin-bottom:16px;display:flex}.soul-progress-bar{background:linear-gradient(90deg, var(--neon-pink), var(--neon-purple));border-radius:2px;flex:1;height:4px;transition:width .5s;position:relative}.soul-progress span{color:var(--text-secondary);font-size:11px}.soul-question{color:var(--neon-gold);margin-bottom:14px;font-size:16px}.soul-options{flex-direction:column;gap:8px;display:flex}.soul-option{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;text-align:left;background:#ffffff08;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .3s}.soul-option:hover{border-color:var(--neon-pink);background:#ff339914;transform:translate(4px)}.soul-result{text-align:center;padding:20px 0}.soul-personality-badge{border:2px solid;border-radius:30px;margin:16px 0;padding:12px 30px;font-size:22px;font-weight:700;display:inline-block}.soul-detail{color:var(--text-secondary);margin:8px 0;font-size:12px}.soul-level-display{margin:12px 0;font-size:14px}.soul-done-btn{background:linear-gradient(135deg, var(--neon-pink), var(--neon-purple));border-radius:var(--radius-md);color:#fff;cursor:pointer;border:none;margin-top:16px;padding:12px 30px;font-family:inherit;font-size:16px;font-weight:700}.schedule-list{flex-direction:column;gap:6px;display:flex}.schedule-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;align-items:center;gap:10px;padding:10px 14px;transition:all .3s;display:flex}.schedule-item.current{border-color:var(--neon-pink);background:#ff33990f}.schedule-time{color:var(--neon-cyan);width:50px;font-family:Orbitron,sans-serif;font-size:13px}.schedule-type{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.schedule-type.DJ{color:var(--neon-pink);background:#ff339926}.schedule-type.VJ{color:var(--neon-cyan);background:#00ccff26}.schedule-name{flex:1;font-weight:700}.schedule-genre{color:var(--text-secondary);font-size:11px}.schedule-live{color:#f33;font-size:11px;font-weight:700;animation:1s infinite pulse-dot}.schedule-apply{color:var(--neon-gold);cursor:pointer;background:#ffcc001a;border:1px solid #ffcc004d;border-radius:12px;padding:4px 12px;font-family:inherit;font-size:11px}.quest-modal{width:480px}.quest-section{margin-bottom:20px}.quest-section h3{align-items:center;gap:8px;margin-bottom:10px;font-size:15px;display:flex}.quest-streak{color:var(--neon-orange);font-size:12px;font-weight:400}.quest-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;align-items:center;gap:10px;margin-bottom:6px;padding:10px;transition:all .3s;display:flex}.quest-item.complete{border-color:var(--neon-green);background:#00ff8808}.quest-item.claimed{opacity:.5}.quest-icon{text-align:center;width:32px;font-size:22px}.quest-info{flex:1}.quest-name{font-size:13px;font-weight:700}.quest-desc{color:var(--text-secondary);font-size:11px}.quest-bar{background:#ffffff0d;border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.quest-bar-fill{background:linear-gradient(90deg, var(--neon-pink), var(--neon-gold));border-radius:2px;height:100%;transition:width .5s}.quest-progress{color:var(--text-secondary);margin-top:2px;font-size:10px}.quest-reward{text-align:center;min-width:70px}.quest-claim,.quest-claim-ach{background:linear-gradient(135deg, var(--neon-green), var(--neon-cyan));color:#000;cursor:pointer;border:none;border-radius:12px;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:700}.cinema-modal{width:480px}.cinema-screen{border-radius:var(--radius-sm);text-align:center;background:#000;border:1px solid #fc03;margin-bottom:12px;padding:30px;position:relative;overflow:hidden}.cinema-screen-content{z-index:1;position:relative}.cinema-film-icon{margin-bottom:8px;font-size:48px;display:block}.cinema-title{color:var(--neon-gold);font-size:20px;font-weight:700}.cinema-meta{color:var(--text-secondary);margin-top:4px;font-size:11px}.cinema-desc{color:var(--text-secondary);margin-bottom:12px;font-size:12px}.cinema-actions{align-items:center;gap:12px;margin-bottom:16px;display:flex}.cinema-vote-btn{background:linear-gradient(135deg, var(--neon-gold), var(--neon-orange));border-radius:var(--radius-sm);color:#000;cursor:pointer;border:none;padding:8px 20px;font-family:inherit;font-size:13px;font-weight:700}.cinema-vote-btn.voted{color:var(--neon-green);cursor:default;background:#ffffff1a}.cinema-vote-count{color:var(--neon-gold);font-size:14px}.cinema-ranking{margin-bottom:16px}.cinema-ranking h3{margin-bottom:8px}.cinema-rank-item{border-bottom:1px solid #ffffff08;align-items:center;gap:8px;padding:8px;display:flex}.cinema-rank{width:30px;font-size:18px}.cinema-rank-info{flex:1}.cinema-rank-title{font-size:13px;font-weight:700;display:block}.cinema-rank-creator{color:var(--text-secondary);font-size:11px}.cinema-rank-votes{color:var(--neon-gold);font-size:13px;font-weight:700}.cinema-vote-sm{cursor:pointer;background:0 0;border:none;font-size:16px}.cinema-vote-sm.voted{opacity:.5;cursor:default}.cinema-submit{border-top:1px solid var(--border-subtle);padding-top:12px}.cinema-submit h3{margin-bottom:8px}.cinema-submit p{color:var(--text-secondary);margin-bottom:10px;font-size:12px}.cinema-submit input,.cinema-submit select,.cinema-submit textarea{background:var(--dark-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;margin-bottom:8px;padding:8px 12px;font-family:inherit;font-size:13px}.cinema-submit-btn{background:linear-gradient(135deg, var(--neon-gold), var(--neon-orange));border-radius:var(--radius-sm);color:#000;cursor:pointer;border:none;width:100%;padding:10px;font-family:inherit;font-size:14px;font-weight:700}.o2o-modal{width:460px}.o2o-section{margin-bottom:16px}.o2o-section h3{margin-bottom:8px;font-size:14px}.city-map{margin-bottom:12px}.city-map-bg{border-radius:var(--radius-sm);background:linear-gradient(135deg,#0a1520 0%,#0d1530 100%);border:1px solid #0cf3;height:160px;position:relative;overflow:hidden}.city-map-point{text-align:center;position:absolute;transform:translate(-50%,-50%)}.city-map-point.home{z-index:2}.city-map-label{white-space:nowrap;color:var(--text-primary);font-size:10px;display:block}.city-map-tp{color:var(--neon-cyan);cursor:pointer;background:#00ccff26;border:1px solid #00ccff4d;border-radius:8px;margin-top:2px;padding:2px 8px;font-family:inherit;font-size:9px}.city-map-here{font-size:14px}.o2o-venue{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;margin-bottom:6px;padding:10px}.o2o-venue-name{font-size:14px;font-weight:700}.o2o-venue-meta{color:var(--text-secondary);font-size:11px}.o2o-venue-desc{color:var(--text-secondary);margin-top:4px;font-size:12px}.o2o-badge{color:var(--neon-green);background:#00ff881a;border-radius:8px;padding:2px 8px;font-size:10px}.o2o-empty{color:var(--text-secondary);font-size:12px}.o2o-coupon{border-radius:var(--radius-sm);background:linear-gradient(135deg,#ffcc000d,#ff66000d);border:1px dashed #ffcc004d;margin-bottom:8px;padding:12px}.o2o-coupon-brand{color:var(--neon-gold);font-weight:700}.o2o-coupon-discount{color:var(--neon-orange);margin:4px 0;font-size:20px;font-weight:700}.o2o-coupon-desc{color:var(--text-secondary);font-size:12px}.o2o-coupon-code{margin-top:6px;font-size:13px}.o2o-coupon-expires{color:var(--text-secondary);margin-top:4px;font-size:10px}.o2o-brands{flex-wrap:wrap;gap:10px;display:flex}.o2o-brand{text-align:center;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;flex:1;min-width:100px;padding:10px}.o2o-brand-logo{font-size:24px;display:block}.o2o-brand-name{margin-top:4px;font-size:12px;font-weight:700;display:block}.o2o-brand-slogan{color:var(--text-secondary);font-size:10px;display:block}.shop-modal{width:520px}.shop-section{margin-bottom:20px}.shop-section h3{margin-bottom:10px}.shop-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.shop-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;padding:12px;transition:all .3s}.shop-item.owned{border-color:#0f83}.shop-item.equipped{border-color:var(--neon-gold);background:#ffcc000a}.shop-item-name{margin-bottom:4px;font-size:14px;font-weight:700}.shop-item-desc{color:var(--text-secondary);margin-bottom:6px;font-size:11px}.shop-item-price{color:var(--neon-gold);margin-bottom:8px;font-size:12px}.shop-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;padding:6px;font-family:inherit;font-size:12px;font-weight:700}.buy-btn{background:linear-gradient(135deg, var(--neon-pink), var(--neon-purple));color:#fff}.equip-btn{color:var(--neon-green);background:#00ff881a;border:1px solid #00ff884d}.equipped-btn{color:var(--neon-gold);background:#ffcc001a}.auction-modal{width:520px}.auction-header{text-align:center;margin-bottom:16px}.auction-subtitle{color:var(--text-secondary);font-size:12px}.auction-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;display:grid}.auction-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-align:center;background:#ffffff05;padding:14px}.auction-image{margin-bottom:6px;font-size:36px}.auction-rarity{border-radius:8px;margin-bottom:6px;padding:2px 8px;font-size:10px;display:inline-block}.rarity-稀有{color:var(--neon-cyan);background:#00ccff1a}.rarity-史詩{color:var(--neon-purple);background:#9933ff1a}.rarity-傳說{color:var(--neon-gold);background:#ffcc001a}.rarity-一般{color:var(--text-secondary);background:#ffffff0d}.auction-name{margin-bottom:4px;font-size:13px;font-weight:700}.auction-creator{color:var(--text-secondary);margin-bottom:6px;font-size:10px}.auction-bid{margin-bottom:4px}.auction-current{color:var(--neon-gold);font-size:16px;font-weight:700}.auction-bidder,.auction-no-bid{color:var(--text-secondary);font-size:11px;display:block}.auction-timer{color:var(--neon-orange);margin-bottom:6px;font-size:11px}.auction-bid-input{gap:4px;display:flex}.auction-amount{background:var(--dark-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;flex:1;padding:4px 8px;font-size:12px}.auction-bid-btn{background:var(--neon-gold);border-radius:var(--radius-sm);color:#000;cursor:pointer;border:none;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:700}.auction-submit{border-top:1px solid var(--border-subtle);padding-top:12px}.auction-submit h3{margin-bottom:6px}.auction-submit p{color:var(--text-secondary);margin-bottom:10px;font-size:12px}.auction-submit input,.auction-submit select{background:var(--dark-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;margin-bottom:8px;padding:8px;font-family:inherit;font-size:12px}.auction-submit-btn{background:linear-gradient(135deg, var(--neon-pink), var(--neon-gold));border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;width:100%;padding:10px;font-family:inherit;font-weight:700}.settings-modal{width:420px}.settings-section{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:16px}.settings-section h3{margin-bottom:10px;font-size:14px}.settings-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:#ffffff0a;margin-bottom:10px;padding:8px 16px;font-family:inherit;font-size:13px}.settings-toggle{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.settings-toggle label{font-size:13px}.translation-settings{margin-bottom:16px}.translation-settings h3{margin-bottom:10px}.translation-toggle,.translation-lang{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.translation-toggle label,.translation-lang label{font-size:13px}.translation-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border-radius:16px;padding:6px 16px;font-family:inherit;font-size:12px}.translation-btn.active{border-color:var(--neon-green);color:var(--neon-green);background:#00ff880f}.translation-note{color:var(--text-secondary);margin-top:8px;font-size:11px}#translation-lang-select{background:var(--dark-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:6px 12px;font-size:12px}.concierge-bubble{border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0512e6;align-items:flex-start;gap:8px;max-width:280px;padding:12px 16px;animation:.5s concierge-in;display:flex;position:fixed;bottom:80px;right:60px}@keyframes concierge-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.concierge-avatar{font-size:24px}.concierge-text{color:var(--text-primary);font-size:12px;line-height:1.5}.concierge-dismiss{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:12px;position:absolute;top:4px;right:8px}.mood-indicator{border:1px solid var(--border-subtle);z-index:50;background:#1a0e2eb3;border-radius:16px;padding:4px 12px;font-size:11px;transition:all .5s;position:fixed;top:42px;left:16px}
