@import url("fonts.css");
@import url("tokens.css");
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:15.5px;line-height:1.55}
a{color:var(--accent)}a:hover{color:var(--accent-hover)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.mono{font-family:var(--font-mono);font-size:13.5px}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
h1,h2,h3{font-family:var(--font-head);font-weight:600;color:var(--ink-strong);letter-spacing:-.01em}
h1{font-size:34px;line-height:1.2;margin:4px 0 0}
h2{font-size:21px;margin:0}
.eyebrow{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600}
.label-caps{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
/* header */
.site-header{background:var(--header);color:var(--header-text);border-bottom:2px solid var(--header-rule)}
.site-nav{max-width:var(--max);margin:0 auto;padding:0 32px;min-height:60px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px}
.brand{display:flex;align-items:center;gap:10px;color:var(--header-text);text-decoration:none}
.brand b{font-family:var(--font-head);font-size:22px;font-weight:600}
.brand-mark{display:block;width:30px;height:30px;flex:none}
.brand span{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--header-faint)}
.nav-links{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:14.5px;flex:1}
.nav-links a{color:var(--header-muted);text-decoration:none;padding:18px 0 16px;min-height:var(--target)}
.nav-links a[aria-current=page]{color:var(--header-text);border-bottom:2px solid var(--header-text)}
.who{display:flex;align-items:center;gap:10px;color:var(--header-text);text-decoration:none}
.avatar{width:32px;height:32px;border-radius:16px;background:var(--avatar);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600}
.who small{display:block;font-size:11px;color:var(--header-faint);letter-spacing:.06em;text-transform:uppercase}
/* page */
.page{max-width:var(--max);margin:0 auto;padding:36px 32px 56px;display:flex;flex-direction:column;gap:28px}
.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.page-head p{margin:6px 0 0;color:var(--muted)}
.cols{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.col-main{flex:999 1 640px;min-width:0;display:flex;flex-direction:column;gap:20px}
.col-side{flex:1 1 300px;display:flex;flex-direction:column;gap:16px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:18px 20px}
.panel-flush{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel)}
.panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:18px 22px 12px}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}
.stat .big{font-family:var(--font-head);font-size:40px;font-weight:600;font-variant-numeric:tabular-nums}
.stat .big.likely{color:var(--likely-ink)}.stat .big.possible{color:var(--possible-ink)}
.stat .big.date{font-size:28px;line-height:1.45;color:var(--ink-strong)}
/* badges */
.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}
.badge.likely{background:var(--likely-bg);color:var(--likely-ink)}
.badge.possible{background:var(--panel);color:var(--possible-ink);border:1px solid var(--possible-line)}
/* tables built from rows */
.rows{overflow-x:auto}
.row{display:grid;gap:12px;align-items:start;padding:12px 22px;border-top:1px solid var(--line-soft)}
.row.head{color:var(--muted);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:10px 22px}
.row .sub{display:block;font-size:13px;color:var(--muted)}
.row.cols-open{grid-template-columns:1.2fr 1.6fr .5fr 1fr 1.2fr;min-width:680px}
.row.cols-marks{grid-template-columns:1.6fr .8fr .8fr 1.2fr .6fr;min-width:640px}
.history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.history .sub{display:block;font-size:13px;color:var(--muted)}
.side-by-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px}
.why{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.inline-form{display:inline}
.listing{display:flex;flex-direction:column}
.listing a.item,.listing .item{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;padding:14px 20px;border-top:1px solid var(--line-soft);color:var(--ink);text-decoration:none;min-height:var(--target)}
.listing a.item:hover{background:var(--accent-tint)}
.thumb{width:96px;height:64px;border-radius:var(--radius-control);background:var(--well);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);overflow:hidden}
.thumb img{max-width:100%;max-height:100%;object-fit:contain}
.well{min-height:140px;margin:12px 0;border-radius:var(--radius-control);background:var(--well);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px}
.well.logo{border:1px dashed var(--well-line);color:var(--muted);font-size:13px}
.well .wordmark{font-family:var(--font-head);font-size:34px;font-weight:600;letter-spacing:.04em;color:var(--ink-strong)}
dl.facts{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:14.5px}
dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}
/* controls */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--target);padding:0 20px;background:var(--accent);color:#FFFFFF;border:0;border-radius:var(--radius-control);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--accent-hover);color:#FFFFFF}
.btn.secondary{background:var(--panel);color:var(--accent);border:1px solid var(--control-line)}
.btn.secondary:hover{background:var(--accent-tint);color:var(--accent-hover)}
label.field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
input[type=text],input[type=email],input[type=password],input[type=search],select,textarea{font:inherit;color:var(--ink);min-height:var(--target);padding:8px 10px;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--panel)}
textarea{resize:vertical}
.form-row{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end}
.choices{display:flex;flex-direction:column;gap:8px}
.choice{min-height:48px;padding:8px 14px;border-radius:var(--radius-control);border:1px solid var(--control-line);background:var(--panel);color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer;width:100%}
.choice span{display:block;font-weight:400;font-size:13.5px;color:var(--muted)}
.choice[aria-pressed=true]{border:2px solid var(--accent);background:var(--accent-tint);color:var(--header)}
.choice[aria-pressed=true] span{color:var(--ink-body)}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs a{display:inline-flex;align-items:center;gap:8px;min-height:var(--target);padding:0 14px;border-radius:var(--radius-control);border:1px solid var(--control-line);background:var(--panel);color:var(--ink);text-decoration:none;font-weight:600}
.tabs a[aria-current=true]{border:2px solid var(--accent);background:var(--accent-tint)}
.tabs a span{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500}
.notice{margin:0;padding:10px 12px;border-radius:var(--radius-control);background:var(--accent-tint);color:var(--header);font-size:14px}
.notice.error{background:var(--likely-bg);color:var(--likely-ink)}
.meter{height:6px;background:var(--line-soft);border-radius:3px;margin-top:6px}
.meter i{display:block;height:6px;background:var(--accent);border-radius:3px}
.limits{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}
/* sign-in screens */
.auth{max-width:440px;margin:56px auto;padding:0 16px}
.auth .panel{padding:28px;display:flex;flex-direction:column;gap:14px}
@media (max-width:640px){.site-nav,.page{padding-left:16px;padding-right:16px}h1{font-size:28px}.listing a.item,.listing .item{grid-template-columns:64px 1fr}.thumb{width:64px;height:48px}}
.field .hint,.hint{font-size:13px;color:var(--muted)}
.auth h1{font-size:28px}
.auth-alt{margin:0;font-size:14.5px;color:var(--muted)}
.right-link{float:right;font-size:13px}
.auth-form{display:flex;flex-direction:column;gap:14px}
.callout{margin:0;padding:10px 12px;border-radius:var(--radius-control);background:var(--well);color:var(--ink-body);font-size:14px;border:1px solid var(--well-line)}
.sessions{width:100%;border-collapse:collapse;font-size:14px}
.sessions th,.sessions td{text-align:left;padding:8px 0;border-top:1px solid var(--line-soft);vertical-align:top}
.sessions th{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:14px}
.badge.plain{background:var(--well);color:var(--ink-body)}
.ai-line{display:block;margin:6px 0 4px}.badge.ai-view{font-weight:500}
.big-text{font-family:var(--font-head);font-size:28px;font-weight:600;color:var(--ink-strong);line-height:1.3}
.auth.wide{max-width:720px}
.auth .prose h2{font-size:18px;margin:10px 0 0}.auth .prose p,.auth .prose ul{margin:0;font-size:15px;line-height:1.55}.auth .prose ul{padding-left:20px}
.members{width:100%;border-collapse:collapse;font-size:14.5px}
.members th,.members td{text-align:left;padding:8px 8px 8px 0;border-top:1px solid var(--line-soft);vertical-align:middle}
/* public landing page */
.lp-wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.lp-brand{flex:1}
.lp-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;font-size:15px}
.lp-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--header-muted);text-decoration:none}
.lp-links a:hover{color:var(--header-text)}
.lp-links .lp-signin{color:var(--header-text)}
.lp-links .lp-start{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--radius-control);background:var(--panel);color:var(--header);font-weight:600}
.lp-links .lp-start:hover{color:var(--header);background:var(--accent-tint)}
.lp-hero{background:var(--panel);border-bottom:1px solid var(--line)}
.lp-hero-in{padding-top:72px;padding-bottom:80px;display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.lp-hero-copy{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:20px}
.lp-hero h1{margin:0;font-size:52px;line-height:1.1;letter-spacing:-.015em;text-wrap:balance}
.lp-lede{margin:0;font-size:19px;color:var(--ink-body);max-width:34em}
.lp-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.lp-btn{min-height:48px;padding:0 24px;font-size:17px}
.lp-cta .secondary{padding:0 20px;font-size:inherit;color:var(--ink);border-color:var(--well-line)}
.lp-preview{flex:1 1 420px;min-width:0;background:var(--ground);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px}
.lp-pv-head{font-size:13px;color:var(--muted)}
.lp-pv-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel)}
.lp-pv-img{width:72px;height:52px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted);background:var(--well);border:1px dashed var(--well-line)}
.lp-pv-text{display:flex;flex-direction:column;min-width:0}
.lp-pv-text b{font-family:var(--font-head);font-size:19px;font-weight:600;color:var(--ink-strong)}
.lp-pv-text span{font-size:13.5px;color:var(--muted)}
.lp-pv-foot{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--accent-tint);border-radius:var(--radius-panel);color:var(--accent-hover);font-size:14.5px}
.lp-pv-foot b{font-weight:600}
.lp-section{padding-top:72px;padding-bottom:72px}
.lp-h2{margin:0 0 32px;font-size:34px;line-height:1.2}
.lp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}
.lp-steps li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:24px;display:flex;flex-direction:column;gap:10px}
.lp-steps h3{margin:0;font-size:21px}
.lp-steps p{margin:0;color:var(--ink-body)}
.lp-n{color:var(--accent);font-size:14px}
.lp-band{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-big{margin:0;color:var(--ink-body);font-size:17px}
.lp-limits-wrap{padding-top:56px;padding-bottom:56px}
.lp-limits{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);padding:24px 28px;display:flex;flex-wrap:wrap;gap:16px 40px}
.lp-limits h2{margin:0;flex:1 1 220px;font-size:22px}
.lp-limits p{margin:0;flex:3 1 480px;color:var(--ink-body)}
.lp-pricing{background:var(--header);color:var(--header-text)}
.lp-pricing-in{padding-top:72px;padding-bottom:72px;display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.lp-pricing-copy{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:12px}
.lp-pricing h2{margin:0;font-size:34px;line-height:1.2;color:var(--header-text)}
.lp-pricing p{margin:0;color:var(--header-muted);font-size:17px}
.lp-create{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;border-radius:var(--radius-control);background:var(--panel);color:var(--header);font-weight:600;font-size:17px;text-decoration:none}
.lp-create:hover{background:var(--accent-tint);color:var(--header)}
.lp-pricing-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.lp-talk{display:inline-flex;align-items:center;min-height:52px;color:var(--header-text);font-weight:600;font-size:17px}
.lp-talk:hover{color:var(--header-muted)}
.lp-footer{padding-top:32px;padding-bottom:32px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;font-size:14px;color:var(--muted)}
.lp-foot-links a{display:inline-flex;align-items:center;min-height:44px}
.lp-foot-links{display:flex;flex-wrap:wrap;gap:8px 20px}
/* landing sections: the problem, features, who it is for, coverage, priced plans, questions, the closing band */
.lp-intro{margin:-16px 0 28px;max-width:44em}
.lp-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}
.lp-facts li{border-top:3px solid var(--accent);background:var(--panel);border-radius:0 0 var(--radius-panel) var(--radius-panel);padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.lp-facts b{font-family:var(--font-head);font-size:24px;font-weight:600;color:var(--ink-strong)}
.lp-facts span{color:var(--ink-body)}
.lp-features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}
.lp-features li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:22px 24px;display:flex;flex-direction:column;gap:10px}
.lp-features h3{margin:0;font-size:19px}
.lp-features p{margin:0;color:var(--ink-body)}
.lp-icon{box-sizing:content-box;width:22px;height:22px;padding:9px;border-radius:var(--radius-control);background:var(--accent-tint);color:var(--accent)}
.lp-who{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px 32px}
.lp-who div{border-left:3px solid var(--accent);padding:4px 0 4px 18px;display:flex;flex-direction:column;gap:8px}
.lp-who h3{margin:0;font-size:21px}
.lp-who p{margin:0;color:var(--ink-body)}
.lp-limits-body{flex:3 1 480px;min-width:0;display:flex;flex-direction:column;gap:10px}
.lp-limits .lp-limits-body p{flex:none}
.lp-plans{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px}
.lp-plans>li{background:var(--panel);color:var(--ink);border-radius:var(--radius-panel);padding:24px;display:flex;flex-direction:column;gap:10px}
.lp-plans h3{margin:0;font-size:22px}
.lp-pricing .lp-plans p{color:var(--ink-body);font-size:15.5px}
.lp-pricing .lp-plans .lp-price{color:var(--ink);font-size:16px}
.lp-price b{font-family:var(--font-head);font-size:32px;font-weight:600;color:var(--ink-strong);font-variant-numeric:tabular-nums}
.lp-plan-limits{margin:0;padding-left:20px;color:var(--ink-body)}
.lp-plans-foot{margin-top:28px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.lp-plans-foot p{flex:1 1 360px;font-size:15px}
.lp-faq{display:flex;flex-direction:column;border-top:1px solid var(--line);max-width:52em}
.lp-faq details{border-bottom:1px solid var(--line)}
.lp-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:10px 0;cursor:pointer;font-family:var(--font-head);font-size:19px;font-weight:600;color:var(--ink-strong);list-style:none}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";flex:none;font-family:var(--font-body);font-size:24px;font-weight:400;color:var(--accent)}
.lp-faq details[open] summary::after{content:"\2212"}
.lp-faq p{margin:0 0 18px;color:var(--ink-body);max-width:46em}
.lp-final{background:var(--accent-tint);border-top:1px solid var(--line)}
.lp-final-in{padding-top:56px;padding-bottom:56px;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.lp-final h2{margin:0;font-size:30px;line-height:1.2;color:var(--header)}
.lp-final .secondary{color:var(--accent-hover);border-color:var(--well-line)}
@media (max-width:640px){.lp-wrap{padding-left:16px;padding-right:16px}.lp-hero h1{font-size:34px}.lp-hero-in,.lp-section,.lp-pricing-in{padding-top:44px;padding-bottom:44px}.lp-h2,.lp-pricing h2{font-size:28px}.lp-intro{margin-top:-12px}.lp-links .lp-wide{display:none}.lp-final h2{font-size:24px}.lp-faq summary{font-size:17px}}
/* free public check */
.check-form{display:flex;flex-direction:column;gap:10px}
.check-mark{flex:2 1 260px}.check-classes{flex:1 1 140px}
.check-page{padding-top:40px;padding-bottom:48px;display:flex;flex-direction:column;gap:20px}
.check-page h1{margin:0}
.check-results{display:flex;flex-direction:column;gap:14px}
.check-count{margin:0;font-size:24px}
.check-q{font-family:var(--font-mono);font-size:.85em}
.check-list{list-style:none;margin:0;padding:0}
.check-hit{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 20px;border-top:1px solid var(--line-soft)}
.check-hit:first-child{border-top:0}
.check-hit .sub{display:block;font-size:13px;color:var(--muted)}
.check-limits{margin:0;font-size:14.5px;color:var(--ink-body);padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel)}
.check-cta{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.check-cta p{margin:0}
@media (max-width:640px){.check-hit{grid-template-columns:64px minmax(0,1fr)}.check-hit .badge{grid-column:2;justify-self:start}}
.why-more{margin-top:6px;font-size:14px}.why-more summary{cursor:pointer;color:var(--accent);min-height:24px}.why-more .why{margin-top:6px}

/* analytics consent (public pages, only when Google Analytics is configured) */
.consent{position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;margin:0 auto;z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px rgba(16,24,38,.18);padding:16px 18px;font-size:15px;color:var(--ink-body)}
.consent[hidden]{display:none}
.consent p{margin:0 0 12px}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px}
.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;min-height:44px}
/* contact form: a field people never see, for bots that fill every field */
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
