/* Dad Saves America Tools: shared brand layer.
   Every page loads this file: the hub and each tool. It holds the tokens, base type,
   the site header and footer, and the small set of components tools share.
   Colors follow dadsavesamerica.com: charcoal field, one gold accent, white type.
   Display type is condensed uppercase, echoing the stencil-block logo. Single dark theme by choice. */
:root{
  --bg:#1d252c;
  --bg-deep:#151b21;
  --panel:#2b3239;
  --panel-2:#3c4249;
  --line:#3a424a;
  --line-strong:#5d6368;
  --gold:#ffa400;
  --gold-dark:#e69400;
  --gold-tint:rgba(255,164,0,.12);
  --gold-edge:rgba(255,164,0,.5);
  --on-gold:#151b21;
  --text:#f6f7f8;
  --text-2:#b3b7ba;
  --muted:#979ca0;
  --font-head:"Barlow Condensed","Arial Narrow",sans-serif;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:16px;
  line-height:1.55;
}
.wrap{max-width:920px;margin:0 auto;padding:36px 20px 72px}
.wrap.wide{max-width:1120px}
a{color:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--font-head);font-weight:700;text-transform:uppercase;text-wrap:balance;margin:0;line-height:.95}
[hidden]{display:none !important}
.num{font-variant-numeric:tabular-nums}

/* ---------- Site header and footer ---------- */
.site-header{border-bottom:1px solid var(--line)}
.site-header-in,.site-footer-in{max-width:1120px;margin:0 auto;padding:0 20px}
.site-header-in{display:flex;align-items:center;gap:10px 18px;min-height:60px}

/* The logo image, plus a small Tools tag in the header. */
.lockup{display:inline-flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}
.lockup-logo{display:block;height:30px;width:auto}
.site-footer .lockup-logo{height:26px}
.lockup-tag{
  font-family:var(--font);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;line-height:1;color:var(--text);
  border:1.5px solid var(--line-strong);border-radius:6px;padding:4px 7px 4px 8px;
}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:6px 20px;font-size:14px;font-weight:600}
.site-nav a{color:var(--text-2);text-decoration:none;padding:8px 0}
.site-nav a:hover{color:var(--text)}

.site-footer{border-top:1px solid var(--line);margin-top:8px;color:var(--text-2);font-size:14px}
.site-footer-in{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;padding-top:26px;padding-bottom:40px}
.site-footer p{margin:0;flex:1 1 300px;max-width:60ch}
.site-footer .site-nav{margin-left:0;flex-wrap:wrap}
.site-footer .fine{flex:1 1 100%;max-width:none;font-size:13px;color:var(--muted)}

/* ---------- Shared components ---------- */
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pill{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);background:var(--gold-tint);border:1.5px solid var(--gold-edge);
  border-radius:10px;padding:7px 14px;
}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;margin-top:28px}
.panel h2{font-size:32px;margin-bottom:14px;text-shadow:0 3px 0 rgba(0,0,0,.4)}

.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{
  font:inherit;font-size:16px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text);background:var(--bg-deep);
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%;
}

.chip-btn{
  font:inherit;font-size:14px;font-weight:700;cursor:pointer;min-height:38px;
  color:var(--text);background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:0 14px;
}
.chip-btn:hover{background:var(--panel-2)}
.chip-btn[aria-pressed="true"]{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}

.toggle{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--text-2);cursor:pointer}
.toggle input{width:18px;height:18px;accent-color:var(--gold);margin:0}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;
  font:inherit;font-size:15px;font-weight:800;cursor:pointer;min-height:42px;
  color:var(--on-gold);background:var(--gold);border:0;
  border-radius:12px;padding:0 20px;box-shadow:0 4px 0 rgba(0,0,0,.35);
}
.btn:hover{background:var(--gold-dark)}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 rgba(0,0,0,.35)}
.btn.ghost{color:var(--text);background:var(--panel);border:1px solid var(--line);box-shadow:none}
.btn.ghost:hover{background:var(--panel-2)}

.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;
  padding:5px 8px;border-radius:7px;border:1px solid var(--line);color:var(--text-2);background:var(--bg-deep);white-space:nowrap;
}
.tag.core{color:var(--gold);background:var(--gold-tint);border-color:var(--gold-edge)}

@media (max-width:640px){
  .wrap{padding-top:24px}
  .panel{border-radius:18px;padding:18px}
  /* On a phone the header links drop to their own row under the logo. */
  .site-header-in{flex-wrap:wrap;row-gap:0;min-height:0;padding-top:14px;padding-bottom:6px}
  .site-header .site-nav{margin-left:0;flex:1 1 100%;flex-wrap:wrap}
}
@media (prefers-reduced-motion: reduce){ .btn:active{transform:none} }
@media print{
  :root{--bg:#fff;--bg-deep:#fff;--panel:#fff;--panel-2:#fff;--line:#bbb;--line-strong:#888;--gold:#7a4f00;--gold-tint:transparent;--gold-edge:#7a4f00;--text:#111;--text-2:#333;--muted:#555;color-scheme:light}
  .site-nav{display:none}
  .site-header{border-bottom-color:#bbb}
}
