/* New Tech luxe layer (every public page). Navy + bright gold, champagne, emerald accents.
   Live backdrop canvas is drawn by js/luxe-bg.js. Motion only under html.nt-motion; static when paused/reduced. */
body{isolation:isolate}
.lx-bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;opacity:0;transition:opacity 1.2s ease;contain:strict}
.lx-bg.lx-on{opacity:1}
/* faint futuristic grid, pure CSS, masked to fade at the edges */
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,213,79,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,213,79,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 20%,transparent 85%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 20%,transparent 85%)}
/* ---------- Panels: glassy navy, fine gold hairline, soft glow ---------- */
:where(html:not([data-lx=game])) main .card,main .nt-pagehero{background:linear-gradient(150deg,rgba(24,48,88,.86),rgba(9,24,48,.9));border:1px solid rgba(255,213,79,.38);box-shadow:inset 0 1px 0 rgba(255,236,170,.14),0 18px 44px rgba(0,0,0,.32),0 0 0 1px rgba(6,16,34,.4)}
:where(html:not([data-lx=game])).nt-motion main .card{transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease}
:where(html:not([data-lx=game])).nt-motion main .card:not(details):hover{border-color:rgba(255,213,79,.7);box-shadow:inset 0 1px 0 rgba(255,236,170,.2),0 22px 52px rgba(0,0,0,.38),0 0 28px rgba(255,199,44,.14)}
/* Page hero: gold top hairline + slow light sweep */
main .nt-pagehero::before{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,#FFE08A,#FFC72C,#FFE08A,transparent);opacity:.9}
main .nt-pagehero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,229,138,.10) 50%,transparent 65%);background-size:300% 100%;background-position:100% 0}
.nt-motion:not(.nt-paused) main .nt-pagehero::after{animation:lx-sweep 9s ease-in-out infinite}
@keyframes lx-sweep{0%,25%{background-position:100% 0}75%,100%{background-position:0 0}}
/* Elegant headings: champagne-gold foil on the page title, hairline under section titles */
main .nt-pagehero h1{background:linear-gradient(100deg,#FFFFFF 0%,#FFF3C4 30%,#FFD54F 55%,#FFF3C4 80%,#FFFFFF 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.nt-motion:not(.nt-paused) main .nt-pagehero h1{animation:lx-foil 8s ease-in-out infinite}
@keyframes lx-foil{0%,100%{background-position:0 0}50%{background-position:100% 0}}
/* ---------- Buttons: richer gold, gentle lift ---------- */
.btn:not(.alt){box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 18px rgba(255,199,44,.22)}
.btn.alt{box-shadow:inset 0 0 0 1px rgba(255,213,79,.15),0 4px 14px rgba(0,0,0,.25)}
:where(html:not([data-lx=game])).nt-motion .btn{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease}
:where(html:not([data-lx=game])).nt-motion .btn:not(.alt):hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 10px 26px rgba(255,199,44,.34)}
:where(html:not([data-lx=game])).nt-motion .btn.alt:hover{box-shadow:inset 0 0 0 1px rgba(255,213,79,.4),0 0 22px rgba(255,199,44,.18)}
/* ---------- Header + footer hairlines ---------- */
header.site{box-shadow:0 1px 0 rgba(255,213,79,.35),0 10px 30px rgba(0,0,0,.25)}
footer.site{border-top:1px solid rgba(255,213,79,.35);box-shadow:inset 0 1px 0 rgba(255,236,170,.08)}
/* ---------- Reveal: softer, staggered ---------- */
.nt-rv{transition-duration:.9s,.9s}
.nt-rv:nth-child(3n+2){transition-delay:.06s}.nt-rv:nth-child(3n){transition-delay:.12s}
/* ---------- Static modes ---------- */
@media (prefers-reduced-motion:reduce){.lx-bg{transition:none}main .nt-pagehero::after,main .nt-pagehero h1{animation:none!important}}
.nt-paused main .nt-pagehero::after,.nt-paused main .nt-pagehero h1{animation:none!important}
@media print{.lx-bg,body::after{display:none}}
