  .nw-auth {
    color-scheme: light dark;
    --auth-panel: rgba(248, 245, 234, .88);
    --auth-well: #fffdf7;
    --auth-line: rgba(19, 48, 43, .18);
    --auth-ink: #12231f;
    --auth-muted: #52645e;
    --auth-green: #263f35;
    --auth-cyan: #168a8d;
    --auth-amber: #8d6428;
    --auth-focus: #087d83;
    --auth-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  }
  .nw-auth *, .nw-auth *::before, .nw-auth *::after { box-sizing: border-box; }
  .nw-auth body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 44px; color: var(--auth-ink); font: 16px/1.5 Inter, ui-sans-serif, system-ui, sans-serif; }
  .nw-auth .auth-shell { position: relative; display: grid; grid-template-columns: minmax(420px, 1.15fr) minmax(390px, .85fr); width: min(1120px, 100%); min-height: 650px; overflow: hidden; }
  .nw-auth .brand-stage { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; overflow: hidden; }
  .nw-auth .hero-mark { position: relative; z-index: 1; width: min(100%, 540px); height: auto; aspect-ratio: 1; object-fit: contain; align-self: center; filter: drop-shadow(0 30px 38px rgba(0, 0, 0, .32)); -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0 72%, rgba(0,0,0,.98) 84%, rgba(0,0,0,.94) 100%); mask-image: radial-gradient(circle at 50% 50%, #000 0 72%, rgba(0,0,0,.98) 84%, rgba(0,0,0,.94) 100%); }
  .nw-auth .machine-life { position: absolute; z-index: 1; left: 50%; top: 48%; width: min(29vw, 250px); aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; pointer-events: none; opacity: .28; }
  .nw-auth .machine-life::before { content: ""; position: absolute; left: 50%; top: 50%; width: 42%; height: 1px; transform-origin: left center; background: linear-gradient(90deg, rgba(202,151,55,.62), transparent); animation: nw-auth-watch-sweep 54s linear infinite; }
  .nw-auth .machine-life::after { content: ""; position: absolute; right: 13%; top: 33%; width: 5px; height: 5px; border-radius: 50%; background: #61d7c8; box-shadow: 0 0 0 2px rgba(97,215,200,.08), 0 0 8px rgba(97,215,200,.42); animation: nw-auth-trace-breathe 16s ease-in-out infinite; }
  .nw-auth .box { width: 100%; align-self: center; }
  .nw-auth label { display: block; }
  .nw-auth input { width: 100%; background: var(--auth-well); border: 1px solid var(--auth-line); color: var(--auth-ink); }
  .nw-auth input:focus { border-color: rgba(22,138,141,.42); background-image: linear-gradient(90deg, rgba(22,138,141,.2) 0 2px, transparent 2px), linear-gradient(90deg, transparent 11px, rgba(22,138,141,.34) 11px 16px, transparent 16px); background-position: 0 0, 0 7px; background-size: 100% 100%, 100% 1px; background-repeat: no-repeat; box-shadow: inset 2px 0 rgba(22,138,141,.16), inset 0 0 11px rgba(22,138,141,.045); }
  .nw-auth input:focus-visible, .nw-auth button:focus-visible, .nw-auth a:focus-visible { outline: 2px solid var(--auth-focus); outline-offset: 2px; }
  .nw-auth .password-control { position: relative; }
  .nw-auth .password-control input { padding-right: 68px; }
  .nw-auth .show-password { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: auto; margin: 0; padding: 0; border: 0; background: none; color: var(--auth-muted); }
  .nw-auth .box > button[type="submit"] { width: 100%; color: color-mix(in srgb,#f1e8d2 86%,var(--auth-amber)); background: color-mix(in srgb, var(--auth-green) 76%, var(--auth-amber)); border: 1px solid color-mix(in srgb, var(--auth-amber) 52%, var(--auth-green)); box-shadow: inset 0 1px rgba(255,255,255,.045); font: 620 11px var(--auth-mono); letter-spacing: .11em; text-transform: uppercase; }
  .nw-auth .box > button[type="submit"]:hover { background: color-mix(in srgb, var(--auth-green) 66%, var(--auth-amber)); border-color: var(--auth-amber); }
  .nw-auth .turnstile-wrap:empty { display: none; }
  .nw-auth .turnstile-wrap:not(:empty) { display: flex; justify-content: center; min-width: 300px; margin: 14px 0 -10px; }
  .nw-auth .turnstile-wrap .cf-turnstile { width: 100%; }
  .nw-auth .err[role="alert"]:empty { min-height: 20px; }
  .nw-auth .auth-shell.opening { animation: nw-auth-window-open .2s ease-out forwards; }
  .nw-auth .exterior { position: fixed; z-index: 2; font: 10px var(--auth-mono); letter-spacing: .14em; text-transform: uppercase; }
  @keyframes nw-auth-watch-sweep { to { transform: rotate(1turn); } }
  @keyframes nw-auth-trace-breathe { 0%,76%,100% { opacity: .3; } 82% { opacity: .78; } 88% { opacity: .36; } }
  @keyframes nw-auth-window-open { to { transform: scale(1.012); filter: brightness(1.035); } }
  @media (max-width: 860px) {
    .nw-auth body { padding: 62px 18px; }
    .nw-auth .auth-shell { grid-template-columns: 1fr; min-height: 0; }
    .nw-auth .brand-stage { min-height: 250px; }
    .nw-auth .hero-mark { width: 260px; }
  }
  @media (max-width: 480px) {
    .nw-auth .auth-shell { border-radius: 20px; }
    .nw-auth .brand-stage { min-height: 210px; }
    .nw-auth .hero-mark { width: 220px; }
    .nw-auth .turnstile-wrap:not(:empty) { min-width: 0; }
  }
  @media (prefers-reduced-motion: reduce) {
    .nw-auth .auth-shell, .nw-auth .auth-shell.opening, .nw-auth .machine-life::before, .nw-auth .machine-life::after { animation: none; transform: none; }
  }
