:root{font-family:Outfit,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;--color-bg-dark: #0a0b10;--color-bg-card: #15161c;--color-primary: #d4af37;--color-primary-hover: #f1d05b;--primary-color: var(--color-primary);--color-text-main: #e0e0e0;--color-text-muted: #a0a0a0;--color-accent-glow: rgba(212, 175, 55, .3);--transition-fast: .2s ease;--transition-smooth: .4s cubic-bezier(.25, .46, .45, .94);color:var(--color-text-main);background-color:var(--color-bg-dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;margin:0;background-color:var(--color-bg-dark)}#root{width:100%}a{font-weight:500;color:var(--color-primary);text-decoration:inherit;transition:var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{line-height:1.1;font-weight:700}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.landing-container{min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;color:#e0e0e0;background-color:#0a0a0a;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior-y:contain}.landing-header{position:absolute;top:0;left:0;width:100%;z-index:10;background-color:transparent!important;border-bottom:none!important}.hero-section{position:relative;height:100vh;min-height:600px;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 1rem}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000004d,#000000b3)}.hero-content{position:relative;z-index:5;max-width:800px;padding-top:60px}.hero-title{font-size:3.5rem;font-weight:800;margin-bottom:1.5rem;line-height:1.1;text-shadow:0 2px 10px rgba(0,0,0,.5);background:linear-gradient(to right,#fff,#cecece);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle{font-size:1.25rem;margin-bottom:2.5rem;color:#d1d5db;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}.cta-button{display:inline-flex;align-items:center;gap:.5rem;background-color:#7c3aed;color:#fff;font-size:1.1rem;font-weight:600;padding:1rem 2rem;border:none;border-radius:50px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #7c3aed66}.cta-button:hover{background-color:#6d28d9;transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed99}.cta-button-secondary{background-color:transparent;border:2px solid #7c3aed;box-shadow:none}.cta-button-secondary:hover{background-color:#7c3aed26;box-shadow:none}.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.features-section{padding:6rem 1rem;background-color:#111;text-align:center}.section-title{font-size:2.5rem;margin-bottom:3rem;font-weight:700}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.feature-card{background:#1a1a1a;padding:2.5rem;border-radius:12px;border:1px solid #333;transition:transform .2s}.feature-card:hover{transform:translateY(-5px);border-color:#7c3aed}.icon-wrapper{display:inline-flex;padding:1rem;background-color:#7c3aed1a;color:#a78bfa;border-radius:50%;margin-bottom:1.5rem}.feature-card h3{font-size:1.5rem;margin-bottom:1rem;color:#fff}.feature-card p{color:#9ca3af;line-height:1.6}.demo-preview-section{padding:6rem 1rem;background-color:#111;text-align:center}.demo-preview-lede{font-size:1.15rem;color:#9ca3af;line-height:1.6;max-width:640px;margin:0 auto}.demo-preview-image{display:block;width:100%;max-width:680px;height:auto;margin:2.5rem auto 1.5rem;border-radius:12px}.demo-preview-caption{color:#6b7280;font-size:.95rem;margin:0 auto 2rem;max-width:640px}.faq-section{padding:6rem 1rem;background-color:#0d0d0d;text-align:center}.faq-list{max-width:720px;margin:2.5rem auto 0;text-align:left;display:flex;flex-direction:column;gap:1rem}.faq-item{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem 1.75rem}.faq-question{font-size:1.1rem;margin:0 0 .75rem;color:#f3f4f6}.faq-answer{margin:0;color:#9ca3af;line-height:1.65;font-size:1rem}.signup-section{padding:6rem 1rem;background:linear-gradient(to top,#0a0a0a,#111);text-align:center}.signup-card{max-width:500px;margin:0 auto;background:#1a1a1a;padding:3rem;border-radius:16px;border:1px solid #333;box-shadow:0 10px 30px #0000004d}.signup-title{font-size:2rem;margin-bottom:1rem}.signup-desc{color:#9ca3af;margin-bottom:2rem}.google-login-button{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;background-color:#fff;color:#333;font-weight:600;padding:.875rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .2s}.google-login-button:hover{background-color:#f3f4f6}.google-icon{width:20px;height:20px}.footer{padding:2rem;text-align:center;color:#6b7280;border-top:1px solid #222;font-size:.9rem}.cookie-settings-button{background:none;border:none;padding:0;margin-left:1rem;color:#6b7280;font-size:.9rem;text-decoration:underline;cursor:pointer}.cookie-settings-button:hover{color:#9ca3af}@media(max-width:768px){.hero-title{font-size:2.5rem}}@media(max-width:640px){.hero-section{min-height:560px;padding:0 1.25rem}.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1.05rem;margin-bottom:2rem}.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas .cta-button{width:100%;justify-content:center;min-height:52px}.features-section,.signup-section,.faq-section,.demo-preview-section{padding:4rem 1rem}.section-title{font-size:1.9rem;margin-bottom:2rem}.features-grid{grid-template-columns:1fr;gap:1rem}.feature-card{padding:1.75rem 1.25rem}.signup-card{padding:2rem 1.25rem}.demo-preview-section .cta-button{min-height:52px;justify-content:center}}.toast-container{position:fixed;top:1rem;top:max(1rem,env(safe-area-inset-top));right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:2000;max-width:min(24rem,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.75rem;padding:.75rem .9rem;background:var(--color-bg-card);border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--color-primary);border-radius:.5rem;color:var(--color-text-main);box-shadow:0 8px 24px #00000080;animation:toast-slide-in var(--transition-fast);font-size:.9rem;line-height:1.4}.toast-error{border-left-color:#e5484d}.toast-success{border-left-color:#46a758}.toast-info{border-left-color:var(--color-primary)}.toast-message{flex:1;overflow-wrap:anywhere}.toast-close{background:transparent;border:none;color:var(--color-text-muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .15rem;transition:var(--transition-fast)}.toast-close:hover{color:var(--color-text-main)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(1.5rem)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .2s ease-out;overflow-y:auto;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.modal-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;width:90%;max-width:500px;position:relative;box-shadow:0 10px 30px #00000080;animation:slideUp .3s ease-out;margin:auto}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#888;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{color:#fff;background-color:#ffffff1a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.feedback-button{display:inline-flex;align-items:center;gap:6px;background-color:transparent;color:#e0e0e0;border:1px solid rgba(255,255,255,.1);padding:.6rem 1.25rem;min-height:44px;border-radius:50px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease}.feedback-button:hover{background-color:#ffffff1a;border-color:#ffffff4d;color:#fff;transform:translateY(-1px)}.feedback-modal{max-width:440px}.feedback-form h3{margin:0 0 4px;color:#fff}.feedback-subtitle{margin:0 0 16px;color:#aaa;font-size:.9em}.feedback-rating{display:flex;gap:6px;margin-bottom:16px}.feedback-star{background:transparent;border:none;cursor:pointer;color:#555;padding:4px;transition:color .15s ease,transform .15s ease}.feedback-star:hover{transform:scale(1.15);color:#ffd166}.feedback-star.active{color:#ffd166}.feedback-star.active svg{fill:#ffd166}.feedback-message{width:100%;box-sizing:border-box;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#eee;padding:10px 12px;font-size:.95em;font-family:inherit;resize:vertical;margin-bottom:12px}.feedback-message:focus{outline:none;border-color:var(--primary-color)}.feedback-error{color:#ff8a80;font-size:.85em;margin:0 0 12px}.feedback-actions{display:flex;justify-content:flex-end}.feedback-submit{background:var(--primary-color);color:#fff;border:none;padding:8px 20px;border-radius:50px;cursor:pointer;font-weight:600;font-size:.9em}.feedback-submit:disabled{opacity:.45;cursor:not-allowed}.feedback-submit:not(:disabled):hover{filter:brightness(1.1)}.feedback-thankyou{text-align:center;padding:24px 8px}.feedback-discord{margin:14px 0 0;text-align:center;font-size:.85em;color:#888}.feedback-discord a{color:#8ab4ff;text-decoration:none;font-weight:600}.feedback-discord a:hover{text-decoration:underline}.feedback-thankyou h3{color:#fff;margin:0 0 8px}.feedback-thankyou p{color:#aaa;margin:0}.active-session-card .feedback-button{padding:8px 16px;border-radius:4px;margin-left:10px}@media(max-width:640px){.feedback-star{min-width:44px;min-height:44px;padding:8px}.active-session-card .feedback-button{margin-left:0}}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;padding-top:max(1rem,env(safe-area-inset-top));background-color:#0a0a0ab3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05);position:sticky;top:0;z-index:50;transition:background-color .3s ease}.landing-header{position:absolute;background-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:none!important}.logo-container .logo-text{font-size:1.75rem;font-weight:800;text-decoration:none;background:linear-gradient(to right,#fff,#cecece);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;cursor:pointer;letter-spacing:-.5px}.header-button{background-color:transparent;color:#e0e0e0;border:1px solid rgba(255,255,255,.1);padding:.6rem 1.25rem;border-radius:50px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease}.header-button:hover{background-color:#ffffff1a;border-color:#ffffff4d;color:#fff;transform:translateY(-1px)}.header-actions{display:flex;align-items:center;gap:10px}@media(max-width:640px){.app-header{padding:.75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top))}.logo-container .logo-text{font-size:1.35rem}.header-actions{gap:8px}.header-button{min-height:44px;padding:.6rem 1rem;font-size:.85rem}}.music-volume-control{display:inline-flex;align-items:center;gap:8px}.music-volume-control .mute-btn{background:#ffffff14;color:#fff;border:none;border-radius:4px;padding:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.music-volume-control .volume-label{font-size:.8em;color:#aaa;white-space:nowrap}.music-volume-control .volume-slider{width:100px;accent-color:var(--primary-color);cursor:pointer;min-height:24px}@media(max-width:640px){.music-volume-control .volume-slider{width:140px}}.transcript-panel{min-width:0}.transcript-area{margin-top:10px;background:#0000004d;padding:10px;border-radius:4px;height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;min-width:0}.transcript-bubble{align-self:flex-start;background:#ffffff1a;padding:8px 12px;border-radius:12px 12px 12px 0;max-width:80%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.95rem;line-height:1.55}.transcript-bubble.interim{border:1px dashed rgba(255,255,255,.35);background:#ffffff0d;color:#ffffffd9;display:flex;align-items:baseline;gap:8px}.interim-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#4caf50;align-self:center;animation:interim-pulse 1.2s ease-in-out infinite}@keyframes interim-pulse{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.interim-dot{animation:none}}.speaker-label{font-weight:700;color:#9fd3ff;margin-right:6px;white-space:nowrap}@media(max-width:640px){.transcript-area{height:300px;font-size:1rem}.transcript-bubble{max-width:92%;font-size:1rem;line-height:1.6}}.now-playing{margin:0;font-size:.85rem;line-height:1.4;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.now-playing-label{letter-spacing:.04em}.now-playing-title{color:var(--color-primary);font-weight:600}.demo-restart-btn{background:#ffffff1a;color:#fff;border:none;padding:10px 18px;border-radius:4px;cursor:pointer;font-size:.85em;display:inline-flex;align-items:center;gap:6px;min-height:44px}.demo-music-row{margin-top:12px;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}@media(max-width:640px){.demo-music-row{justify-content:stretch}.demo-music-row .music-volume-control{width:100%;justify-content:space-between}.demo-music-row .music-volume-control .volume-slider{flex:1 1 auto;width:auto;min-width:0}}.home-page{min-height:100vh;padding:6rem 2rem 2rem;background:radial-gradient(circle at 15% 50%,rgba(124,58,237,.08) 0%,transparent 25%),radial-gradient(circle at 85% 30%,rgba(59,130,246,.08) 0%,transparent 25%);background-color:#0a0a0a}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:1.5rem}.page-header h1{font-size:2.5rem;font-weight:800;margin:0;letter-spacing:-1px;background:linear-gradient(to right,#fff,#9ca3af);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.new-campaign-btn{display:flex;align-items:center;gap:.5rem;background-color:#7c3aed;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #7c3aed4d}.new-campaign-btn:hover{background-color:#6d28d9;transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed80}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.campaign-card{display:block;width:100%;font:inherit;color:inherit;text-align:left;appearance:none;background:#1e1e1e99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:2rem;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.campaign-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent 0%,rgba(255,255,255,.03) 100%);pointer-events:none}.campaign-card:hover{transform:translateY(-5px);border-color:#7c3aed80;box-shadow:0 10px 30px -10px #00000080}.campaign-card:focus-visible{outline:2px solid #a78bfa;outline-offset:2px;border-color:#7c3aed80}.campaign-card:hover h3{color:#a78bfa}.campaign-card h3{margin-top:0;margin-bottom:.75rem;font-size:1.5rem;font-weight:700;color:#e5e7eb;transition:color .2s}.campaign-card p{color:#9ca3af;margin:0;line-height:1.6;font-size:.95rem}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#ffffff08;border-radius:12px;border:1px dashed rgba(255,255,255,.1);color:#9ca3af}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-top:1rem;letter-spacing:.05em}.status-badge.active{background:#10b98133;color:#34d399;border:1px solid rgba(16,185,129,.2)}.status-badge.archived{background:#6b728033;color:#9ca3af;border:1px solid rgba(107,114,128,.2)}.onboarding-checklist{grid-column:1 / -1;padding:2.5rem;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.onboarding-checklist h2{margin:0 0 .5rem;font-size:1.75rem;font-weight:800;color:#e5e7eb;letter-spacing:-.5px}.onboarding-intro{margin:0 0 1.75rem;color:#9ca3af;line-height:1.6}.onboarding-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.onboarding-step{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;background:#1e1e1e99;border:1px solid rgba(255,255,255,.06);border-radius:10px}.onboarding-step-number{flex:none;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#7c3aed33;border:1px solid rgba(124,58,237,.5);color:#a78bfa;font-weight:700;font-size:.9rem}.onboarding-step-body{flex:1;min-width:0}.onboarding-step-body h3{margin:0 0 .25rem;font-size:1.05rem;font-weight:700;color:#e5e7eb}.onboarding-step-body p{margin:0 0 .75rem;color:#9ca3af;line-height:1.6;font-size:.95rem}.onboarding-step-action{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.6rem 1.25rem;background-color:#7c3aed;color:#fff;border:none;border-radius:50px;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 15px #7c3aed4d}a.onboarding-step-action:hover,button.onboarding-step-action:hover{background-color:#6d28d9;box-shadow:0 6px 20px #7c3aed80}a.onboarding-step-action:focus-visible,button.onboarding-step-action:focus-visible{outline:2px solid #a78bfa;outline-offset:2px}@media(max-width:640px){.home-page{padding:1.5rem 1rem}.page-header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:2rem;padding-bottom:1.25rem}.page-header h1{font-size:2rem;overflow-wrap:anywhere}.new-campaign-btn{justify-content:center;min-height:48px}.campaign-grid{grid-template-columns:1fr;gap:1rem}.campaign-card,.onboarding-checklist{padding:1.25rem}.onboarding-checklist h2{font-size:1.4rem;overflow-wrap:anywhere}.onboarding-step{padding:1rem;gap:.75rem}.onboarding-step-action{width:100%;justify-content:center;min-height:48px}.campaign-card h3{font-size:1.25rem;overflow-wrap:anywhere}}.quick-start-hero{background:linear-gradient(135deg,#10b9811f,#0596690f);border:1px solid rgba(16,185,129,.3);border-radius:16px;padding:2rem;margin-bottom:2rem;text-align:center}.quick-start-hero h2{margin:0 0 .5rem;color:#fff;font-size:1.5rem}.quick-start-hero p{margin:0 0 1.25rem;color:#aaa;max-width:480px;margin-left:auto;margin-right:auto}.quick-start-btn{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#10b981,#059669);border:1px solid #059669;box-shadow:0 4px 12px #10b9814d;color:#fff;padding:.85rem 2rem;font-size:1.05rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .2s ease;min-height:44px}.quick-start-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}.quick-start-btn:disabled{opacity:.6;cursor:wait}.create-campaign-modal h2{margin-top:0;margin-bottom:.5rem;font-size:1.5rem;color:#fff}.modal-subtitle{color:#888;margin-bottom:2rem;font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#e0e0e0;font-size:.9rem;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#7c3aed}.form-group textarea{min-height:100px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-size:.95rem}.btn-secondary{background:transparent;color:#e0e0e0;border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover{background:#ffffff0d}.btn-primary{background:#7c3aed;color:#fff}.btn-primary:hover{background:#6d28d9}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.scene-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem;transition:all .2s ease;display:flex;flex-direction:column;position:relative;min-height:200px}.scene-card:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-2px)}.scene-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.scene-card h3{margin:0;color:#fff;font-size:1.2rem;font-weight:600}.scene-card-description{margin:0 0 1rem;color:#94a3b8;line-height:1.5;font-size:.95rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex-grow:1}.scene-card-track{display:flex;align-items:center;gap:.5rem;color:#a78bfa;font-size:.85rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1);margin-top:auto;width:100%}.track-name{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-play-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid rgba(167,139,250,.3);background:#a78bfa1a;color:#a78bfa;cursor:pointer;transition:all .2s;padding:0;margin-left:.5rem}.track-play-btn:hover{background:#a78bfa33;transform:scale(1.1)}.track-play-btn.playing{background:#a78bfa4d;border-color:#a78bfa;color:#fff;animation:pulse-ring 2s infinite}@keyframes pulse-ring{0%{box-shadow:0 0 #a78bfa66}70%{box-shadow:0 0 0 6px #a78bfa00}to{box-shadow:0 0 #a78bfa00}}.scene-card-actions{display:flex;gap:.5rem;margin-top:1rem;justify-content:flex-end;opacity:0;transition:opacity .2s ease-in-out}.scene-card:hover .scene-card-actions{opacity:1}.scene-status{position:absolute;top:.5rem;right:.5rem;font-size:.75rem;padding:2px 6px;border-radius:4px;background:#0009;color:#fffc;opacity:0;transition:opacity .2s;pointer-events:none}.scene-status.owned{color:#a5b4fc;background:#4f46e533;border:1px solid rgba(165,180,252,.2)}.scene-status.imported{color:#6ee7b7;background:#05966933;border:1px solid rgba(110,231,183,.2)}.scene-card:hover .scene-status{opacity:1}.scene-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.2);cursor:pointer;background-color:#ffffff1a;color:#f3f4f6;transition:all .2s;padding:0}.scene-action-btn:hover{background-color:#fff3;color:#fff}.scene-action-btn.edit:hover{color:#a78bfa;background-color:#7c3aed1a;border-color:#7c3aed4d}.scene-action-btn.delete:hover{background-color:#ef444426;color:#ef4444;border-color:#ef44444d}@media(max-width:640px){.scene-card{padding:1.25rem;min-height:0}.scene-card-header{padding-right:4rem}.scene-card h3{overflow-wrap:anywhere}.scene-card-actions{justify-content:flex-start}.scene-action-btn{width:44px;height:44px}.track-play-btn{width:44px;height:44px;margin-left:auto;flex-shrink:0}}@media(hover:none){.scene-card-actions,.scene-card .scene-status{opacity:1}}.scene-details-modal-container{max-width:800px!important;width:90vw}.scene-details-modal{display:flex;flex-direction:column;color:#e2e8f0}.scene-details-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1);padding-right:2rem}.scene-details-modal h2{margin:0;font-size:1.75rem;color:#fff}.modal-content-scroll{flex-grow:1;padding-right:.5rem}.detail-section{margin-bottom:2rem}.detail-section h3{color:#94a3b8;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.scene-detail-description{font-size:1.1rem;line-height:1.6;color:#f1f5f9;white-space:pre-wrap}.detail-track-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;display:flex;align-items:center;justify-content:space-between}.track-info{display:flex;align-items:center;gap:.75rem;color:#a78bfa;font-size:1.1rem;font-weight:500}.detail-play-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(167,139,250,.4);background:#a78bfa1a;color:#a78bfa;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0;padding:0}.detail-play-btn:hover{background:#a78bfa33;transform:scale(1.1)}.detail-play-btn.playing{background:#a78bfa4d;border-color:#a78bfa;color:#fff}.modal-footer-actions{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:1rem}.edit-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#7c3aed33;color:#a78bfa;border:1px solid rgba(124,58,237,.4);border-radius:6px;cursor:pointer;transition:all .2s}.edit-btn:hover{background:#7c3aed4d;color:#fff}.close-action-btn{padding:.6rem 1.2rem;background:transparent;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;border-radius:6px;cursor:pointer;transition:all .2s}.close-action-btn:hover{background:#ffffff1a;color:#fff}.scene-form-modal-container{max-width:800px!important;width:90vw}.scene-form-modal{display:flex;flex-direction:column;color:#e2e8f0}.scene-form-modal .modal-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.scene-form-modal .modal-header h2{margin:0;font-size:1.5rem;color:#fff}.scene-form-modal .modal-body{flex-grow:1;padding-right:.5rem;display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea,.form-group select{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.75rem;color:#fff;font-size:1rem;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#a78bfa}.form-group textarea{min-height:150px;resize:vertical}.modal-actions{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:1rem}.cancel-btn{padding:.6rem 1.2rem;background:transparent;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;border-radius:6px;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#ffffff1a;color:#fff}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#7c3aed;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.confirm-btn:hover{background:#6d28d9}.confirm-btn:disabled{background:#4c1d95;opacity:.7;cursor:not-allowed}.active-session-card{margin-bottom:20px;padding:15px;border:1px solid var(--primary-color);border-radius:8px;background:#ffffff0d;min-width:0}.session-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:10px}.session-title{min-width:0}.session-title h4{margin:0}.session-started{font-size:.9em;color:#aaa;margin:4px 0 0;overflow-wrap:anywhere}.session-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;text-align:right;min-width:0}.session-btn{border:none;border-radius:4px;cursor:pointer;font-weight:700;color:#fff;padding:10px 18px;min-height:44px;font-size:.95rem;white-space:nowrap}.session-btn-start{background:#4caf50}.session-btn-stop{background:#f44336}.session-btn-pause{background:#ff9800}.session-btn-resume{background:#2196f3}.session-pause-announce{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.session-controls .delete-button{min-height:44px}.mic-meter-wrap{display:inline-flex;align-items:center}.ios-audio-note{flex:1 1 100%;margin:2px 0 0;font-size:.75rem;line-height:1.4;color:#fff9;text-align:center;max-width:100%}.session-music-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:10px;min-width:0}.session-music-row .now-playing{flex:1 1 auto;min-width:0}.session-controls .feedback-button{margin-left:0}@media(max-width:640px){.active-session-card{display:flex;flex-direction:column;padding:12px}.session-top{display:contents}.session-title{order:1;margin-bottom:10px}.session-music-row{order:2}.transcript-panel{order:3;min-width:0}.session-controls{order:4;position:sticky;bottom:0;z-index:20;margin:12px -12px -12px;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#0c0c10f5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.1);border-radius:0 0 8px 8px;justify-content:stretch;text-align:left}.session-controls .session-btn-start,.session-controls .session-btn-stop,.session-controls .session-btn-pause,.session-controls .session-btn-resume{flex:1 1 100%;min-height:52px;font-size:1.05rem}.session-controls .delete-button,.session-controls .feedback-button{flex:1 1 0;min-height:48px;white-space:normal;text-align:center;justify-content:center}.mic-meter-wrap{flex:1 1 100%;justify-content:center;padding:2px 0 6px}}.campaign-page{padding:2rem;max-width:1200px;margin:0 auto;animation:fadeIn .5s ease-out}.campaign-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:0;border-bottom:none}.campaign-page h1{font-size:2.5rem;margin:0;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.campaign-content{display:grid;gap:2rem}.campaign-description{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem}.campaign-description h2{font-size:1.5rem;margin-bottom:1rem;color:#e0e7ff}.campaign-description p{color:#94a3b8;line-height:1.6}.loading-state,.error-state{display:flex;justify-content:center;align-items:center;height:50vh;font-size:1.2rem;color:#94a3b8}.error-state{color:#ef4444}.tabs-container{display:flex;gap:2rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:2rem}.tab-button{background:none;border:none;padding:.75rem .5rem;min-height:44px;color:#94a3b8;font-size:1rem;font-weight:500;cursor:pointer;position:relative;transition:color .2s ease}.tab-button:hover{color:#e0e7ff}.tab-button.active{color:#6366f1}.tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:#6366f1;border-radius:2px 2px 0 0}.scenes-section{padding:2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px}.scenes-section h2{margin:0;font-size:1.5rem;color:#e0e7ff}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.import-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#6366f133;border:1px solid rgba(99,102,241,.3);border-radius:8px;color:#e0e7ff;font-weight:500;cursor:pointer;transition:all .2s ease}.import-btn:hover:not(:disabled){background:#6366f14d;border-color:#6366f180;transform:translateY(-1px)}.import-btn:disabled{opacity:.5;cursor:not-allowed}.scenes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-content{background:#1a1a1a;width:90%;max-width:500px;border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #00000080;overflow:hidden;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.05);background:#ffffff05}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;transition:all .2s;border-radius:4px}.close-btn:hover{color:#fff;background-color:#ffffff1a}.modal-body{padding:1.5rem}.modal-footer{padding:1.25rem 1.5rem;border-top:1px solid rgba(255,255,255,.05);background:#0003;display:flex;justify-content:flex-end;gap:1rem}.cancel-btn{background:transparent;border:1px solid rgba(255,255,255,.1);color:#e0e0e0;padding:.6rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.cancel-btn:hover{background-color:#ffffff0d;border-color:#fff3}.confirm-btn{display:flex;align-items:center;gap:.5rem;background-color:#7c3aed;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #7c3aed4d}.confirm-btn:hover{background-color:#6d28d9;transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed66}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#d1d5db;font-size:.9rem}.form-group input,.form-group textarea,.form-group select{width:100%;background-color:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.875rem;color:#fff;font-family:inherit;font-size:1rem;box-sizing:border-box;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26;background-color:#00000080}.campaign-settings{margin-top:2rem;background:#1e1e1e66;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:2.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.campaign-settings h2{margin-top:0;margin-bottom:.5rem;font-size:1.5rem;color:#f3f4f6}.setting-item{margin-bottom:2rem}.setting-item label{display:block;margin-bottom:.75rem;font-weight:500;color:#d1d5db;font-size:1rem}.setting-hint{margin-top:.75rem;font-size:.9rem;color:#9ca3af;line-height:1.5}.input-group{display:flex;gap:1rem;align-items:center}.track-select{flex:1;padding:.875rem;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;transition:all .2s}.track-select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26;background-color:#00000080}.save-btn{display:flex;align-items:center;gap:.5rem;background-color:#7c3aed;color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #7c3aed4d;white-space:nowrap}.save-btn:hover:not(:disabled){background-color:#6d28d9;transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed66}.save-btn:disabled{background-color:#7c3aed80;cursor:not-allowed;opacity:.7;box-shadow:none;transform:none}.session-card .session-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.2);cursor:pointer;background-color:#ffffff1a;color:#f3f4f6;transition:all .2s;padding:0;opacity:0}.session-card:hover .session-delete-btn{opacity:1}.session-card .session-delete-btn:hover{background-color:#ef444426;color:#ef4444;border-color:#ef44444d}.scene-card .scene-track{font-size:.85rem;color:#fff9;margin-top:auto;margin-bottom:.5rem}@media(max-width:640px){.campaign-page{padding:1rem}.campaign-page h1{font-size:1.75rem;overflow-wrap:anywhere}.campaign-page .page-header{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.tabs-container{gap:.75rem;overflow-x:auto;margin-bottom:1.5rem}.tab-button{white-space:nowrap;flex-shrink:0}.scenes-section{padding:1rem}.scenes-grid{grid-template-columns:1fr;gap:1rem}.section-header{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.features-actions{flex-wrap:wrap}.scene-list-item span{min-width:0;overflow-wrap:anywhere}.scene-list-item input[type=checkbox]{flex-shrink:0;width:24px;height:24px}.import-btn{min-height:44px}.campaign-settings{padding:1.25rem}.input-group{flex-wrap:wrap}.track-select{flex:1 1 100%;min-width:0}.save-btn{min-height:44px}.session-card .session-delete-btn{width:44px;height:44px}.session-card .session-info{min-width:0}.session-date{overflow-wrap:anywhere}.modal-content{width:100%}.modal-footer{flex-wrap:wrap}.cancel-btn,.confirm-btn{min-height:44px}}@media(hover:none){.session-card .session-delete-btn{opacity:1}}.settings-page{padding:2rem;color:var(--text-primary, #e0e0e0);max-width:800px;margin:0 auto}.settings-header{margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem}.settings-header h1{font-size:2rem;font-weight:600;margin:0}.settings-section{margin-bottom:2rem}.settings-section h2{font-size:1.2rem;color:#888;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.setting-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.setting-row:last-child{border-bottom:none}.setting-label{font-weight:500;color:#ccc}.setting-value{color:#fff;font-weight:500}.setting-value.code{font-family:monospace;background:#0000004d;padding:2px 6px;border-radius:4px;font-size:.9em;color:#aaa}.setting-value.hours{color:#4caf50;font-weight:700}.setting-row.highlight{background:#4caf500d}@media(max-width:640px){.settings-page{padding:1.25rem 1rem}.page-title{font-size:1.6rem;overflow-wrap:anywhere}.section-header-row{flex-direction:column;align-items:stretch;gap:.75rem}.add-btn{min-height:48px;justify-content:center}.scene-item{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.scene-item .scene-info{min-width:0}.scene-item .scene-info h3{overflow-wrap:anywhere;font-size:1rem}.scene-item .scene-actions{display:flex;gap:.5rem;flex-wrap:wrap}.scene-item .action-btn{min-width:44px;min-height:44px}}.scenes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1rem}@media(max-width:640px){.scenes-grid{grid-template-columns:1fr}.scene-library-page .page-header{flex-wrap:wrap;gap:.75rem}.scene-library-page .page-header h1{font-size:1.75rem;overflow-wrap:anywhere}.section-actions .create-btn{min-height:48px}}.app-sidebar{width:260px;background-color:#1a1a1a;border-right:1px solid #333;display:flex;flex-direction:column;padding:1.5rem;color:#e0e0e0}.sidebar-section{margin-bottom:2rem}.section-header{display:flex;align-items:center;gap:.75rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #333}.campaign-list{list-style:none;padding:0;margin:0}.campaign-item{display:block;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:.95rem;margin-bottom:.25rem;transition:all .2s;color:#94a3b8;text-decoration:none}.campaign-item:hover{background-color:#ffffff0d;color:#fff;transform:translate(4px)}.campaign-item.active{background:#6366f11a;color:#818cf8;font-weight:500}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid #333}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem;color:#e0e0e0;text-decoration:none;border-radius:6px;transition:background-color .2s}.sidebar-link:hover,.sidebar-link.active{background-color:#ffffff1a}.no-campaigns{padding:.5rem .75rem;color:#666;font-size:.9rem;font-style:italic}@media(max-width:768px){.app-sidebar{width:100%;flex-direction:row;align-items:center;padding:.5rem .75rem;border-right:none;border-bottom:1px solid #333;overflow-x:auto;flex-shrink:0}.app-sidebar .sidebar-section{display:none}.app-sidebar .sidebar-footer{margin-top:0;padding-top:0;border-top:none;display:flex;flex-direction:row;gap:.25rem;width:100%}.app-sidebar .sidebar-link{white-space:nowrap;min-height:44px;padding:.6rem .9rem;font-size:.9rem;flex-shrink:0}}.app-layout{display:flex;flex-direction:column;height:100vh;background-size:cover;background-position:center;background-attachment:fixed;position:relative;background-color:#0a0a0a}.layout-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0a0a0ad9;z-index:0;pointer-events:none}.dashboard-header{background-color:transparent;border-bottom:1px solid rgba(255,255,255,.05);position:relative;z-index:10}.layout-body{display:flex;flex:1;overflow:hidden;position:relative;z-index:1}.main-content{flex:1;padding:2rem;overflow-y:auto;background-color:transparent;color:#e0e0e0;min-width:0}@media(max-width:768px){.layout-body{flex-direction:column}.main-content{padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}}.consent-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;bottom:max(1rem,env(safe-area-inset-bottom));z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:720px;margin:0 auto;padding:1rem 1.25rem;background-color:#141418f7;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 8px 32px #00000080}.consent-text{margin:0;color:#e0e0e0;font-size:.875rem;line-height:1.45}.consent-actions{display:flex;gap:.5rem;flex-shrink:0}.consent-decline,.consent-accept{padding:.6rem 1.25rem;border-radius:50px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease}.consent-decline{background-color:transparent;color:#e0e0e0;border:1px solid rgba(255,255,255,.1)}.consent-decline:hover{background-color:#ffffff1a;border-color:#ffffff4d;color:#fff}.consent-accept{background-color:#7c3aed;color:#fff;border:1px solid #7c3aed}.consent-accept:hover{background-color:#8b5cf6;border-color:#8b5cf6;transform:translateY(-1px)}@media(max-width:640px){.consent-banner{flex-direction:column;align-items:stretch}.consent-actions{justify-content:flex-end}}
