@font-face{font-family:Cinzel;src:url(../fonts/cinzel-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:block}
@font-face{font-family:Cinzel;src:url(../fonts/cinzel-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:block}
@font-face{font-family:Cinzel;src:url(../fonts/cinzel-latin-900-normal.woff2) format("woff2");font-weight:900;font-display:block}
@font-face{font-family:"Playfair Display";src:url(../fonts/playfair-display-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:block}
@font-face{font-family:"Playfair Display";src:url(../fonts/playfair-display-latin-700-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:block}
@font-face{font-family:"Playfair Display";src:url(../fonts/playfair-display-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:block}
@font-face{font-family:Manrope;src:url(../fonts/manrope-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url(../fonts/manrope-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url(../fonts/manrope-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url(../fonts/manrope-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
  --velvet-ink:#070404;--velvet-deep:#0e0809;--surface:#140a0b;--surface-raised:#1c0e10;--card-wine:#2a0a0e;--card-base:#120708;
  --wine:#5c0a12;--wine-bright:#7a0e1a;--gold:#d9a441;--gold-light:#f3d58a;--gold-deep:#8c6420;--rose:#b0101e;--rose-flash:#d6182c;--live-red:#e0283a;
  --ivory:#f6ebd3;--champagne:#c9b48e;--champagne-dim:#9c8a6c;--hairline:rgba(217,164,65,.18);--hairline-strong:rgba(217,164,65,.42);--ok:#8fc79a;--danger:#ff8a7a;
  --f-display:Cinzel,"Trajan Pro",serif;--f-name:"Playfair Display",Didot,serif;--f-ui:Manrope,"Segoe UI",system-ui,sans-serif;--f-data:ui-monospace,"SFMono-Regular",Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--velvet-ink);color:var(--ivory);font-family:var(--f-ui)}
a{color:var(--gold-light)}a:hover{color:var(--gold)}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px;border-radius:4px}
@keyframes nmReel{from{transform:translateY(0)}to{transform:translateY(var(--reel-end))}}
@keyframes nmBlur{0%{filter:blur(3px)}75%{filter:blur(.8px)}100%{filter:blur(0)}}
@keyframes nmFlash{0%{box-shadow:0 0 0 2px #f3d58a,0 12px 60px rgba(217,164,65,.55)}100%{box-shadow:inset 0 1px 0 rgba(243,213,138,.18),0 12px 45px rgba(217,164,65,.25)}}
@keyframes nmRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes nmWipe{from{clip-path:inset(0 50% 0 50%)}to{clip-path:inset(0 0 0 0)}}
@keyframes nmSpin{from{transform:rotate(0deg)}to{transform:rotate(var(--spin-to))}}
@keyframes nmBulb{0%,49%{opacity:1}50%,100%{opacity:.22}}
@keyframes nmPulse{0%,100%{transform:scale(1.05)}50%{transform:scale(1.11)}}
@keyframes nmLand{0%{transform:translateY(220px) scale(.85);opacity:0}100%{transform:none;opacity:1}}
@keyframes nmBreathe{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes nmPing{0%{box-shadow:0 0 0 0 rgba(143,199,154,.6)}100%{box-shadow:0 0 0 8px rgba(143,199,154,0)}}
@keyframes nmLive{0%{box-shadow:0 0 0 0 rgba(224,40,58,.7)}100%{box-shadow:0 0 0 9px rgba(224,40,58,0)}}
@keyframes nmArrive{0%{opacity:0;transform:translateY(6px);background:rgba(243,213,138,.22)}100%{opacity:1;transform:none}}
