@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Russo+One&display=swap');

:root { --night:#050d17; --ink:#effbff; --muted:#8ba5b2; --ice:#9feeff; --cyan:#45d8ff; --panel:rgba(7,20,33,.84); --line:rgba(172,235,255,.18); }
* { box-sizing:border-box; }
html { background:var(--night); }
body { min-width:320px; margin:0; color:var(--ink); background:var(--night); font-family:Manrope,Arial,sans-serif; animation:enter .36s ease both; }
a { color:inherit; }
body.page-leaving { pointer-events:none; animation:leave .22s ease both; }
@keyframes enter { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:none; } }
@keyframes leave { to { opacity:0; transform:translateY(-8px); } }

.wrap { width:min(1440px,calc(100% - 56px)); min-height:100svh; margin:auto; }
.page-wrap { width:min(1180px,calc(100% - 48px)); min-height:100svh; margin:auto; }
.topbar { display:flex; min-height:76px; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(215,248,255,.13); }
.brand { color:#fff; font-family:'Russo One',sans-serif; font-size:1rem; letter-spacing:-.03em; text-decoration:none; }
.brand span { color:var(--ice); text-shadow:0 0 22px rgba(75,219,255,.55); }
.brand i { color:#fff; font-style:normal; }
nav { display:flex; gap:26px; }
nav a { position:relative; color:#a9bec8; font-size:.72rem; font-weight:800; letter-spacing:.035em; text-decoration:none; transition:color .2s ease; }
nav a::after { position:absolute; right:0; bottom:-10px; left:0; height:1px; content:''; background:var(--ice); transform:scaleX(0); transition:transform .2s ease; }
nav a:hover,nav a.active { color:var(--ice); }
nav a:hover::after,nav a.active::after { transform:scaleX(1); }

.home { background:#050d17; }
.home .wrap { width:100%; }
.home .topbar,.home footer { padding-right:clamp(28px,11vw,220px); padding-left:clamp(28px,11vw,220px); }
.hero { position:relative; min-height:calc(100svh - 76px); overflow:hidden; isolation:isolate; background:linear-gradient(98deg,rgba(2,10,19,.97) 4%,rgba(3,13,25,.84) 48%,rgba(2,13,25,.16) 100%),url('assets/arctic-hero.png') center/cover no-repeat; }
.hero::after { position:absolute; z-index:-1; inset:0; content:''; background-image:linear-gradient(rgba(142,230,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(142,230,255,.055) 1px,transparent 1px); background-size:74px 74px; mask-image:linear-gradient(#000,rgba(0,0,0,.72),transparent 91%); }
.hero-copy { display:flex; width:min(1440px,calc(100% - 56px)); min-height:calc(100svh - 76px); flex-direction:column; justify-content:center; margin:auto; padding:60px 0; }
.eyebrow { margin:0 0 18px; color:var(--ice); font-size:.65rem; font-weight:800; letter-spacing:.1em; }
h1 { max-width:820px; margin:0; font-family:'Russo One',sans-serif; font-size:clamp(3rem,7vw,6.35rem); font-weight:400; letter-spacing:-.075em; line-height:.95; text-shadow:0 0 40px rgba(88,227,255,.14); }
h1 span { color:var(--ice); }
.title-line { display:flex; gap:10px; width:182px; margin:26px 0 0; align-items:center; }
.title-line b { height:1px; flex:1; background:rgba(159,238,255,.8); }
.title-line i { width:6px; height:6px; background:var(--ice); box-shadow:0 0 15px var(--cyan); transform:rotate(45deg); }
.lead { max-width:485px; margin:24px 0 27px; color:#b9cbd3; font-size:1rem; line-height:1.7; }
.connect-card { width:min(100%,555px); padding:16px; border:1px solid rgba(185,240,255,.31); background:rgba(3,16,29,.72); backdrop-filter:blur(13px); }
.connect-head { display:flex; align-items:center; gap:8px; color:#99b5c0; font-size:.63rem; font-weight:800; letter-spacing:.08em; }
.pulse { width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 14px var(--cyan); animation:pulse 2s infinite; }
@keyframes pulse { 50% { opacity:.35; transform:scale(.65); } }
.server-address { margin:13px 0; color:#dff9ff; font-family:'Russo One',sans-serif; font-size:1.12rem; letter-spacing:.02em; }
button { font:inherit; }
.copy-btn { min-width:170px; padding:11px 14px; color:#05202b; border:0; background:var(--ice); cursor:pointer; font-size:.67rem; font-weight:800; letter-spacing:.04em; transition:background .2s,transform .2s; }
.copy-btn:hover { background:#dffbff; transform:translateY(-2px); }
.copy-note { margin:11px 0 0; color:#88a4ae; font-size:.68rem; }
.hero-link { display:inline-flex; width:max-content; gap:12px; margin-top:24px; color:var(--ice); font-size:.7rem; font-weight:800; letter-spacing:.05em; text-decoration:none; }
.hero-link span { font-size:1rem; line-height:.7; transition:transform .2s; }
.hero-link:hover span { transform:translateX(4px); }
.home-servers { width:min(100%,780px); margin-top:27px; }
.home-servers > p { margin:0 0 10px; color:#8faab5; font-size:.65rem; font-weight:800; letter-spacing:.1em; }
.home-server-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.home-server { display:grid; grid-template-columns:30px 1fr; align-items:center; gap:7px 9px; min-height:92px; padding:13px; color:#d9f1f7; border:1px solid var(--line); background:rgba(3,16,29,.66); }
.home-server:hover { border-color:rgba(159,238,255,.5); background:rgba(62,208,255,.08); }
.home-server > i { grid-row:span 2; color:var(--ice); font-size:.67rem; font-style:normal; font-weight:800; }
.home-server strong,.home-server small { display:block; }
.home-server strong { font-family:'Russo One',sans-serif; font-size:.91rem; font-weight:400; }
.home-server small { margin-top:4px; color:#91acb6; font-size:.56rem; font-weight:800; letter-spacing:.055em; }
.home-server button { grid-column:2; width:100%; min-height:32px; color:#06222d; border:0; background:var(--ice); cursor:pointer; font-size:.6rem; font-weight:800; letter-spacing:.04em; transition:background .2s,transform .2s; }
.home-server button:hover { background:#dffbff; transform:translateY(-1px); }

.page { min-height:100svh; background:radial-gradient(circle at 88% 0,rgba(29,129,171,.16),transparent 33%),linear-gradient(130deg,#06111c,#050d17 80%); }
.page::before { position:fixed; z-index:0; inset:0; pointer-events:none; content:''; background-image:linear-gradient(rgba(142,230,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(142,230,255,.032) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(#000,transparent 88%); }
.page-wrap { position:relative; z-index:1; display:flex; flex-direction:column; }
.page-main { flex:1; padding:78px 0 76px; }
.page-main h1 { max-width:none; font-size:clamp(2.5rem,5.1vw,4.8rem); }
.page-lead { max-width:650px; margin:19px 0 43px; color:#9ab2bc; font-size:.92rem; line-height:1.75; }

.stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.stat-card,.panel,.case-card,.donate-card,.about-card { border:1px solid var(--line); background:linear-gradient(145deg,rgba(13,29,43,.9),rgba(6,16,28,.86)); }
.stat-card { min-height:165px; padding:23px; }
.stat-card span { display:block; color:#91aab6; font-size:.65rem; font-weight:800; letter-spacing:.08em; }
.stat-card strong { display:block; margin-top:24px; color:var(--ice); font-family:'Russo One',sans-serif; font-size:2.4rem; font-weight:400; }
.stat-card small { color:#708995; font-size:.69rem; }
.panel { margin-top:32px; padding:30px; }
.wide-panel { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.panel-kicker { margin:0; color:var(--ice); font-size:.64rem; font-weight:800; letter-spacing:.1em; }
.panel h2,.about-card h2 { margin:9px 0 11px; font-family:'Russo One',sans-serif; font-size:1.4rem; font-weight:400; letter-spacing:-.03em; }
.panel p:not(.panel-kicker) { max-width:580px; margin:0; color:#9ab2bc; font-size:.82rem; line-height:1.7; }
.status-list { display:grid; min-width:208px; gap:10px; }
.status-list span { padding:9px 10px; color:#b7d1db; border:1px solid var(--line); background:rgba(4,16,27,.38); font-size:.67rem; font-weight:700; }
.status-list i { display:inline-block; width:6px; height:6px; margin:0 7px 1px 0; border-radius:50%; background:#66828e; }

.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.case-card { position:relative; display:flex; min-height:305px; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:22px; }
.case-card::before { position:absolute; top:42px; left:50%; width:90px; height:112px; border:1px solid rgba(191,247,255,.78); content:''; background:linear-gradient(135deg,rgba(183,247,255,.72),rgba(39,141,177,.12)); box-shadow:inset 0 0 0 8px rgba(4,16,28,.4),0 0 34px rgba(82,215,255,.22); transform:translateX(-50%) rotate(5deg); }
.case-card.void::before { border-color:rgba(215,182,255,.78); background:linear-gradient(135deg,rgba(208,178,255,.7),rgba(80,46,145,.12)); transform:translateX(-50%) rotate(-5deg); }
.case-card.glacier::before { border-color:rgba(159,239,255,.8); transform:translateX(-50%) rotate(7deg); }
.case-card span { color:#91aab6; font-size:.6rem; font-weight:800; letter-spacing:.1em; }
.case-card h2 { margin:8px 0 7px; font-family:'Russo One',sans-serif; font-size:1.03rem; font-weight:400; }
.case-card p { margin:0; color:#9ab2bc; font-size:.72rem; line-height:1.55; }
.case-card button { width:100%; margin-top:16px; padding:10px; color:#69818c; border:1px solid rgba(172,235,255,.18); background:rgba(4,16,27,.35); font-size:.62rem; font-weight:800; letter-spacing:.08em; }
.notice-panel { margin-top:26px; }

.server-picker { margin:0 0 18px; padding:20px; border:1px solid var(--line); background:linear-gradient(115deg,rgba(10,31,47,.82),rgba(6,16,28,.9)); }
.picker-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:15px; }
.picker-heading p { margin:0; color:#dff9ff; font-size:.75rem; font-weight:800; letter-spacing:.07em; }
.picker-heading span { color:#8aa5b0; font-size:.68rem; font-weight:700; }
.picker-heading b,.picker-note b { color:var(--ice); }
.server-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.server-option { display:grid; grid-template-columns:36px 1fr; align-items:center; min-height:71px; padding:12px 14px; color:#c7dbe2; border:1px solid var(--line); background:rgba(3,16,29,.48); cursor:pointer; text-align:left; transition:border-color .2s,background .2s,transform .2s; }
.server-option:hover { border-color:rgba(159,238,255,.55); transform:translateY(-2px); }
.server-option.active { color:#effbff; border-color:var(--ice); background:rgba(62,208,255,.12); box-shadow:inset 0 0 25px rgba(62,208,255,.05); }
.server-option i { grid-row:span 2; color:#7895a1; font-size:.7rem; font-style:normal; font-weight:800; }
.server-option.active i { color:var(--ice); }
.server-option strong { font-family:'Russo One',sans-serif; font-size:.95rem; font-weight:400; }
.server-option small { margin-top:3px; color:#8da7b2; font-size:.59rem; font-weight:800; letter-spacing:.08em; }
.picker-note { margin:13px 0 0; color:#92abb5; font-size:.75rem; }

.donate-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.donate-card { display:flex; min-height:330px; flex-direction:column; padding:22px; }
.donate-card.featured { border-color:rgba(159,238,255,.68); box-shadow:inset 0 0 45px rgba(62,208,255,.07); }
.tier { margin:0!important; min-height:auto!important; color:var(--ice)!important; font-size:.63rem!important; font-weight:800; letter-spacing:.09em; }
.donate-card h2 { margin:18px 0 10px; font-family:'Russo One',sans-serif; font-size:1.2rem; font-weight:400; }
.donate-card h2 span { color:var(--ice); }
.donate-card > p:not(.tier) { min-height:58px; margin:0; color:#9ab2bc; font-size:.73rem; line-height:1.62; }
.donate-card ul { flex:1; margin:16px 0; padding:0; list-style:none; color:#bfd4dc; font-size:.71rem; line-height:2; }
.donate-card li::before { margin-right:7px; color:var(--ice); content:'✦'; }
.wait { display:grid; min-height:42px; place-items:center; color:var(--ice); border:1px solid rgba(159,238,255,.38); font-size:.61rem; font-weight:800; letter-spacing:.04em; }
.payment-note { margin:22px 0 0; color:#718995; font-size:.72rem; }

.about-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:14px; }
.about-card { padding:29px; }
.about-card > p:not(.panel-kicker) { margin:0; color:#a4bac4; font-size:.84rem; line-height:1.75; }
.roadmap ol { margin:19px 0 0; padding:0; list-style:none; }
.roadmap li { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:10px; padding:15px 0; color:#b8d0da; border-top:1px solid var(--line); font-size:.8rem; }
.roadmap li span { color:var(--ice); font-family:'Russo One',sans-serif; font-size:.78rem; }
.roadmap li b { color:var(--ice); font-size:.6rem; letter-spacing:.06em; }

footer { display:flex; min-height:93px; align-items:center; justify-content:space-between; color:#7e96a2; border-top:1px solid rgba(215,248,255,.1); font-size:.67rem; }
footer b { color:#b8dce7; }.owner { color:var(--ice); font-family:'Russo One',sans-serif; font-size:.63rem; }

.account-shell { display:grid; min-height:100svh; place-items:center; padding:42px 20px; }
.account-brand { position:fixed; top:28px; left:clamp(20px,6vw,100px); }
.account-card { width:min(100%,500px); padding:34px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(13,33,48,.94),rgba(5,14,24,.96)); box-shadow:0 24px 70px rgba(0,0,0,.25); }
.account-card h1 { font-size:clamp(2rem,5vw,3.45rem); }
.account-intro { margin:17px 0 24px; color:#a7bec8; font-size:.94rem; line-height:1.7; }
.account-form { display:grid; gap:15px; }
.account-form label { display:grid; gap:7px; color:#a7bec8; font-size:.67rem; font-weight:800; letter-spacing:.07em; }
.account-form input { width:100%; min-height:46px; padding:0 12px; color:var(--ink); border:1px solid var(--line); outline:0; background:rgba(3,16,29,.64); font:inherit; }
.account-form input:focus { border-color:var(--ice); box-shadow:0 0 0 3px rgba(159,238,255,.1); }
.account-form button,.steam-button { display:grid; min-height:47px; margin-top:5px; place-items:center; color:#06222d; border:0; background:var(--ice); cursor:pointer; font-size:.7rem; font-weight:800; letter-spacing:.05em; text-decoration:none; }
.account-form button:hover,.steam-button:hover { background:#dffbff; }
.account-switch { margin:21px 0 0; color:#9bb4bf; font-size:.82rem; }.account-switch a,.account-back { color:var(--ice); font-weight:800; text-decoration:none; }
.form-error,.form-notice { margin:0 0 16px; padding:11px; font-size:.78rem; line-height:1.5; }
.form-error { color:#ffd2d2; border:1px solid rgba(255,120,120,.38); background:rgba(125,25,32,.2); }.form-notice { color:#d7fbff; border:1px solid rgba(159,238,255,.3); background:rgba(62,208,255,.08); }
.profile-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 0; border-bottom:1px solid var(--line); }.profile-row span { color:#92abb5; font-size:.66rem; font-weight:800; letter-spacing:.08em; }.profile-row b { color:#e0f7ff; font-size:.78rem; text-align:right; }
.profile-card .steam-button { width:100%; margin-top:22px; }.logout-button { width:100%; min-height:43px; margin-top:11px; color:#b7cbd4; border:1px solid var(--line); background:transparent; cursor:pointer; font-size:.68rem; font-weight:800; }.account-back { display:block; margin-top:23px; font-size:.71rem; letter-spacing:.04em; }

@media (max-width:800px) {
  .wrap,.page-wrap { width:calc(100% - 28px); }
  .home .wrap { width:100%; }
  .home .topbar,.home footer { padding-right:14px; padding-left:14px; }
  .topbar { min-height:62px; flex-wrap:wrap; padding-top:10px; }
  .brand { font-size:.9rem; }
  nav { display:flex; order:3; width:100%; gap:22px; padding:14px 0 11px; overflow-x:auto; scrollbar-width:none; }
  nav::-webkit-scrollbar { display:none; }
  nav a { flex:0 0 auto; font-size:.7rem; }
  nav a::after { bottom:-7px; }
  .hero,.hero-copy { min-height:calc(100svh - 112px); }
  .hero-copy { width:calc(100% - 28px); }
  .hero-copy { justify-content:center; padding:45px 0; }
  .hero { background-position:58% center; }
  .eyebrow { font-size:.67rem; }
  h1 { font-size:clamp(2.65rem,14vw,4.5rem); line-height:1; }
  .lead { font-size:1rem; }
  .connect-card { padding:15px; }
  .server-address { font-size:1.05rem; }
  .copy-btn { min-height:44px; font-size:.7rem; }
  .home-servers { width:100%; margin-top:23px; }
  .home-server-grid { grid-template-columns:1fr; }
  .home-server { min-height:82px; }
  .page-main { padding:48px 0; }
  .page-main h1 { font-size:clamp(2.35rem,12vw,3.7rem); }
  .page-lead { margin-bottom:30px; font-size:1rem; }
  .server-picker { padding:16px; }
  .picker-heading { align-items:flex-start; flex-direction:column; gap:6px; }
  .server-options { grid-template-columns:1fr; }
  .server-option { min-height:67px; }
  .stat-grid,.case-grid,.donate-grid,.about-grid { grid-template-columns:1fr; }
  .wide-panel { align-items:flex-start; flex-direction:column; }
  .status-list { width:100%; }
  .donate-card { min-height:250px; }
  .donate-card > p:not(.tier) { min-height:auto; }
  .case-card { min-height:260px; }
  .case-card::before { top:30px; }
  .roadmap li { grid-template-columns:35px 1fr; }
  .roadmap li b { grid-column:2; }
  footer { min-height:84px; gap:12px; font-size:.72rem; }
  .owner { font-size:.62rem; }
  .account-shell { align-items:start; padding-top:100px; }.account-brand { top:20px; left:20px; }.account-card { padding:25px 20px; }.profile-row { align-items:flex-start; flex-direction:column; gap:6px; }.profile-row b { text-align:left; }
}
