/* The disposable opening page and the Ballyworks power-on sequence. */
html.intro-pending .site-intro[hidden] { display:grid!important; }
html.intro-pending body > :not(.site-intro):not(script):not(svg) { visibility:hidden; }
.site-intro {
  position:fixed; inset:0; z-index:20000; isolation:isolate; display:grid;
  background:#070a10; color:#eff4ff; overflow:hidden; font-family:var(--font);
}
.site-intro button { font:inherit; }
.intro-skip {
  position:absolute; z-index:8; right:max(24px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom));
  border:1px solid #ffffff30; border-radius:30px; padding:10px 19px;
  background:#111522e8; color:#fff; font-size:14px; transition:background .2s;
}
.intro-skip:hover { background:#30364b; }
.intro-generic {
  position:absolute; inset:0; z-index:3; color:#262239; overflow:hidden;
  background:radial-gradient(ellipse at 75% 28%,#ddd3ff 0,transparent 48%),radial-gradient(ellipse at 15% 64%,#ece2ff 0,transparent 44%),#faf9ff;
  will-change:clip-path;
}
.intro-fake-nav { max-width:1200px; margin:auto; padding:30px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.intro-fake-brand { font-size:23px; font-weight:750; letter-spacing:-1px; }
.intro-fake-brand span { color:#8856e8; }
.intro-fake-links { display:flex; gap:30px; align-items:center; }
.intro-fake-links button { background:none; font-size:14px; color:#655d78; }
.intro-fake-links button:last-child { background:#8753e4; color:white; padding:11px 21px; border-radius:24px; }
.intro-fake-hero { text-align:center; padding:clamp(20px,6vh,80px) 24px 25px; max-width:970px; margin:auto; }
.intro-fake-badge { display:inline-block; padding:7px 16px; color:#7640c8; background:#efe5ff; border:1px solid #dbc8fa; border-radius:25px; font-size:13px; }
.intro-fake-hero h1 { font-family:var(--font); font-size:clamp(40px,6.2vw,82px); line-height:1.08; font-weight:700; letter-spacing:-.055em; margin:22px auto; }
.intro-fake-hero h1 span { display:block; color:#8a4edc; }
.intro-fake-hero p { color:#7c738e; max-width:530px; margin:0 auto 25px; font-size:17px; line-height:1.65; }
.intro-fake-actions { display:flex; justify-content:center; gap:14px; }
.intro-fake-actions button { border-radius:28px; padding:14px 27px; background:#8953e5; color:#fff; box-shadow:0 8px 25px #9e70df30; }
.intro-fake-actions button+button { background:white; border:1px solid #ded7ec; color:#554565; }
.intro-fake-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:970px; padding:15px 35px 50px; margin:auto; }
.intro-fake-cards article { padding:24px; border:1px solid #e5ddef; background:#ffffffbf; border-radius:20px; }
.intro-fake-cards span { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#eee4ff; color:#945be7; font-size:22px; margin-bottom:12px; }
.intro-fake-cards h2 { font-size:17px; margin-bottom:5px; }
.intro-fake-cards p { font-size:14px; color:#82758f; }
.intro-verdict { position:absolute; z-index:5; top:50%; left:50%; width:max-content; max-width:90%; transform:translate(-50%,-40%); padding:23px 32px; background:#0c0d13; color:white; border:1px solid #ffffff24; box-shadow:0 20px 90px #0006; text-align:center; opacity:0; transition:opacity .3s,transform .3s; pointer-events:none; }
.intro-verdict p { font-family:var(--brand); font-size:clamp(24px,3.6vw,46px); line-height:1.15; letter-spacing:-.04em; }
.intro-verdict span { display:block; color:#b8b9c5; font-size:14px; margin-top:10px; }
.site-intro[data-phase="verdict"] .intro-verdict { opacity:1; transform:translate(-50%,-50%); }
.intro-fire { position:absolute; inset:0; width:100%; height:100%; z-index:4; pointer-events:none; }
.intro-power-screen { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; padding:70px 24px; text-align:center; background:radial-gradient(ellipse at 50% 47%,#17202c 0,#0a0e17 43%,#07090f 74%); }
.intro-system-name { position:absolute; top:max(30px,env(safe-area-inset-top)); left:32px; display:flex; align-items:center; gap:10px; color:#dce5f2; font-family:var(--brand); font-size:17px; letter-spacing:-.04em; }
.intro-system-name svg { width:24px; height:24px; }
.intro-system-name span { color:#68778b; margin-left:5px; font:12px var(--font); letter-spacing:.12em; }
.intro-power-screen h2 { font-family:var(--brand); font-size:clamp(34px,5vw,65px); letter-spacing:-.055em; font-weight:500; line-height:1.07; margin:0 0 18px; }
.intro-power-screen > p { color:#91a0b5; font-size:16px; max-width:360px; }
.intro-power {
  display:grid; place-items:center; width:108px; height:108px; margin:44px 0 22px; border-radius:50%;
  color:#c9e9ff; border:1px solid #a6d6ff66; background:linear-gradient(145deg,#293c4d,#111c28 65%);
  box-shadow:inset 0 2px 2px #d1eaff35,inset 0 -5px 14px #0008,0 0 0 8px #87bbef04,0 0 65px #549ee721;
  transition:box-shadow .25s,transform .25s,color .25s;
}
.intro-power:hover { color:white; transform:translateY(-2px); box-shadow:inset 0 2px 2px #d1eaff55,0 0 0 8px #87bbef08,0 0 90px #549ee750; }
.intro-power:active { transform:translateY(1px); }
.intro-power svg { width:37px; height:37px; filter:drop-shadow(0 0 9px #7bc7ff90); }
.intro-power-label { color:#c5d7e9; font-size:14px; }
.intro-boot { position:absolute; inset:0; z-index:6; background:#030508; color:#edf4ff; }
.intro-firmware { position:absolute; top:clamp(38px,8vh,90px); left:clamp(24px,7vw,110px); right:24px; font:14px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace; color:#aebacb; }
.intro-firmware-heading { font-weight:600; color:#e0e7f2; letter-spacing:.08em; padding-bottom:12px; margin-bottom:18px; border-bottom:1px solid #ffffff1c; max-width:440px; }
.intro-firmware-heading span { color:#7d8ba0; margin-left:14px; }
.intro-boot-lines { margin-top:28px; }
.intro-boot-lines p { visibility:hidden; }
.intro-boot-lines span { color:#98bea9; margin-right:20px; }
.intro-boot-lines span::before { content:'['; color:#677589; margin-right:5px; }
.intro-boot-lines span::after { content:']'; color:#677589; margin-left:5px; }
.intro-boot[data-step="1"] [data-step="1"], .intro-boot[data-step="2"] :is([data-step="1"],[data-step="2"]), .intro-boot[data-step="3"] .intro-boot-lines p { visibility:visible; }
.intro-cursor { animation:bally-cursor .7s steps(1) infinite; color:#dbe7f5; }
.intro-boot-splash { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:20px; text-align:center; visibility:hidden; }
.intro-boot[data-stage="splash"] .intro-firmware { visibility:hidden; }
.intro-boot[data-stage="splash"] .intro-boot-lines p { visibility:hidden; }
.intro-boot[data-stage="splash"] .intro-boot-splash { visibility:visible; animation:bally-screen-on .35s ease-out both; }
.intro-boot-splash > svg { width:65px; height:65px; color:#edf4ff; }
.intro-boot-splash h2 { font:500 28px var(--brand); letter-spacing:-.05em; }
.intro-boot-spinner { width:19px; height:19px; margin-top:18px; border:2px solid #ffffff22; border-top-color:#dce9fa; border-right-color:#dce9fa; border-radius:50%; }
.intro-boot[data-stage="splash"] .intro-boot-spinner { animation:bally-spin .85s linear infinite; }
.intro-boot-track { width:180px; height:3px; background:#ffffff18; overflow:hidden; border-radius:3px; }
.intro-boot-track span { display:block; width:0; height:100%; background:#cee9ff; }
.intro-boot[data-stage="splash"] .intro-boot-track span { animation:bally-boot 2.5s linear forwards; }
.intro-boot-splash p { color:#8c9aae; font-size:13px; }
@keyframes bally-cursor { 50% { opacity:0; } }
@keyframes bally-spin { to { transform:rotate(360deg); } }
@keyframes bally-screen-on { from { opacity:0; } to { opacity:1; } }
.site-intro[data-phase="exit"] { opacity:0; transition:opacity .65s ease; pointer-events:none; }
@keyframes bally-boot { 0% {width:0} 35% {width:43%} 70% {width:64%} 100% {width:100%} }
@media(max-width:600px) {
  .intro-fake-nav { padding:24px; }
  .intro-fake-links button:not(:last-child) { display:none; }
  .intro-fake-hero { padding-top:5vh; }
  .intro-fake-hero h1 { font-size:clamp(38px,10vw,56px); }
  .intro-fake-cards { padding:16px 24px; gap:10px; }
  .intro-fake-cards article { padding:16px 12px; }
  .intro-fake-cards p { display:none; }
  .intro-fake-cards h2 { font-size:13px; }
  .intro-fake-actions button { padding:12px 18px; font-size:14px; }
  .intro-verdict { padding:22px; }
  .intro-skip { right:20px; bottom:20px; }
}
@media(max-height:560px) {
  .intro-fake-hero { padding-top:4px; }
  .intro-fake-hero h1 { font-size:42px; margin:12px; }
  .intro-fake-cards { display:none; }
  .intro-power { width:74px; height:74px; margin:20px 0 14px; }
  .intro-power-screen h2 { font-size:34px; }
  .intro-system-name { top:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-intro *, .site-intro { animation:none!important; transition:none!important; }
}
