/* Voting, backstage and ceremony share the original black, ruby and gold stage. */
button, input, textarea, select { font: inherit; }
textarea, select { color: var(--text); }
.secondary-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid #b88a5059; padding: 11px 19px; background: #d8a05a09; color: var(--gold); font-size: 11px; line-height: 1.5; transition: background .2s; }
.secondary-button:hover { background: #d8a05a18; }
.secondary-button:disabled { opacity: .4; cursor: default; }
.quiet-button { display: inline-flex; align-items: center; gap: 8px; padding: 12px 0; background: transparent; color: var(--muted); font-size: 11px; }
.quiet-button:hover { color: var(--gold); }
.quiet-button:disabled { opacity: .3; }
.form-error { color: #ffa58c; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.form-error:empty { display: none; }
.field-hint { display: block; color: var(--muted); font-size: 10px; line-height: 1.8; font-weight: 400; }
.field textarea, .field select { display: block; width: 100%; border: 1px solid #d4ab722e; background: #0d0b09; padding: 13px 14px; border-radius: 0; font-size: 12px; margin-top: 9px; }
.field textarea { resize: vertical; min-height: 80px; }
.field select { min-height: 46px; }
.field input:disabled, .field textarea:disabled { opacity: .55; }
.auth-dialog .form-error { margin: 12px 0; }
.auth-dialog .field-hint { margin: 12px 0 18px; }
.account-actions { display: grid; gap: 12px; }
.account-actions .quiet-button { justify-content: center; }
.inner-header { position: relative; height: 92px; background: #080706b8; padding: 0 5%; }
.inner-header .brand { margin-right: auto; }
.header-back { font-size: 11px; color: var(--muted); margin-right: 20px; }
.header-back:hover { color: var(--gold); }
.ballot-page { background: radial-gradient(ellipse at 65% 15%, #37140740, transparent 42%), var(--bg); min-height: 100svh; }
.ballot-shell { max-width: 1420px; margin: auto; padding: 32px 5% 80px; }
.ballot-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.ballot-topline .eyebrow { font-size: 8px; }
.ballot-topline .text-link { margin: 0; font-size: 10px; }
.phase-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #cda76c08; border: 1px solid #b58b5429; padding: 15px 19px; color: #b8ab9a; font-size: 11px; line-height: 1.8; margin-bottom: 39px; }
.phase-banner strong { color: #dfc4a0; font-weight: 600; }
.phase-banner a { flex-shrink: 0; color: var(--gold); text-decoration: underline; text-underline-offset: 4px; }
.preview-banner { border-color: #dc8e3d4d; background: linear-gradient(90deg,#7f3e171c,transparent); }
.ballot-layout { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: clamp(35px, 6vw, 90px); }
.ballot-sidebar { position: sticky; top: 28px; align-self: start; }
.progress-heading { display: flex; justify-content: space-between; align-items: center; color: #c6b193; font-size: 9px; letter-spacing: 2px; }
.progress-heading strong { color: var(--gold); font-size: 12px; letter-spacing: 1px; }
.progress-track { height: 2px; background: #b48d5429; margin: 16px 0 12px; }
.progress-track>div { height: 100%; width: 0; background: var(--gold); transition: width .5s; box-shadow: 0 0 14px #e6b9724d; }
.sidebar-hint { font-size: 9px; color: var(--muted); line-height: 1.8; margin-bottom: 23px; }
#ballot-nav { display: flex; flex-direction: column; gap: 5px; }
.ballot-nav-item { display: flex; align-items: center; gap: 13px; min-height: 43px; color: #9c9286; font-size: 11px; padding: 8px 12px; margin-left: -12px; border: 1px solid transparent; transition: color .2s, background .2s; }
.ballot-nav-item:hover { color: var(--text); background: #f2c28006; }
.ballot-nav-item.active { border-color: #c3934b35; background: linear-gradient(90deg,#a3742a13,transparent); color: #f0d3a6; }
.nav-index { min-width: 19px; color: #756753; font-size: 9px; }
.nav-index.done { color: var(--gold); }
.ballot-nav-item.active .nav-index { color: var(--gold); }
.ballot-content { min-width: 0; }
.ballot-heading { display: flex; align-items: center; gap: 20px; margin: -15px 0 27px; min-height: 130px; }
.ballot-heading>img { flex-shrink: 0; width: 124px; height: 124px; object-fit: contain; filter: drop-shadow(0 0 22px #d341111a); }
.ballot-heading .eyebrow { font-size: 8px; letter-spacing: 2px; }
.ballot-heading h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(38px,4.5vw,64px); line-height: 1.1; letter-spacing: -1.2px; margin: 8px 0 12px; scroll-margin-top: 25px; }
.ballot-heading p { font-size: 11px; color: var(--muted); line-height: 1.8; }
.candidate-fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.ballot-candidates { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.ballot-candidate { cursor: pointer; min-width: 0; position: relative; }
.ballot-candidate>input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.candidate-card { display: block; border: 1px solid #d2af7329; background: #0f0b08; height: 100%; transition: border .25s, box-shadow .25s, transform .25s; }
.ballot-candidate:not(.is-disabled):hover .candidate-card { border-color: #dcab686b; transform: translateY(-3px); }
.ballot-candidate>input:focus-visible+.candidate-card { outline: 2px solid var(--gold); outline-offset: 5px; }
.ballot-candidate>input:checked+.candidate-card { border-color: var(--gold); box-shadow: 0 0 0 1px #e6b97233,0 0 32px #b87d2314; }
.candidate-image { display: block; position: relative; width: 100%; aspect-ratio: 1.3; background: #100d09; overflow: hidden; }
.candidate-image>img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.ballot-candidate:not(.is-disabled):hover .candidate-image>img { transform: scale(1.035); }
.candidate-image::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg,#08070663,transparent 40%); }
.candidate-index { position: absolute; top: 15px; left: 17px; font-size: 9px; color: #e4c592a6; letter-spacing: 2px; z-index: 1; text-shadow: 0 1px 8px #000; }
.candidate-check { display: grid; place-items: center; position: absolute; right: 13px; top: 13px; width: 29px; height: 29px; background: var(--gold); color: #21150a; border-radius: 50%; font-size: 14px; opacity: 0; transform: scale(.6); transition: opacity .2s,transform .2s; z-index: 2; }
.ballot-candidate>input:checked+.candidate-card .candidate-check { opacity: 1; transform: scale(1); }
.candidate-info { display: block; padding: 19px 20px 23px; }
.candidate-info strong { display: block; font-family: var(--serif); font-weight: 500; font-size: 29px; line-height: 1.15; overflow-wrap: anywhere; }
.candidate-info small { display: block; color: #a49583; font-size: 10px; line-height: 1.8; margin-top: 9px; overflow-wrap: anywhere; }
.portrait-placeholder { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%; min-height: 140px; background: radial-gradient(ellipse at 50% 90%,#692f1229,transparent 65%),repeating-linear-gradient(135deg,transparent 0 28px,#f0c38b03 29px,transparent 30px); color: #b98b51; position: relative; }
.portrait-placeholder::before { content: ''; position: absolute; width: 41%; aspect-ratio: 1; border: 1px solid #d1a26526; transform: rotate(45deg); }
.portrait-placeholder>span { font-size: 21px; color: #cd97586b; }
.portrait-placeholder>b { font-family: var(--serif); font-size: 62px; font-weight: 500; line-height: 1.2; color: #b6895361; }
.portrait-placeholder>small { font-size: 7px; letter-spacing: 3px; margin-top: 10px; color: #a8834c75; }
.is-placeholder .candidate-info strong { color: #cfb48f; }
.is-disabled { cursor: default; }
.custom-choice { border: 1px solid #c49b6630; margin-top: 23px; background: #c7a06904; }
.custom-toggle { display: flex; align-items: center; gap: 15px; padding: 19px 22px; cursor: pointer; }
.custom-toggle input { accent-color: var(--gold); width: 17px; height: 17px; flex-shrink: 0; margin: 0; }
.custom-toggle>span:nth-child(2) { flex: 1; }
.custom-toggle strong { display: block; font-size: 12px; font-weight: 600; }
.custom-toggle small { display: block; color: var(--muted); font-size: 9px; line-height: 1.7; margin-top: 6px; }
.custom-plus { font-size: 24px; font-weight: 400; color: var(--gold); }
.custom-field { padding: 0 22px 4px; }
#vote-error { margin-top: 20px; }
.ballot-save { display: flex; align-items: center; justify-content: space-between; gap: 22px; border-top: 1px solid var(--line); padding: 25px 0; margin-top: 25px; }
.save-copy { display: flex; align-items: flex-start; gap: 11px; min-width: 0; }
.save-copy strong { font-size: 11px; line-height: 1.7; font-weight: 500; display: block; overflow-wrap: anywhere; }
.save-copy p { font-size: 9px; color: var(--muted); line-height: 1.8; margin-top: 4px; }
.save-dot { width: 5px; height: 5px; flex-shrink: 0; background: #6e6251; border-radius: 50%; margin-top: 7px; }
.is-saved .save-dot { background: var(--gold); box-shadow: 0 0 9px #e6b97266; }
.is-saved .save-copy strong { color: var(--gold); }
.ballot-save .primary-button { flex-shrink: 0; font-size: 11px; padding: 14px 20px; min-height: 49px; }
.ballot-navigation { border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 18px; padding-top: 9px; }
.ballot-navigation .text-link { background: transparent; margin: 0; border: 0; font-size: 10px; }
.ballot-footnote { color: #756c60; font-size: 9px; line-height: 1.8; margin-top: 25px; }
.ballot-footer { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding: 28px 5%; color: var(--muted); font-size: 9px; }
.ballot-footer>a:first-child { color: var(--gold); font-weight: 700; letter-spacing: 2px; }
.completion-panel { margin-top: 38px; padding: 35px; border: 1px solid #bd925b4a; background: radial-gradient(ellipse at 90% 50%,#5b281c33,transparent); }
.completion-panel h2 { margin: 20px 0; font-size: 49px; }
.completion-panel p { font-size: 11px; line-height: 1.9; color: var(--muted); max-width: 400px; }
.award-copy.is-current { pointer-events: auto; }
.award-copy>.text-link { margin-top: 14px; font-size: 10px; }
.nomination-details { height: 185px; min-height: 185px; }
/* Backstage */
.admin-shell { max-width: 1280px; margin: auto; padding: 55px 5% 90px; }
.page-title { font-family: var(--serif); font-size: clamp(45px,6vw,79px); font-weight: 500; letter-spacing: -1.8px; line-height: 1.04; margin-top: 18px; }
.page-title em { color: var(--gold); font-weight: 500; }
.page-intro { font-size: 12px; line-height: 1.9; color: var(--muted); max-width: 480px; margin: 22px 0 34px; }
.admin-shell>#admin-error { margin-bottom: 22px; }
.access-panel, .setup-form { max-width: 530px; border: 1px solid #c49b6630; padding: 32px; }
.access-panel h2, .setup-form h2 { font-size: 36px; }
.access-panel p, .setup-form>p { color: var(--muted); font-size: 12px; line-height: 1.8; margin: 20px 0; }
.admin-control-panel { border: 1px solid #bb8d533b; padding: 28px; margin-bottom: 55px; background: #c9a36505; }
.admin-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid var(--line); padding-bottom: 24px; margin-bottom: 26px; gap: 20px; }
.admin-metrics strong { font-family: var(--serif); font-size: 38px; font-weight: 500; display: block; color: var(--gold); }
.admin-metrics span { font-size: 9px; color: var(--muted); margin-top: 8px; display: block; line-height: 1.7; }
#settings-form { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
#settings-form .field { flex: 1; min-width: 200px; }
#settings-form .primary-button { margin-top: 25px; }
.admin-shortcuts { display: flex; flex-wrap: wrap; gap: 25px; margin-top: 18px; }
.editor-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 26px; }
.editor-toolbar h2 { font-size: 39px; margin-top: 10px; }
.editor-toolbar .eyebrow { font-size: 8px; }
.editor-toolbar>.field { margin: 0; width: 260px; flex-shrink: 0; }
.editor-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.editor-card { border: 1px solid var(--line); padding: 20px; min-width: 0; }
.editor-photo { position: relative; width: 100%; aspect-ratio: 1.5; overflow: hidden; background: #100d09; }
.editor-photo>img { width: 100%; height: 100%; object-fit: cover; }
.photo-actions { display: flex; align-items: center; justify-content: space-between; min-height: 49px; gap: 15px; margin-bottom: 12px; }
.upload-label { color: var(--gold); cursor: pointer; position: relative; padding: 12px 0; font-size: 10px; }
.upload-label input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-label:focus-within { outline: 2px solid var(--gold); outline-offset: 4px; }
.upload-label.disabled { opacity: .5; cursor: default; }
.photo-actions .quiet-button { font-size: 10px; }
.editor-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin: 24px 0 17px; }
.editor-bottom>div { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.checkbox-label { font-size: 11px; color: #d7c3a7; display: flex; align-items: center; gap: 8px; }
.checkbox-label input { accent-color: var(--gold); }
.editor-status { font-size: 10px; color: var(--gold); max-width: 300px; line-height: 1.8; }
.admin-results { border-top: 1px solid var(--line); padding-top: 40px; margin-top: 50px; }
.admin-participants { border-top: 1px solid var(--line); padding-top: 40px; margin-top: 50px; }
.participant-filters { display: flex; gap: 24px; margin-top: 24px; }
.participant-filters .field { flex: 1; min-width: 0; }
#participants-list { margin-top: 20px; }
.participant-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(140px,.65fr) auto; gap: 22px; align-items: center; padding: 23px 0; border-top: 1px solid var(--line); }
.participant-identity h3 { font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.participant-identity p, .participant-state span { display: block; color: var(--muted); font-size: 10px; line-height: 1.8; margin-top: 6px; }
.participant-state strong { color: var(--gold); font-size: 12px; }
.participant-row.is-excluded .participant-state span, .annul-button { color: #e4a18d; }
#results-list { margin-top: 25px; }
.result-accordion { border-top: 1px solid var(--line); }
.result-accordion:last-child { border-bottom: 1px solid var(--line); }
.result-accordion>summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; cursor: pointer; padding: 22px 0; list-style: none; }
.result-accordion>summary>span { font-family: var(--serif); font-size: 27px; }
.result-accordion>summary>small { color: var(--gold); font-size: 10px; }
.result-accordion-body { padding: 5px 0 25px; }
.result-accordion-body>.secondary-button { margin-top: 20px; }
.result-row { position: relative; display: flex; justify-content: space-between; gap: 20px; padding: 13px 0 17px; margin-bottom: 7px; font-size: 12px; }
.result-row>span { overflow-wrap: anywhere; min-width: 0; }
.result-row>strong { color: var(--gold); flex-shrink: 0; font-size: 11px; }
.result-bar { position: absolute; bottom: 0; width: 100%; height: 2px; background: #dbb87813; }
.result-bar::before { content: ''; display: block; height: 100%; width: var(--result-width); background: linear-gradient(90deg,#a84725,var(--gold)); }
.admin-photos { border-top: 1px solid var(--line); padding-top: 40px; margin-top: 50px; }
.photo-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 24px; }
.photo-filters>.field { flex: 1; min-width: 180px; }
.photo-filters>.checkbox-label { margin-bottom: 18px; }
.nominee-photo-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(210px,1fr)); gap: 22px; margin-top: 24px; }
.nominee-photo-card { min-width: 0; border: 1px solid var(--line); padding: 16px; }
.nominee-photo-preview { aspect-ratio: 1; background: #c9a36508; display: grid; place-items: center; overflow: hidden; }
.nominee-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.nominee-photo-preview>span { color: var(--gold); font-size: 40px; }
.nominee-photo-card h3 { font-size: 14px; font-weight: 600; line-height: 1.5; margin-top: 16px; overflow-wrap: anywhere; }
.nominee-photo-card p { color: var(--muted); font-size: 10px; line-height: 1.8; margin-top: 9px; overflow-wrap: anywhere; }
.nominee-photo-card small { display: block; color: var(--gold); font-size: 10px; line-height: 1.7; margin-top: 12px; }
.nominee-photo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; margin-top: 10px; }
.nominee-photo-actions .quiet-button { font-size: 10px; }
.nominee-photo-actions .upload-label { max-width: 100%; }
.nominee-photo-grid>.field-hint { grid-column: 1 / -1; }
/* Ceremony */
.ceremony-page { background: radial-gradient(ellipse at 50% 45%, #64240e26, transparent 56%),#080706; min-height: 100svh; }
.ceremony-shell { max-width: 1080px; margin: auto; padding: 45px 6% 55px; text-align: center; }
.ceremony-shell>.eyebrow { font-size: 8px; }
.ceremony-status { font-size: 10px; letter-spacing: 1px; color: #a6947b; margin-top: 15px; line-height: 1.8; }
.ceremony-stage { padding-top: 18px; }
.ceremony-emblem { width: 160px; height: 160px; object-fit: contain; filter: drop-shadow(0 0 35px #d34a1630); animation: trophy-float 7s ease-in-out infinite; }
.ceremony-stage>.eyebrow { font-size: 8px; margin-top: 6px; }
.ceremony-stage>h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(40px,6vw,75px); line-height: 1.1; letter-spacing: -1.3px; margin-top: 10px; }
.ceremony-description { font-size: 11px; color: var(--muted); line-height: 1.8; margin-top: 14px; }
.sealed-envelope { width: 260px; height: 140px; margin: 39px auto 30px; border: 1px solid #bc8b485e; background: linear-gradient(155deg,#23160e,#0d0b08); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; box-shadow: 0 12px 50px #0007; position: relative; overflow: hidden; }
.sealed-envelope::before { content: ''; position: absolute; width: 230px; height: 230px; border: 1px solid #bf8d4833; transform: rotate(45deg); bottom: 82px; }
.sealed-envelope>span { color: var(--gold); font-size: 27px; z-index: 1; }
.sealed-envelope>small { font-size: 8px; letter-spacing: 3px; color: #b99b70; }
.ceremony-nominees { display: flex; justify-content: center; flex-wrap: wrap; align-items: center; gap: 14px; color: #c5b090; font-size: 12px; margin-top: 25px; }
.ceremony-nominees i { font-size: 8px; font-style: normal; color: #88653d; }
.winner-label { font-size: 8px; letter-spacing: 4px; color: var(--gold); margin: 32px 0 22px; }
.winner-lineup { display: flex; justify-content: center; flex-wrap: wrap; gap: 32px; }
.winner-card { max-width: 380px; animation: winner-arrival 1.2s cubic-bezier(.2,.7,.3,1) both; }
.winner-photo { width: 230px; height: 230px; object-fit: cover; border: 1px solid var(--gold); padding: 5px; box-shadow: 0 0 45px #b573241f; }
.winner-symbol { color: var(--gold); font-size: 70px; padding: 12px 0; text-shadow: 0 0 45px #cba15e55; }
.winner-card h2 { font-size: clamp(40px,6vw,67px); color: var(--gold); margin-top: 19px; line-height: 1.06; overflow-wrap: anywhere; }
.winner-card p { font-size: 11px; line-height: 1.9; color: var(--muted); margin-top: 14px; }
.ceremony-controls { display: flex; align-items: center; justify-content: center; gap: 30px; margin-top: 40px; }
.ceremony-controls>span { color: #ae9269; font-size: 10px; letter-spacing: 2px; }
.public-results { max-width: 500px; margin: 32px auto 0; text-align: left; }
.public-results>summary { cursor: pointer; font-size: 11px; color: var(--gold); text-align: center; padding: 15px; }
.ceremony-note { color: #776d60; font-size: 9px; margin: 30px 0 0; line-height: 1.8; }
@keyframes winner-arrival { from { opacity: 0; transform: translateY(24px) scale(.96); filter: blur(8px); } to { opacity: 1; transform: none; filter: none; } }
@media (min-width:1600px) { .ballot-heading { margin-bottom: 35px; } }
@media (max-width:1100px) { .ballot-layout { grid-template-columns: 205px minmax(0,1fr); gap: 35px; } .ballot-heading>img { width: 98px; height: 98px; } .ballot-heading { gap: 12px; } .ballot-save { flex-wrap: wrap; } }
@media (max-width:900px) {
  .ballot-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .ballot-sidebar { position: static; }
  #ballot-nav { flex-direction: row; overflow-x: auto; padding: 5px 0 10px; scrollbar-width: thin; scrollbar-color: #72532c transparent; }
  .ballot-nav-item { flex-shrink: 0; margin: 0; padding: 9px 12px; gap: 9px; min-height: 38px; font-size: 10px; }
  .sidebar-hint { margin-bottom: 10px; }
  .progress-track { margin: 12px 0 8px; }
  .phase-banner { margin-bottom: 25px; }
  .ballot-heading { margin: 0 0 25px; }
  .ballot-heading>img { width: 108px; height: 108px; }
  .ballot-save { flex-wrap: nowrap; }
  .ballot-candidates { gap: 20px; }
}
@media (max-width:600px) {
  .inner-header { height: 78px; padding: 0 6%; gap: 12px; }
  .inner-header .brand { font-size: 29px; }
  .inner-header .brand>span { margin-left: 10px; padding-left: 8px; font-size: 8px; }
  .inner-header .header-back { margin: 0 8px 0 0; font-size: 9px; }
  .inner-header .login-button { padding: 10px 12px; min-width: 85px; max-width: 120px; gap: 8px; font-size: 10px; }
  .inner-header .login-button>span:last-child { display: none; }
  .ballot-shell { padding: 25px 6% 45px; }
  .ballot-topline .eyebrow { max-width: 150px; font-size: 7px; line-height: 1.9; letter-spacing: 1.8px; }
  .ballot-topline .text-link { font-size: 9px; }
  .phase-banner { flex-direction: column; align-items: flex-start; padding: 15px; gap: 7px; font-size: 10px; }
  .ballot-layout { gap: 22px; }
  .ballot-heading { align-items: center; gap: 10px; min-height: 100px; }
  .ballot-heading>img { width: 85px; height: 105px; }
  .ballot-heading h1 { font-size: 37px; margin: 8px 0; letter-spacing: -.8px; }
  .ballot-heading .eyebrow { font-size: 7px; letter-spacing: 1.4px; }
  .ballot-heading p { font-size: 10px; }
  .ballot-candidates { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .candidate-image { aspect-ratio: 1.45; }
  .portrait-placeholder>b { font-size: 68px; }
  .candidate-info { padding: 20px 21px 23px; }
  .candidate-info strong { font-size: 31px; }
  .candidate-info small { font-size: 11px; }
  .custom-toggle { padding: 19px 17px; gap: 12px; }
  .custom-toggle strong { font-size: 11px; }
  .custom-toggle small { font-size: 9px; }
  .custom-field { padding: 0 17px 4px; }
  .ballot-save { flex-direction: column; align-items: stretch; padding: 22px 0; }
  .ballot-save .primary-button { width: 100%; min-height: 52px; }
  .save-copy strong { font-size: 12px; }
  .ballot-navigation .quiet-button, .ballot-navigation .text-link { font-size: 9px; }
  .ballot-footer { padding: 25px 6%; flex-wrap: wrap; font-size: 8px; }
  .completion-panel { padding: 25px; }
  .completion-panel h2 { font-size: 40px; }
  .admin-shell { padding: 35px 6% 60px; }
  .admin-control-panel { padding: 20px; margin-bottom: 38px; }
  .admin-metrics { gap: 20px 13px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .participant-filters { flex-direction: column; gap: 0; }
  .participant-row { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .participant-row .secondary-button { width: 100%; }
  .admin-metrics strong { font-size: 26px; }
  .admin-metrics span { font-size: 8px; }
  #settings-form { gap: 0; }
  #settings-form .field { width: 100%; flex-basis: 100%; }
  #settings-form .primary-button { width: 100%; margin: 2px 0 20px; }
  .editor-toolbar { flex-direction: column; align-items: stretch; gap: 20px; }
  .editor-toolbar>.field { width: 100%; }
  .editor-toolbar h2 { font-size: 34px; }
  .editor-cards { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .editor-bottom { align-items: stretch; }
  .editor-bottom>div { width: 100%; flex-direction: column; align-items: stretch; gap: 12px; }
  .result-accordion>summary>span { font-size: 23px; }
  .result-accordion>summary>small { font-size: 8px; text-align: right; }
  .ceremony-shell { padding-top: 30px; }
  .ceremony-emblem { width: 135px; height: 135px; }
  .ceremony-stage>h1 { font-size: 43px; }
  .ceremony-description { font-size: 10px; }
  .winner-photo { width: 200px; height: 200px; }
  .ceremony-page .inner-header .secondary-button { min-height: 36px; padding: 8px 10px; font-size: 8px; }
  .ceremony-page .inner-header .header-back { display: none; }
  .access-panel, .setup-form { padding: 24px; }
  .nomination-details { height: 205px; min-height: 205px; }
}
@media (prefers-reduced-motion:reduce) { .winner-card { animation: none; } }

/* Searchable alternatives keep every nominee outside the daily top four available. */
#custom-open { width: 100%; border: 0; color: var(--text); background: transparent; text-align: left; justify-content: space-between; }
#custom-open:disabled { opacity: .5; }
.custom-panel { padding: 0 22px 22px; border-top: 1px solid var(--line); }
.custom-panel>.field { margin-top: 20px; }
.suggestion-list { max-height: 280px; overflow-y: auto; display: grid; gap: 7px; scrollbar-width: thin; scrollbar-color: #72532c transparent; }
.suggestion-option { display: flex; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid #b58b5426; cursor: pointer; font-size: 12px; min-height: 46px; }
.suggestion-option input, .new-suggestion input { accent-color: var(--gold); width: 16px; height: 16px; margin: 0; flex-shrink: 0; }
.suggestion-option:has(input:checked) { border-color: var(--gold); background: #d19a3e0b; color: var(--gold); }
.suggestion-check { margin-left: auto; opacity: 0; }
.suggestion-option:has(input:checked) .suggestion-check { opacity: 1; }
#suggestion-empty:not(:empty) { padding: 8px 0 18px; }
.new-suggestion { display: flex; align-items: center; gap: 12px; padding: 20px 0 5px; cursor: pointer; border-top: 1px solid var(--line); margin-top: 15px; }
.new-suggestion strong { font-size: 11px; font-weight: 600; }
.new-suggestion small { display: block; font-size: 9px; color: var(--muted); margin-top: 5px; }
.custom-panel .custom-field { padding: 20px 0 0; }
.admin-directory { margin-bottom: 45px; padding: 28px; border: 1px solid #bb8d533b; background: #c9a36505; }
.admin-directory h2 { font-size: 38px; margin: 14px 0 18px; }
.admin-directory .field { margin-top: 22px; }
.directory-actions { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 20px; }
.nominee-list-settings { margin: 25px 0; }
.nominee-list-settings>.field { margin-top: 22px; }
@media(max-width:600px) { .custom-panel { padding: 0 17px 20px; } .admin-directory { padding: 20px; } .directory-actions { flex-direction: column; align-items: stretch; } .admin-directory h2 { font-size: 33px; } }
#custom-open>span:first-child { flex: 1; }
#custom-open>.custom-plus { flex: 0 0 auto; }
.ballot-nav-item { position: relative; }

/* TV ceremony: one moment at a time, with a quiet control desk. */
.show-page{min-height:100svh;background:#080706;isolation:isolate;--show-gold:#e9be7b;--show-ivory:#f6eddd;overflow-x:hidden}
.show-page button,.show-page select{font:inherit}
.show-atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 36%,#6b2d142b,transparent 60%),linear-gradient(115deg,#080706,#120b08 48%,#080706)}
.show-halo{position:absolute;left:50%;top:43%;width:60vw;height:60vw;max-width:1100px;max-height:1100px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#ba5f1719,transparent 65%);transition:background 1s}
.show-orbit{position:absolute;width:70vw;height:70vw;left:50%;top:46%;border:1px solid #e9be7b0d;border-radius:50%;transform:translate(-50%,-50%)}
.show-orbit::after{content:'';position:absolute;inset:8%;border:1px solid #e9be7b0b;border-radius:50%}
.show-grain{position:absolute;inset:0;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.15' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.show-header{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:10;border-bottom:1px solid #e9be7b19}
.show-header .brand{font-size:30px}.show-header nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.show-tool{background:transparent;border:1px solid transparent;padding:10px 12px;color:#c5b59f;font-size:12px!important;line-height:1.4;min-height:40px;border-radius:2px}
.show-tool:hover{border-color:#e9be7b40;color:var(--show-gold)}.show-tool:disabled{opacity:.3}
.show-shell{width:min(1800px,100%);margin:auto;padding:22px 5vw 0;min-height:calc(100svh - 240px);display:flex;flex-direction:column}
.show-meta,.show-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#ac9475;font-size:10px;letter-spacing:2.4px;line-height:1.8;flex-shrink:0}
.show-meta{padding-bottom:14px;border-bottom:1px solid #e9be7b18}
.show-stage{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:520px;padding:28px 0 32px;outline:none}
.show-stage>*{max-width:100%}.show-stage h1{font:500 clamp(44px,5.8vw,100px)/1.02 var(--serif);letter-spacing:-1.8px;color:var(--show-ivory);text-wrap:balance;overflow-wrap:anywhere;margin:14px 0 0}
.show-kicker{font-size:11px;line-height:1.8;letter-spacing:4px;color:var(--show-gold);font-weight:600;text-transform:uppercase}
.show-description{font-size:clamp(16px,1.35vw,23px);line-height:1.6;color:#c8b9a5;margin:20px auto 0;max-width:750px;text-wrap:balance}
.show-intro{width:100%;animation:show-enter 1s ease both}.show-emblem{display:block;width:clamp(190px,23vh,340px);height:clamp(190px,23vh,340px);object-fit:contain;margin:0 auto 14px;filter:drop-shadow(0 15px 55px #c04d182b);animation:trophy-float 7s ease-in-out infinite}
.show-rule{display:flex;align-items:center;justify-content:center;gap:20px;margin:26px auto 0;color:var(--show-gold);font-size:15px}.show-rule::before,.show-rule::after{content:'';width:90px;height:1px;background:linear-gradient(90deg,transparent,#b6854659)}.show-rule::after{transform:rotate(180deg)}
.show-bottom{border-top:1px solid #e9be7b18;padding:13px 0 16px;font-size:9px;letter-spacing:2px}.show-bottom-mark{color:var(--show-gold);font-size:17px}
.show-console{position:relative;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px 20px;padding:14px 4vw 18px;border-top:1px solid #e9be7b20;background:#0d0907ed}
.show-navigation{display:flex;align-items:center;min-width:0;gap:4px}.show-navigation select{min-width:0;max-width:240px;flex:1;color:#c5b59f;font-size:12px;border:0;border-bottom:1px solid #e9be7b30;background:#100c09;padding:10px 6px;border-radius:0}.show-navigation select:focus-visible{outline:2px solid var(--show-gold)}
.show-console .primary-button{font-size:12px;min-height:48px;padding:13px 24px;justify-content:center;min-width:240px}.show-console .primary-button:disabled{opacity:.5}
.show-options{display:flex;justify-content:flex-end;gap:5px}.show-hint,.show-status{grid-column:1/-1;text-align:center;font-size:10px;line-height:1.5;color:#ac967a}.show-status{color:#d0b083;min-height:15px;font-size:11px}
.show-demo{position:fixed;z-index:30;left:50%;top:8px;transform:translateX(-50%);background:#e9be7b;color:#20150c;padding:7px 14px;font-size:10px;font-weight:800;letter-spacing:1px;text-align:center;max-width:92vw;pointer-events:none}
.show-nominee-grid{width:min(1280px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,3vw,50px);margin:32px auto 0}
.show-nominee{min-width:0;animation:show-enter .8s calc(var(--order)*.12s) both}.show-portrait{width:100%;aspect-ratio:4/4.5;max-height:32vh;position:relative;border:1px solid #b88e554d;padding:6px;background:#130d09}
.show-portrait>img,.show-portrait>.show-monogram{width:100%;height:100%;object-fit:cover}.show-portrait>span{position:absolute;bottom:15px;left:15px;background:#0c0908c7;color:var(--show-gold);padding:5px 8px;font-size:10px;letter-spacing:2px}
.show-monogram{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 35%,#5b321d,#1c130e 70%);color:#e9be7b8c;font:500 clamp(36px,5vw,86px)/1 var(--serif)}
.show-nominee h2{font:500 clamp(24px,2.5vw,42px)/1.12 var(--serif);color:var(--show-ivory);margin:17px 0 0;overflow-wrap:anywhere}.show-nominee p{color:#c3b29b;font-size:clamp(12px,1vw,17px);line-height:1.6;margin:9px auto 0;text-wrap:balance;overflow-wrap:anywhere}
.show-nominee-note{font-size:11px;line-height:1.6;color:#9b8c78;margin:22px auto 0;max-width:760px;text-wrap:balance}
.show-suspense{animation:show-enter .8s ease both}.show-seal{height:140px;width:140px;border:1px solid #d5a35e6b;display:grid;place-items:center;margin:0 auto 40px;transform:rotate(45deg);box-shadow:0 0 80px #b36b1b24;animation:show-seal 1.8s ease-in-out infinite}.show-seal span{font-size:55px;color:var(--show-gold);transform:rotate(-45deg)}.show-suspense h1{font-size:clamp(52px,6.5vw,112px)}
.show-suspense-line{height:1px;width:180px;margin:35px auto 0;background:var(--show-gold);transform-origin:left;animation:show-tension 3.6s cubic-bezier(.1,.5,.5,1) both}
.show-page[data-scene="suspense"] .show-halo{background:radial-gradient(ellipse,#c75d292c,transparent 65%)}
.show-page[data-scene="winner"] .show-halo{background:radial-gradient(ellipse,#dc922a30,transparent 65%)}
.show-stage h1.show-winner-award{font-size:clamp(30px,3.5vw,60px);margin:10px 0 30px;color:#d5b588;letter-spacing:-.6px}
.show-winner-grid{width:100%;position:relative;z-index:1;display:flex;justify-content:center;gap:40px;flex-wrap:wrap;animation:show-winner 1.3s cubic-bezier(.2,.7,.3,1) both}
.show-winner{display:flex;align-items:center;justify-content:center;gap:clamp(30px,4vw,80px);max-width:100%;min-width:0}
.show-winner-portrait{position:relative;width:clamp(190px,29vw,430px);height:clamp(190px,29vw,430px);max-height:43vh;max-width:43vh;flex-shrink:0;padding:8px;border:1px solid #eac4868f;box-shadow:0 0 90px #c38f2426;background:#180e09}
.show-winner-portrait>img,.show-winner-portrait>.show-monogram{width:100%;height:100%;object-fit:cover}.show-winner-badge{position:absolute;right:-15px;bottom:-15px;display:grid;place-items:center;height:clamp(64px,5.3vw,88px);width:clamp(64px,5.3vw,88px);padding:5px;background:#161007;border:1px solid #eac4868f;color:var(--show-gold);font-size:28px}
.show-winner-copy{text-align:left;max-width:650px;min-width:0}.show-winner h2{font:500 clamp(55px,7.5vw,135px)/.98 var(--serif);color:var(--show-gold);letter-spacing:-2px;overflow-wrap:anywhere;text-wrap:balance}.show-winner p{font-size:clamp(16px,1.4vw,24px);color:#d2c0a8;line-height:1.6;margin-top:24px;max-width:540px;text-wrap:balance;overflow-wrap:anywhere}
.show-winner-grid.is-tie{gap:24px}.is-tie .show-winner{flex-direction:column;gap:16px;flex:0 1 min(28%,330px)}.is-tie .show-winner-portrait{width:min(18vw,240px);height:min(18vw,240px)}.is-tie .show-winner-copy{text-align:center}.is-tie .show-winner h2{font-size:clamp(30px,3.6vw,64px);letter-spacing:-.5px}.is-tie .show-winner p{font-size:15px;margin-top:12px}.is-many .show-winner{flex-basis:180px}.is-many .show-winner-portrait{width:130px;height:130px}.is-many .show-winner h2{font-size:30px}.is-many .show-winner p{font-size:12px}
.show-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.show-confetti i{position:absolute;left:calc(var(--x)*1%);top:-10%;height:12px;width:5px;background:#d8aa63;opacity:0;animation:show-confetti 3.8s var(--delay) ease-out both}.show-confetti i:nth-child(3n){background:#9c3d22;width:9px;height:9px}.show-confetti i:nth-child(4n){background:#f1d4a3;height:17px;width:2px}
.show-finale-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;margin-top:30px}.show-finale-card{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #d4ad6e24;padding:14px;min-width:0;background:linear-gradient(125deg,#c5842410,transparent);animation:show-enter .7s both}.show-finale-card>img{width:64px;height:64px;object-fit:contain;flex-shrink:0}.show-finale-card>div{min-width:0}.show-finale-card h2{font-size:11px;font-weight:500;color:#bbab92;line-height:1.5}.show-finale-card p{font:500 clamp(22px,1.8vw,34px)/1.12 var(--serif);margin-top:6px;color:var(--show-gold);overflow-wrap:anywhere}.show-finale-card p span{font-size:12px}.show-finale-note{font-size:13px;color:#b9a78c;line-height:1.7;margin-top:26px}.show-stage h1 em{font-weight:500;color:var(--show-gold)}
.show-image-fallback{width:100%;height:100%;min-height:80px;display:grid;place-items:center;color:var(--show-gold);font-size:50px}
.show-chrome{transition:opacity .35s,transform .35s,visibility .35s}
.show-page.is-presenting .show-header{position:fixed;top:0;left:0;right:0;background:linear-gradient(#080706f5,#080706c7);backdrop-filter:blur(12px)}
.show-page.is-presenting .show-console{position:fixed;left:0;right:0;bottom:0;backdrop-filter:blur(12px)}
.show-page.is-presenting .show-shell{min-height:100svh;padding:4vh 5vw 1.5vh}
.show-page.is-presenting .show-stage{min-height:0;padding:24px 0 30px}
.show-page.is-presenting:not(.show-controls){cursor:none}
.show-page.is-presenting:not(.show-controls) .show-chrome:not(:focus-within){opacity:0;visibility:hidden;pointer-events:none}
.show-page.is-presenting:not(.show-controls) .show-header:not(:focus-within){transform:translateY(-10px)}
.show-page.is-presenting:not(.show-controls) .show-console:not(:focus-within){transform:translateY(10px)}
@keyframes show-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes show-winner{from{opacity:0;transform:scale(.94) translateY(20px);filter:blur(12px)}to{opacity:1;transform:none;filter:none}}
@keyframes show-seal{0%,100%{box-shadow:0 0 50px #b36b1b15;transform:rotate(45deg) scale(.97)}50%{box-shadow:0 0 100px #d89c3a38;transform:rotate(45deg) scale(1.03)}}
@keyframes show-tension{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes show-confetti{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}15%{opacity:.85}85%{opacity:.65}100%{opacity:0;transform:translate3d(35px,85vh,0) rotate(var(--turn))}}
@media(min-width:1800px){.show-stage{min-height:650px}.show-kicker{font-size:15px}.show-meta,.show-bottom{font-size:13px}.show-finale-card{padding:22px}.show-finale-card h2{font-size:15px}.show-finale-card>img{width:90px;height:90px}}
@media(max-height:800px) and (min-width:901px){.show-stage{min-height:430px;padding:20px 0}.show-emblem{width:160px;height:160px;margin-bottom:8px}.show-stage h1{font-size:clamp(40px,5.3vw,76px)}.show-description{margin-top:12px}.show-rule{margin-top:16px}.show-nominee-grid{margin-top:22px}.show-portrait{max-height:28vh}.show-stage h1.show-winner-award{margin-bottom:20px;font-size:32px}.show-finale-grid{margin-top:22px}.show-finale-card{padding:10px}.show-finale-card>img{width:48px;height:48px}.show-finale-card p{font-size:24px}.show-finale-note{margin-top:18px}.show-seal{width:100px;height:100px;margin-bottom:28px}}
@media(max-width:900px){.show-header{height:auto;min-height:80px;padding:18px 5vw;gap:14px}.show-header nav{gap:2px}.show-tool{font-size:11px!important;padding:9px}.show-header nav>a{display:none}.show-shell{padding-top:18px}.show-meta{font-size:8px;letter-spacing:1.3px}.show-stage{min-height:530px}.show-console{grid-template-columns:1fr 1fr;padding:14px 5vw;gap:12px}.show-console>.primary-button{grid-column:1/-1;grid-row:1;min-width:0}.show-options{gap:0}.show-hint{font-size:9px}.show-nominee-grid{gap:24px 18px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:580px}.show-portrait{max-height:none;aspect-ratio:1/1}.show-nominee h2{font-size:30px}.show-nominee p{font-size:12px}.show-winner{flex-direction:column;gap:24px}.show-winner-copy{text-align:center}.show-winner h2{font-size:68px}.show-winner p{font-size:16px;margin-top:14px}.show-winner-portrait{width:240px;height:240px;max-width:none;max-height:none}.is-tie .show-winner{flex:0 1 44%}.is-tie .show-winner-portrait{width:min(30vw,200px);height:min(30vw,200px)}.is-tie .show-winner h2{font-size:36px}.is-tie .show-winner p{font-size:12px}.show-finale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.show-finale-card{padding:12px;gap:8px}.show-finale-card>img{width:45px;height:45px}.show-finale-card p{font-size:26px}.show-page.is-presenting .show-shell{padding-top:5vh}.show-bottom{font-size:8px;letter-spacing:1px}}
@media(max-width:480px){.show-header .brand{font-size:25px}.show-header nav{max-width:220px}.show-header .show-tool{font-size:10px!important;min-height:32px;padding:6px}.show-meta{font-size:7px;letter-spacing:1px}.show-stage h1{font-size:48px;letter-spacing:-1px}.show-kicker{font-size:9px;letter-spacing:2.5px}.show-description{font-size:16px}.show-emblem{width:200px;height:200px}.show-nominee-grid{margin-top:25px;gap:20px 14px}.show-nominee h2{font-size:26px}.show-nominee p{font-size:11px}.show-nominee-note{font-size:10px}.show-navigation select{font-size:10px}.show-winner h2{font-size:58px}.show-winner-portrait{width:220px;height:220px}.show-finale-grid{gap:9px}.show-finale-card{flex-direction:column;align-items:flex-start;gap:5px}.show-finale-card h2{font-size:10px}.show-finale-card p{font-size:24px}.show-demo{font-size:8px;padding:6px 10px;white-space:nowrap}.show-hint{font-size:8px}}
@media(prefers-reduced-motion:reduce){.show-page *,.show-page *::before,.show-page *::after{animation:none!important;transition:none!important}.show-confetti{display:none}}

/* Portraits remain visible in the closing roll of winners as well. */
.show-finale-winners{display:grid;gap:8px;margin-top:8px}
.show-finale-person{display:flex;align-items:center;gap:10px;min-width:0}
.show-finale-person>img,.show-finale-person>.show-monogram{width:42px;height:42px;object-fit:cover;flex-shrink:0;border:1px solid #d4ad6e50;font-size:20px}
.show-finale-person p{margin:0;font-size:clamp(21px,1.7vw,32px)}
.show-finale-person>.show-image-fallback{width:42px;height:42px;min-height:0;font-size:24px}
@media(min-width:1800px){.show-finale-person>img,.show-finale-person>.show-monogram{width:48px;height:48px}.show-finale-card>img{width:74px;height:74px}}
@media(max-width:480px){.show-finale-person{gap:6px}.show-finale-person>img,.show-finale-person>.show-monogram{width:30px;height:30px;font-size:16px}.show-finale-person p{font-size:21px}}

.show-winner-badge>.show-winner-emblem{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 9px #c36c2438)}

.show-seal>.show-seal-emblem{display:block;width:88%;height:88%;object-fit:contain;transform:rotate(-45deg);filter:drop-shadow(0 0 18px #c36c244d)}

/* A ready-to-save poster for the hall of fame. */
.show-finale-actions{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:20px}
.show-finale-downloads{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.show-finale-actions>span{text-align:center}
.show-finale-actions .secondary-button{font-size:12px;padding:14px 24px;min-height:46px;border-color:#e9be7b66;background:#100b08aa}
.show-finale-actions>span{font-size:10px;color:#aa9478;line-height:1.5}
.show-share-dialog{width:min(1000px,calc(100vw - 32px));padding:30px;max-height:calc(100svh - 32px);background:#100c09}
.show-share-dialog>.show-kicker{font-size:9px}.show-share-dialog h2{font:500 clamp(36px,5vw,52px)/1.1 var(--serif);margin:10px 40px 0 0;color:var(--gold)}
.show-share-intro{font-size:12px;color:#bca88e;line-height:1.7;margin-top:12px}
.show-share-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,1fr);gap:28px;margin-top:24px;align-items:start}
.show-share-paper{background:#080706;border:1px solid #c69b5626;min-height:160px;display:grid;place-items:center;padding:8px}
.show-share-paper img{display:block;width:100%;height:auto;max-height:62vh;object-fit:contain}
.show-share-actions{display:flex;flex-direction:column;gap:14px;padding-top:6px;min-width:0}
.show-share-actions .primary-button,.show-share-actions .secondary-button{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:12px;text-align:center}
#results-share-status{font-size:12px;color:var(--gold);line-height:1.7;overflow-wrap:anywhere}
#results-share-instructions,.show-share-privacy{font-size:11px;color:#b9a58b;line-height:1.7}.show-share-privacy{border-top:1px solid #c69b5626;padding-top:14px;color:#907e68}
@media(max-width:650px){.show-share-dialog{padding:24px 20px}.show-share-layout{grid-template-columns:1fr;gap:16px}.show-share-paper img{max-height:45vh}.show-share-actions{gap:10px}.show-finale-actions>span{font-size:9px}}

/* Only an authorized presenter enters the ceremony. */
.ceremony-access{width:min(460px,calc(100% - 40px));min-height:100svh;margin:auto;padding:64px 0 40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.ceremony-access>.brand{margin-bottom:70px;font-size:34px}.ceremony-access>.show-kicker{font-size:9px;letter-spacing:3px}
.ceremony-access h1{font:500 clamp(55px,8vw,80px)/1.06 var(--serif);color:var(--gold);margin:12px 0 22px;letter-spacing:-1px}
.ceremony-access>p:not(.form-error){font-size:14px;line-height:1.85;color:#c4b198;margin-bottom:28px}
#ceremony-password-form{width:100%}#ceremony-password-form input{font-size:16px;min-height:52px}#ceremony-password-form .primary-button{font-size:12px;justify-content:center}
#ceremony-access-error{font-size:12px;line-height:1.75;margin:16px 0 0;color:#efaa89}.ceremony-access-links{display:flex;justify-content:space-between;gap:20px;width:100%;font-size:11px;color:#a38c6c;margin-top:44px;line-height:1.6}
#ceremony-access-retry{margin-top:18px;font-size:12px}
@media(max-height:750px){.ceremony-access{padding-top:30px;padding-bottom:30px}.ceremony-access>.brand{margin-bottom:40px}}
