:root{--color-bg:#0a0e16;--color-bg-elevated:#0d1220;--color-surface:#141a28;--color-surface-alt:#1a2233;--color-surface-hover:#202a3d;--color-border:#ffffff14;--color-border-strong:#ffffff29;--color-text:#f2f4f8;--color-text-muted:#94a0b8;--color-text-faint:#5f6b82;--color-primary:#2f8eff;--color-primary-hover:#4d9dff;--color-primary-soft:#2f8eff29;--color-primary-border:#2f8eff66;--color-success:#22c55e;--color-success-soft:#22c55e29;--color-danger:#f87171;--color-danger-soft:#f8717124;--color-warning:#fbbf24;--color-warning-soft:#fbbf2424;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:999px;--shadow-card:0 12px 28px #0006;--shadow-sidebar:4px 0 24px #0000004d;--font-sans:"Inter", system-ui, Avenir, Helvetica, Arial, sans-serif;font-family:var(--font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}body{background:var(--color-bg);width:100%;min-height:100vh;color:var(--color-text);margin:0;padding:0;overflow-x:hidden}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5rem;font-weight:700}h2,h3{margin-top:2rem}h1{font-size:1.75rem}h2{font-size:1.25rem}p{color:var(--color-text-muted)}a{color:var(--color-primary)}::selection{background:var(--color-primary-soft)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button{font:inherit;cursor:pointer;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;border:none;padding:.6rem 1.25rem;font-weight:600;transition:background-color .15s,opacity .15s,transform 50ms}button:hover:not(:disabled){background:var(--color-primary-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.button-secondary,.cta-row button:nth-of-type(n+2):not(.button-primary){background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border-strong)}button.button-secondary:hover:not(:disabled){background:var(--color-surface-hover)}.button-link{border:1px solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text);background:var(--color-surface-alt);align-items:center;padding:.6rem 1.25rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.button-link:hover{background:var(--color-surface-hover);border-color:var(--color-primary-border)}.field{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.field label{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.field input,.field textarea,.field select,input[type=text],input[type=email],input[type=password],input[type=number],select{font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:.625rem .75rem}.field input:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.field input::placeholder{color:var(--color-text-faint)}.cta-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.cta-row a:not(.button-link){color:var(--color-primary);font-weight:600;text-decoration:none}.cta-row a:not(.button-link):hover{text-decoration:underline}.empty-state{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);margin-top:1rem;padding:2rem}.form-error{color:var(--color-danger);margin-top:.5rem;font-size:.9rem}.notice{color:var(--color-warning);margin-top:.5rem;font-size:.9rem}.progress{color:var(--color-text-muted);font-size:.9rem}.timer{color:var(--color-primary);font-size:1.25rem;font-weight:700}.countdown{text-align:center;color:var(--color-primary);text-shadow:0 0 32px var(--color-primary-soft);font-size:3.5rem;font-weight:800}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.quiz-list{flex-direction:column;gap:.75rem;margin:1rem 0;padding:0;list-style:none;display:flex}.quiz-list-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.quiz-list-item a{color:var(--color-text);font-weight:600;text-decoration:none}.quiz-list-item a:hover{color:var(--color-primary)}.quiz-list-meta{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.85rem}.question-editor{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);margin:1rem 0;padding:1.25rem}.field-row{flex-wrap:wrap;gap:1rem;display:flex}.field-row .field{flex:1;min-width:8rem}.field-label{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.85rem;font-weight:600;display:block}.options-editor,.accepted-answers-editor{margin:1rem 0}.option-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.option-row input[type=text],.option-row input:not([type]){flex:1}.option-row label{white-space:nowrap;color:var(--color-text-muted);align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.option-row button,.remove-question-button{background:var(--color-surface-alt);color:var(--color-danger);border:1px solid var(--color-border-strong);padding:.5rem .9rem;font-size:.85rem}.option-row button:hover:not(:disabled),.remove-question-button:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger)}.options-editor>button,.accepted-answers-editor>button,.spotify-resolve-row button{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border-strong);padding:.5rem .9rem;font-size:.85rem}.options-editor>button:hover:not(:disabled),.accepted-answers-editor>button:hover:not(:disabled),.spotify-resolve-row button:hover:not(:disabled){background:var(--color-surface-hover)}.music-fields{margin-top:1rem}.spotify-resolve-row{gap:.5rem;display:flex}.spotify-resolve-row input{flex:1}.spotify-preview{align-items:center;gap:.75rem;margin:.75rem 0;display:flex}.spotify-preview-image{border-radius:var(--radius-sm);object-fit:cover;width:3rem;height:3rem}.add-question-row{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.add-question-row button{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border-strong);padding:.5rem .9rem;font-size:.85rem}.add-question-row button:hover:not(:disabled){background:var(--color-surface-hover)}.remove-question-button{margin-top:1rem}.host-pin-display{letter-spacing:.15em;text-align:center;color:var(--color-primary);text-shadow:0 0 40px var(--color-primary-soft);margin:1rem 0;font-size:3.5rem;font-weight:800}.display-board{text-align:center}.display-board h1,.display-board h2{font-size:2rem}.participant-list{flex-direction:column;gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:flex}.participant-list .option-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:space-between;padding:.5rem .75rem}.question-image{border-radius:var(--radius-md);max-width:100%;margin:1rem 0}.now-playing{color:var(--color-text-muted)}.answer-options{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem;display:grid}.answer-options button{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;padding:1rem;font-weight:600}.answer-options button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary-border)}.leaderboard{flex-direction:column;gap:.375rem;margin:1rem 0;padding:0;list-style:none;display:flex}.leaderboard li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.625rem .9rem;display:flex}.leaderboard-rank{min-width:2rem;color:var(--color-primary);font-weight:700}.leaderboard-name{flex:1}.leaderboard-score{font-weight:700}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh;display:flex}.app-sidebar{background:var(--color-bg-elevated);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:260px;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.app-brand{color:var(--color-text);align-items:center;gap:.6rem;margin-bottom:2rem;padding:0 .5rem;font-size:1.15rem;font-weight:800;text-decoration:none;display:flex}.app-brand-mark{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--color-primary), #60d0ff);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:800;display:inline-flex}.app-brand-accent{color:var(--color-primary)}.app-nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.app-nav-section{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);margin:1rem .5rem .25rem;font-size:.7rem;font-weight:700}.app-nav-link{border-radius:var(--radius-sm);color:var(--color-text-muted);align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.925rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.app-nav-link:hover{background:var(--color-surface-hover);color:var(--color-text)}.app-nav-link.active{background:var(--color-primary-soft);color:var(--color-primary)}.app-sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.app-language-switcher select{font:inherit;background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.4rem .6rem}.app-user-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:.6rem;padding:.5rem .6rem;display:flex}.app-user-avatar{border-radius:var(--radius-full);background:var(--color-primary-soft);width:2rem;height:2rem;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.app-user-name{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;text-decoration:none;display:flex;overflow:hidden}.app-user-name:hover{color:var(--color-primary)}.app-signout-button{flex-shrink:0;padding:.4rem;display:inline-flex}.app-auth-links{flex-direction:column;gap:.25rem;display:flex}.app-content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2.5rem 3rem}@media (width<=720px){.app-shell{flex-direction:column}.app-sidebar{flex-flow:wrap;align-items:center;width:100%;height:auto;padding:1rem;position:static}.app-brand{margin-bottom:0}.app-nav{flex-flow:wrap}.app-sidebar-footer{border-top:none;flex-direction:row;align-items:center;margin-top:0;padding-top:0}.app-content{padding:1.5rem 1.25rem}}.home-hero{border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#101a2e 0%,#0d1424 55%,#0a0e16 100%);padding:3.5rem 3rem;position:relative;overflow:hidden}.home-hero-decor{z-index:0;pointer-events:none;position:absolute;inset:0}.home-hero-blob{border-radius:var(--radius-full);filter:blur(60px);opacity:.35;position:absolute}.home-hero-blob-a{background:radial-gradient(circle, var(--color-primary), transparent 70%);width:320px;height:320px;top:-120px;right:-60px}.home-hero-blob-b{opacity:.25;background:radial-gradient(circle,#60d0ff,#0000 70%);width:260px;height:260px;bottom:-100px;right:120px}.home-hero-blob-c{opacity:.2;background:radial-gradient(circle,#a78bfa,#0000 70%);width:200px;height:200px;bottom:-60px;left:-60px}.home-hero-content{z-index:1;max-width:560px;position:relative}.home-hero-content h1{margin:0 0 1rem;font-size:2.25rem;line-height:1.15}.home-hero-subtitle{color:var(--color-text-muted);margin:0 0 2rem;font-size:1.05rem;line-height:1.5}.home-hero-primary{background:var(--color-primary);color:#fff;border-color:#0000}.home-hero-primary:hover{background:var(--color-primary-hover)}@media (width<=720px){.home-hero{padding:2.5rem 1.5rem}.home-hero-content h1{font-size:1.75rem}}
