:root { color-scheme: light; --ink:#102a3d; --blue:#123b5d; --accent:#e85832; --pale:#eef3f5; --line:#d6e0e4; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#f8faf9; font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; }
.site-header { height:68px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; background:#fff; border-bottom:1px solid var(--line); }
.brand { color:var(--blue); font-size:1.35rem; font-weight:800; letter-spacing:-.04em; text-decoration:none; }
.nav-link { color:var(--ink); font-size:.9rem; text-decoration:none; }
main { width:min(1120px,90vw); margin:auto; }
.hero { padding:4.5rem 0 3.5rem; }
.eyebrow { margin:0 0 .6rem; color:#5c727f; font-size:.72rem; font-weight:800; letter-spacing:.13em; }
h1,h2,h3 { margin-top:0; line-height:1.08; letter-spacing:-.035em; }
h1 { max-width:780px; margin-bottom:1.8rem; font-size:clamp(2.5rem,8vw,5.5rem); }
h2 { font-size:clamp(1.65rem,4vw,2.4rem); }
.button { padding:.85rem 1.1rem; color:#fff; background:var(--accent); border:0; border-radius:3px; font:inherit; font-weight:700; cursor:pointer; }
.button:disabled { opacity:.6; cursor:default; }
.secondary-button { background:var(--blue); }
.status { min-height:1.5rem; font-size:.85rem; }
.onboarding-dialog { width:min(520px,calc(100vw - 2rem)); padding:1.5rem; color:var(--ink); background:#fff; border:0; border-radius:8px; box-shadow:0 20px 60px rgba(16,42,61,.25); }
.onboarding-dialog::backdrop { background:rgba(16,42,61,.55); }
.onboarding-dialog h2 { margin-bottom:1rem; }
.onboarding-dialog p { margin:.8rem 0; }
.dialog-close { position:absolute; top:.65rem; right:.8rem; padding:.2rem .45rem; color:#637782; background:transparent; border:0; font-size:1.6rem; cursor:pointer; }
.onboarding-steps { margin:1rem 0 1.25rem; padding-left:1.4rem; }
.onboarding-steps li { margin:.55rem 0; }
.settings-path { padding:.85rem 1rem; background:var(--pale); border-left:3px solid var(--accent); }
.profile-card { padding:1.5rem; background:var(--blue); color:#fff; border-radius:4px; }
.profile-card .eyebrow,.profile-card dt { color:#b8cbd6; }
.profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin:1.5rem 0 0; }
.profile-grid div { border-top:1px solid rgba(255,255,255,.25); padding-top:.75rem; }
dt { color:#637782; font-size:.75rem; }
dd { margin:.25rem 0 0; font-weight:700; }
.listings { padding:4rem 0; }
.listing-grid { display:grid; gap:1rem; }
.listing-card { padding:1.4rem; background:#fff; border:1px solid var(--line); border-radius:4px; box-shadow:0 5px 20px rgba(16,42,61,.04); }
.source { color:var(--accent); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.listing-card h3 { margin-bottom:.3rem; font-size:1.3rem; }
.location,.seen { color:#637782; }
.facts { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin:1.4rem 0; }
.facts div { border-left:2px solid var(--line); padding-left:.6rem; }
.facts dd { font-size:.9rem; }
.seen { font-size:.78rem; }
.listing-link { color:var(--blue); font-weight:800; text-decoration:none; border-bottom:2px solid var(--accent); }
.empty { padding:3rem 1.5rem; text-align:center; background:var(--pale); border:1px dashed #a9bbc4; }
.radar { display:block; width:48px; height:48px; margin:0 auto 1rem; border:2px solid var(--blue); border-radius:50%; box-shadow:inset 0 0 0 10px var(--pale),inset 0 0 0 12px var(--blue); }
.page-heading { padding:4rem 0 2rem; }
.page-heading h1 { margin-bottom:1rem; }
.detail { margin-bottom:4rem; }
@media (min-width:700px) { .site-header { padding:0 max(5vw,calc((100vw - 1120px)/2)); } .profile-card { display:grid; grid-template-columns:1fr 2fr; gap:3rem; padding:2.25rem; } .profile-grid { margin:0; grid-template-columns:repeat(4,1fr); } .detail .profile-grid { grid-template-columns:repeat(3,1fr); } .listing-grid { grid-template-columns:repeat(2,1fr); } }
