
  :root{
    --accent:#6fd3ff;
    --accent2:#ffb86c;
    --panel:rgba(8,14,28,.62);
    --border:rgba(120,190,255,.22);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%;overflow:hidden;background:#03040a;color:#e8f1ff;
    font-family:'Segoe UI',system-ui,-apple-system,Helvetica,Arial,sans-serif;}
  canvas{display:block}

  /* ---------- loader ---------- */
  #loader{position:fixed;inset:0;z-index:50;background:#03040a;display:grid;
    place-content:center;justify-items:center;gap:22px;transition:opacity .8s ease}
  #loader.hide{opacity:0;pointer-events:none}
  .ring{width:64px;height:64px;border:2px solid rgba(255,255,255,.12);
    border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  #loader p{letter-spacing:.35em;font-size:11px;color:#7f93b5;text-transform:uppercase}

  /* ---------- chrome ---------- */
  .ui{position:fixed;z-index:10}
  header{top:0;left:0;right:0;display:flex;align-items:center;
    justify-content:space-between;padding:22px 34px;
    background:linear-gradient(#03040abb,transparent)}
  .logo{font-weight:700;letter-spacing:.42em;font-size:15px}
  .logo span{color:var(--accent)}
  nav{display:flex;gap:26px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
  nav a{color:#a9bcd8;text-decoration:none;transition:color .25s}
  nav a:hover{color:var(--accent)}

  #hero{left:34px;bottom:44px;max-width:430px;transition:opacity .5s,transform .5s}
  #hero.dim{opacity:0;transform:translateY(18px);pointer-events:none}
  #hero h1{font-size:clamp(34px,5vw,58px);line-height:1.02;font-weight:800;letter-spacing:-.02em}
  #hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--accent),var(--accent2));
    -webkit-background-clip:text;background-clip:text;color:transparent}
  #hero p{margin-top:14px;color:#9db0cc;font-size:14px;line-height:1.65}
  .hint{margin-top:22px;font-size:11px;letter-spacing:.2em;color:#5f7characters}
  .hint{color:#61748f;text-transform:uppercase}

  /* ---------- planet dock ---------- */
  #dock{right:24px;top:50%;transform:translateY(-50%);display:flex;
    flex-direction:column;gap:8px}
  #dock button{background:var(--panel);border:1px solid var(--border);color:#cfe0f5;
    backdrop-filter:blur(10px);padding:9px 16px;border-radius:999px;cursor:pointer;
    font-size:11px;letter-spacing:.14em;text-transform:uppercase;width:130px;
    text-align:left;transition:.25s}
  #dock button:hover,#dock button.active{border-color:var(--accent);color:#fff;
    transform:translateX(-6px)}

  /* ---------- info card ---------- */
  #card{left:34px;bottom:44px;width:400px;max-width:calc(100vw - 68px);
    background:var(--panel);border:1px solid var(--border);border-radius:18px;
    backdrop-filter:blur(16px);padding:26px 28px;opacity:0;transform:translateY(22px);
    pointer-events:none;transition:.45s cubic-bezier(.2,.8,.2,1)}
  #card.show{opacity:1;transform:none;pointer-events:auto}
  #card h2{font-size:27px;letter-spacing:.02em}
  #card .tag{display:inline-block;margin-top:8px;font-size:10px;letter-spacing:.2em;
    text-transform:uppercase;color:#03040a;background:var(--accent);
    padding:3px 10px;border-radius:99px}
  #card .desc{margin-top:14px;font-size:13.5px;line-height:1.7;color:#a8bbd6}
  .stats{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .stat{border-top:1px solid rgba(255,255,255,.1);padding-top:8px}
  .stat b{display:block;font-size:15px;color:#fff;font-weight:600}
  .stat i{font-style:normal;font-size:10px;letter-spacing:.15em;
    text-transform:uppercase;color:#6d80a0}
  #close{position:absolute;top:16px;right:18px;background:none;border:0;
    color:#7d90ae;font-size:20px;cursor:pointer;line-height:1}
  #close:hover{color:#fff}

  footer{bottom:0;left:0;right:0;display:flex;justify-content:space-between;
    padding:16px 34px;font-size:10px;letter-spacing:.22em;color:#4f6280;
    text-transform:uppercase;pointer-events:none}

  @media(max-width:820px){
    nav{display:none}
    #dock{right:12px;gap:6px}
    #dock button{width:104px;padding:7px 12px;font-size:10px}
    #hero,#card{left:18px;right:18px;bottom:52px;width:auto;max-width:none}
  }