/* Public pages (beta landing, Sniper Sonar, legal): Vaporwave sunset, mobile-first */
*{box-sizing:border-box}html,body{margin:0;min-height:100%}
body.pub{background:linear-gradient(180deg,#12081f 0%,#2a0c3d 45%,#5a1458 70%,#12081f 100%);color:#f2e9ff;font:15px/1.55 Inter,"Segoe UI",system-ui,sans-serif;overflow-x:hidden}
.pub-sky{position:fixed;inset:0 0 auto 0;height:62vh;pointer-events:none;z-index:0;display:flex;justify-content:center;align-items:flex-end}
.pub-sun{width:min(68vw,420px);aspect-ratio:1;border-radius:50%;margin-bottom:-14vh;opacity:.55;
  background:linear-gradient(180deg,#ffd36e 0%,#ff9a3d 38%,#ff4fd8 75%);-webkit-mask:repeating-linear-gradient(180deg,#000 0 14px,transparent 14px 20px);mask:repeating-linear-gradient(180deg,#000 0 14px,transparent 14px 20px);filter:blur(.3px)}
.pub-floor{position:fixed;left:0;right:0;bottom:0;height:34vh;pointer-events:none;z-index:0;opacity:.35;
  background:linear-gradient(transparent 0,#12081f 100%),repeating-linear-gradient(90deg,rgba(63,243,255,.55) 0 1px,transparent 1px 60px),repeating-linear-gradient(0deg,rgba(255,79,216,.5) 0 1px,transparent 1px 34px);
  transform:perspective(300px) rotateX(55deg);transform-origin:bottom}
.pub-main{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:28px 16px 30px;display:flex;flex-direction:column;gap:16px}
.pub-card{background:rgba(24,10,40,.82);border:1px solid rgba(255,79,216,.35);border-radius:20px;padding:22px 20px;display:flex;flex-direction:column;gap:12px;
  box-shadow:0 0 0 1px rgba(63,243,255,.12) inset,0 20px 60px rgba(0,0,0,.45),0 0 40px rgba(255,79,216,.15);backdrop-filter:blur(8px)}
.pub-card h1{margin:0;font:800 34px/1.1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.01em;background:linear-gradient(90deg,#3ff3ff,#ff7ae6 60%,#ffa53d);-webkit-background-clip:text;background-clip:text;color:transparent}
.pub-card h2{margin:6px 0 0;font-size:19px;color:#3ff3ff;display:flex;gap:10px;align-items:center}
.pub-card p{margin:0}.pub-card .lead{font-size:16px;color:#e6d9ff}
.pub-card ul,.pub-card ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.pub-card a{color:#7ff7ff}
.pub-badge{align-self:flex-start;font:700 10px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.14em;padding:4px 10px;border-radius:999px;color:#12081f;background:linear-gradient(90deg,#ffa53d,#ff4fd8)}
.pub-badge.warn{background:#ffd36e}
.pub-btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:13px 18px;border-radius:14px;border:0;cursor:pointer;text-decoration:none;
  font:700 15px Inter,system-ui,sans-serif;color:#12081f;background:linear-gradient(90deg,#3ff3ff,#ff7ae6);box-shadow:0 0 22px rgba(255,79,216,.35)}
.pub-btn.big{padding:16px 20px;font-size:17px}.pub-btn.ghost{background:transparent;color:#7ff7ff;border:1px solid rgba(63,243,255,.5);box-shadow:none}
.pub-btn:disabled{opacity:.6}
.pub-row{display:flex;gap:8px;flex-wrap:wrap;margin:0}.pub-row input{flex:1;min-width:160px;padding:12px;border-radius:12px;border:1px solid rgba(255,79,216,.4);background:#1a0b2b;color:#fff;font:600 15px ui-monospace,monospace}
.pub-msg{min-height:20px;font-size:13px;color:#ff8fb0}
.pub-small{font-size:12px;color:#bfaee0}.pub-small a{color:#bfaee0}
.pub-link{background:none;border:0;color:#bfaee0;text-decoration:underline;cursor:pointer;padding:0;font:13px inherit}
.pub-foot{position:relative;z-index:1;text-align:center;font-size:12px;color:#bfaee0;padding:6px 0 26px}.pub-foot a{color:#bfaee0}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace}
.legal li{font-size:14px}
/* sonar */
.sonar{position:relative;width:min(240px,62vw);aspect-ratio:1;margin:4px auto 2px;border-radius:50%;
  background:radial-gradient(circle,transparent 0 24%,rgba(63,243,255,.35) 24.4% 25%,transparent 25.4% 49%,rgba(63,243,255,.35) 49.4% 50%,transparent 50.4% 74%,rgba(63,243,255,.35) 74.4% 75%,transparent 75.4%),
  radial-gradient(circle,#1d0a33,#12081f);border:2px solid rgba(63,243,255,.7);box-shadow:0 0 30px rgba(63,243,255,.3),inset 0 0 30px rgba(255,79,216,.2);overflow:hidden}
.sonar::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(63,243,255,.6),rgba(63,243,255,0) 22%);animation:sweep 3.2s linear infinite}
.sonar::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:#ff4fd8;box-shadow:0 0 12px #ff4fd8}
.sonar i{position:absolute;width:9px;height:9px;border-radius:50%;background:#ffd36e;box-shadow:0 0 10px #ffa53d;animation:blip 3.2s ease-out infinite}
.sonar i::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1.5px solid #ffd36e;animation:ring 3.2s ease-out infinite}
@keyframes sweep{to{transform:rotate(360deg)}}@keyframes blip{0%,100%{opacity:.15}8%{opacity:1}60%{opacity:.35}}@keyframes ring{0%{transform:scale(.5);opacity:1}40%{transform:scale(2.6);opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.sonar::before,.sonar i,.sonar i::after{animation:none}}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;list-style:none;padding:0!important}
.checks li{background:rgba(63,243,255,.06);border:1px solid rgba(63,243,255,.25);border-radius:12px;padding:10px 12px;font-size:13px}
.checks li b{display:block;color:#ffd36e;font-size:13.5px}
.steps{counter-reset:s;list-style:none;padding:0!important}
.steps li{position:relative;padding-left:38px;min-height:28px}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:700 13px ui-monospace,monospace;color:#12081f;background:linear-gradient(135deg,#3ff3ff,#ff7ae6)}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.stats div{background:rgba(255,79,216,.08);border:1px solid rgba(255,79,216,.3);border-radius:12px;padding:10px}
.stats b{display:block;font:800 20px ui-monospace,monospace;color:#fff}.stats span{font-size:11.5px;color:#bfaee0}
.disclaim{border-color:rgba(255,211,110,.55)!important;background:rgba(60,30,10,.75)!important}.disclaim h2{color:#ffd36e!important}
.cta{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:480px){.pub-card h1{font-size:28px}.pub-card{padding:18px 16px}}
.pub-form{display:flex;flex-direction:column;gap:8px}.pub-form>input{padding:12px;border-radius:12px;border:1px solid rgba(255,79,216,.4);background:#1a0b2b;color:#fff;font:15px Inter,system-ui,sans-serif}
.pub-chk{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#e6d9ff}.pub-chk input{width:18px;height:18px;flex:none;margin-top:1px}.pub-chk small{color:#bfaee0}
.pub-card.wide{max-width:none}
.tbl{overflow-x:auto;border:1px solid rgba(63,243,255,.25);border-radius:12px}
.tbl table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
.tbl th{position:sticky;top:0;text-align:left;padding:9px 10px;background:#1d0a33;color:#7ff7ff;cursor:pointer;user-select:none;white-space:nowrap;font-size:12px}
.tbl th[data-dir="asc"]::after{content:" ▲"}.tbl th[data-dir="desc"]::after{content:" ▼"}
.tbl td{padding:8px 10px;border-top:1px solid rgba(255,79,216,.15);vertical-align:top}
.tbl .ok{color:#7fe0ad}.tbl .mut,.mut{color:#bfaee0}.neg{color:#ff8fb0}
.st{font:700 10px ui-monospace,monospace;text-transform:uppercase;padding:2px 7px;border-radius:99px;border:1px solid rgba(255,255,255,.25)}
.st-approved{color:#7fe0ad;border-color:rgba(127,224,173,.5)}.st-pending{color:#ffa53d;border-color:rgba(255,165,61,.5)}.st-revoked{color:#ff8fb0}
.pub-main:has(.pub-card.wide){max-width:1100px}
/* ---- welcome: splash ---- */
body.spl-on{overflow:hidden}
.spl{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;cursor:pointer;
  background:linear-gradient(180deg,#0d0618 0%,#2a0c3d 50%,#5a1458 72%,#12081f 100%);transition:opacity .45s ease,transform .45s ease}
.spl.out{opacity:0;transform:scale(1.04);pointer-events:none}
.spl-sky{position:absolute;inset:0 0 auto 0;height:64%;display:flex;justify-content:center;align-items:flex-end;overflow:hidden}
.spl-sun{width:min(80vw,460px);aspect-ratio:1;border-radius:50%;margin-bottom:-20%;transform:translateY(40%);opacity:0;
  background:linear-gradient(180deg,#ffd36e 0%,#ff9a3d 38%,#ff4fd8 78%);-webkit-mask:repeating-linear-gradient(180deg,#000 0 16px,transparent 16px 23px);mask:repeating-linear-gradient(180deg,#000 0 16px,transparent 16px 23px);
  animation:sunrise 1.6s cubic-bezier(.2,.8,.2,1) .1s forwards;filter:drop-shadow(0 0 40px rgba(255,79,216,.5))}
.spl-grid{position:absolute;left:-20%;right:-20%;bottom:0;height:40%;opacity:.55;transform:perspective(260px) rotateX(60deg);transform-origin:bottom;
  background:linear-gradient(#12081f 0,transparent 30%),repeating-linear-gradient(90deg,rgba(63,243,255,.7) 0 1.5px,transparent 1.5px 56px),repeating-linear-gradient(0deg,rgba(255,79,216,.65) 0 1.5px,transparent 1.5px 30px);
  background-size:auto,auto,100% 30px;animation:gridrun 1.1s linear infinite}
.spl-mid{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:-10vh}
.spl-logo{position:relative;width:112px;height:112px;opacity:0;transform:scale(.6);animation:pop .7s cubic-bezier(.2,1.4,.4,1) .35s forwards}
.spl-logo .elo-logo{width:100%;height:100%;filter:drop-shadow(0 0 22px rgba(63,243,255,.55)) drop-shadow(0 0 40px rgba(255,79,216,.35))}
.spl .png{position:absolute;left:72%;top:72%;width:16px;height:16px;margin:-8px;border-radius:50%;border:2px solid #3ff3ff;opacity:0;animation:ping 1.8s ease-out infinite}
.spl .p1{animation-delay:.9s}.spl .p2{animation-delay:1.5s}.spl .p3{animation-delay:2.1s}
.spl-word{font:800 54px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;background:linear-gradient(90deg,#3ff3ff,#ff7ae6 60%,#ffa53d);-webkit-background-clip:text;background-clip:text;color:transparent;
  opacity:0;transform:translateY(10px);animation:rise .6s ease .7s forwards;text-shadow:0 0 30px rgba(255,79,216,.25)}
.spl-tag{font:700 11px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.32em;color:#7ff7ff;opacity:0;animation:rise .6s ease 1s forwards}
.spl-skip{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;padding:8px 14px;border-radius:999px;border:1px solid rgba(127,247,255,.5);background:rgba(18,8,31,.5);color:#7ff7ff;font:700 12px Inter,system-ui,sans-serif;letter-spacing:.08em;cursor:pointer}
.spl.still *{animation:none!important}.spl.still .spl-sun{opacity:.9;transform:none}.spl.still .spl-logo,.spl.still .spl-word,.spl.still .spl-tag{opacity:1;transform:none}
@keyframes sunrise{to{opacity:.95;transform:translateY(0)}}@keyframes gridrun{to{background-position:0 0,0 0,0 30px}}
@keyframes pop{to{opacity:1;transform:scale(1)}}@keyframes rise{to{opacity:1;transform:none}}
@keyframes ping{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(9)}}
@media (prefers-reduced-motion:reduce){.spl *{animation:none!important}.spl-sun{opacity:.9;transform:none}.spl-logo,.spl-word,.spl-tag{opacity:1;transform:none}.spl{transition:none}}
/* ---- welcome: card ---- */
.wel-head{display:flex;gap:12px;align-items:center}.wel-head .elo-logo{width:48px;height:48px;flex:none;filter:drop-shadow(0 0 10px rgba(63,243,255,.4))}
.wel-sub{font-size:13px;color:#d9c8f5;margin-top:5px}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:#1a0b2b;border:1px solid rgba(255,79,216,.3)}
.tabs button{padding:11px;border:0;border-radius:10px;background:transparent;color:#cdb9ee;font:700 14px Inter,system-ui,sans-serif;cursor:pointer}
.tabs button[aria-selected=true]{background:linear-gradient(90deg,rgba(63,243,255,.22),rgba(255,122,230,.25));color:#fff;box-shadow:0 0 0 1px rgba(127,247,255,.35) inset}
.wel h1{font-size:27px}.pub-form{display:flex;flex-direction:column;gap:11px}
.fl{display:flex;flex-direction:column;gap:5px}.fl>span{font:700 11px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#7ff7ff}.fl>span b{color:#ff7ae6}
.fl input,.pub-form>input,.pub-row input{width:100%;padding:13px 12px;border-radius:12px;border:1px solid rgba(255,79,216,.4);background:#1a0b2b;color:#fff;font:600 16px Inter,system-ui,sans-serif;outline:none}
.fl input:focus,.pub-form input:focus{border-color:#3ff3ff;box-shadow:0 0 0 3px rgba(63,243,255,.18)}
.pub-chk{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#e6d9ff;line-height:1.45}.pub-chk input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:#ff4fd8}
.av-pick{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.av-pick button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;border-radius:14px;border:1px solid rgba(255,79,216,.25);background:#1a0b2b;color:#cdb9ee;cursor:pointer;font:600 10px Inter,system-ui,sans-serif;transition:transform .15s}
.av-pick img{width:100%;max-width:64px;aspect-ratio:1;height:auto;border-radius:50%;display:block}
.av-pick button[aria-checked=true]{border-color:#3ff3ff;background:rgba(63,243,255,.12);color:#fff;box-shadow:0 0 14px rgba(63,243,255,.35);transform:translateY(-2px)}
.av-pick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media (max-width:420px){.av-pick{grid-template-columns:repeat(3,1fr)}.av-pick img{max-width:56px}}
.or{display:flex;align-items:center;gap:10px;color:#a993cf;font-size:12px}.or::before,.or::after{content:"";flex:1;height:1px;background:rgba(255,79,216,.3)}
.wel-links{display:flex;flex-direction:column;gap:10px;align-items:center}.wel-links .pub-btn{width:100%}
.pub-link.adm{text-decoration:none;font-size:12px;opacity:.75}.pub-link.adm.hot{opacity:1;color:#7ff7ff;text-decoration:underline}
.pub-msg.ok,.pub-small.ok{color:#7fe0ad}.pub-btn.busy{opacity:.7;cursor:progress}
.wl-head{display:flex;gap:14px;align-items:center}.wl-av{width:72px;height:72px;border-radius:50%;border:2px solid #3ff3ff;box-shadow:0 0 18px rgba(63,243,255,.4);flex:none}
.pub-btn small{font-weight:600;opacity:.75;font-size:11px}
.spl[hidden]{display:none!important}
[hidden]{display:none!important}

.wel-idle{max-width:420px;margin:0 auto 12px;padding:10px 14px;border:1px solid rgba(63,243,255,.45);border-radius:12px;background:rgba(26,11,43,.85);color:#d9f9ff;font-size:13px;text-align:center}

.apnote{margin:10px 0;padding:8px 12px;border:1px solid rgba(63,243,255,.45);border-radius:10px;font-size:12.5px;line-height:1.45;color:#d9f9ff;background:rgba(26,11,43,.6)}.apnote b{color:#3ff3ff}.apnote[hidden]{display:none}

.pub-row select{flex:1;min-width:160px;padding:12px;border-radius:12px;border:1px solid rgba(255,79,216,.4);background:#1a0b2b;color:#fff;font:600 15px Inter,system-ui,sans-serif}
#auT td:nth-child(5){max-width:340px;overflow-wrap:anywhere}
.inst-qr{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 0}.inst-qr img{border-radius:14px;background:#fff;padding:6px;box-shadow:0 0 0 1px rgba(63,243,255,.35),0 10px 40px rgba(255,79,216,.25)}
.inst-stores .dis{opacity:.6;cursor:default}.inst-step ol{margin:4px 0 12px 18px;padding:0;line-height:1.6}.inst-step h2{font-size:15px;margin:10px 0 2px}
