:root{
  --ink:#070606; --ink2:#0c0a09; --panel:#121010; --panel2:#181412;
  --line:rgba(255,170,90,.11); --line2:rgba(255,170,90,.24);
  --fg:#f6ede4; --sub:#bfb2a6; --mute:#857a70;
  --gold:#ffc35a; --amber:#ff9a2a; --orange:#ff7a1a; --rust:#c2410c; --ember:#e8452c;
  --ok:#5be38d; --err:#ff6b6b;
  --metal:linear-gradient(180deg,#fff0c8 0%,#ffc35a 30%,#ff8a1f 58%,#c2410c 82%,#7a2406 100%);
  --display:"Bahnschrift","DIN Condensed","Roboto Condensed","sans-serif-condensed","Arial Narrow",Impact,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"Cascadia Mono",Consolas,"Roboto Mono",monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
html,body{margin:0}
body{background:var(--ink);color:var(--fg);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block}
a{color:inherit}
b{color:var(--gold);font-weight:700}
::selection{background:var(--orange);color:#160a00}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.hidden{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mono{font-family:var(--mono);letter-spacing:.5px}

body.rb{min-height:100vh;min-height:100svh;
  background:linear-gradient(180deg,#050405 0%,#120806 55%,#3a1408 82%,#7a2a0a 100%);position:relative}
body.rb::before{content:"";position:fixed;left:50%;bottom:-30vmin;width:84vmin;height:84vmin;transform:translateX(-50%);border-radius:50%;
  background:repeating-linear-gradient(180deg,transparent 0 58%,#3a1408 58% 61%,transparent 61% 68%,#43170a 68% 72%,transparent 72% 79%,#4e1a0a 79% 84%,transparent 84%),
    linear-gradient(180deg,#ffcf7a,#ff8a2a 55%,#c2410c);opacity:.55;z-index:-1;pointer-events:none}
body.rb::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px)}

.page-wrap{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
#wizard{width:100%;display:flex;justify-content:center;visibility:hidden}
#wizard.ready{visibility:visible}
#wizard.gone{display:none}

.card{width:100%;max-width:420px;background:linear-gradient(180deg,rgba(24,20,18,.95),rgba(10,8,8,.97));
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid var(--line2);border-radius:24px;padding:18px 20px 18px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.04);
  text-align:center;animation:rise .55s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (min-width:720px){ .card{padding:22px 30px 22px} }

.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.brandmark{display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font:800 italic 17px/1 var(--display);letter-spacing:.5px;text-transform:uppercase;color:var(--fg)}
.brandmark img{filter:drop-shadow(0 2px 8px rgba(255,122,26,.45));border-radius:7px}
.brandmark b{color:var(--orange)}

.lang-wrap{position:relative}
#langDropdown{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border-radius:999px;cursor:pointer;
  color:var(--sub);background:rgba(255,240,220,.04);border:1px solid var(--line2);font:700 12px/1 var(--mono);letter-spacing:1px}
#langDropdown:hover{color:var(--fg);border-color:var(--gold)}
#langMenu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:180px;max-height:60vh;overflow:auto;padding:6px;
  background:#120e0c;border:1px solid var(--line2);border-radius:14px;box-shadow:0 18px 40px -10px rgba(0,0,0,.9);text-align:left}
.lang-option{display:block;padding:9px 12px;border-radius:9px;font-size:14px;color:var(--sub);text-decoration:none}
.lang-option:hover{background:rgba(255,195,90,.08);color:var(--fg)}
.lang-option.on{color:var(--gold);font-weight:700}

.card .logo{width:132px;height:auto;margin:4px auto 6px;filter:drop-shadow(0 8px 22px rgba(255,110,20,.4))}
.card h1{margin:0;font:800 italic 34px/1 var(--display);text-transform:uppercase;letter-spacing:.3px;padding:0 .06em;
  background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 rgba(60,18,4,.9)) drop-shadow(0 8px 18px rgba(255,110,20,.25))}
@media (max-width:360px){ .card h1{font-size:29px} }

.who{display:inline-flex;align-items:center;gap:8px;max-width:100%;margin:12px auto 0;padding:6px 14px;border-radius:999px;
  background:rgba(255,240,220,.04);border:1px solid var(--line)}
.who-k{color:var(--mute);font:700 10px/1.6 var(--mono);letter-spacing:1.4px;text-transform:uppercase}
.who-v{font-weight:700;font-size:14px;color:var(--gold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

.stack{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.lead{margin:0;color:var(--sub);font-size:15px;line-height:1.55}
.notice .lead{margin-top:12px}
.notice-h{font-size:30px !important}

.perks{list-style:none;margin:2px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.perks li{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border-radius:14px;
  background:linear-gradient(180deg,rgba(255,195,90,.07),rgba(255,122,26,.03));border:1px solid var(--line2)}
.perk-k{font:800 italic 26px/1 var(--display);color:var(--gold)}
.perk-v{font-size:12px;color:var(--sub);line-height:1.3}

.btn-main{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;padding:0 18px;border-radius:14px;
  font:800 15px/1.2 var(--body);letter-spacing:.2px;color:#1d0b00;text-decoration:none;cursor:pointer;border:0;
  background:linear-gradient(100deg,var(--gold),var(--orange));
  box-shadow:0 10px 26px -8px rgba(255,122,26,.7), inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .12s ease, filter .15s ease, box-shadow .2s ease, opacity .2s ease}
.btn-main:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 14px 34px -8px rgba(255,122,26,.9), inset 0 1px 0 rgba(255,255,255,.5)}
.btn-main:active:not(:disabled){transform:scale(.98)}
.btn-main:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}
.btn-quiet{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:0 16px;border-radius:12px;
  font:700 14px/1 var(--body);color:var(--sub);background:rgba(255,240,220,.03);border:1px solid var(--line);cursor:pointer;text-decoration:none}
.btn-quiet:hover{color:var(--fg);border-color:var(--line2)}

.terms{margin:0;font-size:12px;color:var(--mute);line-height:1.5}
.terms a{color:var(--sub)}
.terms a:hover{color:var(--gold)}

.hint-pill{margin:0;padding:9px 12px;border-radius:12px;font-size:13px;color:var(--sub);line-height:1.45;
  background:rgba(255,195,90,.05);border:1px dashed var(--line2)}
.hint-pill:empty{display:none !important}

#stepIndicatorContainer{margin:16px 0 2px}
.step-row{display:flex;align-items:center;justify-content:center}
.step-circle{position:relative;display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;
  font:800 14px/1 var(--display);color:var(--mute);background:#140f0d;border:1px solid var(--line2);transition:all .3s var(--ease)}
.step-circle.active{color:#1d0b00;background:linear-gradient(140deg,var(--gold),var(--orange));border-color:transparent;
  box-shadow:0 0 0 4px rgba(255,154,42,.16), 0 6px 18px -4px rgba(255,122,26,.8)}
.step-circle.done span{display:none}
.step-circle.done::after{content:"";width:12px;height:7px;border-left:3px solid #1d0b00;border-bottom:3px solid #1d0b00;transform:translateY(-2px) rotate(-45deg)}
.step-line{position:relative;flex:1 1 auto;max-width:56px;height:3px;margin:0 6px;border-radius:3px;background:#251a14;overflow:hidden}
.step-line::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--gold),var(--orange));transform:translateX(-101%);transition:transform .45s var(--ease)}
.step-line.active::after{transform:translateX(0)}

.step-hdr{margin:0;font:800 italic 20px/1.1 var(--display);text-transform:uppercase;letter-spacing:.6px;color:var(--fg)}

.wait-timer{display:flex;flex-direction:column;gap:7px;padding:12px 14px;border-radius:14px;background:rgba(255,240,220,.03);border:1px solid var(--line)}
.wait-timer-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}
.wait-timer-label{display:flex;align-items:center;gap:8px;color:var(--amber)}
.wait-timer-label::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.wait-timer-text{color:var(--sub);font-family:var(--mono);font-variant-numeric:tabular-nums}
.wait-timer-track{height:6px;border-radius:6px;background:#221813;overflow:hidden}
.wait-timer-bar{width:0;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--orange));transition:width .9s linear}
.wait-timer.ready .wait-timer-label{color:var(--ok)}
.wait-timer.ready .wait-timer-label::before{animation:none}
.wait-timer.ready .wait-timer-bar{background:linear-gradient(90deg,#5be38d,#2fbf6a)}

.spin-icon{width:20px;height:20px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.step-fade-in{animation:stepFade .35s var(--ease) both}
@keyframes stepFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.result-inner{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:16px;padding:20px 16px;border-radius:18px;
  background:linear-gradient(180deg,rgba(91,227,141,.08),rgba(255,122,26,.04));border:1px solid rgba(91,227,141,.28)}
.result-badge{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;color:var(--ok);
  background:rgba(91,227,141,.1);box-shadow:0 0 0 6px rgba(91,227,141,.06), 0 10px 30px -8px rgba(91,227,141,.6)}
.result-title{margin:0;font:800 italic 24px/1.1 var(--display);text-transform:uppercase;color:var(--fg)}
.result-countdown{display:flex;flex-direction:column;align-items:center;gap:2px}
.rc-label{font:700 11px/1.6 var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--mute)}
.rc-time{font-size:22px;font-weight:800;color:var(--gold)}
.result-next{margin:0;font-size:13px;color:var(--sub)}
.result-inner .btn-main{margin-top:4px}

.err-code{margin-top:10px;font-size:12px;color:var(--mute)}
.err-code-val{margin-left:6px;padding:2px 8px;border-radius:6px;font-family:var(--mono);color:var(--gold);background:rgba(255,195,90,.08)}

.ad-native{width:100%;margin:16px 0 0;border-radius:12px;overflow:hidden;min-height:1px}
.ad468-wrap{width:100%;display:flex;justify-content:center;overflow:hidden;height:48px;margin-top:10px}
.ad468-box{width:468px;height:60px;flex:0 0 468px;transform:scale(.8);transform-origin:top center}
@media (max-width:480px){.ad468-wrap{height:40px}.ad468-box{transform:scale(.66)}}

.card-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.card-footer a{font-size:13px;color:var(--sub);text-decoration:none}
.card-footer a:hover{color:var(--gold)}

.ld-spinner{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;
  background:var(--ink);transition:opacity .3s ease}
.ld-spinner.hidden{display:flex !important;opacity:0;pointer-events:none}
.ld-ring{width:54px;height:54px;border-radius:50%;border:3px solid rgba(255,170,90,.12);border-top-color:var(--gold);border-right-color:var(--orange);animation:spin .8s linear infinite}
.ld-text{margin:0;color:var(--sub);font:600 13px var(--body);letter-spacing:.04em}

.swal2-container{padding:16px !important}
.swal2-popup.rb-swal{width:min(92vw,420px);padding:22px 18px 18px;border-radius:20px;color:var(--fg);
  background:linear-gradient(180deg,#1a1513,#0d0a09);border:1px solid var(--line2);box-shadow:0 30px 80px -20px rgba(0,0,0,.9)}
.rb-swal .swal2-title{color:var(--fg);font:800 italic 22px/1.15 var(--display);text-transform:uppercase;letter-spacing:.3px;padding:0 6px}
.rb-swal .swal2-html-container{color:var(--sub);font-size:14px;line-height:1.55;margin:10px 4px 0}
.rb-swal .swal2-actions{gap:10px;margin-top:18px;width:100%;flex-wrap:wrap}
.rb-swal-ok,.rb-swal-danger,.rb-swal-cancel{min-height:46px;padding:0 20px;border-radius:12px;font:800 14px/1 var(--body);cursor:pointer;border:0}
.rb-swal-ok{color:#1d0b00;background:linear-gradient(100deg,var(--gold),var(--orange));box-shadow:0 10px 24px -8px rgba(255,122,26,.7)}
.rb-swal-danger{color:#fff;background:linear-gradient(100deg,var(--ember),var(--rust))}
.rb-swal-cancel{color:var(--fg);background:rgba(255,240,220,.05);border:1px solid var(--line2)}
.rb-swal .swal2-loader{border-color:var(--gold) transparent var(--orange) transparent}
.rb-swal .swal2-timer-progress-bar{background:var(--orange)}
.rb-swal .swal2-icon.swal2-error{border-color:var(--err);color:var(--err)}
.rb-swal .swal2-icon.swal2-error [class^=swal2-x-mark-line]{background-color:var(--err)}
.rb-swal .swal2-icon.swal2-warning{border-color:var(--amber);color:var(--amber)}

.ab-popup.swal2-popup{width:min(94vw,520px)}
.ab-html.swal2-html-container{margin:8px 0 0;text-align:left}
.ab-inner{display:flex;flex-direction:column;gap:12px}
.ab-lead{margin:0;text-align:center;color:var(--sub);font-size:14px;line-height:1.55}
.ab-yt{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;border:1px solid var(--line)}
.ab-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ab-steps{display:flex;flex-direction:column;gap:8px}
.ab-detail{padding:10px 12px;border-radius:12px;background:rgba(255,240,220,.03);border:1px solid var(--line);font-size:13px}
.ab-detail summary{cursor:pointer;font-weight:700;color:var(--fg);list-style:none}
.ab-detail summary::-webkit-details-marker{display:none}
.ab-detail summary::before{content:"\25B8\00A0";color:var(--orange)}
.ab-detail[open] summary::before{content:"\25BE\00A0"}
.ab-detail p{margin:6px 0 0 14px;color:var(--sub);line-height:1.5}
.ab-extra{margin:0;padding-top:8px;border-top:1px solid var(--line);font-size:12px;color:var(--mute);text-align:center}

.mn-form{display:flex;flex-direction:column;gap:10px;margin:0;text-align:left}
.mn-label{font:700 11px/1.6 var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--mute)}
.mn-input{width:100%;min-height:52px;padding:0 16px;border-radius:14px;font:700 17px/1 var(--mono);letter-spacing:.5px;
  color:var(--fg);background:rgba(255,240,220,.04);border:1px solid var(--line2);outline:none;-webkit-appearance:none;appearance:none}
.mn-input::placeholder{color:var(--mute);font-weight:500}
.mn-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,195,90,.15)}
.mn-err{margin:0;padding:10px 12px;border-radius:12px;font-size:14px;line-height:1.45;text-align:left;color:var(--err);
  background:rgba(255,107,107,.08);border:1px solid rgba(255,107,107,.25)}
.mn-or{display:flex;align-items:center;gap:10px;margin:2px 0;color:var(--mute);font:700 11px/1 var(--mono);text-transform:uppercase;letter-spacing:1.4px}
.mn-or::before,.mn-or::after{content:"";flex:1;height:1px;background:var(--line)}
.mn-until{display:block;font-size:20px;font-weight:800;color:var(--gold);overflow-wrap:anywhere}
.mn-line{margin:0;color:var(--sub);font-size:15px;line-height:1.5}
.mn-next{margin:0;color:var(--fg);font-weight:700;font-size:15px;line-height:1.45}
.result-badge.vip{color:var(--gold);background:rgba(255,195,90,.1);box-shadow:0 0 0 6px rgba(255,195,90,.06), 0 10px 30px -8px rgba(255,195,90,.6)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
