/* Thoth AI authenticated product design system */
:root {
  --thoth-bg: #080a0d;
  --thoth-surface: #10141a;
  --thoth-surface-2: #171c23;
  --thoth-text: #f4f0e6;
  --thoth-muted: #9ba4ad;
  --thoth-gold: #d9b55a;
  --thoth-gold-strong: #f0ca69;
  --thoth-signal: #55c8dc;
  --thoth-line: #2b3139;
  --thoth-danger: #ef7d73;
  --thoth-success: #71c99a;
  --thoth-radius: 4px;
  --ink: var(--thoth-text);
  --muted: var(--thoth-muted);
  --paper: var(--thoth-bg);
  --panel: var(--thoth-surface);
  --ai: #162129;
  --human: #211d16;
  --accent: var(--thoth-gold);
  --line: var(--thoth-line);
  --danger: var(--thoth-danger);
}

* { box-sizing: border-box; }
html { color-scheme: dark; }
body {
  margin: 0;
  color: var(--thoth-text);
  background: radial-gradient(circle at 12% 0%, rgba(217,181,90,.07), transparent 28rem), var(--thoth-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}
a { color: var(--thoth-gold-strong); }
a:hover { color: white; }
:focus-visible { outline: 2px solid var(--thoth-signal); outline-offset: 3px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .7rem 1rem; background: var(--thoth-gold); color: #080a0d; }
.skip-link:focus { top: 1rem; }

.app-shell-header { min-height: 72px; display: flex; align-items: center; gap: 2rem; padding: 0 2rem; border-bottom: 1px solid var(--thoth-line); background: rgba(8,10,13,.96); position: sticky; top: 0; z-index: 50; }
.app-brand { display: flex; align-items: center; gap: .65rem; text-decoration: none; color: var(--thoth-text); white-space: nowrap; }
.app-brand__mark { color: var(--thoth-gold); font-size: 1.8rem; }
.app-brand strong, .app-brand small { display: block; letter-spacing: .12em; }
.app-brand small { color: var(--thoth-muted); font-size: .55rem; }
.app-nav { display: flex; gap: 1.25rem; flex: 1; justify-content: center; }
.app-nav a { color: var(--thoth-muted); text-decoration: none; font-size: .82rem; letter-spacing: .05em; }
.app-nav a:hover { color: var(--thoth-text); }
.app-signout { background: transparent; border: 1px solid var(--thoth-line); color: var(--thoth-muted); padding: .55rem .8rem; cursor: pointer; }

.onboarding, .dare-home, .dashboard, .applications, .application-show, .interview-preparation-show, .mock-interview-show, .mock-interview-evaluation, .career-funnel, .source-intelligence, .auth-shell {
  max-width: 68rem; margin: 0 auto; padding: 2.5rem 1.25rem 4rem;
}
.source-intelligence { max-width: 72rem; }

.onboarding__brand, .dashboard__brand, .thoth-kicker { margin: 0; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--thoth-gold); font-weight: 700; }
.onboarding__header h1, .dare-home h1, .dashboard__header h1, .auth-card h1 { margin: .35rem 0 .5rem; font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.05; }
.dashboard__lede, .dashboard__empty-hint, .onboarding__lede { color: var(--thoth-muted); }

section, .auth-card, .job-card, .application-card, .interview-preparation-card { border-color: var(--thoth-line); }
.auth-shell { min-height: calc(100vh - 72px); display: grid; place-items: center; }
.auth-card { width: min(100%, 34rem); background: var(--thoth-surface); border: 1px solid var(--thoth-line); padding: clamp(1.5rem, 4vw, 3rem); }
.thoth-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.field { display: grid; gap: .35rem; }
.field label { color: var(--thoth-muted); font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }
input, textarea, select { width: 100%; background: #0b0e12; color: var(--thoth-text); border: 1px solid var(--thoth-line); padding: .75rem .85rem; border-radius: var(--thoth-radius); }
.auth-alternate { margin-top: 1.4rem; color: var(--thoth-muted); }
.thoth-alert, .notice, .alert { max-width: 68rem; margin: 1rem auto 0; padding: .8rem 1rem; border: 1px solid var(--thoth-line); background: var(--thoth-surface); }
.thoth-alert--error, .alert { border-color: color-mix(in srgb, var(--thoth-danger) 55%, var(--thoth-line)); }
.notice { border-color: color-mix(in srgb, var(--thoth-success) 55%, var(--thoth-line)); }

.button, input[type="submit"], button { border-radius: var(--thoth-radius); }
.button--primary, .button.button--primary, input.button--primary { background: var(--thoth-gold); color: #080a0d; border: 1px solid var(--thoth-gold); font-weight: 800; letter-spacing: .05em; padding: .72rem 1rem; }
.button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; cursor: pointer; padding: .65rem .9rem; border: 1px solid var(--thoth-line); background: var(--thoth-surface-2); color: var(--thoth-text); }

.dashboard__counter-grid, .dashboard__job-grid { display: grid; gap: 1rem; }
.dashboard__counter-grid { grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
.dashboard__counter-grid > div { padding: 1rem; background: var(--thoth-surface); border: 1px solid var(--thoth-line); }
.dashboard__counter-grid dt { color: var(--thoth-muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .07em; }
.dashboard__counter-grid dd { margin: .35rem 0 0; color: var(--thoth-gold-strong); font-size: 1.7rem; }

@media (max-width: 860px) {
  .app-shell-header { align-items: flex-start; padding: 1rem; flex-wrap: wrap; gap: .75rem; }
  .app-nav { order: 3; width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: .35rem; }
  .app-signout { margin-left: auto; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* Brand kit imagery */
.app-brand__mark img { width: 34px; height: 34px; object-fit: contain; display: block; }
