:root{
  --bg:#070A12;
  --bg2:#0B1120;
  --card: rgba(255,255,255,.06);
  --line: rgba(255,255,255,.10);
  --txt:#EAF0FF;
  --muted: rgba(234,240,255,.75);
  --muted2: rgba(234,240,255,.55);
  --accent:#39A9FF;
  --good:#33D17A;
  --shadow: 0 20px 60px rgba(0,0,0,.55);
  --w: 1120px;
  --font: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--txt);
  background:
    radial-gradient(1200px 700px at 20% -10%, rgba(57,169,255,.20), transparent 60%),
    radial-gradient(900px 600px at 80% 10%, rgba(0,229,255,.18), transparent 55%),
    radial-gradient(700px 500px at 50% 120%, rgba(51,209,122,.12), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  overflow-x:hidden;
}
a{color:inherit; text-decoration:none}
.container{width:min(var(--w), calc(100% - 40px)); margin:0 auto}
.skip{position:absolute; left:-999px; top:10px; background:#fff; color:#000; padding:10px 12px; border-radius:12px}
.skip:focus{left:10px; z-index:9999}

.topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(14px);
  background: rgba(7,10,18,.65);
  border-bottom:1px solid var(--line);
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:14px 0;
}
.brand{display:flex; align-items:center; gap:12px; min-width:240px}
.brand__logo{width:34px; height:34px; border-radius:10px; object-fit:cover; box-shadow: 0 10px 25px rgba(0,0,0,.35)}
.brand__text{display:flex; flex-direction:column; line-height:1.1}
.brand__name{font-weight:800; letter-spacing:.12em; font-size:12px}
.brand__tag{font-size:12px; color:var(--muted2); margin-top:4px}

.nav{display:flex; gap:18px; align-items:center}
.nav a{color:var(--muted); font-weight:600; font-size:13px; padding:8px 10px; border-radius:12px}
.nav a:hover{background:rgba(255,255,255,.06); color:var(--txt)}

.topbar__actions{display:flex; align-items:center; gap:10px}
.burger{
  display:none;
  width:42px; height:42px; border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  cursor:pointer;
}
.burger span{display:block; height:2px; margin:7px 10px; background:rgba(234,240,255,.85); border-radius:2px}

.mobile{border-top:1px solid var(--line); background: rgba(7,10,18,.85)}
.mobile__inner{padding:12px 0; display:grid; gap:8px}
.mobile__inner a{padding:12px 14px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.04); color:var(--muted); font-weight:600}
.mobile__cta{display:flex; gap:10px; padding-top:6px}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:10px 14px; border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--txt); font-weight:700; letter-spacing:.02em;
  cursor:pointer; transition: transform .06s ease, background .15s ease, border-color .15s ease;
  user-select:none;
}
.btn:hover{background:rgba(255,255,255,.06)}
.btn:active{transform: translateY(1px)}
.btn--primary{border-color: rgba(57,169,255,.45); background: linear-gradient(135deg, rgba(57,169,255,.22), rgba(0,229,255,.10))}
.btn--ghost{background:rgba(255,255,255,.03)}
.btn--lg{padding:12px 16px; border-radius:16px}
.kbd{font-size:11px; padding:4px 8px; border-radius:10px; border:1px solid var(--line); color:var(--muted); background:rgba(0,0,0,.25)}
.dot{width:10px;height:10px;border-radius:99px; display:inline-block}
.dot--online{background: var(--good); box-shadow: 0 0 0 6px rgba(51,209,122,.10)}
.ip{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; font-size:12px; color:rgba(234,240,255,.9)}

.hero{position:relative; padding:56px 0 24px}
.hero__inner{display:grid; grid-template-columns: 1.25fr .95fr; gap:26px; align-items:start}
.hero__bg{
  position:absolute; inset:-200px -200px auto -200px; height:520px;
  background:
    radial-gradient(380px 200px at 20% 30%, rgba(57,169,255,.22), transparent 60%),
    radial-gradient(420px 240px at 65% 30%, rgba(0,229,255,.18), transparent 62%),
    radial-gradient(520px 260px at 70% 60%, rgba(51,209,122,.10), transparent 60%);
  filter: blur(8px); pointer-events:none; z-index:-1;
}
.pill{
  display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap;
  border:1px solid var(--line); background:rgba(255,255,255,.04);
  padding:10px 12px; border-radius:999px;
  font-weight:700; color:var(--muted); max-width:100%;
}
.pill__accent{color:rgba(57,169,255,.95)}
.pill__sep{opacity:.4}
.pill__text b{color:var(--txt)}
h1{margin:18px 0 10px; font-size: clamp(34px, 4.2vw, 52px); line-height:1.05; letter-spacing:-.03em}
.muted{color:var(--muted)}
.lead{color:var(--muted); font-size:16px; line-height:1.6; max-width:56ch}
.cta{display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 18px}

.statgrid{display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:10px; margin-top:12px}
.stat{border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:16px; padding:12px}
.stat__k{font-size:12px; color:var(--muted2); font-weight:700}
.stat__v{font-size:16px; font-weight:800; margin-top:6px}

.tip{
  margin-top:12px;
  border:1px solid rgba(57,169,255,.25);
  background: linear-gradient(135deg, rgba(57,169,255,.10), rgba(0,0,0,.10));
  border-radius:16px; padding:12px; color:var(--muted);
  display:flex; gap:10px; align-items:center;
}
.tip__label{
  font-size:11px; font-weight:900; letter-spacing:.14em;
  padding:6px 10px; border-radius:12px;
  background:rgba(57,169,255,.18); border:1px solid rgba(57,169,255,.30);
  color:rgba(234,240,255,.92);
}

.panel{border-radius: 24px; border:1px solid var(--line); background: rgba(255,255,255,.04); box-shadow: var(--shadow); overflow:hidden}
.panel__header{display:flex; justify-content:space-between; align-items:center; padding:14px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.03)}
.panel__title{font-weight:900; letter-spacing:.08em; font-size:12px}
.panel__badge{display:flex; align-items:center; gap:8px; color:var(--muted); font-weight:700; font-size:12px}
.panel__body{padding:14px}

.kv{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 0}
.kv__k{color:var(--muted2); font-weight:700; font-size:12px}
.kv__v{display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end}
code{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; font-size:12px; padding:6px 10px; border-radius:12px; border:1px solid var(--line); background:rgba(0,0,0,.25); color:rgba(234,240,255,.9)}
.link{color:rgba(57,169,255,.95); font-weight:800}
.link:hover{text-decoration:underline}
.iconbtn{width:34px; height:34px; border-radius:12px; border:1px solid var(--line); background:rgba(255,255,255,.04); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; color:rgba(234,240,255,.9); font-weight:900}
.iconbtn:hover{background:rgba(255,255,255,.06)}
.divider{height:1px; background:var(--line); margin:10px 0 12px}
.panel__buttons{display:flex; gap:10px; flex-wrap:wrap}
.fineprint{margin:12px 0 0; color:var(--muted2); font-size:12px; line-height:1.4}

.section{padding:56px 0}
.section--alt{background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)); border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06)}
h2{margin:0 0 8px; font-size:28px; letter-spacing:-.02em}
.sub{margin:0 0 18px; color:var(--muted); line-height:1.6}

.cards{display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:14px}
.card{border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:18px; padding:16px}
.card__icon{font-size:20px}
.card h3{margin:10px 0 8px; font-size:16px}
.card p{margin:0; color:var(--muted); line-height:1.5; font-size:13px}

.steps{display:grid; gap:12px}
.step{display:flex; gap:12px; align-items:flex-start; border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:18px; padding:14px}
.step__n{width:34px; height:34px; border-radius:12px; display:grid; place-items:center; background:rgba(57,169,255,.18); border:1px solid rgba(57,169,255,.30); font-weight:900}
.step__c h3{margin:0 0 4px; font-size:16px}
.step__c p{margin:0; color:var(--muted); line-height:1.5}

.rules{display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px}
.rule{border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:18px; padding:14px; color:var(--muted); font-weight:700}

.linkcards{display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:14px}
.linkcard{border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:20px; padding:16px; display:flex; gap:14px; align-items:center}
.linkcard:hover{background:rgba(255,255,255,.06)}
.linkcard__icon{width:46px;height:46px;border-radius:16px;border:1px solid var(--line); display:grid; place-items:center; background:rgba(0,0,0,.25); font-size:20px}
.linkcard__title{font-weight:900}
.linkcard__sub{color:var(--muted); font-size:13px; margin-top:2px}
.linkcard__go{margin-left:auto; color:rgba(57,169,255,.95); font-weight:900}

.footer{padding:26px 0 40px; border-top:1px solid rgba(255,255,255,.06)}
.footer__inner{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap}
.footer__brand{font-weight:900; letter-spacing:.14em; font-size:12px}
.footer__small{color:var(--muted2); font-size:12px; margin-top:6px}
.footer__right{display:flex; gap:14px; color:var(--muted)}
.footer__right a:hover{color:var(--txt); text-decoration:underline}

.toast{position:fixed; left:50%; bottom:20px; transform:translateX(-50%); z-index:999}
.toast__inner{border:1px solid var(--line); background: rgba(0,0,0,.55); backdrop-filter: blur(10px); padding:10px 14px; border-radius:16px; color:rgba(234,240,255,.92); font-weight:800; box-shadow: var(--shadow)}

@media (max-width: 980px){
  .hero__inner{grid-template-columns: 1fr; gap:18px}
  .nav{display:none}
  .burger{display:inline-block}
  .brand{min-width:unset}
  .statgrid{grid-template-columns: repeat(2, minmax(0,1fr))}
  .cards{grid-template-columns: repeat(2, minmax(0,1fr))}
}
@media (max-width: 560px){
  .container{width: calc(100% - 28px)}
  #copyIpBtn{display:none}
  .cards{grid-template-columns: 1fr}
  .rules{grid-template-columns: 1fr}
  .linkcards{grid-template-columns: 1fr}
}
