
  :root {
    --bg: #f7f5f0;
    --card: #ffffff;
    --ink: #1f2a2e;
    --soft: #5b6669;
    --line: #e6e1d6;
    --accent: #2f6f5e;
    --accent-soft: #e4efe9;
    --warm: #fdf3e1;
    --warm-line: #efd9a8;
    --gse: #2f6f5e;   --gse-bg: #e4efe9;
    --ven: #3a5b8c;   --ven-bg: #e6edf7;
    --app: #8a5a14;   --app-bg: #f8ecd8;
  }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    margin: 0; background: var(--bg); color: var(--ink);
    font-family: Inter, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
    font-size: 18px; line-height: 1.65;
  }
  a { color: var(--accent); }
  .wrap { max-width: 760px; margin: 0 auto; padding: 0 20px; }
  h1, h2 { font-family: "Source Serif 4", Georgia, serif; line-height: 1.2; }

  header { padding: 56px 0 28px; }
  header .kicker { color: var(--accent); font-weight: 600; font-size: 0.9rem; letter-spacing: 0.03em; }
  header h1 { font-size: 2.4rem; margin: 6px 0 12px; }
  header p { color: var(--soft); margin: 0; font-size: 1.1rem; }

  .start {
    background: var(--card); border: 1px solid var(--line); border-radius: 18px;
    padding: 26px 28px; margin: 18px 0 28px; box-shadow: 0 2px 10px rgba(0,0,0,0.03);
  }
  .start h2 { margin: 0 0 10px; font-size: 1.5rem; }
  .date-pill {
    display: inline-block; background: var(--accent); color: #fff; font-weight: 600;
    border-radius: 999px; padding: 4px 14px; font-size: 0.95rem; margin: 4px 0 14px;
  }
  .start ol { margin: 8px 0 0; padding-left: 1.3em; }
  .start li { margin-bottom: 10px; }

  .warn {
    background: var(--warm); border: 1px solid var(--warm-line); border-radius: 18px;
    padding: 22px 26px; margin-bottom: 32px;
  }
  .warn h2 { margin: 0 0 8px; font-size: 1.3rem; }
  .warn p { margin: 8px 0; }

  .searchbar { position: sticky; top: 0; z-index: 5; background: var(--bg); padding: 12px 0; }
  #search {
    width: 100%; font: inherit; padding: 14px 18px; border-radius: 14px;
    border: 1px solid var(--line); background: #fff;
  }
  #search:focus { outline: 2px solid var(--accent); border-color: transparent; }
  .chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
  .chip {
    font: inherit; font-size: 0.9rem; padding: 7px 14px; border-radius: 999px; cursor: pointer;
    border: 1px solid var(--line); background: #fff; color: var(--ink);
  }
  .chip.on { background: var(--accent); color: #fff; border-color: var(--accent); }

  .topic { margin: 36px 0 10px; }
  .topic h2 { font-size: 1.5rem; margin: 0 0 4px; }
  .topic .sub { color: var(--soft); margin: 0 0 14px; font-size: 1rem; }

  .entry {
    background: var(--card); border: 1px solid var(--line); border-radius: 16px;
    padding: 20px 22px; margin-bottom: 14px;
  }
  .entry .top { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 6px; font-size: 0.85rem; }
  .who { font-weight: 600; padding: 3px 10px; border-radius: 999px; }
  .who.OFFICIAL { color: var(--gse); background: var(--gse-bg); }
  .who.VENDOR { color: var(--ven); background: var(--ven-bg); }
  .who.APPRAISER-SOURCED { color: var(--app); background: var(--app-bg); }
  .sw { color: var(--soft); }
  .entry h3 { margin: 4px 0 10px; font-size: 1.12rem; line-height: 1.4; }
  .todo { background: var(--accent-soft); border-radius: 12px; padding: 12px 16px; margin: 0; }
  .todo b { color: var(--accent); }
  details { margin-top: 10px; }
  summary { cursor: pointer; color: var(--accent); font-weight: 600; font-size: 0.95rem; }
  details p { color: var(--soft); font-size: 0.98rem; margin: 10px 0 0; }
  .more-btn {
    display: block; margin: 6px auto 0; font: inherit; font-size: 0.95rem; cursor: pointer;
    background: none; border: 1px solid var(--line); border-radius: 999px; padding: 8px 18px; color: var(--accent);
  }
  #empty { display: none; color: var(--soft); padding: 40px 0; text-align: center; }
  footer { color: var(--soft); font-size: 0.9rem; padding: 48px 0 60px; text-align: center; }


  .picker { margin: 10px 0 34px; }
  .picker h2 { font-size: 1.6rem; margin: 0 0 6px; }
  .picker .sub, .picker .note { color: var(--soft); font-size: 1rem; }
  .howto { background: var(--accent-soft); border-radius: 16px; padding: 18px 22px; margin: 16px 0 20px; }
  .howto h3 { margin: 0 0 6px; }
  .howto ol { margin: 0; padding-left: 1.3em; } .howto li { margin-bottom: 8px; }
  .tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
  table.cmp { border-collapse: collapse; width: 100%; min-width: 720px; font-size: 0.92rem; line-height: 1.45; }
  .cmp th, .cmp td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line); }
  .cmp th { background: var(--bg); font-size: 0.85rem; }
  .cmp td:first-child { position: sticky; left: 0; background: #fff; }
  .st { display: inline-block; font-weight: 600; font-size: 0.8rem; padding: 2px 9px; border-radius: 999px; margin-right: 4px; }
  .st.ok { background: var(--gse-bg); color: var(--gse); } .st.bad { background: #fbe3e1; color: #9b2c22; }
  .pcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-top: 18px; }
  .pcard { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 16px 18px; }
  .pcard h3 { margin: 0 0 6px; } .pcard p { margin: 6px 0; font-size: 0.97rem; }
  .entry.flash { outline: 3px solid var(--accent); }

  .topnav { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 18px; }
  .topnav a { text-decoration: none; font-size: 0.9rem; font-weight: 600; padding: 7px 13px; border-radius: 999px; background: #fff; border: 1px solid var(--line); color: var(--ink); }
  .topnav a.on { background: var(--accent); color: #fff; border-color: var(--accent); }
  body.paged .home { display: none; }
  .tpage h2 { font-size: 1.6rem; margin: 6px 0 6px; }
  .tpage .sub { color: var(--soft); font-size: 1rem; margin: 0 0 16px; }
  .tpage h3.grp { font-size: 1.25rem; margin: 26px 0 10px; }
  .titem .date { color: var(--soft); font-size: 0.85rem; }
  .titem p { margin: 6px 0 0; }
  .titem .links a { font-size: 0.95rem; margin-right: 12px; }
  @media (max-width: 600px) {
    body { font-size: 17px; }
    header { padding-top: 36px; }
    header h1 { font-size: 1.9rem; }
    .start, .warn { padding: 20px; }
    .entry { padding: 18px; }
  }
  /* Appraiser Tech Tracker pages */
  header.small { padding: 28px 0 8px; }
  header.small .kicker a { color: var(--accent); text-decoration: none; }
  .tpage h1 { font-family: "Source Serif 4", Georgia, serif; font-size: 2rem; line-height: 1.2; margin: 6px 0 10px; }
  .tpage h2 { font-size: 1.35rem; margin: 28px 0 10px; }
  .lead { font-size: 1.08rem; margin: 0 0 14px; }
  .small-note { color: var(--soft); font-size: 0.88rem; }
  .note-box { background: var(--accent-soft); border-radius: 14px; padding: 12px 16px; }
  .unk { color: var(--soft); font-style: italic; }
  .st.warn { background: var(--warm); color: var(--app); }
  #q { width: 100%; font: inherit; padding: 12px 16px; border-radius: 14px; border: 1px solid var(--line); background: #fff; margin: 8px 0 4px; }
  .filters { margin: 8px 0; }
  .fgroup { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin: 6px 0; }
  .fgroup > span { font-weight: 600; font-size: 0.9rem; min-width: 70px; }
  .chip.clear { margin-top: 4px; background: none; }
  .cmp .src { font-size: 0.82rem; margin-left: 4px; }
  .facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 14px 0; }
  .fact { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 14px 18px; }
  .fact h2 { font-size: 1rem; margin: 0 0 6px; color: var(--soft); font-family: Inter, sans-serif; }
  .fact p { margin: 4px 0; }
  .titem .old { color: var(--soft); }
  .srcs { padding-left: 1.2em; font-size: 0.95rem; }
  .btn { display: inline-block; background: var(--accent); color: #fff; text-decoration: none; font-weight: 600; padding: 10px 18px; border-radius: 999px; }
  .countdown { background: var(--accent); color: #fff; border-radius: 16px; padding: 16px 20px; font-size: 1.15rem; margin: 10px 0 6px; }
  .signup { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 18px 22px; margin: 24px 0; }
  .signup h2 { margin: 0 0 6px; font-size: 1.25rem; }
  .signup p { margin: 6px 0; }
  .signup form { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
  .signup input { flex: 1 1 200px; font: inherit; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--line); }
  .signup button, form.submit button { font: inherit; padding: 10px 18px; border-radius: 999px; border: 0; background: var(--line); color: var(--soft); }
  .sponsor { background: #eeeeec; border: 1px dashed #c9c9c4; border-radius: 14px; padding: 14px 18px; margin: 30px 0 10px; font-size: 0.95rem; }
  .sponsor b { display: block; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.8rem; color: var(--soft); }
  .sponsor p { margin: 4px 0 0; }
  .rules li { margin-bottom: 10px; }
  form.submit label { display: block; font-weight: 600; margin: 12px 0; }
  form.submit select, form.submit input, form.submit textarea { display: block; width: 100%; font: inherit; font-weight: 400; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); margin-top: 4px; background: #f3f2ee; }
  form.submit label.check input { display: inline; width: auto; margin-right: 8px; }
  footer p { margin: 6px 0; }
  .fbox { margin: 6px 0 10px; }
  .fbox summary { padding: 6px 0; }
  table.cmp.trk { min-width: 640px; }
  @media (max-width: 600px) {
    table.cmp.trk { min-width: 0; font-size: 0.88rem; }
    .cmp.trk .c-type { display: none; }
    .cmp.trk td:first-child { position: static; }
    .tpage h1 { font-size: 1.7rem; }
  }
