/* NUCA Azure Mono award ceremony. Motion celebrates reviewed team results. */
.ceremony-page { --ceremony-gold:#edbd59; --ceremony-silver:#c4cfdd; --ceremony-bronze:#d69a76; }
.ceremony-page [hidden],.ceremony-page .demo-strip { display:none !important; }
.ceremony-page #main { width:100%; max-width:none; padding:0; margin:0; }
.ceremony-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px clamp(20px,3vw,56px); max-width:1800px; margin:auto; }
.ceremony-brand { display:flex; align-items:center; gap:20px; min-width:0; color:var(--secondary-text); font-size:.85rem; }
.ceremony-brand > span:last-child { overflow-wrap:anywhere; max-width:60ch; }
.ceremony-header .brand-mark { flex-shrink:0; }
.ceremony-header-actions { display:flex; gap:10px; flex-shrink:0; }
.ceremony-header-actions .button { font-size:.75rem; }
.ceremony-shell { max-width:1640px; padding:0 clamp(20px,3vw,56px) 20px; margin:auto; }
.ceremony-heading { text-align:center; min-height:135px; margin:14px auto 28px; }
.ceremony-heading > p:first-child { color:var(--muted); font-size:.8rem; margin:0 0 10px; }
.ceremony-heading h1 { font-size:clamp(32px,4.2vw,68px); letter-spacing:-.03em; line-height:1.1; font-weight:550; margin:0; }
.ceremony-heading > p:last-child { color:var(--secondary-text); font-size:clamp(14px,1.25vw,20px); margin:14px 0 0; }
.ceremony-stage { position:relative; }
.ceremony-podium { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2vw,32px); align-items:end; max-width:1260px; margin:0 auto; min-height:400px; }
.ceremony-card { position:relative; min-width:0; text-align:center; padding:26px 20px 30px; border:1px solid var(--line); border-radius:16px; background:var(--surface); display:flex; flex-direction:column; align-items:center; justify-content:flex-end; overflow:visible; --ceremony-accent:var(--ceremony-silver); }
.ceremony-card[data-rank="1"] { grid-column:2; grid-row:1; min-height:400px; --ceremony-accent:var(--ceremony-gold); background:#19160e; border-color:#59471f; }
.ceremony-card[data-rank="2"] { grid-column:1; grid-row:1; min-height:350px; }
.ceremony-card[data-rank="3"] { grid-column:3; grid-row:1; min-height:320px; --ceremony-accent:var(--ceremony-bronze); }
.ceremony-card[data-revealed="false"] { opacity:.35; background:transparent; border-style:dashed; }
.ceremony-card[data-revealed="false"] > * { visibility:hidden; }
.ceremony-card[data-revealed="false"] .ceremony-place { visibility:visible; color:var(--muted); opacity:.55; }
.ceremony-place { color:var(--ceremony-accent); display:flex; align-items:center; justify-content:center; gap:10px; font-size:14px; font-weight:550; margin-bottom:auto; padding-bottom:22px; }
.ceremony-place svg { width:26px; height:26px; }
.ceremony-team-name { font-size:clamp(20px,2vw,30px); line-height:1.25; font-weight:550; margin:16px 0 12px; order:2; overflow-wrap:anywhere; max-width:100%; }
.ceremony-team-score { color:var(--ceremony-accent); font-size:clamp(20px,2.3vw,34px); font-weight:550; font-variant-numeric:tabular-nums; order:3; }
.ceremony-members { display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:20px; width:100%; order:1; }
.ceremony-member { display:flex; flex-direction:column; align-items:center; min-width:0; max-width:150px; position:relative; }
.ceremony-avatar,.ceremony-avatar-placeholder { width:clamp(68px,7vw,108px); height:clamp(68px,7vw,108px); border-radius:50%; object-fit:cover; background:var(--raised); border:3px solid var(--surface); outline:1px solid var(--line); position:relative; z-index:1; }
.ceremony-avatar-placeholder { display:grid; place-items:center; color:var(--muted); font-size:40px; }
.ceremony-nickname { display:block; margin-top:12px; font-size:12px; color:var(--secondary-text); overflow-wrap:anywhere; line-height:1.5; max-width:100%; }
.ceremony-card[data-active="true"] { border-color:var(--ceremony-accent); }
.ceremony-card[data-active="true"] .ceremony-avatar { outline-color:var(--ceremony-accent); }
.ceremony-card[data-active="true"] .ceremony-member::after { content:''; position:absolute; width:60%; height:8px; top:calc(clamp(68px,7vw,108px) - 4px); border-radius:50%; background:#000; opacity:.4; animation:ceremony-landing 1.25s ease-out; }
@keyframes ceremony-landing { 0%,100% { transform:scaleX(1); opacity:.4; } 30% { transform:scaleX(.45); opacity:.15; } 55% { transform:scaleX(1.2); opacity:.5; } 75% { transform:scaleX(.75); opacity:.25; } }
.ceremony-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; min-height:70px; margin:22px 0 12px; }
.ceremony-controls .button { min-height:44px; }
.ceremony-controls .button[hidden],.ceremony-header-actions .button[hidden] { display:none; }
.ceremony-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:16px; color:var(--muted); font-size:12px; }
.ceremony-footer a { display:inline-flex; align-items:center; gap:6px; color:var(--secondary-text); }
#ceremony-sound-status:not(:empty) { display:block; margin-top:5px; }
.ceremony-solo { max-width:580px; margin:0 auto; min-height:400px; }
.ceremony-solo .ceremony-card { --ceremony-accent:#b69cff; background:#171322; border-color:#59427b; min-height:400px; }
.ceremony-solo .ceremony-team-name { order:2; }
.ceremony-stage[data-state="solo"] .ceremony-heading h1 { color:#c5b0ff; }
@media(min-width:801px) and (max-height:850px) { .ceremony-header { padding-block:12px; } .ceremony-heading { min-height:105px; margin:4px auto 16px; } .ceremony-heading h1 { font-size:44px; } .ceremony-heading > p:last-child { margin-top:8px; font-size:15px; } .ceremony-podium { min-height:310px; } .ceremony-card { padding:18px 16px 22px; } .ceremony-card[data-rank="1"] { min-height:310px; } .ceremony-card[data-rank="2"] { min-height:280px; } .ceremony-card[data-rank="3"] { min-height:260px; } .ceremony-place { padding-bottom:18px; } .ceremony-avatar,.ceremony-avatar-placeholder { width:78px; height:78px; } .ceremony-card[data-active="true"] .ceremony-member::after { top:74px; } .ceremony-team-name { font-size:23px; margin:12px 0 8px; } .ceremony-team-score { font-size:26px; } .ceremony-solo,.ceremony-solo .ceremony-card { min-height:310px; } .ceremony-controls { margin-top:12px; min-height:60px; } }
@media(max-width:800px) { .ceremony-header { padding:16px 20px; } .ceremony-brand { gap:10px; } .ceremony-brand > span:last-child { display:none; } .ceremony-heading { min-height:110px; } .ceremony-podium { grid-template-columns:minmax(0,1fr); gap:16px; min-height:0; } .ceremony-card[data-rank] { grid-column:1; grid-row:auto; min-height:280px; } .ceremony-card[data-rank="1"] { order:1; } .ceremony-card[data-rank="2"] { order:2; } .ceremony-card[data-rank="3"] { order:3; } .ceremony-card[data-revealed="false"] { display:none; } .ceremony-stage[data-state="ready"] .ceremony-podium { min-height:260px; } .ceremony-solo { min-height:0; } .ceremony-footer { align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { .ceremony-card,.ceremony-avatar,.ceremony-member::after { animation:none !important; transition:none !important; } }

#ceremony-countdown { position:absolute; left:50%; top:43%; transform:translate(-50%,-50%); font-size:clamp(80px,10vw,144px); font-weight:550; font-variant-numeric:tabular-nums; line-height:1; pointer-events:none; z-index:5; }
#ceremony-countdown:empty { display:none; }

.ceremony-brand .brand-mark { display:block; position:relative; overflow:hidden; width:72px; height:54px; }
.ceremony-brand .brand-mark img { position:absolute; max-width:none; width:101.9px; height:101.9px; top:-17.9px; left:-14.6px; mix-blend-mode:screen; filter:contrast(1.2); }
.ceremony-screen:fullscreen { background:var(--bg); width:100%; min-height:100dvh; overflow:auto; }

.ceremony-ending { min-height:310px; display:flex; align-items:center; justify-content:center; gap:40px; max-width:800px; margin:auto; }
.ceremony-ending img { flex-shrink:0; border-radius:12px; background:white; }
.ceremony-ending h2 { font-size:28px; font-weight:550; margin:0 0 12px; }
.ceremony-ending p { color:var(--secondary-text); max-width:34ch; margin-bottom:20px; }
@media(max-width:600px) { .ceremony-ending { flex-direction:column; gap:24px; padding-block:20px; text-align:center; } }

/* Two stage lights frame the gold announcement; they never cover the controls. */
.ceremony-screen { position:relative; isolation:isolate; }
.ceremony-header,.ceremony-controls,.ceremony-footer { position:relative; z-index:25; }
#ceremony-confetti { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:20; }
.ceremony-spotlights { position:absolute; inset:-35px 0 0; pointer-events:none; overflow:hidden; opacity:0; transition:opacity .55s ease; z-index:0; }
.ceremony-spotlights span { position:absolute; top:0; width:38%; height:540px; transform-origin:50% 0; clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); background:linear-gradient(180deg,rgba(255,227,163,.28),rgba(255,222,145,.06) 75%,transparent); filter:blur(12px); }
.ceremony-spotlights span:first-child { left:4%; transform:rotate(-24deg); }
.ceremony-spotlights span:last-child { right:4%; transform:rotate(24deg); }
.ceremony-stage[data-spotlight="true"] .ceremony-spotlights { opacity:1; }
.ceremony-heading,.ceremony-podium,.ceremony-solo,.ceremony-ending { position:relative; z-index:1; }
.ceremony-stage[data-spotlight="true"] .ceremony-card[data-rank="1"] { border-color:#f1c86c; background:linear-gradient(180deg,#302718,#19160e 75%); }
.ceremony-ending.ceremony-socials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:60px; max-width:640px; }
.ceremony-social { display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; color:var(--text); padding:16px; border-radius:12px; }
.ceremony-social img { margin-bottom:12px; }
.ceremony-social strong { font-size:20px; font-weight:550; }
.ceremony-social > span { color:var(--secondary-text); font-size:15px; }
.ceremony-social:hover { color:var(--text); background:var(--surface); }
@media(max-width:600px) { .ceremony-ending.ceremony-socials { grid-template-columns:minmax(0,1fr); gap:16px; } .ceremony-spotlights span { width:60%; } }
@media(prefers-reduced-motion:reduce) { .ceremony-spotlights { transition:none; } }
