/* Field Notes: one editorial hierarchy, in charcoal and paper. */
:root {
  color-scheme: dark;
  --obsidian-900: #111a16; --obsidian-800: #18241e; --obsidian-700: #223128;
  --obsidian-600: #415348; --obsidian-500: #829286; --obsidian-edge: #829286;
  --bone-100: #f3f0e6; --bone-300: #d2d1c3; --bone-500: #b2b9ab;
  --bone-600: #a7b19f; --bone-700: #a7b19f;
  --ember: #e88a53; --ember-hover: #f19d6b; --ember-light: #efa77e;
  --cut-ruby: #ed9fa5; --signal: #8ed7c5; --signal-dim: #b0d6c5;
  --font-serif: 'Source Serif 4', Georgia, serif;
  --font-sans: 'Source Serif 4', Georgia, serif;
  --font-mono: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-display: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px;
  --field-line: #5e7164; --field-accent: #8ed7c5; --field-accent-hover: #b0e7d7;
  --field-on-accent: #111a16; --field-on-cta: #111a16;
}
:root[data-theme="light"] {
  color-scheme: light;
  --obsidian-900: #f6f2e8; --obsidian-800: #fcf9f1; --obsidian-700: #e9ebdf;
  --obsidian-600: #b8c3b5; --obsidian-500: #748677; --obsidian-edge: #748677;
  --bone-100: #203a2e; --bone-300: #384b3e; --bone-500: #526352;
  --bone-600: #596653; --bone-700: #596653;
  --ember: #b84117; --ember-hover: #963311; --ember-light: #963311;
  --cut-ruby: #9d3543; --signal: #23584a; --signal-dim: #315e4a;
  --field-line: #89998a; --field-accent: #23584a; --field-accent-hover: #183f35;
  --field-on-accent: #fffdf7; --field-on-cta: #fffdf7;
}
body { font-size: 16px; }
.grain-overlay { opacity: .012; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 10000; padding: 12px 18px; background: var(--bone-100); color: var(--obsidian-900); }
.skip-link:focus { top: 12px; }
.site-header { max-width: 1440px; margin: 0 auto; width: calc(100% - 96px); min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--field-line); }
.site-wordmark { font: 900 44px/.95 var(--font-display); text-transform: uppercase; letter-spacing: -.035em; color: var(--bone-100); }
.site-links { display: flex; gap: 28px; align-items: center; }
.site-links > a { color: var(--bone-100); font-size: 18px; font-weight: 600; }
.site-links .site-signin { background: var(--field-accent); color: var(--field-on-accent); padding: 9px 25px; border-radius: 6px; }
.theme-control { display: flex; align-items: center; gap: 8px; font: 600 14px var(--font-display); letter-spacing: .035em; }
.theme-control select { width: 90px; min-height: 44px; padding: 8px; font: 500 16px var(--font-display); }
.app-shell { max-width: 1440px; margin: 0 auto; min-height: calc(100dvh - 96px); }
.page-content { padding: 40px 32px; }
.nav { background: var(--obsidian-900); backdrop-filter: none; }
.nav__item { font-family: var(--font-display); font-size: 14px; font-weight: 600; }
.nav__icon { width: 22px; height: 22px; }
.nav__item--active { color: var(--signal); }
.nav__item--active::after { background: var(--signal); }
.app-footer { color: var(--bone-500); }
.app-footer a { display: inline-block; padding: 6px 4px; }
.btn, button, select, input, .landing-button { font-family: var(--font-display); font-size: 17px; }
.btn--primary, .login-form__btn, .quick-add__btn, .landing-button--primary { color: var(--field-on-cta); }
.btn--primary:hover, .login-form__btn:hover { background: var(--ember-hover); color: var(--field-on-cta); opacity: 1; }
.digest-empty .btn--primary { background: var(--field-accent); border-color: var(--field-accent); color: var(--field-on-accent); }
.digest-empty .btn--primary:hover, .digest-empty .btn--primary:focus-visible { background: var(--field-accent-hover); border-color: var(--field-accent-hover); color: var(--field-on-accent); }
.page-header__title, .dashboard__greeting, .alerts-page__title { font-family: var(--font-serif); font-weight: 500; font-size: clamp(28px, 3.2vw, 42px); }
.page-header__subtitle, .static-page .page-header__subtitle { font-family: var(--font-serif); font-size: 16px; text-transform: none; letter-spacing: 0; line-height: 1.6; }
.meta, .form-group__label, .login-form__label, .stat-card__label, .stat-card__unit, .watchlist-row__source, .watchlist-row__currency, .dashboard__eyebrow { font-size: 13px; letter-spacing: .055em; }
.static-page .page-header__kicker { font-size: 13px; }
.form-group__hint, .login-page__notice, .card-detail__subtitle { font-size: 15px; line-height: 1.6; }
.form-group__label { font-weight: 600; }
.login-page { min-height: auto; max-width: 480px; padding: 48px 0; margin: 0 auto; gap: 24px; }
.login-page__logo { font-family: var(--font-serif); font-size: 36px; }
.login-page__tagline { font-family: var(--font-serif); font-size: 16px; letter-spacing: 0; text-transform: none; }
.login-page__trust { margin: 8px 0; }
body.field-notes .onboard-shell { min-height: auto; padding: 40px 0; }
body.field-notes .onboard-step { animation: none; }
body.field-notes .trust-strip { position: static; margin-top: 32px; padding: 0; flex-wrap: wrap; gap: 8px; }
body.field-notes .progress-dots { position: static; transform: none; margin-bottom: 24px; }
body.field-notes .onboard-cta { display: inline-flex; align-items: center; min-height: 44px; color: var(--field-on-cta); border-radius: var(--radius-md); font: 500 17px var(--font-display); }
body.field-notes .onboard-cta--ghost { color: var(--bone-100); }
.prose { max-width: 65ch; }
.static-page { max-width: 780px; }
.settings-section, .stat-card, .alert-card, .watchlist-row, .card-picker, .card-suggest, .pricing-card { box-shadow: none; border-color: var(--obsidian-600); background: var(--obsidian-800); }
.alpha-status { background: var(--obsidian-800); border: 1px solid var(--obsidian-600); padding: 16px 20px; margin-bottom: 24px; }
.alpha-status__dot { display: none; }
.alpha-status__copy { font-size: 15px; }
.watchlist-source-note { padding: 16px 20px; background: var(--obsidian-800); border-color: var(--obsidian-600); }
.watchlist-source-note__body { font-size: 15px; line-height: 1.6; }
.dashboard__primary-action { background: var(--field-accent); color: var(--field-on-accent); border-color: var(--field-accent); font-size: 16px; }
.dashboard__primary-action:hover { background: var(--field-accent-hover); opacity: 1; }
.stat-card { padding: 20px; min-height: 130px; }
.dashboard__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard__quick-nav a { font-size: 16px; min-height: 44px; }
.stat-card__note { font-family: var(--font-serif); font-size: 13px; line-height: 1.5; }
.watchlist-row { gap: 20px; padding: 20px; }
.watchlist-row__title { font-size: 20px; }
.watchlist-row__set { display: block; font-size: 14px; margin-top: 4px; }
.watchlist-row__meta, .watchlist-row__evaluation { font-size: 13px; }
.watchlist-row__primary-price { font-size: 28px; }
.watchlist-row__actions { min-width: 120px; }
.watchlist-row__check-btn { font-size: 14px; background: transparent; color: var(--bone-100); border-color: var(--obsidian-edge); }
.watchlist-row__actions > form:first-child button { background: var(--field-accent); color: var(--field-on-accent); border-color: var(--field-accent); }
.watchlist-row__edit-link { font-size: 14px; }
.card-picker__set, .card-suggest__set { font-size: 14px; }
.suggestion-chip { min-height: 32px; padding: 5px 12px; font: 500 15px var(--font-display); }
.suggestion-row__label { font-size: 13px; }
.pricing-source-panel { background: var(--obsidian-800); border-color: var(--obsidian-600); }
.pricing-source-panel__label, .price-matrix th { font-size: 13px; }
.pricing-source-panel__copy, .price-matrix__sample, .price-matrix__method { font-size: 14px; }
.price-matrix__median { font-size: 17px; font-variant-numeric: tabular-nums; }
.field-appearance-note { margin-top: 8px; color: var(--bone-500); font-size: 14px; }
.delta-pill { font-size: 13px; }
.delta-pill--extrapolated { opacity: 1; color: var(--bone-300); }
.alert-card__meta, .alert-card__median, .alert-card__delta-blurb, .alert-card__price-label { font: 500 14px/1.5 var(--font-display); color: var(--bone-500); }
.alert-card__price-label { margin-bottom: 6px; }
.alert-card__listing-price { font-size: 28px; }
.alert-card__action--primary { color: var(--field-on-cta); }
.digest-page__kicker, .digest-page__composed { font-size: 13px; }
.digest-page__header { border-bottom-color: var(--field-accent); }
.digest-page a { color: var(--field-accent); text-decoration: underline; }
.digest-totals { font: 400 16px/1.5 var(--font-serif); color: var(--bone-300); text-transform: none; letter-spacing: 0; }
.digest-moved-cards { display: table; width: 100%; min-width: 480px; border-collapse: collapse; table-layout: fixed; }
.digest-moved-cards__row { display: table-row; font: 400 16px/1.5 var(--font-serif); }
.digest-moved-cards th, .digest-moved-cards td { text-align: left; vertical-align: top; padding: 12px 8px; overflow-wrap: anywhere; border-bottom: 1px solid var(--obsidian-600); }
.digest-moved-cards th { font: 600 15px var(--font-display); }
.digest-moved-cards th:first-child { width: 40%; }
.digest-moved-cards th:nth-child(2) { width: 30%; }
.digest-moved-cards th:last-child { width: 30%; }

/* Selected cover: headline, card specimen and three principles. */
.field-notes-landing .app-shell { min-height: auto; padding-bottom: 0; }
.field-notes-landing .page-content { padding: 0; max-width: none; }
.field-landing { padding: 0 48px; }
.field-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 32px; padding: 40px 0 36px; }
.field-hero__copy { padding: 32px 0 10px; }
.field-eyebrow { color: var(--ember); font: 600 19px var(--font-display); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 24px; }
.field-hero h1 { font: 800 clamp(48px, 5.25vw, 82px)/1.05 var(--font-display); letter-spacing: -.025em; text-transform: uppercase; color: var(--bone-100); margin: 0; }
.field-hero__intro { margin: 28px 0 32px; max-width: 570px; font-size: clamp(21px, 2vw, 28px); line-height: 1.48; }
.field-hero__intro::before { content: ""; display: block; width: 50px; border-top: 3px solid var(--ember); margin-bottom: 26px; }
.field-hero__cta { min-height: 58px; padding: 12px 28px; font: 600 20px var(--font-display); text-transform: uppercase; letter-spacing: .055em; }
.field-hero__reassurance { margin-top: 16px; font-size: 14px; color: var(--bone-500); }
.field-note { border-left: 1px solid var(--field-line); padding-left: 30px; align-self: stretch; display: flex; flex-direction: column; justify-content: flex-start; }
.field-note__label { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; font: 600 23px var(--font-display); text-transform: uppercase; letter-spacing: .08em; padding-bottom: 16px; }
.field-note__label span { font-size: 13px; letter-spacing: .04em; color: var(--bone-500); }
.field-note__content { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: 22px; border: 1px solid var(--field-line); padding: 16px; border-radius: 7px; }
.field-note__image { width: 100%; height: auto; border-radius: 7px; }
.field-note__annotation { font-style: italic; font-size: 20px; margin-bottom: 22px; line-height: 1.25; }
.field-note__caption { font: 500 13px var(--font-display); color: var(--bone-500); letter-spacing: .065em; margin: 12px 0 7px; }
.field-note h2 { font: 600 25px/1.15 var(--font-serif); margin: 0 0 9px; }
.field-note__printing { font-size: 13px; line-height: 1.5; color: var(--bone-500); }
.field-note__price { border-top: 1px solid var(--field-line); border-bottom: 1px solid var(--field-line); margin: 20px 0; padding: 13px 0; }
.field-note__price div { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.field-note__price dt { font-size: 16px; }
.field-note__price dd { color: var(--ember); font-size: 27px; font-weight: 600; }
.field-note__source { font-weight: 600; font-size: 16px; line-height: 1.4; }
.field-note__caveat { margin: 13px 0; font-size: 14px; line-height: 1.5; font-style: italic; }
.field-note__details > a { font-size: 13px; text-decoration: underline; }
.field-principles { border-top: 1px solid var(--field-line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 28px 0; }
.field-principles article { display: flex; gap: 20px; align-items: flex-start; padding: 0 24px; border-right: 1px solid var(--field-line); }
.field-principles article:first-child { padding-left: 0; }
.field-principles article:last-child { padding-right: 0; border-right: none; }
.field-principles__number { font: 500 36px/1 var(--font-display); color: var(--signal); padding-top: 5px; }
.field-principles h2 { font: 600 21px var(--font-display); text-transform: uppercase; letter-spacing: .045em; margin-bottom: 7px; }
.field-principles p { font-size: 17px; line-height: 1.45; }
.field-scope { background: var(--field-accent); color: var(--field-on-accent); padding: 16px 20px; text-align: center; font-size: 16px; margin: 0 -48px; }
.field-scope span { margin-left: 22px; }

@media (min-width: 768px) {
  .nav { width: 196px; min-height: calc(100dvh - 96px); }
  .nav__item { font-size: 17px; padding: 12px; }
  .field-notes-landing .app-footer { padding-bottom: 16px; }
}
@media (max-width: 1050px) {
  .field-hero { grid-template-columns: 1fr 1fr; gap: 24px; }
  .field-note { padding-left: 24px; }
  .field-note__content { grid-template-columns: 1fr; }
  .field-note__image { max-width: 220px; margin: 0 auto; }
  .field-note__details { max-width: 300px; margin: 0 auto; }
  .field-note__annotation { display: none; }
  .field-hero h1 { font-size: 70px; }
}
@media (max-width: 767px) {
  .site-header { width: calc(100% - 32px); min-height: 80px; gap: 8px; }
  .site-wordmark { font-size: 32px; }
  .site-links { gap: 8px; }
  .site-links > a { display: none; }
  .site-links > .site-signin { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 10px; font: 500 16px var(--font-display); white-space: nowrap; }
  .theme-control { gap: 0; }
  .theme-control > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .theme-control select { width: 82px; }
  .page-content { padding: 28px 16px; }
  .nav__item { font-size: 12px; }
  .app-shell { min-height: calc(100dvh - 80px); }
  .field-landing { padding: 0 20px; }
  .field-hero { display: block; padding-top: 28px; }
  .field-hero__copy { padding-top: 0; }
  .field-eyebrow { font-size: 16px; margin-bottom: 18px; }
  .field-hero h1 { font-size: clamp(51px, 13.6vw, 88px); }
  .field-hero__intro { font-size: 21px; margin: 22px 0; padding-top: 20px; }
  .field-hero__cta { width: 100%; font-size: 18px; }
  .field-note { border-left: none; border-top: 1px solid var(--field-line); padding: 24px 0 0; margin-top: 26px; }
  .field-note__content { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; padding: 12px; }
  .field-note h2 { font-size: 21px; }
  .field-note__price { margin: 12px 0; }
  .field-note__price dd { font-size: 24px; }
  .field-note__source { font-size: 15px; }
  .field-principles { grid-template-columns: 1fr; padding: 0; }
  .field-principles article, .field-principles article:first-child, .field-principles article:last-child { border-right: none; border-bottom: 1px solid var(--field-line); padding: 22px 0; }
  .field-principles p { font-size: 17px; }
  .field-scope { margin: 0 -20px; padding: 20px; }
  .field-scope span { display: inline-block; margin-left: 12px; }
  .watchlist-row { padding: 16px; gap: 14px; }
  .watchlist-row__actions { display: grid; }
  .watchlist-row__body { flex-basis: calc(100% - 72px); }
  .alpha-status { align-items: flex-start; gap: 12px; }
  .dashboard__stats { grid-template-columns: 1fr; }
  .stat-card { min-height: 100px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
