/*
 * URSY.cloud login entry point ("Continue with URSY ID").
 * Self-contained, token-driven, no JS. Dark mode by prefers-color-scheme AND
 * the estate-canonical [data-theme="dark"] attribute (no flash, no inline script).
 * Colour values are the canon tokens (reference-ursy-ai-theme/tokens.css).
 */
:root {
  --bg: #fbfbfa; --ink: #131518; --ink2: #5c6167; --ink3: #686c72;
  --line: rgba(18,20,24,.08); --line2: rgba(18,20,24,.15); --hover: rgba(18,20,24,.05);
  --accent: #9b521c; --accent-visual: #b56a30; --accent-soft: rgba(181,106,48,.11);
  --card: rgba(255,255,255,.82); --lift: 0 30px 90px -30px rgba(16,18,22,.5);
  --tag-ink: #7d4319;
  --font-ui: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius-s: 8px; --radius-m: 14px; --radius-l: 22px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #050506; --ink: #f6f4f1; --ink2: #a5abb2; --ink3: #8e959d;
    --line: rgba(255,255,255,.085); --line2: rgba(255,255,255,.17); --hover: rgba(255,255,255,.06);
    --accent: #d68a4a; --accent-visual: #ff8a3d; --accent-soft: rgba(255,138,61,.16);
    --card: rgba(17,17,20,.8); --lift: 0 34px 100px -30px rgba(0,0,0,.85);
    --tag-ink: #d68a4a;
  }
}
:root[data-theme="dark"] {
  --bg: #050506; --ink: #f6f4f1; --ink2: #a5abb2; --ink3: #8e959d;
  --line: rgba(255,255,255,.085); --line2: rgba(255,255,255,.17); --hover: rgba(255,255,255,.06);
  --accent: #d68a4a; --accent-visual: #ff8a3d; --accent-soft: rgba(255,138,61,.16);
  --card: rgba(17,17,20,.8); --lift: 0 34px 100px -30px rgba(0,0,0,.85);
  --tag-ink: #d68a4a;
}

* { box-sizing: border-box; }
html, body.ursy-login { min-height: 100%; margin: 0; }
body.ursy-login {
  min-height: 100svh;
  display: grid; place-items: center; padding: 32px 20px;
  color: var(--ink); background: var(--bg);
  font-family: var(--font-ui);
  -webkit-font-smoothing: antialiased;
  background-image:
    radial-gradient(circle at 84% 12%, var(--accent-soft), transparent 30rem),
    radial-gradient(circle at 8% 92%, rgba(66,105,167,.08), transparent 32rem);
}

.ursy-login__card {
  width: 100%; max-width: 420px;
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius-l); box-shadow: var(--lift);
  padding: clamp(28px, 5vw, 40px);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
}

.ursy-login__mark { display: flex; align-items: baseline; gap: 2px; margin-bottom: 22px; letter-spacing: .01em; }
.ursy-login__mark strong { font-size: 20px; font-weight: 800; }
.ursy-login__mark span { font-family: var(--font-mono); font-size: 12px; color: var(--ink3); letter-spacing: .08em; }

.ursy-login__title { margin: 0 0 6px; font-size: clamp(1.5rem, 4vw, 1.9rem); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; }
.ursy-login__lead { margin: 0 0 24px; font-size: .95rem; line-height: 1.55; color: var(--ink2); }

.ursy-login__btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; min-height: 48px; padding: 0 18px;
  border-radius: var(--radius-s); border: 1px solid transparent;
  font-family: var(--font-ui); font-size: 1rem; font-weight: 600; text-decoration: none;
  cursor: pointer; transition: transform .15s ease-out, filter .15s ease-out;
}
.ursy-login__btn--primary { background: var(--accent-visual); color: #fff; }
.ursy-login__btn--primary:hover { filter: brightness(1.05); transform: translateY(-1px); }
.ursy-login__btn--ghost { background: transparent; border-color: var(--line2); color: var(--ink); margin-top: 4px; }
.ursy-login__btn--ghost:hover { background: var(--hover); }
.ursy-login__btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ursy-login__btn .u-mark { font-family: var(--font-mono); font-weight: 700; font-size: 13px; opacity: .9; }

.ursy-login__status {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin: 14px 2px 0; font-size: .82rem; line-height: 1.5; color: var(--ink3);
}
.ursy-login__pill {
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .1em;
  color: var(--tag-ink); background: var(--accent-soft);
  border-radius: 999px; padding: 3px 9px; white-space: nowrap;
}

.ursy-login__sep { display: flex; align-items: center; gap: 12px; margin: 22px 0 18px; color: var(--ink3); font-size: .78rem; }
.ursy-login__sep::before, .ursy-login__sep::after { content: ""; flex: 1; height: 1px; background: var(--line); }

.ursy-login__preview { margin: 0; text-align: center; }
.ursy-login__preview a { color: var(--ink2); font-size: .84rem; text-decoration: none; border-bottom: 1px solid var(--line2); padding-bottom: 1px; }
.ursy-login__preview a:hover { color: var(--accent); }
.ursy-login__preview small { display: block; margin-top: 6px; color: var(--ink3); font-size: .74rem; }

.ursy-login__foot { margin: 26px 0 0; text-align: center; font-size: .78rem; color: var(--ink3); }
.ursy-login__foot a { color: var(--ink2); text-decoration: none; }
.ursy-login__foot a:hover { color: var(--accent); }

@media (prefers-reduced-motion: reduce) {
  .ursy-login__btn { transition: none; }
  .ursy-login__btn--primary:hover { transform: none; }
}
