:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-family:"Fira Code", Consolas, "Courier New", monospace;--bubblegum:#e879a6;--charcoal:#282629;--ash-brown:#817569;--taupe:#b7a995;--ivory:#faf7f0;--burgundy:#75364e;--silver:#d3d0d2;--peach:#f4d5bf}*{box-sizing:border-box}[hidden]{display:none!important}body{isolation:isolate;background:var(--ivory);min-height:100vh;color:var(--charcoal);font-family:var(--font-family);margin:0;font-size:14px;line-height:1.5}.animated-gradient{z-index:-1;pointer-events:none;width:100%;height:100%;image-rendering:pixelated;opacity:.12;position:fixed;inset:0}a{color:var(--burgundy);text-underline-offset:4px}a:hover{color:var(--charcoal)}.page{max-width:1200px;margin-inline:auto;padding:16px}.page-header,.section-header,.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-header,.section-header{justify-content:space-between}.page-header{background:var(--charcoal);color:var(--ivory);margin-bottom:16px;padding:8px 12px}.brand{background:var(--ivory);flex:0 240px;min-width:0;padding:6px}.brand-logo{width:100%;height:auto;display:block}.title-kafeshka{text-align:center;overflow-wrap:anywhere;flex:0 220px;min-width:0;max-width:220px;margin-inline:auto}.sponsor-label{letter-spacing:.12em;font-size:.65rem}.sponsor-title{font-size:clamp(1rem,1.5vw,1.4rem);font-weight:700}mark.brown{color:#0000;background:radial-gradient(circle,#ffff21,#f746b9,#38ceec,#ff87d1) 0 0/200% 200%;-webkit-background-clip:text;background-clip:text;animation:12s linear infinite mark-brown}@keyframes mark-brown{0%,to{background-position:0 0}25%{background-position:100% 0}50%{background-position:100% 100%}75%{background-position:0 100%}}@media (prefers-reduced-motion:reduce){mark.brown{animation:none}}h1,h2{font-size:1rem;font-weight:700}.page-header nav a{border:1px solid var(--charcoal);background:var(--charcoal);color:var(--ivory);font-family:var(--font-family);border-radius:0;padding:6px 12px;text-decoration:none}.page-header nav a:hover{background:var(--bubblegum);color:var(--charcoal)}h1,h2,p{margin:0}#message:not(:empty){border:1px solid var(--taupe);background:var(--ivory);margin-bottom:20px;padding:8px 12px}.audience-layout,.host-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.section,.form-layout{flex-direction:column;align-items:stretch;gap:16px;min-width:0;display:flex}.section,.login-form{border:2px solid var(--taupe);background:var(--ivory);padding:16px;position:relative}.section:before,.login-form:before{content:"";z-index:3;pointer-events:none;border:20px solid #0000;border-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%20viewBox='0%200%20120%20120'%20fill='none'%3e%3cpath%20d='M31%208H89M112%2031V89M89%20112H31M8%2089V31'%20stroke='%23b7a995'%20stroke-width='1'/%3e%3cpath%20d='M33%2012H87M108%2033V87M87%20108H33M12%2087V33'%20stroke='%23e879a6'%20stroke-opacity='.55'%20stroke-width='1'/%3e%3cpath%20d='M8%2027V15a7%207%200%200%201%207-7h12M93%208h12a7%207%200%200%201%207%207v12M112%2093v12a7%207%200%200%201-7%207H93M27%20112H15a7%207%200%200%201-7-7V93'%20stroke='%23b7a995'%20stroke-width='1'/%3e%3cpath%20d='m18%209%202.5%206.5L27%2018l-6.5%202.5L18%2027l-2.5-6.5L9%2018l6.5-2.5Z'%20fill='%23e879a6'/%3e%3cpath%20d='m102%2093%202.5%206.5L111%20102l-6.5%202.5L102%20111l-2.5-6.5L93%20102l6.5-2.5Z'%20fill='%23e879a6'/%3e%3cpath%20d='m102%2012%201.5%204.5L108%2018l-4.5%201.5L102%2024l-1.5-4.5L96%2018l4.5-1.5Z'%20fill='%2375364e'%20fill-opacity='.7'/%3e%3cpath%20d='m18%2096%201.5%204.5L24%20102l-4.5%201.5L18%20108l-1.5-4.5L12%20102l4.5-1.5Z'%20fill='%2375364e'%20fill-opacity='.7'/%3e%3c/svg%3e") 30/20px;position:absolute;inset:-6px}.current-section{border-color:var(--burgundy)}.section>h2{border-bottom:1px solid var(--taupe);background:var(--silver);margin:-16px -16px 0;padding:4px 12px}.current-section h2{background:var(--bubblegum);color:var(--charcoal)}#current{font-size:1rem;font-weight:600}.reset-section{border-color:var(--taupe)}.field{font-size:.9rem;font-weight:600}#search-message,#result-message,.performances-section>p{color:#655a50;font-size:.9rem}.current-section,.event-section,.results-section,.reset-section{grid-column:1/-1}#audience,#projector{grid-area:2/1}.queue-section{grid-area:2/2}.form-layout{width:100%}.login-form{max-width:400px}.field{flex-direction:column;gap:8px;display:flex}input{border:1px solid var(--taupe);background:var(--ivory);width:100%;min-width:0;color:var(--charcoal);font:inherit;border-radius:0;padding:8px 10px}button{border:1px solid var(--charcoal);background:var(--charcoal);width:fit-content;max-width:100%;min-height:36px;color:var(--ivory);font:500 .875rem/1.5 var(--font-family);box-shadow:none;cursor:pointer;border-radius:0;padding:6px 10px}button:before{content:"[ "}button:after{content:" ]"}button:where(#vote,#join>button,#login>button,#next,#reveal,#edit .actions>button:first-child){background:var(--bubblegum);border-color:var(--bubblegum);color:var(--charcoal)}button:where(#logout,#cancel,#reset){background:var(--ivory);color:var(--burgundy);border-color:var(--taupe)}button:hover:not(:disabled),button:active:not(:disabled){background:var(--ivory);color:var(--charcoal);border-color:var(--charcoal)}button:focus-visible{background:var(--bubblegum);color:var(--charcoal)}button:disabled{background:var(--silver);border-color:var(--silver);color:#625e62;cursor:not-allowed}:is(input,button,a):focus-visible{outline:2px solid var(--burgundy);outline-offset:2px}::selection{background:var(--bubblegum);color:var(--charcoal)}ol,ul{margin:0;padding-left:24px}li+li{margin-top:16px}li::marker{color:var(--burgundy);font-weight:700}li,a,#current,#current-song,#selected-song{overflow-wrap:anywhere}#song-suggestions:empty,#selected-song:empty,#search-message:empty,#current-song:empty{display:none}#performances li{border-bottom:1px solid var(--silver);padding-block:12px}#performances li>*,#current-song>*,#selected-song>*{margin-block:4px}#song-suggestions{border:1px solid var(--taupe);padding:0;list-style:none}#song-suggestions>li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:12px;display:grid}#song-suggestions>li+li{border-top:1px solid var(--taupe)}#song-suggestions>li:focus-within{background:var(--silver)}.suggestion-song{grid-template-columns:minmax(0,1fr);align-items:start;gap:4px 12px;min-width:0;display:grid}.suggestion-song:has(>img){grid-template-columns:56px minmax(0,1fr)}.suggestion-song>img{object-fit:cover;grid-area:1/1/span 2;width:56px;height:56px}.suggestion-song>p,.suggestion-song>a{grid-column:-2;min-width:0}.suggestion-song>a{font-size:.8rem}img,canvas{max-width:100%;height:auto}#qr{border:8px solid #fff;align-self:flex-start}@media (width<=720px){.page{padding:12px}.audience-layout,.host-layout{grid-template-columns:minmax(0,1fr);gap:12px}#audience,#projector,.queue-section{grid-area:auto}}@media (width<=480px){#song-suggestions>li{grid-template-columns:minmax(0,1fr)}#song-suggestions>li>button{justify-self:end}}.projector-only{display:none}:is(.projector-view,.audience-view) .projector-only{display:block}:is(.projector-view,.audience-view) .page{max-width:1680px;padding:24px}:is(.projector-view,.audience-view) .page-header{color:var(--charcoal);border-bottom:2px solid var(--charcoal);background:0 0;padding:0 0 12px}:is(.projector-view,.audience-view) .page-header h1{letter-spacing:-.04em;font-size:clamp(1.25rem,2vw,2rem)}:is(.projector-view,.audience-view) .audience-layout{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:20px}:is(.projector-view,.audience-view) .current-section{background:var(--charcoal);min-height:0;color:var(--ivory);border:2px solid var(--charcoal);grid-area:1/1;grid-template-columns:minmax(0,1fr) 180px;align-content:start;gap:16px 24px;padding:32px;display:grid;position:relative;overflow:visible}:is(.projector-view,.audience-view) .current-section>h2{grid-column:1/-1}:is(.projector-view,.audience-view) #current,:is(.projector-view,.audience-view) #projector-song-title,:is(.projector-view,.audience-view) #current-song{grid-column:1}:is(.projector-view,.audience-view) .current-section:after{content:"✦";color:var(--bubblegum);opacity:.15;pointer-events:none;font-size:clamp(5rem,12vw,10rem);line-height:1;animation:12s ease-in-out infinite stage-star;position:absolute;top:50px;right:24px}:is(.projector-view,.audience-view) .current-section>h2{background:var(--bubblegum);color:var(--charcoal);letter-spacing:.08em;border:0;margin:-32px -32px 0;padding:10px 24px;font-size:1rem}:is(.projector-view,.audience-view) #current{z-index:1;font-family:var(--font-family);letter-spacing:-.045em;max-width:90%;font-size:clamp(2.5rem,5.5vw,6rem);font-weight:800;line-height:1.05;position:relative}:is(.projector-view,.audience-view) #projector-song-title{color:var(--bubblegum);font-size:clamp(1.25rem,2.4vw,2.5rem);line-height:1.25}:is(.projector-view,.audience-view) #current-song{z-index:1;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:0 16px;display:grid;position:relative}:is(.projector-view,.audience-view) #current-song>img{object-fit:cover;border:1px solid var(--silver);grid-row:1/span 2;width:80px;height:80px}:is(.projector-view,.audience-view) #current-song>p,:is(.projector-view,.audience-view) #current-song>a{color:var(--silver);grid-column:2}:is(.projector-view,.audience-view) #current-song:not(:has(img)){grid-template-columns:minmax(0,1fr)}:is(.projector-view,.audience-view) #current-song:not(:has(img))>*{grid-column:1}:is(.projector-view,.audience-view) #current-song>a{font-size:.8rem}:is(.projector-view,.audience-view) #stage-caption{color:var(--peach);font-size:.95rem}:is(.projector-view,.audience-view) .stage-footer{display:contents}.stage-vibe{flex-direction:column;grid-area:5/1;gap:16px;min-width:0;display:flex}.stage-scan{z-index:1;text-align:right;min-width:0;color:var(--bubblegum);flex-direction:column;grid-area:2/2/span 4;place-self:end;align-items:flex-end;gap:8px;width:100%;max-width:180px;font-size:.75rem;display:flex;position:relative}:is(.projector-view,.audience-view) .stage-scan a{color:var(--ivory)}.karaoke-rules{text-align:left;padding-left:24px;font-size:.9rem}.karaoke-rules strong{color:var(--burgundy)}:is(.projector-view,.audience-view) .stage-equalizer{align-items:end;gap:6px;height:36px;display:flex}.stage-equalizer i{background:var(--bubblegum);transform-origin:bottom;width:8px;height:8px}.stage-live .stage-equalizer i{height:30px;animation:1.1s ease-in-out infinite alternate stage-beat}.stage-equalizer i:nth-child(3n){animation-delay:-.7s}.stage-equalizer i:nth-child(3n+1){animation-delay:-.4s}.stage-equalizer i:nth-child(2n){background:var(--peach);animation-duration:.85s}:is(.projector-view,.audience-view) #projector{border:2px solid var(--charcoal);background:var(--ivory);text-align:center;grid-area:1/2/span 2;gap:14px;padding:16px}:is(.projector-view,.audience-view) #projector>h2{background:var(--charcoal);color:var(--ivory);padding:12px;font-size:1.05rem}.projector-art{aspect-ratio:2/3;object-fit:contain;object-position:center;flex-shrink:0;align-self:center;width:calc(100% - 16px);max-width:100%;height:auto;display:block}:is(.projector-view,.audience-view) .scan-caption{color:var(--burgundy);font-weight:700}:is(.projector-view,.audience-view) #qr{width:min(100%,144px);height:auto;image-rendering:pixelated;align-self:flex-end}:is(.projector-view,.audience-view) #join-link{font-size:.95rem}:is(.projector-view,.audience-view) .queue-section{border:2px solid var(--charcoal);grid-area:2/1}:is(.projector-view,.audience-view) .queue-section>h2{background:var(--silver);color:var(--charcoal);letter-spacing:.08em;text-transform:uppercase;padding-block:10px;font-size:1.1rem}:is(.projector-view,.audience-view) #queue{padding:0;list-style:none}:is(.projector-view,.audience-view) #queue>li{border-top:1px solid var(--taupe);align-items:center;gap:16px;margin:0;padding:14px 0;display:flex}:is(.projector-view,.audience-view) #queue>li:first-child{border-left:4px solid var(--bubblegum);background:#f7e5ed;padding-inline:12px}:is(.projector-view,.audience-view) #queue>li>div{flex:1;min-width:0}.queue-number{color:var(--burgundy);font-size:1.75rem;font-weight:700}.queue-cover{border:1px solid var(--taupe);background:var(--silver);width:64px;height:64px;color:var(--burgundy);flex:0 0 64px;place-items:center;font-size:1.75rem;display:grid;position:relative}.queue-cover>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}:is(.projector-view,.audience-view) #queue strong{font-size:clamp(1.2rem,2vw,1.75rem)}:is(.projector-view,.audience-view) #queue p{color:#655a50;font-size:1rem}.queue-badge{background:var(--charcoal);color:var(--bubblegum);padding:4px 8px;font-size:.8rem}:is(.projector-view,.audience-view) .results-section{border:2px solid var(--burgundy);font-size:1.15rem}.stage-confetti{pointer-events:none;z-index:20;position:fixed;inset:0;overflow:hidden}.stage-confetti span{top:-24px;left:var(--left);background:var(--bubblegum);width:8px;height:14px;animation:stage-confetti-fall 4s var(--delay) ease-in forwards;position:absolute}.stage-confetti span:nth-child(3n){background:var(--burgundy)}.stage-confetti span:nth-child(3n+1){background:var(--peach)}.stage-confetti span:nth-child(4n){background:var(--silver);width:12px;height:5px}@keyframes stage-beat{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}@keyframes stage-star{0%,to{transform:rotate(-12deg)scale(.9)}50%{transform:rotate(12deg)scale(1.05)}}@keyframes stage-confetti-fall{to{transform:translate(var(--drift), 110vh) rotate(var(--spin))}}@media (width<=900px){:is(.projector-view,.audience-view) .page{padding:12px}:is(.projector-view,.audience-view) .audience-layout{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);gap:12px}:is(.projector-view,.audience-view) .current-section,:is(.projector-view,.audience-view) .queue-section,:is(.projector-view,.audience-view) #projector{grid-area:auto/1}:is(.projector-view,.audience-view) .current-section{order:0}:is(.projector-view,.audience-view) .queue-section{order:1}:is(.projector-view,.audience-view) #projector{order:2}:is(.projector-view,.audience-view) .results-section{order:3}:is(.projector-view,.audience-view) .projector-art{max-width:280px}:is(.projector-view,.audience-view) .current-section{padding:24px}:is(.projector-view,.audience-view) .current-section>h2{margin:-24px -24px 0}:is(.projector-view,.audience-view) .current-section{grid-template-columns:minmax(0,1fr)}:is(.projector-view,.audience-view) .stage-footer{grid-column:1;grid-template-columns:minmax(0,1fr) minmax(0,150px);align-items:end;gap:12px;display:grid}:is(.projector-view,.audience-view) .stage-vibe,:is(.projector-view,.audience-view) .stage-scan{grid-area:auto}:is(.projector-view,.audience-view) #current{max-width:100%}}@media (width<=640px){:is(.projector-view,.audience-view) .page-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}:is(.projector-view,.audience-view) .brand{max-width:220px}:is(.projector-view,.audience-view) .title-kafeshka{width:100%;margin:0}:is(.projector-view,.audience-view) .current-section{gap:12px;padding:16px}:is(.projector-view,.audience-view) .current-section>h2{margin:-16px -16px 0;padding:8px 12px;font-size:.8rem}:is(.projector-view,.audience-view) .current-section:after{font-size:5rem;right:12px}:is(.projector-view,.audience-view) #current{font-size:clamp(2rem,9vw,3rem)}:is(.projector-view,.audience-view) #current-song{grid-template-columns:56px minmax(0,1fr);gap:8px}:is(.projector-view,.audience-view) #current-song>img{width:56px;height:56px}:is(.projector-view,.audience-view) .stage-footer{grid-template-columns:minmax(0,1fr) minmax(0,120px)}:is(.projector-view,.audience-view) #stage-caption{font-size:.8rem}.stage-equalizer i{width:5px}:is(.projector-view,.audience-view) .stage-equalizer{gap:4px}:is(.projector-view,.audience-view) #join-link{font-size:.7rem}:is(.projector-view,.audience-view) .audience-layout{grid-template-columns:minmax(0,1fr)}:is(.projector-view,.audience-view) .current-section,:is(.projector-view,.audience-view) .queue-section,:is(.projector-view,.audience-view) #projector{grid-area:auto/1}:is(.projector-view,.audience-view) .current-section{order:0}:is(.projector-view,.audience-view) .queue-section{order:1}:is(.projector-view,.audience-view) #projector{order:2}:is(.projector-view,.audience-view) .projector-art{align-self:center;max-width:280px}:is(.projector-view,.audience-view) #queue>li{flex-wrap:wrap;gap:10px}:is(.projector-view,.audience-view) #queue>li>div{flex-basis:120px}}@media (prefers-reduced-motion:reduce){:is(.projector-view,.audience-view) .current-section:after,.stage-live .stage-equalizer i{animation:none}.stage-confetti{display:none}}.projector-view .audience-only{display:none}.audience-view .page{max-width:1200px}.audience-view .audience-layout{grid-template-rows:auto auto;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:20px}.audience-view .current-section{grid-area:1/1/auto/-1;grid-template-columns:minmax(0,1fr)}.audience-view .current-section .stage-scan{display:none}.audience-view #projector-song-title{display:block}.audience-view .stage-footer{display:contents}.audience-view .stage-vibe{grid-area:auto/1}.audience-view .stage-vote{z-index:1;grid-column:1;position:relative}.audience-view #vote{padding:10px 18px}.audience-view #audience{border-color:var(--charcoal);grid-area:2/1}.audience-view #audience>h2{background:var(--bubblegum);color:var(--charcoal);border-color:var(--charcoal);text-transform:uppercase;letter-spacing:.08em;padding:10px 12px}.audience-view .queue-section{grid-area:2/2}.audience-view .join-caption{color:var(--burgundy);font-size:.9rem}.audience-view #queue>li{flex-wrap:wrap;gap:10px}.audience-view #queue>li>div{flex-basis:120px}.audience-view #queue strong{font-size:1.2rem}.audience-view #queue p{font-size:.9rem}.audience-view #selected-song:not(:empty){border:1px solid var(--burgundy);background:#f7e5ed;grid-template-columns:minmax(0,1fr);gap:8px 12px;padding:12px;display:grid}.audience-view #selected-song:has(img){grid-template-columns:64px minmax(0,1fr)}.audience-view #selected-song>img{object-fit:cover;grid-area:1/1/span 2;width:64px;height:64px}.audience-view #selected-song>p,.audience-view #selected-song>a{grid-column:-2;margin:0}@media (width<=760px){.audience-view .audience-layout{grid-template-columns:minmax(0,1fr);gap:12px}.audience-view .current-section,.audience-view #audience,.audience-view .queue-section{grid-area:auto/1}.audience-view #audience{order:1}.audience-view .queue-section{order:2}.audience-view #vote,.audience-view #join>button{width:100%}}:is(.projector-view,.audience-view) .audience-layout,.host-layout{gap:24px}.toast-region{z-index:100;pointer-events:none;flex-direction:column;gap:10px;width:min(400px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--bubblegum);border-left:4px solid var(--bubblegum);background:var(--charcoal);color:var(--ivory);pointer-events:auto;align-items:center;gap:12px;padding:12px 14px;animation:.18s ease-out toast-enter;display:flex}.toast p{overflow-wrap:anywhere;flex:1;min-width:0}.toast-error{background:var(--burgundy);border-color:var(--peach)}.toast>button{width:36px;min-height:36px;color:var(--ivory);border:1px solid var(--silver);background:0 0;flex:none;padding:0;font-size:1.25rem}.toast>button:before,.toast>button:after{content:none}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.toast-region{right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:calc(100vw - 24px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.host-view .page{max-width:1320px;padding:24px}.host-view .page-header{padding:12px 16px}.host-view .page-header h1{font-size:1.2rem}.host-view .host-layout{grid-template-columns:minmax(0,3fr) minmax(280px,2fr)}.host-view .host-stage{background:var(--charcoal);color:var(--ivory);border-color:var(--charcoal);grid-column:1}.host-view .host-stage>h2{background:var(--bubblegum);color:var(--charcoal);padding:10px 12px}.host-view .host-event-actions{grid-column:2}.host-view .performances-section{grid-column:1/-1}.host-view .section>h2{padding-block:10px}.host-eyebrow{letter-spacing:.1em;font-size:.7rem}.host-steps{flex-wrap:wrap;gap:8px 28px;padding-left:24px;display:flex}.host-steps li+li{margin:0}.host-steps li{padding:4px 8px}.host-steps .is-current{background:var(--bubblegum);font-weight:700}.host-hint{color:#655a50;font-size:.85rem}.host-stage .host-hint{color:var(--silver)}#host-current{flex-direction:column;gap:8px;display:flex}#host-current>strong{font-family:var(--font-family);overflow-wrap:anywhere;font-size:clamp(1.75rem,4vw,3rem);line-height:1.1}#host-current>p{color:var(--bubblegum);overflow-wrap:anywhere;font-size:1.1rem}#host-next-preview{border-top:1px solid var(--silver);color:var(--peach);overflow-wrap:anywhere;padding-top:12px}.host-action-block{flex-direction:column;align-items:start;gap:8px;display:flex}.host-action-block+.host-action-block{border-top:1px solid var(--silver);padding-top:12px}.host-view #next{padding:12px 16px}.host-view .host-filters{gap:8px}.host-filters button[aria-pressed=true],.host-view button.host-primary{background:var(--bubblegum);color:var(--charcoal);border-color:var(--bubblegum)}.host-view button.host-primary:hover:not(:disabled){background:var(--ivory)}.host-view button.host-danger{color:var(--burgundy);border-color:var(--taupe);background:0 0}.host-view button.host-danger:hover:not(:disabled){background:var(--burgundy);color:var(--ivory)}.host-view button:disabled{background:var(--silver);color:#625e62;border-color:var(--silver)}.host-view #performances{padding:0;list-style:none}.host-view #performances>li{border-top:1px solid var(--taupe);border-bottom:0;margin:0;padding:18px 0}.host-view #performances>li.status-singing{border-left:4px solid var(--bubblegum);background:#f7e5ed;padding-left:12px}.host-performance-info{align-items:center;gap:14px;display:flex}.host-performance-info>img{object-fit:cover;flex:0 0 56px;width:56px;height:56px}.host-performance-info>div{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.host-performance-info strong{font-size:1.2rem}.host-status{color:var(--burgundy);letter-spacing:.06em;font-size:.7rem;font-weight:700}.host-votes{background:var(--silver);flex:none;padding:4px 10px;font-weight:700}.host-row-actions{gap:8px;margin-top:14px}.host-row-actions button{font-size:.8rem}.host-view .reset-section details{flex-direction:column;gap:12px;display:flex}.host-view .reset-section details>p{margin-block:12px}.host-view summary{cursor:pointer;color:var(--burgundy)}.host-view dialog{border:2px solid var(--burgundy);background:var(--ivory);width:min(520px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--charcoal);padding:24px;overflow-y:auto}.host-view dialog::backdrop{background:#282629a6}.host-view dialog>p{margin-block:12px 20px;font-size:.85rem}.host-view .login-form{max-width:480px;margin:32px auto}@media (width<=760px){.host-view .page{padding:12px}.host-view .host-layout{grid-template-columns:minmax(0,1fr)}.host-view .host-stage,.host-view .host-event-actions,.host-view .performances-section{grid-column:1}.host-performance-info{flex-wrap:wrap}.host-votes{font-size:.8rem}.host-row-actions button{flex:140px}.host-action-block>button,.host-view #next{width:100%}.host-view .host-steps{flex-direction:column;gap:6px}}.projector-view.finale-view .current-section,.projector-view.finale-view .queue-section,.projector-view.finale-view #projector{display:none}.projector-view.finale-view .audience-layout{grid-template-columns:minmax(0,1fr)}.projector-view.finale-view #results-section{background:0 0;border:0;grid-column:1/-1;padding:12px 0}.projector-view.finale-view #results-section:before,.projector-view.finale-view #results-section>h2,.projector-view.finale-view #result-message,.projector-view.finale-view #results{display:none}#finale{text-align:center}.finale-eyebrow{color:var(--burgundy);letter-spacing:.15em;font-size:.9rem}.finale-title{font-family:var(--font-family);margin:12px 0;font-size:clamp(2rem,4.5vw,5rem);line-height:1.1}.finale-help{color:#655a50;max-width:850px;margin:0 auto 24px;font-size:1rem}.envelope-grid{gap:24px;display:grid}.podium-envelopes{grid-template-columns:repeat(3,minmax(0,1fr));margin:32px 0}.certificate-envelopes{grid-template-columns:repeat(4,minmax(0,1fr))}.certificates-title{margin-bottom:8px;font-size:clamp(1.3rem,2.5vw,2rem)}button.award-envelope{border:2px solid var(--taupe);background:var(--ivory);width:100%;min-height:260px;color:var(--charcoal);text-align:center;font:inherit;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:30px 16px 16px;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}button.award-envelope:before{content:"";clip-path:polygon(0 0,100% 0,50% 75%);transform-origin:top;pointer-events:none;background:#f2d9e3;height:65%;transition:transform .65s,opacity .65s;position:absolute;inset:0 0 auto}button.award-envelope:after{content:"";clip-path:polygon(0 0,50% 60%,100% 0,100% 100%,0 100%);pointer-events:none;background:#f7e9ee;height:35%;position:absolute;inset:auto 0 0}button.award-envelope:hover:not(:disabled){background:var(--ivory);border-color:var(--burgundy);transform:translateY(-4px)}button.award-envelope.champion-envelope{border-color:var(--burgundy)}.envelope-face{z-index:1;flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.envelope-face img{width:56px;height:56px}.envelope-label{font-size:clamp(1rem,1.8vw,1.5rem);font-weight:700}.envelope-reward{color:var(--burgundy);font-size:.9rem}.envelope-letter{z-index:2;overflow-wrap:anywhere;font-size:1.3rem;font-weight:700;display:none;position:relative}.envelope-hint{z-index:2;color:#655a50;font-size:.8rem;position:relative}.award-envelope.is-open:before{opacity:.3;transform:scaleY(.15)}.award-envelope.is-open .envelope-letter{animation:.7s ease-out letter-arrive;display:block}button.award-envelope:disabled{opacity:.6;color:var(--charcoal);background:var(--ivory)}.certificate-envelopes button.award-envelope{min-height:230px}.winner-spotlight{background:var(--charcoal);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ivory);text-align:center;border:0;margin:0;padding:5vh 5vw;position:fixed;inset:0;overflow:auto}.winner-spotlight[open]{flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.winner-spotlight>img{width:clamp(70px,10vw,140px);height:auto}.winner-category{color:var(--bubblegum);font-size:clamp(1.5rem,3vw,3rem)}.winner-name{font-family:var(--font-family);overflow-wrap:anywhere;max-width:100%;font-size:clamp(2.5rem,8vw,8rem);line-height:1.05;animation:.85s ease-out letter-arrive}.winner-song{color:var(--silver);overflow-wrap:anywhere;font-size:clamp(1rem,2.5vw,2.5rem)}.champion-title{color:var(--peach);font-size:clamp(1rem,2.5vw,2.5rem)}.winner-reward{background:var(--bubblegum);color:var(--charcoal);padding:8px 20px;font-size:clamp(1.1rem,2vw,2rem);font-weight:700}.winner-spotlight>button{border-color:var(--silver);margin-top:16px}.host-certificates{grid-column:1/-1}.certificate-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.certificate-controls select{width:100%;min-width:0;font:inherit;border:1px solid var(--taupe);background:var(--ivory);color:var(--charcoal);padding:10px}.host-instruction{color:var(--burgundy);border-left:4px solid var(--bubblegum);background:#f7e5ed;padding:12px;font-weight:700}#host-connection{font-size:.75rem}@keyframes letter-arrive{0%{opacity:0;transform:translateY(24px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=900px){.certificate-envelopes{grid-template-columns:repeat(2,minmax(0,1fr))}.envelope-grid{gap:14px}}@media (width<=600px){.podium-envelopes,.certificate-envelopes,.certificate-controls{grid-template-columns:minmax(0,1fr)}button.award-envelope{min-height:220px}.winner-spotlight[open]{gap:14px}.winner-spotlight{padding:20px}}@media (prefers-reduced-motion:reduce){button.award-envelope,button.award-envelope:before{transition:none}.winner-name,.award-envelope.is-open .envelope-letter{animation:none}}.host-view{font-family:var(--font-family);background:#f6f5f2}.host-view .animated-gradient,.host-view .section:before,.host-view .login-form:before{display:none}.host-view .host-layout{gap:16px}.host-view .section,.host-view .login-form,.host-view .host-stage{color:var(--charcoal);background:#fffdfa;border:1px solid #dedbd5;padding:20px}.host-view .section>h2,.host-view .host-stage>h2{color:var(--charcoal);background:0 0;border:0;margin:0;padding:0;font-size:1rem}.host-view .event-section{gap:8px}.host-view .host-eyebrow{display:none}.host-view #phase{font-size:1.25rem}.host-view .host-instruction{color:#68625d;background:0 0;border:0;padding:0;font-weight:400}.host-view #host-connection{color:#68625d;font-size:.75rem}.host-view #host-current>strong{font-family:inherit;font-size:clamp(1.5rem,3vw,2.25rem)}.host-view #host-current>p,.host-view #host-next-preview,.host-view .host-stage .host-hint{color:#68625d}.host-view #host-next-preview{border-color:#dedbd5}.host-view .host-action-block.is-unavailable{display:none}.host-view .host-action-block+.host-action-block{border:0;padding-top:0}.host-view button{color:var(--charcoal);background:0 0;border:1px solid #ccc7bf;padding:8px 12px;font-family:inherit;font-size:.85rem;font-weight:500}.host-view button:before,.host-view button:after{content:none}.host-view button:hover:not(:disabled){background:#efede8;border-color:#a39b90}.host-view #next,.host-view #reveal,.host-view button.host-primary{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}.host-view #next:hover:not(:disabled),.host-view #reveal:hover:not(:disabled),.host-view button.host-primary:hover:not(:disabled){background:#5c243c}.host-view button:disabled{color:#918a80;background:#eeece7;border-color:#dedbd5}.host-view button.host-danger{color:#80505a;border-color:#0000}.host-view .host-filters button{border-color:#0000}.host-view .host-filters button[aria-pressed=true]{color:var(--charcoal);background:#eeece7;border-color:#ccc7bf}.host-view #performances>li.status-singing{border-left:3px solid var(--burgundy);background:0 0}.host-view .host-status{color:#68625d;letter-spacing:0}.host-view .host-votes{color:#68625d;background:0 0;font-weight:400}.host-view .host-row-actions{gap:6px}.host-view .host-performance-info strong{font-size:1.05rem}.host-view #performances>li{border-color:#dedbd5;padding-block:14px}.host-view .certificate-controls select{background:#fffdfa;border-color:#ccc7bf;font-weight:400}.host-view .host-certificates details{color:#68625d;font-size:.85rem}.host-view summary{color:#68625d}.host-view details>p{margin-top:10px}.host-view :is(input,button,a,select):focus-visible{outline:2px solid var(--burgundy);outline-offset:2px}:is(.projector-view,.audience-view) .page-header{grid-template-columns:minmax(0,1fr) minmax(0,220px) minmax(0,1fr);align-items:center;gap:16px;display:grid}:is(.projector-view,.audience-view) .brand{width:min(100%,240px)}.header-animation{justify-self:end;width:120px;height:90px;overflow:hidden}.header-animation img{object-fit:cover;object-position:50% 25%;width:100%;height:100%;display:block}@media (width<=640px){:is(.projector-view,.audience-view) .page-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.header-animation{display:none}}@media (prefers-reduced-motion:reduce){.header-animation{display:none}}
