/* Shared look of the login, account and landing pages (the console and the
   share page carry their own copy of these tokens). */
:root{
  --bg:#0b0e13; --bg-sunk:#10151d; --surface-1:#151b25; --surface-2:#1d2632; --surface-3:#232e3c;
  --fg:#f3efe8; --fg-muted:rgba(243,239,232,.66); --fg-faint:rgba(243,239,232,.52);
  --line:rgba(234,225,210,.11); --line-strong:rgba(234,225,210,.19);
  --warm:#e3ad6e; --warm-lift:#ecbb7c; --warm-deep:#c98a45; --accent:#8fbfe0; --danger:#e8776e; --ok:#8fd1a4; --ink:#1a1305;
  --grad-warm:linear-gradient(180deg,var(--warm-lift),var(--warm-deep));
  --serif:'Fraunces','Iowan Old Style','Georgia',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',sans-serif;
  --r-sm:12px; --r-md:16px; --r-lg:20px; --r-xl:28px; --r-full:999px;
  --ease:cubic-bezier(.3,.8,.4,1);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--warm)}
.serif{font-family:var(--serif)}
.brand{display:inline-flex;align-items:center;gap:9px;font:600 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fg);text-decoration:none}
.brand i{width:9px;height:9px;border-radius:50%;background:var(--grad-warm);box-shadow:0 0 14px rgba(227,173,110,.75)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-full);border:0;
  background:var(--grad-warm);color:var(--ink);font:600 15px/1 var(--sans);text-decoration:none;cursor:pointer;
  box-shadow:0 12px 24px -12px rgba(227,173,110,.6);transition:transform .15s var(--ease),filter .15s}
.btn:hover{filter:brightness(1.05)} .btn:active{transform:scale(.98)}
.btn:disabled{opacity:.5;cursor:default}
.btn.quiet{background:var(--surface-2);color:var(--fg);box-shadow:none;border:1px solid var(--line)}
.btn.quiet:hover{background:var(--surface-3)}
.btn.danger{background:transparent;color:var(--danger);border:1px solid rgba(232,119,110,.4);box-shadow:none}
.btn.small{min-height:34px;padding:0 13px;font-size:13px}

.field{display:block;margin:0 0 14px}
.field span{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:6px}
input,select{width:100%;min-height:46px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-sunk);
  color:var(--fg);font:16px var(--sans);outline:none;transition:border-color .15s}
input:focus,select:focus{border-color:var(--warm)}
.error{color:var(--danger);font-size:14px;min-height:1.4em;margin:6px 0 0}
.okmsg{color:var(--ok);font-size:14px;min-height:1.4em;margin:6px 0 0}
.card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.muted{color:var(--fg-muted)} .faint{color:var(--fg-faint)}
.legal{font-size:12px;color:var(--fg-faint)} .legal a{color:var(--fg-muted);text-decoration:none}
.hidden{display:none!important}
