.room{color:#f4f0ea;letter-spacing:.01em;background:#070608;flex-direction:column;min-height:100vh;font-family:Futura,Futura PT,Futura Std,Avenir Next,Avenir,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;display:flex}.room *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes roomStageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0,0)}}@keyframes roomCardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translate(0,0)}}@keyframes roomPulse{0%{opacity:.65;text-shadow:0 0 #6b1f2e00;transform:translate(0,0)scale(1)}55%{opacity:1;text-shadow:0 0 34px #6b1f2e2e;transform:translate(0,0)scale(1.012)}to{opacity:.78;text-shadow:0 0 10px #6b1f2e1a;transform:translate(0,0)scale(1)}}@keyframes roomFeedScroll{0%{transform:translate(0,0)}to{transform:translateY(-50%)}}.room:before{content:"";pointer-events:none;filter:blur(20px)contrast(1.06);opacity:.95;background:radial-gradient(55% 45% at 18% 18%,#9bb8ff1a 0%,#9bb8ff00 62%),radial-gradient(60% 50% at 80% 70%,#6b1f2e2e 0%,#6b1f2e00 55%),radial-gradient(38% 30% at 52% 48%,#f4f0ea0b 0%,#f4f0ea00 72%),repeating-linear-gradient(90deg,#f4f0ea04 0 1px,#f4f0ea00 2px 7px);position:fixed;inset:-20%}.room--error,.room--loading{text-align:center;color:#b5b5b5;justify-content:center;align-items:center;padding:2rem;font-size:1.25rem}.room__hint{color:#666;margin-top:.5rem;font-size:.95rem}.room__bar{border-bottom:none;justify-content:center;align-items:center;padding:1.75rem 1.5rem .75rem;display:flex}.room__event-name{text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:.6rem;min-height:28px;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:620;display:inline-flex}.room__logo{filter:drop-shadow(0 0 26px #6b1f2e38)drop-shadow(0 0 10px #f4f0ea1a);opacity:.98;width:200px;height:auto;display:block}.room__code{color:#888;letter-spacing:.12em;font-size:.85rem;font-weight:500;display:none}.room__main{flex:1;justify-content:center;align-items:center;padding:clamp(1rem,3vw,1.75rem);display:flex}.room__stage{text-align:center;width:min(96vw,1200px);animation:.42s cubic-bezier(.16,1,.3,1) both roomStageIn}.room__stage--saver{flex-direction:column;align-items:center;gap:1.5rem;padding:1.25rem 0;display:flex}.room__wordmark{letter-spacing:.18em;text-transform:lowercase;color:#f4f0ea;text-shadow:0 0 42px #6b1f2e2e,0 0 14px #f4f0ea1a;font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700}.room__sub{color:#f4f0ea8c;text-transform:lowercase;letter-spacing:.08em;margin-top:.35rem;font-size:clamp(1rem,2.1vw,1.25rem);font-style:italic}.room__subwrap{flex-direction:column;align-items:center;gap:.35rem;display:flex}.room__sub--join{color:#f4f0ea6b;letter-spacing:.16em;margin-top:0;font-style:normal}.room__round-label{text-transform:uppercase;letter-spacing:.3em;color:#666;margin-bottom:1.5rem;font-size:.85rem}.room__stage--closed .room__round-label{margin-bottom:1rem}.room__ab{grid-template-columns:1fr 1fr;gap:clamp(.75rem,2vw,1.5rem);width:min(1100px,96vw);min-height:32vh;margin:0 auto;padding:clamp(.25rem,.8vw,.5rem);display:grid;position:relative}.room__ab:before{content:"";opacity:.9;pointer-events:none;background:linear-gradient(#f4f0ea00,#f4f0ea1a,#f4f0ea00);width:1px;position:absolute;top:clamp(.5rem,1.2vw,1rem);bottom:clamp(.5rem,1.2vw,1rem);left:50%;transform:translate(-.5px)}.room__ab:after{display:none}.room__card{background:radial-gradient(120% 120% at 50% 15%,#f4f0ea0e 0%,#f4f0ea00 62%),linear-gradient(#0e0b10eb 0%,#070608f0 100%);border:1px solid #f4f0ea1a;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;padding:clamp(1.25rem,2.2vw,1.75rem);animation:.52s cubic-bezier(.16,1,.3,1) both roomCardIn;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 42px #0000008c,inset 0 0 0 1px #00000059}.room__card:before{content:"";pointer-events:none;opacity:.9;background:radial-gradient(140% 90% at 50% 0,#6b1f2e1a,#6b1f2e00 58%);position:absolute;inset:0}.room__card--a{border-color:#9bb8ff38}.room__card--b{border-color:#6b1f2e52}.room__card--a,.room__card--b{border-radius:16px}.room__card--a{animation-delay:40ms}.room__card--b{animation-delay:.11s}.room__ab-badge{letter-spacing:.22em;color:#f4f0ea66;font-size:1.05rem;font-weight:800;display:block}.room__title{letter-spacing:.06em;text-transform:lowercase;margin:0;font-size:clamp(1.1rem,2.4vw,1.6rem);font-weight:700;line-height:1.25}.room__countdown{font-variant-numeric:tabular-nums;color:#f4f0eac7;text-shadow:0 0 30px #6b1f2e24;will-change:transform, opacity, text-shadow;margin:1.25rem 0 .35rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:300;animation:1.1s cubic-bezier(.2,.9,.25,1) infinite roomPulse}.room__nodata{color:#f4f0ea61;text-transform:uppercase;letter-spacing:.2em;margin-top:.5rem;font-size:.8rem}.room__feed{width:min(44rem,92vw);margin:.75rem auto .25rem}.room__feedMask{background:#0706088c;border:1px solid #f4f0ea1a;border-radius:999px;height:3.2rem;position:relative;overflow:hidden;box-shadow:0 18px 46px #0000008c}.room__feedMask:before,.room__feedMask:after{content:"";pointer-events:none;z-index:2;height:.9rem;position:absolute;left:0;right:0}.room__feedMask:before{background:linear-gradient(#070608f2,#07060800);top:0}.room__feedMask:after{background:linear-gradient(#07060800,#070608f2);bottom:0}.room__feedTrack{will-change:transform;flex-direction:column;gap:.35rem;padding:.55rem .9rem;animation:8s linear infinite roomFeedScroll;display:flex}.room__feedTrack--3{animation-duration:5s}.room__feedTrack--6{animation-duration:7s}.room__feedTrack--10{animation-duration:9s}.room__feedTrack--14{animation-duration:11s}.room__feedTrack--18{animation-duration:13s}.room__feedItem{letter-spacing:.08em;text-transform:lowercase;color:#f4f0eab8;justify-content:space-between;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.room__feedName{text-overflow:ellipsis;white-space:nowrap;max-width:85%;overflow:hidden}.room__feedChoice{letter-spacing:.18em;opacity:.9;padding-left:.4rem;font-weight:700}.room__feedChoice--A{color:#9bb8ffe6}.room__feedChoice--B{color:#ff79a0e6}.room__stage--results .room__tie,.room__stage--results .room__winner{text-transform:uppercase;letter-spacing:.08em;margin:.25rem 0;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:620}.room__totals{font-variant-numeric:tabular-nums;color:#f4f0eae0;margin:.5rem 0 1.25rem;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:200}.room__override,.room__tiebreak{text-transform:uppercase;letter-spacing:.2em;color:#cbb08b;margin:.25rem 0 .75rem;font-size:.8rem}.room__labels{color:#888;flex-direction:column;gap:.4rem;max-width:44rem;margin:0 auto;font-size:.95rem;display:flex}.room__line{margin:0;line-height:1.4}.room__footer{background:#050505d1;border-top:none;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem 1.5rem 1.25rem;display:flex}.room__qr-wrap{background:#fff;border-radius:2px;padding:8px;box-shadow:0 14px 44px #0009,0 0 0 1px #f4f0ea1a}.room__qr{display:block}.room__qr-fallback{background:#333;border-radius:2px;width:200px;height:200px}.room__join-label{text-transform:uppercase;letter-spacing:.3em;color:#555;margin:.2rem 0 0;font-size:.7rem}.room__url{color:#666;word-break:break-all;text-align:center;max-width:90vw;margin:0;font-size:.75rem}.room__url--warning{color:#8a6a2a}@media (width<=600px){.room__ab{grid-template-columns:1fr}.room__ab:before,.room__ab:after{display:none}.room__bar{padding:1rem 1rem .5rem}.room__stage--saver{padding:1.25rem 0 2.25rem}.room__card{padding:1.25rem 1rem 1.5rem}.room__qr-wrap{transform-origin:50%;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.room__stage,.room__card,.room__countdown,.room__feedTrack{animation:none!important}.room:before{filter:blur(16px)contrast(1.04)}}.guest{color:#f4f0ea;box-sizing:border-box;background:#070608;min-height:100vh;padding:1.5rem;font-family:Futura,Futura PT,Avenir Next,Avenir,system-ui,sans-serif}.guest--center{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.guest__kicker{letter-spacing:.18em;text-transform:uppercase;color:#f4f0ea8c;text-align:center;font-size:.7rem}.guest__title{text-transform:lowercase;text-align:center;margin:0;font-size:1.75rem;font-weight:700}.guest__label{letter-spacing:.14em;text-transform:uppercase;color:#f4f0ea8c;align-self:flex-start;font-size:.7rem}.guest__input{color:#f4f0ea;background:#0e0b10;border:1px solid #ffffff1f;border-radius:14px;width:100%;max-width:22rem;padding:1rem;font-size:1.1rem}.guest__btn{color:#070608;text-transform:lowercase;cursor:pointer;background:#f4f0ea;border:none;border-radius:18px;width:100%;max-width:22rem;padding:1rem 1.25rem;font-size:1rem;font-weight:800}.guest__btn:disabled{opacity:.45;cursor:not-allowed}.guest__btn--ghost{color:#f4f0eabf;background:0 0;border:1px solid #ffffff24}.guest__link{color:#f4f0eaa6;cursor:pointer;text-transform:lowercase;background:0 0;border:none;font-size:.95rem;text-decoration:underline}.guest__muted{color:#f4f0ea73;text-align:center;font-size:.85rem}.guest__err{color:#d07a7a;text-align:center;max-width:22rem}.guest__callout{background:#cbb08b14;border:1px solid #cbb08b73;border-radius:16px;max-width:22rem;padding:1rem 1.1rem;font-size:.9rem;line-height:1.45}.guest__callout p{margin:0 0 .5rem}.guest__callout p:last-child{margin-bottom:0}.guest__callout .guest__btn{box-sizing:border-box;justify-content:center;align-items:center;margin-top:.65rem;text-decoration:none;display:inline-flex}.guest__hint{max-width:22rem}.guest__chips{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:22rem;display:flex}.guest__chip{color:#f4f0eabf;cursor:pointer;background:#f4f0ea0f;border:1px solid #ffffff1f;border-radius:999px;padding:.45rem .75rem;font-size:.9rem}.guest__row{flex:1;gap:.75rem;width:100%;max-width:36rem;min-height:12rem;display:flex}.guest__card{cursor:pointer;text-align:left;background:#0e0b10;border:1px solid #ffffff1f;border-radius:18px;flex:1;padding:1rem}.guest__card:disabled{opacity:.45;cursor:not-allowed}.guest__card--picked{border-width:2px;border-color:#cbb08b}.guest__mark{color:#f4f0ea59;font-size:2.5rem;font-weight:700}.guest__song{text-transform:lowercase;margin-top:.35rem;font-weight:700}.guest__artist{color:#f4f0eaa6;text-transform:lowercase;font-size:.85rem}.guest__timer{text-align:center;font-variant-numeric:tabular-nums;font-size:2rem}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0a}
