    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --space:  #060810;
      --gold:   #e8a835;
      --line:   rgba(232,168,53,0.09);
      --dim:    rgba(232,168,53,0.3);
      --faint:  rgba(232,168,53,0.12);
      --mono: 'JetBrains Mono', 'Fira Mono', 'Courier New', monospace;
    }

    html, body { height: 100%; }

    body {
      background: var(--space);
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      overflow-x: hidden;
      font-family: var(--mono);
    }

    /* ─── STAR FIELD ─── */
    .stars {
      position: fixed;
      inset: 0;
      z-index: 0;
      pointer-events: none;
    }

    .star {
      position: absolute;
      background: #fff;
      border-radius: 50%;
      animation: twinkle var(--dur, 3s) var(--delay, 0s) ease-in-out infinite alternate;
    }

    @keyframes twinkle {
      from { opacity: var(--min, 0.1); }
      to   { opacity: var(--max, 0.8); }
    }

    /* ─── HORIZON GLOW ─── */
    .horizon {
      position: fixed;
      bottom: 0; left: 0; right: 0;
      height: 35vh;
      background: radial-gradient(ellipse 80% 100% at 50% 100%, rgba(232,168,53,0.05) 0%, transparent 70%);
      z-index: 0;
      pointer-events: none;
    }

    /* ─── DRIFTING OBJECT ─── */
    .drifter {
      position: fixed;
      border-radius: 50%;
      background: rgba(255,255,255,0.92);
      z-index: 1;
      pointer-events: none;
      opacity: 0;
    }

    /* ─── MAIN ─── */
    main {
      position: relative;
      z-index: 1;
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 32px 24px 24px;
      gap: 28px;
      text-align: center;
    }

    /* ─── DOMAIN DISPLAY ─── */
    .domain-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      animation: fadein 1s ease both;
    }

    .domain-sub {
      font-size: 10px;
      font-weight: 300;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(232,168,53,0.4);
    }

    .domain-name {
      font-size: clamp(1rem, 4vw, 1.375rem);
      font-weight: 400;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(232,168,53,0.85);
    }

    @keyframes fadein {
      from { opacity: 0; transform: translateY(8px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    /* ─── GATE FORM ─── */
    .gate {
      width: 100%;
      max-width: 280px;
      animation: fadein 1s 0.3s ease both;
    }

    .gate-label {
      font-size: 11px;
      font-weight: 300;
      letter-spacing: 0.1em;
      color: rgba(232,168,53,0.5);
      margin-bottom: 14px;
      text-transform: lowercase;
    }

    .gate-field {
      display: flex;
      align-items: baseline;
      border-bottom: 1px solid rgba(232,168,53,0.4);
      padding-bottom: 2px;
      transition: border-color 0.2s;
    }
    .gate-field:focus-within {
      border-color: rgba(232,168,53,0.85);
    }

    .gate-field input[type="password"] {
      flex: 1;
      background: transparent;
      border: none;
      color: rgba(232,168,53,0.9);
      font-family: var(--mono);
      font-size: 13px;
      font-weight: 300;
      padding: 6px 0;
      outline: none;
      caret-color: var(--gold);
      letter-spacing: 0.12em;
    }
    .gate-field input[type="password"]::placeholder {
      color: rgba(232,168,53,0.3);
      letter-spacing: 0.08em;
    }

    .gate-field button {
      background: none;
      border: none;
      color: rgba(232,168,53,0.5);
      font-family: var(--mono);
      font-size: 13px;
      font-weight: 300;
      padding: 6px 0 6px 14px;
      cursor: pointer;
      transition: color 0.15s;
      white-space: nowrap;
    }
    .gate-field button:hover { color: rgba(232,168,53,0.9); }

    .gate-error {
      font-size: 10px;
      font-weight: 300;
      color: rgba(232,168,53,0.5);
      margin-top: 10px;
      letter-spacing: 0.06em;
      min-height: 16px;
      display: none;
    }

    /* ─── FOOTER ─── */
    footer {
      position: relative;
      z-index: 2;
      border-top: 1px solid rgba(232,168,53,0.08);
      padding: 16px 24px 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      font-weight: 300;
      color: rgba(232,168,53,0.3);
      letter-spacing: 0.05em;
    }

    @media (max-width: 480px) {
      main { padding: 20px 20px 16px; gap: 22px; }
    }
