.chat-interface{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--dark-surface);border-radius:16px;border:1px solid rgba(139,92,246,.2);overflow:hidden;box-shadow:0 8px 32px #0000004d}.chat-messages{flex:1;max-height:100%;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;min-height:0}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:var(--dark-bg)}.chat-messages::-webkit-scrollbar-thumb{background:var(--primary-purple);border-radius:3px}.welcome-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;animation:float 3s ease-in-out infinite}.luna-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:0 0 40px #8b5cf680;animation:glow 3s ease-in-out infinite;position:relative}.avatar-eye{width:60px;height:60px;background:var(--dark-bg);border-radius:50%;position:relative;animation:pulse 2s ease-in-out infinite}.avatar-eye:before{content:"";position:absolute;width:30px;height:30px;background:linear-gradient(135deg,var(--neon-purple),var(--neon-pink));border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.welcome-message h2{font-family:Orbitron,sans-serif;font-size:1.8rem;margin-bottom:10px;background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-message p{color:var(--text-secondary);font-size:1rem;margin-bottom:8px}.welcome-message .hint{font-size:.9rem;opacity:.7;margin-top:15px}.message{display:flex;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-content{max-width:80%;padding:12px 16px;border-radius:16px;position:relative}.message.user .message-content{background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;border-bottom-right-radius:4px}.message.assistant .message-content{background:var(--dark-card);border:1px solid rgba(139,92,246,.3);border-bottom-left-radius:4px}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.8rem;opacity:.8}.message-role{font-weight:700;text-transform:uppercase;letter-spacing:1px}.message.user .message-role{color:#fff}.message.assistant .message-role{color:var(--neon-purple)}.message-time{font-family:Orbitron,sans-serif;opacity:.6}.message-text{line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.suggestions-container{padding:15px 20px;border-top:1px solid rgba(139,92,246,.2);background:#1a1a2e80}.suggestions-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:10px;font-weight:600}.suggestions-list{display:flex;flex-wrap:wrap;gap:8px}.suggestion-button{padding:8px 16px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:20px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .3s ease;font-family:Noto Sans SC,sans-serif;white-space:normal;word-wrap:break-word;max-width:100%;text-align:left;line-height:1.4}.suggestion-button:hover{background:#8b5cf633;border-color:var(--neon-purple);transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.chat-input-container{display:flex;gap:10px;padding:15px 20px;border-top:1px solid rgba(139,92,246,.2);background:var(--dark-bg)}.chat-input{flex:1;background:var(--dark-surface);border:1px solid rgba(139,92,246,.3);border-radius:12px;padding:12px 16px;color:var(--text-primary);font-size:.95rem;font-family:Noto Sans SC,sans-serif;resize:none;outline:none;transition:all .3s ease}.chat-input:focus{border-color:var(--neon-purple);box-shadow:0 0 20px #8b5cf633}.chat-input::placeholder{color:var(--text-secondary);opacity:.6}.send-button{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 20px #8b5cf680}.send-button:disabled{opacity:.5;cursor:not-allowed}.send-button svg{transition:transform .3s ease}.send-button:hover:not(:disabled) svg{transform:translate(2px)}@media (max-width: 768px){.chat-messages{padding:15px 15px 20px;gap:18px}.message-content{max-width:85%;padding:14px 18px;border-radius:18px}.message.user .message-content{border-bottom-right-radius:6px}.message.assistant .message-content{border-bottom-left-radius:6px}.message-text{font-size:1rem;line-height:1.6}.message-header{font-size:.8rem;margin-bottom:10px}.suggestions-container{padding:15px 15px 20px;background:#1a1a2eb3}.suggestions-label{font-size:.85rem;margin-bottom:12px;font-weight:600;color:var(--text-primary)}.suggestions-list{gap:8px;display:flex;flex-wrap:wrap}.suggestion-button{padding:10px 16px;font-size:.85rem;min-height:44px;max-width:calc(50% - 4px);flex:1 1 calc(50% - 4px);white-space:normal;word-wrap:break-word;text-align:left;line-height:1.4;display:flex;align-items:center;border-radius:24px;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);transition:all .3s ease}.suggestion-button:hover{background:#8b5cf640;border-color:var(--neon-purple);transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.chat-input-container{padding:15px 15px 25px;background:var(--dark-bg);border-top:1px solid rgba(139,92,246,.2)}.chat-input{padding:16px 18px;font-size:1rem;min-height:56px;border-radius:16px;border:1px solid rgba(139,92,246,.3);background:var(--dark-surface);color:var(--text-primary)}.chat-input:focus{border-color:var(--neon-purple);box-shadow:0 0 20px #8b5cf64d}.send-button{width:56px;height:56px;min-width:56px;min-height:56px;border-radius:16px;background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));box-shadow:0 4px 15px #8b5cf64d;transition:all .3s ease}.send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 20px #8b5cf680}.luna-avatar{width:120px;height:120px;margin-bottom:25px}.welcome-message{padding:50px 20px}.welcome-message h2{font-size:1.8rem;margin-bottom:15px}.welcome-message p{font-size:1rem;line-height:1.6;margin-bottom:10px}.welcome-message .hint{font-size:.9rem;margin-top:20px}.avatar-eye{width:60px;height:60px}.avatar-eye:before{width:30px;height:30px}}.visualizer-container{display:flex;flex-direction:column;background:var(--dark-surface);border-radius:16px;border:1px solid rgba(139,92,246,.2);padding:15px;box-shadow:0 8px 32px #0000004d;flex:1;min-height:280px;max-height:320px}.visualizer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.visualizer-header h3{font-family:Orbitron,sans-serif;font-size:1.2rem;background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.emotion-indicator{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary)}.emotion-dot{width:10px;height:10px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.emotion-dot.neutral{background:var(--neon-purple)}.emotion-dot.happy{background:var(--neon-pink)}.emotion-dot.angry{background:var(--neon-red)}.emotion-dot.calm{background:#10b981}.emotion-dot.excited{background:#f59e0b}.emotion-label{text-transform:capitalize;font-weight:600}.visualizer-canvas-wrapper{flex:1;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--dark-bg);border:1px solid rgba(139,92,246,.1);overflow:hidden;position:relative}.visualizer-canvas{width:100%;height:100%;display:block}.intensity-bar{display:flex;align-items:center;gap:15px;margin-top:15px;padding:12px;background:var(--dark-bg);border-radius:10px;border:1px solid rgba(139,92,246,.1)}.interaction-buttons{display:flex;justify-content:center;margin:12px 0}.pet-button{background:linear-gradient(135deg,#ff69b4,#ff1493);border:none;border-radius:25px;padding:8px 20px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff69b44d}.pet-button:hover{transform:scale(1.05);box-shadow:0 6px 20px #ff69b466}.pet-button:active{transform:scale(.95)}.pet-effect{position:absolute;top:20px;right:20px;animation:petEffect 2s ease-out forwards;pointer-events:none}.pet-text{background:#ffb6c1e6;border-radius:20px;padding:6px 12px;color:#333;font-size:.9rem;font-weight:600;box-shadow:0 4px 12px #ffb6c180}.visualizer-container.being-pet{animation:petShake .5s ease-in-out}.visualizer-canvas-wrapper{position:relative}@keyframes petEffect{0%{opacity:0;transform:scale(.5) translateY(10px)}50%{opacity:1;transform:scale(1.1) translateY(-5px)}to{opacity:0;transform:scale(1) translateY(-15px)}}@keyframes petShake{0%,to{transform:rotate(0)}25%{transform:rotate(1deg)}75%{transform:rotate(-1deg)}}@keyframes heartSparkle{0%,to{filter:drop-shadow(0 0 5px #ff69b4)}50%{filter:drop-shadow(0 0 15px #ff69b4) drop-shadow(0 0 25px #ff1493)}}@keyframes heartPuff{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.intensity-label{font-size:.85rem;color:var(--text-secondary);font-weight:600;white-space:nowrap}.intensity-track{flex:1;height:8px;background:var(--dark-surface);border-radius:4px;overflow:hidden;position:relative}.intensity-fill{height:100%;background:linear-gradient(90deg,var(--primary-purple),var(--primary-pink),var(--primary-red));border-radius:4px;transition:width .3s ease;position:relative}.intensity-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.intensity-value{font-family:Orbitron,sans-serif;font-size:1rem;font-weight:700;color:var(--neon-purple);min-width:50px;text-align:right}@media (max-width: 768px){.visualizer-container{min-height:220px;max-height:280px;padding:12px}.visualizer-header{margin-bottom:15px}.visualizer-header h3{font-size:1rem}.emotion-indicator{font-size:.8rem}.emotion-dot{width:8px;height:8px}.intensity-bar{margin-top:12px;padding:10px;gap:10px}.intensity-label{font-size:.75rem}.intensity-track{height:6px}.intensity-value{font-size:.9rem;min-width:45px}.interaction-buttons{margin:10px 0}.pet-button{padding:8px 18px;font-size:.85rem}.pet-text{font-size:.8rem;padding:5px 10px}}.luna-stats{margin-top:15px;padding:12px;background:var(--dark-bg);border-radius:10px;border:1px solid rgba(139,92,246,.1)}.stats-title{font-size:.9rem;color:var(--text-primary);margin-bottom:12px;text-align:center;font-family:Orbitron,sans-serif;background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:10px;background:#ffffff0d;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.stat-emoji{font-size:1.1rem;margin-bottom:4px}.stat-label{font-size:.7rem;color:var(--text-secondary);margin-bottom:2px}.stat-value{font-size:.8rem;color:var(--text-primary);font-weight:500;font-family:Orbitron,sans-serif}.luna-info{margin-top:15px;padding:12px;background:var(--dark-bg);border-radius:10px;border:1px solid rgba(139,92,246,.1)}.info-title{font-size:.9rem;color:var(--text-primary);margin-bottom:12px;text-align:center;font-family:Orbitron,sans-serif;background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.info-content{background:#ffffff0d;border-radius:8px;padding:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.info-text{font-size:.85rem;color:var(--text-primary);text-align:center;margin:0;line-height:1.4}@media (max-width: 768px){.luna-stats{margin-top:12px;padding:10px}.stats-title{font-size:.8rem;margin-bottom:10px}.stats-grid{gap:6px}.stat-item{padding:8px}.stat-emoji{font-size:1rem}.stat-label{font-size:.65rem}.stat-value{font-size:.7rem}.luna-info{margin-top:12px;padding:10px}.info-title{font-size:.8rem;margin-bottom:10px}.info-content{padding:10px}.info-text{font-size:.75rem}}.stats-grid{animation:statsFadeIn 1s ease-out}.luna-info{animation:infoFadeIn 1.2s ease-out}@keyframes infoFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stat-value{transition:all .3s ease}.stat-value:hover{transform:scale(1.1);color:var(--neon-pink)}.visualizer-container.compact{min-height:180px;max-height:220px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.visualizer-container.compact .visualizer-canvas-wrapper{width:120px;height:120px;margin-bottom:10px}.luna-star-compact{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.luna-star-title{font-family:Orbitron,sans-serif;font-size:.9rem;background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.emotion-indicator-compact{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.emotion-indicator-compact .emotion-dot{width:8px;height:8px}.emotion-label-compact{text-transform:capitalize;font-weight:600;font-size:.75rem}.core-stats-compact{display:flex;gap:15px;margin-top:5px}.stat-item-compact{display:flex;flex-direction:column;align-items:center;gap:3px}.stat-item-compact .stat-emoji{font-size:.9rem}.stat-value-compact{font-size:.7rem;color:var(--text-primary);font-weight:500;font-family:Orbitron,sans-serif}@media (max-width: 768px){.visualizer-container.compact{min-height:160px;max-height:200px;padding:8px}.visualizer-container.compact .visualizer-canvas-wrapper{width:100px;height:100px;margin-bottom:8px}.luna-star-title{font-size:.8rem}.emotion-indicator-compact{gap:5px;font-size:.7rem}.emotion-indicator-compact .emotion-dot{width:6px;height:6px}.emotion-label-compact{font-size:.65rem}.core-stats-compact{gap:10px;margin-top:3px}.stat-item-compact .stat-emoji{font-size:.8rem}.stat-value-compact{font-size:.6rem}}.visualizer-container.compact .pet-effect{top:10px;right:10px}.visualizer-container.compact .pet-text{font-size:.7rem;padding:4px 8px}.shock-history{background:var(--dark-surface);border-radius:16px;padding:20px;border:1px solid rgba(139,92,246,.3);box-shadow:0 8px 32px #0000004d;max-height:500px;overflow-y:auto}.shock-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.shock-history-title{font-family:Orbitron,sans-serif;font-size:1.3rem;color:var(--neon-purple);margin:0;text-shadow:0 0 10px rgba(139,92,246,.6)}.summarize-button{background:linear-gradient(135deg,var(--neon-purple),var(--neon-pink));border:none;border-radius:20px;padding:8px 16px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #8b5cf64d}.summarize-button:hover{transform:scale(1.05);box-shadow:0 6px 20px #8b5cf666}.summarize-button:active{transform:scale(.95)}.summarize-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 4px 15px #8b5cf633}.summary-stats{margin-bottom:20px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat-card{display:flex;flex-direction:column;align-items:center;padding:12px;background:#8b5cf61a;border-radius:8px;border:1px solid rgba(139,92,246,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.stat-card:hover{background:#8b5cf626;transform:translateY(-2px)}.stat-number{font-size:1.1rem;font-weight:700;color:var(--neon-purple);font-family:Orbitron,sans-serif;margin-bottom:4px}.stat-label{font-size:.7rem;color:var(--text-secondary);text-align:center}.stat-grid{animation:statsFadeIn 1s ease-out}@keyframes statsFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.current-shock{background:#8b5cf61a;border-radius:12px;padding:15px;margin-bottom:20px;border:1px solid rgba(139,92,246,.2)}.current-shock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.current-shock-label{color:var(--text-secondary);font-size:.9rem}.current-shock-status{padding:5px 15px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.current-shock-status.active{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.4);animation:pulseActive 2s ease-in-out infinite}.current-shock-status.inactive{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.4)}@keyframes pulseActive{0%,to{opacity:1;box-shadow:0 0 10px #10b98166}50%{opacity:.7;box-shadow:0 0 20px #10b98199}}.current-shock-patterns h4{color:var(--text-secondary);font-size:.9rem;margin-bottom:10px}.shock-pattern-item{display:flex;align-items:center;gap:10px;padding:10px;background:#8b5cf60d;border-radius:8px;margin-bottom:8px;transition:all .3s ease}.shock-pattern-item:hover{background:#8b5cf61a;transform:translate(5px)}.pattern-emoji{font-size:1.5rem}.pattern-name{flex:1;color:var(--text-primary);font-weight:500}.pattern-intensity{color:var(--neon-pink);font-weight:700;font-size:.9rem}.pattern-ticks{color:var(--text-secondary);font-size:.85rem}.shock-history-list h4{color:var(--text-secondary);font-size:.9rem;margin-bottom:15px}.no-history{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-secondary);text-align:center}.no-history-icon{font-size:2rem;margin-bottom:12px;opacity:.5}.no-history-text{font-size:.9rem;font-weight:500;margin-bottom:4px;font-style:normal}.no-history-subtext{font-size:.75rem;opacity:.8;font-style:normal}.history-items{display:flex;flex-direction:column;gap:10px}.history-item{display:flex;gap:15px;padding:12px;background:#8b5cf60d;border-radius:8px;border-left:3px solid var(--neon-purple);transition:all .3s ease}.history-item:hover{background:#8b5cf61a;transform:translate(5px);border-left-color:var(--neon-pink)}.history-time{color:var(--text-secondary);font-size:.8rem;min-width:80px;padding-top:2px}.history-details{flex:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.history-emoji{font-size:1.3rem}.history-mode{color:var(--text-primary);font-weight:500}.history-intensity{color:var(--neon-pink);font-weight:700;font-size:.9rem}.history-ticks{color:var(--text-secondary);font-size:.85rem}.history-patterns{display:flex;flex-wrap:wrap;gap:8px}.history-pattern-tag{background:#8b5cf633;padding:4px 10px;border-radius:12px;font-size:.85rem;color:var(--text-primary);border:1px solid rgba(139,92,246,.3);transition:all .3s ease}.history-pattern-tag:hover{background:#8b5cf64d;border-color:var(--neon-purple)}.shock-history::-webkit-scrollbar{width:8px}.shock-history::-webkit-scrollbar-track{background:#0003;border-radius:4px}.shock-history::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:4px}.shock-history::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}@media (max-width: 768px){.shock-history{max-height:400px}.history-item{flex-direction:column;align-items:flex-start}.history-time{min-width:auto}}.settings-panel{background:#1a1a2ecc;border:1px solid rgba(139,92,246,.2);border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:100%;overflow-y:auto}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(139,92,246,.1)}.settings-header h3{font-family:Orbitron,sans-serif;font-size:1.2rem;font-weight:700;color:var(--neon-purple);margin:0;text-shadow:0 0 10px rgba(139,92,246,.5)}.header-buttons{display:flex;gap:10px;align-items:center}.toggle-logs-btn,.toggle-otc-test-btn,.toggle-personalization-btn{font-family:Orbitron,sans-serif;font-size:.8rem;font-weight:600;padding:8px 16px;border:none;border-radius:20px;background:#8b5cf61a;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.toggle-logs-btn:hover,.toggle-otc-test-btn:hover,.toggle-personalization-btn:hover{background:#8b5cf633;color:var(--neon-purple);box-shadow:0 0 15px #8b5cf64d}.toggle-personalization-btn{background:#ec48991a}.toggle-personalization-btn:hover{background:#ec489933;color:#ec4899;box-shadow:0 0 15px #ec48994d}.settings-content{display:flex;flex-direction:column;gap:20px}.setting-group{background:#8b5cf608;border:1px solid rgba(139,92,246,.05);border-radius:12px;padding:15px;transition:all .3s ease}.setting-group:hover{background:#8b5cf60d;border-color:#8b5cf61a}.setting-label{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:10px}.label-icon{font-size:1.1rem}.setting-input{width:100%;padding:10px 12px;background:#1a1a2e99;border:1px solid rgba(139,92,246,.2);border-radius:8px;color:var(--text-primary);font-size:.9rem;transition:all .3s ease}.setting-input:focus{outline:none;border-color:var(--neon-purple);box-shadow:0 0 10px #8b5cf64d}.setting-input::placeholder{color:var(--text-secondary);opacity:.7}.setting-hint{font-size:.8rem;color:var(--text-secondary);margin:8px 0 0;line-height:1.4}.emergency-stop-btn{width:100%;padding:12px 20px;background:linear-gradient(90deg,#ef4444,#dc2626);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:1px}.emergency-stop-btn:hover{transform:translateY(-2px);box-shadow:0 0 20px #ef444480}.btn-icon{font-size:1.2rem}.guide-btn{padding:10px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;color:#3b82f6;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.guide-btn:hover{background:#3b82f633;box-shadow:0 0 15px #3b82f64d}.https-guide{margin-top:15px;padding:15px;background:#3b82f60d;border:1px solid rgba(59,130,246,.1);border-radius:8px}.https-guide h4{font-size:.9rem;font-weight:700;color:#3b82f6;margin:0 0 10px}.https-guide ol{margin:0 0 10px;padding-left:20px}.https-guide li{font-size:.8rem;color:var(--text-secondary);margin-bottom:5px;line-height:1.4}.guide-note{font-size:.8rem;color:var(--text-secondary);font-style:italic;margin:10px 0 0}.otc-test-container{background:#1a1a2ee6;border:1px solid rgba(139,92,246,.3);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 0 20px #8b5cf61a}.otc-test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(139,92,246,.2)}.otc-test-header h4{font-family:Orbitron,sans-serif;font-size:1.1rem;font-weight:700;color:var(--neon-pink);margin:0;text-shadow:0 0 10px rgba(236,72,153,.5)}.test-status{font-size:.85rem;font-weight:700;padding:6px 12px;border-radius:15px;transition:all .3s ease}.test-status.ready{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.test-status.testing{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3);animation:pulse 2s infinite}.test-status.completed{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.otc-test-content{display:flex;flex-direction:column;gap:20px}.test-setting{display:flex;flex-direction:column;gap:10px}.test-label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.test-slider{width:100%;height:6px;background:#8b5cf61a;border-radius:3px;outline:none;-webkit-appearance:none}.test-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));border-radius:50%;cursor:pointer;box-shadow:0 0 10px #8b5cf680}.test-slider::-moz-range-thumb{width:18px;height:18px;background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));border-radius:50%;cursor:pointer;border:none;box-shadow:0 0 10px #8b5cf680}.test-value{font-size:.9rem;font-weight:700;color:var(--neon-purple);text-align:right}.test-select{padding:10px 12px;background:#1a1a2e99;border:1px solid rgba(139,92,246,.2);border-radius:8px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .3s ease}.test-select:focus{outline:none;border-color:var(--neon-purple);box-shadow:0 0 10px #8b5cf64d}.test-buttons{display:flex;gap:10px}.test-start-btn,.test-stop-btn{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.test-start-btn{background:linear-gradient(90deg,#10b981,#34d399);color:#fff}.test-start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 20px #10b98180}.test-stop-btn{background:linear-gradient(90deg,#ef4444,#dc2626);color:#fff}.test-stop-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 20px #ef444480}.test-start-btn:disabled,.test-stop-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.logs-container{margin-top:20px;padding:15px;background:#1a1a2e99;border:1px solid rgba(139,92,246,.1);border-radius:12px;max-height:300px;overflow-y:auto}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.logs-header h4{font-size:.9rem;font-weight:700;color:var(--neon-purple);margin:0}.clear-logs-btn{padding:6px 12px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:6px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .3s ease}.clear-logs-btn:hover{background:#8b5cf633;color:var(--neon-purple)}.logs-list{display:flex;flex-direction:column;gap:8px}.log-entry{font-size:.8rem;color:var(--text-secondary);padding:8px 12px;border-radius:6px;border-left:3px solid transparent;transition:all .3s ease}.log-entry:hover{background:#8b5cf60d}.log-entry.log-received{border-left-color:#3b82f6;background:#3b82f60d}.log-entry.log-command{border-left-color:#10b981;background:#10b9810d}.log-entry.log-error{border-left-color:#ef4444;background:#ef44440d}.log-entry.log-emergency{border-left-color:#f59e0b;background:#f59e0b0d}.log-entry.log-system{border-left-color:var(--neon-purple);background:#8b5cf60d}.log-time{color:var(--text-secondary);opacity:.7;margin-right:10px}.log-type{font-weight:700;margin-right:10px}.log-data{word-break:break-all;line-height:1.4}.logs-empty{text-align:center;color:var(--text-secondary);opacity:.7;padding:30px 20px}.settings-panel::-webkit-scrollbar,.logs-container::-webkit-scrollbar{width:6px}.settings-panel::-webkit-scrollbar-track,.logs-container::-webkit-scrollbar-track{background:#1a1a2e80;border-radius:3px}.settings-panel::-webkit-scrollbar-thumb,.logs-container::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:3px}.settings-panel::-webkit-scrollbar-thumb:hover,.logs-container::-webkit-scrollbar-thumb:hover{background:#8b5cf680}.personalization-container{background:#1a1a2ecc;border:1px solid rgba(236,72,153,.2);border-radius:16px;overflow:hidden}.personalization-header{background:linear-gradient(180deg,rgba(236,72,153,.1) 0%,transparent 100%);padding:16px;border-bottom:1px solid rgba(236,72,153,.2)}.personalization-header h4{font-family:Orbitron,sans-serif;font-size:1.1rem;background:linear-gradient(90deg,#ec4899,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.personalization-content{padding:16px}.background-options{display:flex;gap:10px;margin:12px 0}.background-option{background:#1a1a2ecc;border:1px solid rgba(139,92,246,.3);border-radius:8px;padding:8px 16px;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;font-size:.9rem}.background-option:hover{background:#8b5cf61a;border-color:#8b5cf680;color:var(--text-primary)}.background-option.active{background:linear-gradient(135deg,#8b5cf6,#a78bfa);border-color:#8b5cf6;color:#fff;box-shadow:0 4px 12px #8b5cf666}.volume-controls{display:flex;align-items:center;gap:12px;margin:12px 0}.mute-btn{background:#1a1a2ecc;border:1px solid rgba(139,92,246,.3);border-radius:8px;padding:8px;cursor:pointer;font-size:1.1rem;transition:all .3s ease;color:var(--text-secondary)}.mute-btn:hover{border-color:#8b5cf680;background:#8b5cf61a;color:var(--text-primary)}.volume-slider{flex:1;height:6px;border-radius:3px;background:#8b5cf633;outline:none;-webkit-appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#a78bfa);cursor:pointer;box-shadow:0 2px 8px #8b5cf666}.volume-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#a78bfa);cursor:pointer;border:none;box-shadow:0 2px 8px #8b5cf666}.volume-value{font-size:.9rem;color:var(--text-secondary);min-width:40px;text-align:right}.setting-select{width:100%;padding:12px;background:#1a1a2ecc;border:1px solid rgba(139,92,246,.3);border-radius:8px;color:var(--text-primary);font-size:1rem;cursor:pointer;transition:all .3s ease;margin:8px 0}.setting-select:hover{border-color:#8b5cf680;background:#1a1a2ee6}.setting-select:focus{outline:none;border-color:var(--neon-purple);box-shadow:0 0 0 3px #8b5cf61a}@media (max-width: 768px){.settings-panel{padding:15px}.settings-header{flex-direction:column;align-items:flex-start;gap:10px}.header-buttons{width:100%;justify-content:space-between}.toggle-logs-btn,.toggle-otc-test-btn,.toggle-personalization-btn{flex:1;text-align:center}.emergency-stop-btn{font-size:.9rem;padding:10px 16px}.background-options{flex-direction:column}.background-option{text-align:center}}.otc-test-container{padding:15px}.test-buttons{flex-direction:column}.logs-container{max-height:200px}} @keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}.connection-error-alert{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:16px;margin-bottom:16px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.error-alert-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.error-icon{font-size:1.5rem}.error-title{font-size:1rem;font-weight:700;color:#ef4444}.error-alert-message{background:#ef44440d;border-left:3px solid #EF4444;padding:10px 12px;border-radius:6px;margin-bottom:12px;font-size:.85rem;color:#fca5a5;word-break:break-all;line-height:1.4}.error-alert-tips{background:#f59e0b0d;border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:12px}.error-alert-tips p{font-size:.85rem;font-weight:600;color:#f59e0b;margin:0 0 8px}.error-alert-tips ul{margin:0;padding-left:20px}.error-alert-tips li{font-size:.8rem;color:var(--text-secondary);margin-bottom:4px;line-height:1.4}.error-alert-tips li:last-child{margin-bottom:0}.suggestion-panel{background:var(--dark-surface);border-radius:12px;border:1px solid rgba(139,92,246,.2);padding:15px;margin-bottom:15px;box-shadow:0 4px 15px #0003}.suggestion-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.suggestion-icon{font-size:1.2rem}.suggestion-header h4{font-size:.9rem;font-weight:600;color:var(--text-primary)}.suggestion-list{display:flex;flex-direction:column;gap:8px}.suggestion-item{display:flex;align-items:center;gap:12px;padding:12px 15px;background:#8b5cf60d;border:1px solid rgba(139,92,246,.15);border-radius:10px;color:var(--text-primary);font-size:.85rem;text-align:left;cursor:pointer;transition:all .3s ease;font-family:Noto Sans SC,sans-serif}.suggestion-item:hover{background:#8b5cf626;border-color:var(--neon-purple);transform:translate(5px);box-shadow:0 4px 15px #8b5cf633}.suggestion-item:active{transform:translate(3px)}.suggestion-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));border-radius:50%;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.suggestion-text{flex:1;line-height:1.4}.suggestion-arrow{font-size:1rem;color:var(--neon-purple);opacity:0;transform:translate(-10px);transition:all .3s ease}.suggestion-item:hover .suggestion-arrow{opacity:1;transform:translate(0)}.welcome-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a0ff2;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.welcome-modal{width:90%;max-width:700px;max-height:90vh;background:linear-gradient(135deg,var(--dark-surface) 0%,var(--dark-card) 100%);border-radius:24px;border:1px solid rgba(139,92,246,.3);box-shadow:0 20px 60px #8b5cf64d;overflow-y:auto;animation:slideUp .5s ease-out;padding:40px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.welcome-modal::-webkit-scrollbar{width:6px}.welcome-modal::-webkit-scrollbar-track{background:var(--dark-bg)}.welcome-modal::-webkit-scrollbar-thumb{background:var(--primary-purple);border-radius:3px}.welcome-header{text-align:center;margin-bottom:40px}.luna-logo{width:100px;height:100px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px #8b5cf680;animation:glow 3s ease-in-out infinite}.logo-eye{width:50px;height:50px;background:var(--dark-bg);border-radius:50%;position:relative;animation:pulse 2s ease-in-out infinite}.logo-eye:before{content:"";position:absolute;width:25px;height:25px;background:linear-gradient(135deg,var(--neon-purple),var(--neon-pink));border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.welcome-header h1{font-family:Orbitron,sans-serif;font-size:2.5rem;background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink),var(--neon-red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.subtitle{font-size:1.1rem;color:var(--text-secondary);letter-spacing:2px}.welcome-content{display:flex;flex-direction:column;gap:30px}.feature-section h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:12px}.feature-section p{color:var(--text-secondary);line-height:1.8;font-size:1rem}.luna-opening{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:12px;padding:20px;margin-top:15px;font-style:italic;color:var(--neon-pink);line-height:1.8;text-align:center}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.feature-card{background:#8b5cf60d;border:1px solid rgba(139,92,246,.15);border-radius:16px;padding:24px;text-align:center;transition:all .3s ease}.feature-card:hover{background:#8b5cf61a;border-color:var(--neon-purple);transform:translateY(-5px);box-shadow:0 8px 25px #8b5cf633}.feature-icon{font-size:2.5rem;margin-bottom:12px}.feature-card h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:8px}.feature-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.warning-section{background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:16px;padding:24px}.warning-section h3{font-size:1.2rem;color:var(--neon-red);margin-bottom:16px}.warning-section ul{list-style:none;padding:0}.warning-section li{color:var(--text-secondary);padding:8px 0 8px 24px;position:relative;line-height:1.6}.warning-section li:before{content:"•";position:absolute;left:8px;color:var(--neon-red);font-weight:700}.welcome-footer{margin-top:40px;text-align:center}.start-button{display:inline-flex;align-items:center;gap:12px;padding:16px 48px;background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));border:none;border-radius:50px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 30px #8b5cf666}.start-button:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 40px #8b5cf699}.start-button:active{transform:translateY(-1px) scale(.98)}.start-button .arrow{font-size:1.3rem;transition:transform .3s ease}.start-button:hover .arrow{transform:translate(5px)}@media (max-width: 768px){.welcome-modal{padding:24px;width:95%}.welcome-header h1{font-size:1.8rem}.features-grid{grid-template-columns:1fr}.start-button{padding:14px 36px;font-size:1rem}}.shock-effect-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.shock-effect{position:absolute;transform:translate(-50%,-50%);animation:shockFloat 2s ease-out forwards}@keyframes shockFloat{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-150%) scale(.8)}}.shock-text{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 20px;background:linear-gradient(135deg,#8b5cf6e6,#ec4899e6);border-radius:12px;border:2px solid rgba(255,255,255,.3);box-shadow:0 0 30px #8b5cf6cc,0 0 60px #ec489999;font-family:Orbitron,sans-serif;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.shock-intensity{font-size:1.5rem;font-weight:900;color:#fff;animation:shockPulse .5s ease-in-out infinite}@keyframes shockPulse{0%,to{transform:scale(1);text-shadow:0 0 10px rgba(255,255,255,.8)}50%{transform:scale(1.1);text-shadow:0 0 20px rgba(255,255,255,1),0 0 30px rgba(139,92,246,.8)}}.shock-frequency{font-size:1rem;font-weight:700;color:#ffffffe6}.shock-duration{font-size:.85rem;font-weight:600;color:#ffffffb3}.shock-wave{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;border:3px solid rgba(139,92,246,.8);border-radius:50%;animation:shockWave 1.5s ease-out infinite}.shock-wave:nth-child(2){animation-delay:.3s}@keyframes shockWave{0%{width:50px;height:50px;opacity:1}to{width:200px;height:200px;opacity:0}}.shock-effect:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150px;height:150px;background:radial-gradient(circle,rgba(139,92,246,.3) 0%,transparent 70%);border-radius:50%;animation:shockGlow 1s ease-out infinite}@keyframes shockGlow{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}}.tag-selector{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a14f2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2000;padding:40px;box-sizing:border-box;overflow:hidden}.tag-selector-title{font-family:Orbitron,sans-serif;font-size:2.5rem;color:var(--neon-purple);margin-bottom:10px;text-shadow:0 0 20px rgba(139,92,246,.8)}.tag-selector-subtitle{color:var(--text-secondary);font-size:1.1rem;margin-bottom:20px;text-align:center}.recommendations{width:100%;max-width:1200px;margin-bottom:30px}.recommendations-title{font-family:Orbitron,sans-serif;font-size:1.5rem;color:var(--neon-pink);margin-bottom:15px;text-align:center}.recommendations-list{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.recommendation-card{background:var(--dark-surface);border:2px solid rgba(139,92,246,.3);border-radius:12px;padding:15px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:180px;box-shadow:0 4px 16px #0003}.recommendation-card:hover{background:#8b5cf61a;border-color:var(--neon-purple);transform:translateY(-3px);box-shadow:0 8px 24px #8b5cf666}.recommendation-card:active{transform:translateY(-1px)}.recommendation-emojis{display:flex;gap:5px;margin-bottom:10px}.rec-emoji{font-size:1.5rem;animation:recEmojiFloat 2s ease-in-out infinite}.rec-emoji:nth-child(1){animation-delay:0s}.rec-emoji:nth-child(2){animation-delay:.3s}.rec-emoji:nth-child(3){animation-delay:.6s}@keyframes recEmojiFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.recommendation-info{flex:1}.recommendation-name{font-family:Orbitron,sans-serif;font-size:1.1rem;font-weight:700;color:var(--neon-purple);margin-bottom:5px}.recommendation-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.tag-selector-content{display:flex;gap:40px;max-width:1200px;width:100%}.tags-list{flex:1;display:flex;flex-direction:column;gap:15px;background:var(--dark-surface);border-radius:16px;padding:20px;border:1px solid rgba(139,92,246,.3);box-shadow:0 8px 32px #0000004d;max-height:500px;overflow-y:auto}.tags-list::-webkit-scrollbar{width:8px}.tags-list::-webkit-scrollbar-track{background:#0003;border-radius:4px}.tags-list::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:4px}.tags-list::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}.tag-item{display:flex;align-items:center;gap:15px;padding:15px;background:#8b5cf61a;border-radius:12px;border:1px solid rgba(139,92,246,.2);transition:all .3s ease;cursor:pointer}.tag-item:hover{background:#8b5cf633;border-color:#8b5cf666;transform:translate(5px)}.tag-item.active{background:#8b5cf64d;border-color:var(--neon-purple);box-shadow:0 0 20px #8b5cf666}.tag-emoji-before,.tag-emoji-after{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#1a1a2ecc;border-radius:8px;border:1px solid rgba(139,92,246,.3)}.tag-name{flex:1;font-family:Noto Sans SC,sans-serif;font-size:1.2rem;font-weight:600;color:var(--text-primary);text-align:center}.selected-emoji{font-size:1.8rem;animation:emojiPop .3s ease-out}@keyframes emojiPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.emoji-selector{flex:1;background:var(--dark-surface);border-radius:16px;padding:20px;border:1px solid rgba(139,92,246,.3);box-shadow:0 8px 32px #0000004d}.emoji-selector h3{font-family:Orbitron,sans-serif;font-size:1.5rem;color:var(--neon-pink);margin-bottom:20px;text-align:center}.emoji-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.emoji-button{width:60px;height:60px;font-size:2rem;background:#8b5cf61a;border:2px solid rgba(139,92,246,.3);border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.emoji-button:hover{background:#8b5cf633;border-color:var(--neon-purple);transform:scale(1.1);box-shadow:0 4px 20px #8b5cf666}.emoji-button:active{transform:scale(.95)}.confirm-button{margin-top:30px;padding:15px 60px;font-family:Orbitron,sans-serif;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;border:none;border-radius:30px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 32px #8b5cf666}.confirm-button:hover{transform:translateY(-3px);box-shadow:0 12px 40px #8b5cf699}.confirm-button:active{transform:translateY(-1px)}@media (max-width: 768px){.tag-selector{padding:80px 20px}.tag-selector-content{flex-direction:column;gap:20px;max-height:calc(100vh - 160px);overflow-y:auto;padding:10px}.tag-selector-content::-webkit-scrollbar{width:6px}.tag-selector-content::-webkit-scrollbar-track{background:#0003;border-radius:3px}.tag-selector-content::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:3px}.tag-selector-content::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}.recommendations{max-width:100%;margin-bottom:20px}.recommendations-title{font-size:1.2rem;margin-bottom:10px}.recommendations-list{gap:10px}.recommendation-card{min-width:140px;padding:12px}.recommendation-name{font-size:1rem}.recommendation-desc{font-size:.8rem}.tags-list{max-height:none;overflow:visible}.emoji-selector{max-height:none}.emoji-grid{grid-template-columns:repeat(5,1fr);gap:8px}.emoji-button{width:50px;height:50px;font-size:1.8rem}.tag-selector-title{font-size:1.8rem}.tag-selector-subtitle{font-size:1rem;margin-bottom:15px}.tag-item{padding:12px;gap:10px}.tag-name{font-size:1rem}.tag-emoji-before,.tag-emoji-after{width:36px;height:36px}.selected-emoji{font-size:1.5rem}.confirm-button{margin-top:20px;padding:12px 40px;font-size:1rem}.emoji-selector h3{font-size:1.2rem;margin-bottom:15px}}.game-start-options{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a14f2;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:2000;padding:40px;box-sizing:border-box;overflow-y:auto}.game-start-options::-webkit-scrollbar{width:8px}.game-start-options::-webkit-scrollbar-track{background:#0003;border-radius:4px}.game-start-options::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:4px}.game-start-options::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}.options-title{font-family:Orbitron,sans-serif;font-size:2.5rem;color:var(--neon-purple);margin-bottom:10px;text-shadow:0 0 20px rgba(139,92,246,.8)}.options-subtitle{color:var(--text-secondary);font-size:1.1rem;margin-bottom:40px;text-align:center;max-width:800px}.options-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;max-width:1400px;width:100%}.option-card{background:var(--dark-surface);border:2px solid rgba(139,92,246,.3);border-radius:16px;padding:25px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 8px 32px #0000004d}.option-card:hover{background:#8b5cf61a;border-color:var(--neon-purple);transform:translateY(-5px);box-shadow:0 12px 40px #8b5cf680}.option-card:active{transform:translateY(-2px)}.option-icon{font-size:3rem;margin-bottom:15px;animation:iconFloat 2s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.option-title{font-family:Orbitron,sans-serif;font-size:1.3rem;font-weight:700;color:var(--neon-pink);margin-bottom:10px}.option-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:20px;flex:1}.option-stats{display:flex;flex-direction:column;gap:8px;width:100%;background:#1a1a2ecc;border-radius:8px;padding:12px;border:1px solid rgba(139,92,246,.2)}.stat-item{display:flex;justify-content:space-between;align-items:center}.stat-label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.stat-value{font-family:Orbitron,sans-serif;font-size:.9rem;color:var(--neon-purple);font-weight:700}@media (max-width: 1200px){.options-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.options-grid{grid-template-columns:repeat(2,1fr)}.options-title{font-size:1.8rem}.option-icon{font-size:2.5rem}.option-title{font-size:1.1rem}}@media (max-width: 480px){.options-grid{grid-template-columns:1fr}.game-start-options{padding:20px}}.theme-selector{position:relative}.theme-toggle-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--dark-surface);border:1px solid rgba(139,92,246,.3);border-radius:25px;color:var(--text-primary);cursor:pointer;transition:all .3s ease;font-family:Orbitron,sans-serif;font-size:.9rem;font-weight:600}.theme-toggle-btn:hover{background:#8b5cf633;border-color:var(--neon-purple);transform:translateY(-2px);box-shadow:0 4px 15px #8b5cf64d}.theme-icon{font-size:1.2rem;animation:rotate 10s linear infinite}.theme-label{text-transform:uppercase;letter-spacing:1px}.theme-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:350px;background:var(--dark-surface);border:1px solid rgba(139,92,246,.3);border-radius:16px;padding:20px;box-shadow:0 10px 40px #00000080;z-index:1000;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.theme-dropdown-title{font-family:Orbitron,sans-serif;font-size:1.1rem;color:var(--neon-purple);margin-bottom:15px;text-align:center;text-shadow:0 0 10px rgba(139,92,246,.5)}.theme-grid{display:grid;grid-template-columns:1fr;gap:12px}.theme-card{display:flex;align-items:center;gap:12px;padding:12px;background:#8b5cf60d;border:2px solid rgba(139,92,246,.2);border-radius:12px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.theme-card:hover{background:#8b5cf61a;border-color:var(--neon-purple);transform:translate(5px);box-shadow:0 4px 15px #8b5cf64d}.theme-card.active{background:#8b5cf626;border-color:var(--neon-pink);box-shadow:0 0 20px #ec489966}.theme-preview{width:50px;height:50px;border-radius:8px;flex-shrink:0;border:2px solid rgba(255,255,255,.1);transition:all .3s ease}.theme-card:hover .theme-preview{transform:scale(1.1);border-color:var(--neon-purple)}.theme-info{flex:1;text-align:left}.theme-name{font-family:Orbitron,sans-serif;font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.theme-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.3}.theme-check{position:absolute;top:8px;right:8px;width:24px;height:24px;background:var(--neon-pink);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;animation:bounce .5s ease-out}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (max-width: 768px){.theme-dropdown{width:280px;right:-50px}.theme-preview{width:40px;height:40px}.theme-name{font-size:.9rem}.theme-desc{font-size:.75rem}}.app-container{min-height:100vh;background:linear-gradient(135deg,var(--dark-bg) 0%,var(--dark-surface) 100%);position:relative;overflow:hidden}.background-effects{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.scanline{position:absolute;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--neon-purple),transparent);animation:scanline 8s linear infinite;opacity:.3}.particles{position:absolute;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20px 30px,var(--neon-purple),transparent),radial-gradient(2px 2px at 40px 70px,var(--neon-pink),transparent),radial-gradient(1px 1px at 90px 40px,var(--neon-purple),transparent),radial-gradient(2px 2px at 160px 120px,var(--neon-pink),transparent),radial-gradient(1px 1px at 230px 80px,var(--neon-purple),transparent),radial-gradient(2px 2px at 300px 150px,var(--neon-pink),transparent);background-size:350px 200px;animation:float 20s ease-in-out infinite;opacity:.5}.app-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;background:linear-gradient(180deg,rgba(139,92,246,.1) 0%,transparent 100%);border-bottom:1px solid rgba(139,92,246,.2);position:relative;z-index:1}.app-title{font-family:Orbitron,sans-serif;font-size:2rem;font-weight:900;background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink),var(--neon-red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(139,92,246,.5);letter-spacing:2px}.title-luna{font-size:2.5rem}.title-sub{font-size:1.5rem;font-weight:400;opacity:.9}.header-controls{display:flex;gap:15px;align-items:center}.connection-status{font-family:Orbitron,sans-serif;font-size:.9rem;padding:8px 16px;border-radius:20px;background:#1a1a2ecc;border:1px solid rgba(139,92,246,.3);transition:all .3s ease}.connection-status.connected{color:#10b981;border-color:#10b98180;box-shadow:0 0 15px #10b9814d}.connection-status.disconnected{color:var(--neon-red);border-color:#f8717180;box-shadow:0 0 15px #f871714d}.connect-button,.disconnect-button,.start-button,.settings-button{font-family:Orbitron,sans-serif;font-size:.9rem;font-weight:600;padding:10px 20px;border:none;border-radius:25px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.connect-button:before,.disconnect-button:before,.start-button:before,.settings-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.connect-button:hover:before,.disconnect-button:hover:before,.start-button:hover:before,.settings-button:hover:before{left:100%}.connect-button:active,.disconnect-button:active,.start-button:active,.settings-button:active{transform:scale(.95);transition:transform .1s ease}.connect-button{background:linear-gradient(90deg,#10b981,#34d399);color:#fff;box-shadow:0 0 15px #10b9814d}.connect-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 25px #10b98180}.connect-button:disabled{background:linear-gradient(90deg,#6b7280,#9ca3af);cursor:not-allowed;opacity:.7}.disconnect-button{background:linear-gradient(90deg,var(--neon-red),#FCA5A5);color:#fff;box-shadow:0 0 15px #f871714d}.disconnect-button:hover{transform:translateY(-2px);box-shadow:0 0 25px #f8717180}.start-button{background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));color:#fff;box-shadow:0 0 15px #8b5cf64d;font-size:1rem;padding:12px 24px}.start-button:hover{transform:translateY(-2px);box-shadow:0 0 25px #8b5cf680}.settings-button{background:linear-gradient(90deg,#6b7280,#9ca3af);color:#fff;box-shadow:0 0 15px #6b72804d;font-size:1.1rem;padding:10px 15px}.settings-button:hover{transform:translateY(-2px);box-shadow:0 0 25px #6b728080}.game-not-started{display:flex;align-items:center;justify-content:center;height:100%;background:#1a1a2ecc;border-radius:16px;border:1px solid rgba(139,92,246,.2);padding:40px;text-align:center}.game-not-started-content h2{font-family:Orbitron,sans-serif;font-size:1.8rem;color:var(--neon-purple);margin-bottom:20px;text-shadow:0 0 15px rgba(139,92,246,.5)}.game-not-started-content p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:30px;line-height:1.5}.start-game-tips{background:#8b5cf60d;border-radius:12px;padding:20px;text-align:left;border:1px solid rgba(139,92,246,.1)}.start-game-tips h3{font-family:Orbitron,sans-serif;font-size:1.2rem;color:var(--neon-pink);margin-bottom:15px}.start-game-tips ul{list-style:none;padding:0;margin:0}.start-game-tips li{color:var(--text-secondary);margin-bottom:10px;padding-left:25px;position:relative;line-height:1.4}.start-game-tips li:before{content:"✨";position:absolute;left:0;color:var(--neon-purple)}.app-main{display:grid;grid-template-columns:350px 1fr 350px;gap:20px;padding:20px;height:calc(100vh - 100px);position:relative;z-index:1}.left-panel,.right-panel{display:flex;flex-direction:column;gap:20px;height:100%}.center-panel{display:flex;flex-direction:column;height:100%;min-height:0}.glitch-effect{animation:glitch .3s ease-in-out}.glitch-effect:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:#ef44441a;pointer-events:none;z-index:1000}@media (max-width: 1400px){.app-main{grid-template-columns:300px 1fr 300px}}@media (max-width: 1200px){.app-main{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow-y:auto}.left-panel,.right-panel{height:auto}.center-panel{height:600px}.header-controls{flex-wrap:wrap;justify-content:center}}@media (max-width: 480px){.app-header{gap:15px;padding:15px;margin:0 -10px 15px}.app-title{font-size:1.5rem}.title-luna{font-size:1.8rem}.title-sub{font-size:1.1rem}.header-controls{gap:12px;padding:15px}.connect-button,.disconnect-button,.start-button,.settings-button{min-height:52px;font-size:1rem}.game-not-started{padding:20px;margin:15px}.game-not-started-content h2{font-size:1.5rem}.game-not-started-content p{font-size:1rem}.start-game-tips{padding:20px}.start-game-tips h3{font-size:1.1rem}.start-game-tips li{font-size:1rem;padding-left:25px}.app-main{padding:10px;gap:20px}.left-panel,.right-panel{padding:15px}.center-panel{min-height:400px;padding:15px}button{min-height:52px;min-width:52px}input,textarea{min-height:52px}}@media (min-width: 481px) and (max-width: 768px){.app-header{flex-direction:column;gap:20px;padding:20px;background:linear-gradient(180deg,rgba(139,92,246,.2) 0%,transparent 100%);border-bottom:1px solid rgba(139,92,246,.3);border-radius:0 0 24px 24px;box-shadow:0 4px 20px #0003;margin:0 -15px 20px}.app-title{font-size:1.8rem;text-shadow:0 0 40px rgba(139,92,246,.7);text-align:center}.title-luna{font-size:2.2rem}.title-sub{font-size:1.3rem;opacity:1}.header-controls{flex-direction:column;align-items:stretch;gap:15px;background:#1a1a2ecc;padding:20px;border-radius:16px;border:1px solid rgba(139,92,246,.3);box-shadow:0 4px 15px #0003}.connect-button,.disconnect-button,.start-button,.settings-button{width:100%;text-align:center;min-height:56px;font-size:1.1rem;border-radius:28px;box-shadow:0 6px 20px #0000004d;transition:all .3s ease;position:relative;overflow:hidden}.connect-button:hover:not(:disabled),.disconnect-button:hover,.start-button:hover,.settings-button:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0006}.connect-button:active,.disconnect-button:active,.start-button:active,.settings-button:active{transform:translateY(-1px);box-shadow:0 4px 15px #0000004d}.settings-button{padding:12px;background:linear-gradient(90deg,#7c3aed,#9333ea);box-shadow:0 6px 20px #7c3aed66}.settings-button:hover{box-shadow:0 8px 25px #7c3aed99}.game-not-started{padding:30px;background:#1a1a2ef2;border:1px solid rgba(139,92,246,.3);border-radius:20px;box-shadow:0 12px 40px #0006;margin:20px;position:relative;overflow:hidden}.game-not-started:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-purple),var(--primary-pink))}.game-not-started-content h2{font-size:1.8rem;text-shadow:0 0 20px rgba(139,92,246,.7);margin-bottom:20px}.game-not-started-content p{font-size:1.2rem;line-height:1.6;margin-bottom:15px}.start-game-tips{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);padding:25px;border-radius:16px;margin-top:20px;box-shadow:inset 0 2px 10px #0003}.start-game-tips h3{font-size:1.3rem;text-shadow:0 0 15px rgba(236,72,153,.5);margin-bottom:15px}.start-game-tips li{font-size:1.1rem;line-height:1.5;padding-left:30px;margin-bottom:10px}.start-game-tips li:before{font-size:1.2rem;left:2px}.app-main{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding:15px;height:auto;min-height:600px;overflow-y:auto;gap:25px}.left-panel,.right-panel{display:flex;height:auto;background:#1a1a2ee6;border-radius:20px;border:1px solid rgba(139,92,246,.3);padding:20px;box-shadow:0 8px 25px #0000004d;position:relative;overflow:hidden}.left-panel:before,.right-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-purple),transparent)}.left-panel{grid-row:1}.center-panel{grid-row:2;min-height:480px;background:#1a1a2ee6;border-radius:20px;border:1px solid rgba(139,92,246,.3);padding:20px;box-shadow:0 8px 25px #0000004d;position:relative;overflow:hidden}.center-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-pink),var(--primary-purple))}.right-panel{grid-row:3}button{min-height:48px;min-width:48px;-webkit-tap-highlight-color:transparent;cursor:pointer}input,textarea{min-height:48px;font-size:16px;border-radius:12px;border:1px solid rgba(139,92,246,.3);padding:0 15px;background:#1a1a2ee6;color:var(--text-primary);box-shadow:inset 0 2px 8px #0003}input:focus,textarea:focus{outline:none;border-color:var(--neon-purple);box-shadow:inset 0 2px 8px #0003,0 0 20px #8b5cf64d}.connection-status{font-size:1rem;padding:12px 24px;border-radius:28px;text-align:center;box-shadow:0 4px 15px #0003;border:1px solid rgba(139,92,246,.2)}.connection-status.connected{box-shadow:0 4px 20px #10b98166;background:#10b9811a}.connection-status.disconnected{box-shadow:0 4px 20px #f8717166;background:#f871711a}.left-panel,.center-panel,.right-panel{animation:fadeInUp .6s ease-out;animation-fill-mode:both}.left-panel{animation-delay:.1s}.center-panel{animation-delay:.2s}.right-panel{animation-delay:.3s}}@media (max-width: 768px){::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a1a2ecc;border-radius:4px}::-webkit-scrollbar-thumb{background:#8b5cf699;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8b5cf6cc}::-moz-selection{background:#8b5cf64d;color:var(--text-primary)}::selection{background:#8b5cf64d;color:var(--text-primary)}*{touch-action:manipulation}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.visual-depth{position:relative;z-index:1}.visual-depth:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff0d,#0000001a);border-radius:inherit;z-index:-1}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-5px);box-shadow:0 12px 30px #0006}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 10px var(--neon-purple),0 0 20px var(--neon-purple)}50%{box-shadow:0 0 20px var(--neon-purple),0 0 30px var(--neon-purple),0 0 40px var(--neon-purple)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes scanline{0%{top:0;opacity:0}50%{opacity:.3}to{top:100%;opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--neon-purple),0 0 10px var(--neon-purple)}50%{box-shadow:0 0 20px var(--neon-purple),0 0 30px var(--neon-purple)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes colorChange{0%{color:var(--neon-purple)}33%{color:var(--neon-pink)}66%{color:var(--neon-red)}to{color:var(--neon-purple)}}.particles:before{content:"";position:absolute;width:100%;height:100%;background-image:radial-gradient(1px 1px at 50px 100px,var(--neon-purple),transparent),radial-gradient(1px 1px at 100px 50px,var(--neon-pink),transparent),radial-gradient(2px 2px at 150px 150px,var(--neon-purple),transparent),radial-gradient(1px 1px at 200px 80px,var(--neon-pink),transparent),radial-gradient(2px 2px at 250px 200px,var(--neon-purple),transparent);background-size:300px 250px;animation:float 25s ease-in-out infinite reverse;opacity:.3}.connect-button:hover:not(:disabled),.disconnect-button:hover,.start-button:hover{animation:glow 1s ease-in-out infinite}.connection-status.connected{animation:pulse 2s ease-in-out infinite}.game-not-started-content{animation:fadeIn .5s ease-out}.start-game-tips li{animation:slideIn .3s ease-out;animation-fill-mode:both}.start-game-tips li:nth-child(1){animation-delay:.1s}.start-game-tips li:nth-child(2){animation-delay:.2s}.start-game-tips li:nth-child(3){animation-delay:.3s}.start-game-tips li:nth-child(4){animation-delay:.4s}.start-game-tips li:nth-child(5){animation-delay:.5s}.app-title{animation:colorChange 5s ease-in-out infinite}.left-panel>*,.right-panel>*{animation:fadeIn .3s ease-out;animation-fill-mode:both}.left-panel>*:nth-child(1){animation-delay:.1s}.left-panel>*:nth-child(2){animation-delay:.2s}.left-panel>*:nth-child(3){animation-delay:.3s}.right-panel>*:nth-child(1){animation-delay:.1s}.right-panel>*:nth-child(2){animation-delay:.2s}.right-panel>*:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scanline,.particles{display:none}.connection-status.connected,.app-title{animation:none}}@media (max-width: 768px) and (prefers-reduced-motion: no-preference){.scanline{animation-duration:12s}.particles{animation-duration:30s}.connection-status.connected{animation-duration:3s}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-purple: #8B5CF6;--primary-pink: #EC4899;--primary-red: #EF4444;--dark-bg: #0A0A0F;--dark-surface: #1A1A2E;--dark-card: #16213E;--neon-purple: #A855F7;--neon-pink: #F472B6;--neon-red: #F87171;--text-primary: #E5E7EB;--text-secondary: #9CA3AF}body{font-family:Noto Sans SC,sans-serif;background:var(--dark-bg);color:var(--text-primary);overflow-x:hidden;min-height:100vh}#root{min-height:100vh}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}@keyframes heartbeat{0%,to{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}30%{transform:scale(1.15)}40%{transform:scale(1)}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--neon-purple),0 0 40px var(--neon-purple)}50%{box-shadow:0 0 40px var(--neon-pink),0 0 80px var(--neon-pink)}}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:var(--dark-surface)}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--primary-purple);border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:var(--neon-purple)}
