[hidden]{display:none!important}
:root{
  --bg:#050913;--bg2:#08101f;--card:#0b1428;--card2:#0e1a33;--line:#1a2a4c;--line2:#27406e;
  --tx:#e9effc;--dim:#8796b8;--blue:#2f7bff;--blue2:#7fb0ff;--red:#ff3b4e;--gold:#ffc940;--ok:#2fe08a;
  --r:14px;--mono:"JetBrains Mono",ui-monospace,monospace;--head:"Chakra Petch",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.55 var(--head);
  background-image:linear-gradient(rgba(47,123,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(47,123,255,.05) 1px,transparent 1px);
  background-size:44px 44px}
a{color:var(--blue2)}
code{font-family:var(--mono);font-size:.85em;word-break:break-all}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:.01em}
.dim{color:var(--dim)}
.gold{color:var(--gold)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;text-decoration:none;
  background:linear-gradient(180deg,#3d86ff,#1f5fe0);color:#fff;font:600 15px var(--head);padding:12px 20px;border-radius:10px;
  box-shadow:0 0 0 1px rgba(127,176,255,.35) inset,0 8px 24px -10px rgba(47,123,255,.8);transition:transform .15s,filter .15s}
.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
.btn:disabled{opacity:.5;cursor:wait;transform:none}
.btn.ghost{background:rgba(255,255,255,.03);box-shadow:0 0 0 1px var(--line2) inset;color:var(--tx)}
.btn.sm{padding:8px 14px;font-size:14px}
.btn.xs{padding:5px 10px;font-size:12px;border-radius:8px}
.btn.big{width:100%;padding:15px;font-size:17px;background:linear-gradient(90deg,var(--red),#d4245f 50%,var(--blue));box-shadow:0 10px 30px -12px rgba(255,59,78,.8)}

/* header */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:12px 28px;background:rgba(5,9,19,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tx);font:700 22px var(--head);letter-spacing:.06em}
.brand img{width:36px;height:36px;border-radius:9px}
.brand b{color:var(--red)}
.top nav{display:flex;gap:22px;margin-right:auto}
.top nav a{color:var(--dim);text-decoration:none;font-weight:600}
.top nav a:hover{color:var(--tx)}
.top-r{display:flex;gap:8px}

/* hero */
.hero{max-width:1320px;margin:0 auto;padding:60px 28px 30px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end}
.kick{font:600 12px var(--mono);letter-spacing:.18em;color:var(--blue2);display:flex;align-items:center;gap:10px;margin:0 0 18px}
.kick i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 12px var(--red);animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}
.hero h1{font-size:clamp(40px,5.4vw,72px);line-height:1.02}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--red),#ff7a8a 40%,var(--blue2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:#c4cfe8;font-size:18px;max-width:620px;margin:20px 0 26px}
.cta{display:flex;gap:10px;flex-wrap:wrap}
.ca{margin-top:22px;display:inline-flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);padding:8px 10px 8px 14px;border-radius:10px;max-width:100%}
.ca span{font:600 12px var(--mono);color:var(--gold)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stats div{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.stats span{display:block;font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.stats b{display:block;font-size:26px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stats .cap{border-color:rgba(255,201,64,.45);box-shadow:0 0 30px -14px var(--gold) inset}
.stats .cap b{color:var(--gold)}

/* map */
.mapwrap{max-width:1320px;margin:0 auto;padding:20px 28px 40px;display:grid;grid-template-columns:1fr 400px;gap:20px;align-items:start}
.map-card,.panel{background:linear-gradient(180deg,rgba(14,26,51,.9),rgba(8,16,31,.95));border:1px solid var(--line);border-radius:18px}
.map-card{padding:18px 18px 10px;position:relative;overflow:hidden}
.map-card:before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 30% 30%,rgba(47,123,255,.12),transparent 70%),radial-gradient(500px 300px at 80% 80%,rgba(255,59,78,.08),transparent 70%);pointer-events:none}
.map-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;position:relative}
.map-head h2{font-size:22px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font:12px var(--mono);color:var(--dim);margin-right:auto}
.legend span{display:flex;align-items:center;gap:6px}
.lg{width:14px;height:10px;border-radius:3px;display:inline-block}
.lg.free{background:#0f1a33;box-shadow:0 0 0 1px #2d4677 inset}
.lg.own{background:#1d4fa8}
.lg.hot{background:linear-gradient(90deg,#1d4fa8,#ff3b4e)}
.lg.capital{background:var(--gold)}
select{background:var(--bg2);color:var(--tx);border:1px solid var(--line2);border-radius:9px;padding:8px 10px;font:14px var(--head)}
.map-box{position:relative;margin-top:8px}
#usmap{width:100%;height:auto;display:block}
#usmap path{stroke:#2d4677;stroke-width:.8;fill:#0f1a33;cursor:pointer;transition:fill .25s,stroke .2s,filter .2s}
#usmap path.own{stroke:#5d8fe6}
#usmap path:hover{stroke:#fff;stroke-width:1.6;filter:brightness(1.35)}
#usmap path.sel{stroke:#fff;stroke-width:2.2;filter:drop-shadow(0 0 8px rgba(127,176,255,.9))}
#usmap path.capital{fill:var(--gold);stroke:#fff3c4;filter:drop-shadow(0 0 10px rgba(255,201,64,.75))}
#usmap path.free{animation:freeGlow 4s ease-in-out infinite}
@keyframes freeGlow{50%{fill:#132244}}
#usmap text{font:600 10px var(--mono);fill:rgba(233,239,252,.7);pointer-events:none;text-anchor:middle;dominant-baseline:middle}
#usmap text.crown{font-size:34px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}
#usmap text.on{fill:#fff}
#usmap text.dark{fill:#3a2a00}
.tip{position:absolute;pointer-events:none;background:rgba(5,9,19,.95);border:1px solid var(--line2);border-radius:10px;padding:8px 11px;font-size:13px;white-space:nowrap;transform:translate(-50%,-115%);z-index:3}
.tip b{display:block;font-size:15px}
.tip span{color:var(--dim);font-family:var(--mono);font-size:12px}

/* panel */
.panel{padding:20px;position:sticky;top:76px}
.panel-empty{text-align:center;padding:24px 6px}
.panel-empty h3{font-size:24px;margin:10px 0 6px}
.panel-empty p{color:var(--dim);margin:0 0 16px}
.pulse{width:60px;height:60px;margin:0 auto;border-radius:50%;background:radial-gradient(circle,var(--blue) 30%,transparent 31%);position:relative}
.pulse:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--blue);animation:ring 1.8s infinite}
@keyframes ring{from{transform:scale(.6);opacity:1}to{transform:scale(1.5);opacity:0}}
.mini{list-style:none;padding:0;margin:0;text-align:left;display:grid;gap:8px}
.mini li{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;display:flex;gap:10px;align-items:center}
.mini b{width:24px;height:24px;flex:none;border-radius:6px;background:var(--blue);display:grid;place-items:center;font-size:13px}
.st-name{font:600 11px var(--mono);letter-spacing:.16em;color:var(--blue2);margin:0 0 4px}
#lf h3,#pcName{font-size:26px}
.tick{font:600 15px var(--mono);color:var(--red);margin:2px 0 0}
.pc-top{display:flex;gap:14px;align-items:center}
.pc-top img{width:96px;height:96px;border-radius:12px;object-fit:cover;border:1px solid var(--line2);background:var(--bg2)}
.motto{color:#c4cfe8;font-style:italic;margin:14px 0}
.pc-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pc-stats div{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.pc-stats span{font:11px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.1em}
.pc-stats b{display:block;font-size:20px}
.pc-ca{display:flex;gap:8px;align-items:center;margin:12px 0;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.pc-ca code{flex:1;font-size:11px;color:var(--dim)}
.pc-acts{display:grid;grid-template-columns:1.4fr 1fr;gap:8px}

form label{display:block;font:600 12px var(--mono);color:var(--dim);letter-spacing:.06em;margin:10px 0 0}
form label small{font-weight:400}
form input:not([type=checkbox]):not([type=file]){display:block;width:100%;margin-top:5px;background:var(--bg2);border:1px solid var(--line2);color:var(--tx);border-radius:9px;padding:10px 11px;font:15px var(--head)}
form input:focus{outline:2px solid var(--blue);outline-offset:0;border-color:transparent}
.lf-grid{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:center;margin-top:10px}
#posterCv{width:132px;height:132px;border-radius:12px;border:1px solid var(--line2);image-rendering:auto}
.lf-grid label:first-child{margin-top:0}
.pic-row{display:flex;gap:8px;align-items:center;margin-top:10px}
.file{margin:0!important;cursor:pointer;background:rgba(255,255,255,.03);border:1px dashed var(--line2);border-radius:9px;padding:8px 12px;color:var(--tx)!important}
.file input{display:none}
details{margin-top:10px;border:1px solid var(--line);border-radius:9px;padding:8px 12px}
summary{cursor:pointer;color:var(--dim);font:600 12px var(--mono)}
.cost{margin:10px 0;font:12px/1.6 var(--mono);color:var(--dim);background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:9px 11px}
.cost b{color:var(--tx)}
.check{display:flex!important;gap:9px;align-items:flex-start;font:12px/1.45 var(--head)!important;color:var(--dim)!important;margin:12px 0!important}
.check input{margin-top:2px;accent-color:var(--blue)}
#steps{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px}
#steps li{font:11px var(--mono);padding:4px 8px;border-radius:6px;background:var(--bg2);border:1px solid var(--line);color:var(--dim)}
#steps li.doing{border-color:var(--blue);color:var(--blue2)}
#steps li.done{border-color:var(--ok);color:var(--ok)}
#steps li.fail{border-color:var(--red);color:var(--red)}
.result{margin-top:12px;font-size:13px;background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;word-break:break-all}

/* sections */
section.board,section.rewards,section.how{max-width:1320px;margin:0 auto;padding:40px 28px}
.sec-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.sec-h h2{font-size:32px}
.sec-h p{color:var(--dim);margin:0}
.rows{display:grid;gap:8px}
.row{display:grid;grid-template-columns:54px 48px 1.4fr 1fr 1fr 120px;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;cursor:pointer;transition:border-color .2s}
.row:hover{border-color:var(--line2)}
.row.capital{border-color:rgba(255,201,64,.55);background:linear-gradient(90deg,rgba(255,201,64,.12),var(--card) 40%)}
.row .rk{font:700 20px var(--mono);color:var(--dim)}
.row.capital .rk{color:var(--gold)}
.row img{width:44px;height:44px;border-radius:9px;object-fit:cover;background:var(--bg2)}
.row .nm b{display:block;font-size:16px}
.row .nm span{font:12px var(--mono);color:var(--red)}
.row .mc{font:600 16px var(--mono)}
.row .bar{height:8px;border-radius:5px;background:var(--bg2);overflow:hidden}
.row .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--red))}
.row.capital .bar i{background:var(--gold)}
.open-h{margin:28px 0 10px}
.open-h span{color:var(--dim);font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips button{background:var(--bg2);border:1px solid var(--line);color:var(--tx);border-radius:8px;padding:6px 10px;font:600 13px var(--head);cursor:pointer}
.chips button:hover{border-color:var(--blue);color:var(--blue2)}

.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:center}
.flow i{font-style:normal;font-size:26px;color:var(--blue2);text-align:center}
.fl{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.fl b{display:block;font-size:18px}
.fl span{color:var(--dim)}
.fl.gold{border-color:rgba(255,201,64,.55);box-shadow:0 0 40px -18px var(--gold)}
.fl.gold b{color:var(--gold)}
.paid{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.paid h3{margin-bottom:10px}
.pay{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:9px 0;border-top:1px solid var(--line);font-size:14px}
.pay b{color:var(--gold);font-family:var(--mono)}
.pay time{color:var(--dim);font:12px var(--mono);margin-left:auto}

.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.steps4 div{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.steps4 b{font:700 13px var(--mono);color:var(--red)}
.steps4 h4{font-size:19px;margin:6px 0}
.steps4 p{color:var(--dim);margin:0}
.fees{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.fees ul{margin:10px 0;padding-left:18px;color:#c4cfe8}
.fees li{margin:6px 0}

footer{max-width:1320px;margin:20px auto 0;padding:30px 28px 50px;border-top:1px solid var(--line);display:flex;gap:30px;align-items:center;flex-wrap:wrap}
footer p{color:var(--dim);margin:0;font-size:13px;max-width:720px}

.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);opacity:0;background:var(--card2);border:1px solid var(--line2);padding:10px 16px;border-radius:10px;transition:.25s;z-index:50;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:1060px){
  .hero{grid-template-columns:1fr}
  .mapwrap{grid-template-columns:1fr}
  .panel{position:static}
  .steps4{grid-template-columns:1fr 1fr}
  .flow{grid-template-columns:1fr}.flow i{transform:rotate(90deg)}
}
@media (max-width:640px){
  .top{padding:10px 14px;gap:10px}.top nav,#buyLink{display:none}.top-r{margin-left:auto}
  .brand span{font-size:19px}
  .hero,.mapwrap,section.board,section.rewards,section.how{padding-left:14px;padding-right:14px}
  .hero{padding-top:34px}
  .stats b{font-size:20px}
  .map-card{padding:12px 8px 6px}
  .legend{display:none}
  .row{grid-template-columns:36px 40px 1fr 90px}.row .bar,.row .by{display:none}
  .row img{width:38px;height:38px}
  .steps4{grid-template-columns:1fr}
}
section{scroll-margin-top:70px}
