/* ============ TOKENS ============ */
:root{
  --ground:#F2F1EA; --ground-2:#E7E4DA;
  --surface:#FFFFFF; --surface-2:#F8F7F1;
  --border:#E2DDD0; --border-strong:#CFC8B7;
  --ink:#20223A; --ink-soft:#585D70; --ink-faint:#8A8D99;
  --brand:#3E3A93; --brand-ink:#FFFFFF; --brand-hover:#4B46A8;
  --glow:#E3A130; --glow-2:#F1D391; --glow-ink:#6E4B0E;
  --good:#2E9E6B; --good-bg:#E4F2EA;
  --watch:#DE8419; --watch-bg:#FAEAD6;
  --serious:#D94F32; --serious-bg:#F9E3DC;
  --urgent:#B5302A; --urgent-bg:#F6DDDA;
  --shadow:35 42 62;
  --radius:16px; --radius-sm:10px;
  --maxw:1080px;
  --step:cubic-bezier(.22,.61,.36,1);
}
:root:not([data-theme="light"]){
  @media (prefers-color-scheme:dark){
    --ground:#12101F; --ground-2:#0B0916;
    --surface:#1B1930; --surface-2:#232038;
    --border:#332E55; --border-strong:#443E6F;
    --ink:#ECEAE1; --ink-soft:#AAB0C6; --ink-faint:#767C98;
    --brand:#9E9BF0; --brand-ink:#111527; --brand-hover:#B4B1F5;
    --glow:#ECB152; --glow-2:#5A4820; --glow-ink:#ECB152;
    --good:#52C08C; --good-bg:#16311F;
    --watch:#F0A544; --watch-bg:#39290F;
    --serious:#F0724F; --serious-bg:#3B2019;
    --urgent:#EF6258; --urgent-bg:#3B1D1B;
    --shadow:0 0 0;
  }
}
:root[data-theme="dark"]{
  --ground:#12101F; --ground-2:#0B0916;
  --surface:#1B1930; --surface-2:#232038;
  --border:#332E55; --border-strong:#443E6F;
  --ink:#ECEAE1; --ink-soft:#AAB0C6; --ink-faint:#767C98;
  --brand:#9E9BF0; --brand-ink:#111527; --brand-hover:#B4B1F5;
  --glow:#ECB152; --glow-2:#5A4820; --glow-ink:#ECB152;
  --good:#52C08C; --good-bg:#16311F;
  --watch:#F0A544; --watch-bg:#39290F;
  --serious:#F0724F; --serious-bg:#3B2019;
  --urgent:#EF6258; --urgent-bg:#3B1D1B;
  --shadow:0 0 0;
}

/* ============ BASE ============ */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:"Spectral","Hanken Grotesk",Georgia,serif; font-weight:600; line-height:1.12; text-wrap:balance; margin:0;}
p{margin:0;}
a{color:inherit;}
button{font-family:inherit;}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace;}
::selection{background:var(--glow); color:var(--glow-ink);}
:focus-visible{outline:3px solid var(--glow); outline-offset:2px; border-radius:6px;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.eyebrow{font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); margin:0 0 14px;}

/* ============ TOP BAR ============ */
.topbar{position:sticky; top:0; z-index:50; background:color-mix(in srgb,var(--ground) 86%,transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--border);}
.topbar .wrap{display:flex; align-items:center; gap:16px; height:64px;}
.brand{display:flex; align-items:center; gap:11px; font-family:"Spectral",serif; font-weight:600; font-size:21px; letter-spacing:-.01em; cursor:pointer; background:none; border:0; color:var(--ink); padding:0;}
.lamp{width:26px; height:30px; flex:none;}
.spacer{flex:1;}
.navlink{background:none; border:0; color:var(--ink-soft); font-size:15px; font-weight:600; cursor:pointer; padding:8px 6px; border-radius:8px;}
.navlink:hover{color:var(--ink);}
.theme-toggle{width:38px; height:38px; border-radius:50%; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); cursor:pointer; display:grid; place-items:center; flex:none;}
.theme-toggle:hover{border-color:var(--glow);}

/* ============ BUTTONS ============ */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; font-weight:700; font-size:16px; border-radius:12px; padding:14px 24px; border:1px solid transparent; cursor:pointer; transition:transform .15s var(--step), background .2s, box-shadow .2s; text-decoration:none;}
.btn-primary{background:var(--brand); color:var(--brand-ink); box-shadow:0 6px 18px rgb(var(--shadow)/.16);}
.btn-primary:hover{background:var(--brand-hover); transform:translateY(-2px);}
.btn-primary:disabled{opacity:.55; cursor:not-allowed; transform:none;}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--border-strong);}
.btn-ghost:hover{border-color:var(--glow); background:var(--surface);}
.btn-lg{padding:17px 30px; font-size:17.5px;}

/* ============ SCREENS ============ */
.screen{display:none; animation:fade .45s var(--step);}
.screen.is-active{display:block;}
@keyframes fade{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;}}

/* ============ HERO ============ */
.hero{position:relative; overflow:hidden; padding:76px 0 30px;}
.hero-glow{position:absolute; top:-160px; left:50%; transform:translateX(-50%); width:760px; height:520px; pointer-events:none;
  background:radial-gradient(ellipse at center, color-mix(in srgb,var(--brand) 42%,transparent) 0%, transparent 68%);
  filter:blur(16px); opacity:.5; animation:breathe 7s ease-in-out infinite;}
@keyframes breathe{0%,100%{opacity:.42; transform:translateX(-50%) scale(1);} 50%{opacity:.62; transform:translateX(-50%) scale(1.05);}}
.hero .wrap{position:relative;}
.hero-inner{max-width:720px; margin:0 auto; text-align:center;}
.hero h1{font-size:clamp(38px,6vw,64px); letter-spacing:-.01em; margin-bottom:20px;}
.hero h1 .warm{color:var(--glow-ink);}
:root[data-theme="dark"] .hero h1 .warm{color:var(--glow);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero h1 .warm{color:var(--glow);}}
.hero .lede{font-size:19.5px; color:var(--ink-soft); max-width:560px; margin:0 auto 34px;}

/* ============ CHECKUP CARD ============ */
.checkcard{background:var(--surface); border:1px solid var(--border); border-radius:22px; padding:26px; max-width:600px; margin:0 auto; box-shadow:0 20px 50px -24px rgb(var(--shadow)/.4); text-align:left;}
.field-label{font-size:14px; font-weight:700; color:var(--ink); display:block; margin-bottom:9px;}
.url-row{display:flex; gap:10px;}
.url-input{flex:1; min-width:0; display:flex; align-items:center; gap:10px; background:var(--surface-2); border:1.5px solid var(--border-strong); border-radius:12px; padding:0 14px; transition:border-color .2s;}
.url-input:focus-within{border-color:var(--glow);}
.url-input .globe{color:var(--ink-faint); flex:none;}
.url-input input{flex:1; min-width:0; border:0; background:none; color:var(--ink); font-size:16px; padding:15px 0; outline:none;}
.url-input input::placeholder{color:var(--ink-faint);}
.consent{display:flex; gap:11px; align-items:flex-start; margin-top:18px; padding:13px 15px; background:var(--surface-2); border:1px solid var(--border); border-radius:12px; font-size:14px; color:var(--ink-soft); line-height:1.5; cursor:pointer;}
.consent input{margin-top:3px; width:18px; height:18px; accent-color:var(--brand); flex:none; cursor:pointer;}
.consent b{color:var(--ink);}
.checkcard .btn-primary{width:100%; margin-top:18px;}
.sample-link{text-align:center; margin-top:16px; font-size:15px; color:var(--ink-soft);}
.sample-link button{background:none; border:0; color:var(--ink); font-weight:700; cursor:pointer; text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--glow); font-size:15px;}
.err{color:var(--serious); font-size:13.5px; font-weight:600; margin-top:10px; display:none;}
.err.show{display:block;}

.reassure{display:flex; gap:22px; justify-content:center; flex-wrap:wrap; margin:26px auto 0; color:var(--ink-faint); font-size:13.5px; font-weight:600;}
.reassure span{display:inline-flex; align-items:center; gap:7px;}

/* ============ SECTIONS ============ */
section.band{padding:64px 0; border-top:1px solid var(--border);}
section.band.alt{background:var(--ground-2);}
.sec-head{max-width:620px; margin:0 auto 44px; text-align:center;}
.sec-head h2{font-size:clamp(28px,4vw,40px); letter-spacing:-.01em; margin-bottom:14px;}
.sec-head p{color:var(--ink-soft); font-size:18px;}

.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.stepcard{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:26px 24px; position:relative;}
.stepnum{font-family:"Spectral",serif; font-size:15px; font-weight:600; color:var(--glow-ink); background:var(--glow-2); width:30px; height:30px; border-radius:50%; display:grid; place-items:center; margin-bottom:16px;}
:root[data-theme="dark"] .stepnum{color:var(--glow); background:color-mix(in srgb,var(--glow) 20%,transparent);}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .stepnum{color:var(--glow); background:color-mix(in srgb,var(--glow) 20%,transparent);}}
.stepcard h3{font-size:20px; margin-bottom:9px;}
.stepcard p{color:var(--ink-soft); font-size:15.5px;}
.tech-cap{margin-top:13px; font-size:12.5px; color:var(--ink-faint); display:flex; align-items:center; gap:7px;}
.tech-cap .mono{color:var(--ink-soft);}

.tech-toggle{text-align:center; margin-top:34px;}
.tech-toggle button{background:none; border:1px solid var(--border-strong); color:var(--ink-soft); font-weight:600; font-size:14px; padding:9px 18px; border-radius:20px; cursor:pointer;}
.tech-toggle button:hover{border-color:var(--glow); color:var(--ink);}
.tech-panel{max-width:760px; margin:22px auto 0; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:26px 28px; display:none;}
.tech-panel.show{display:block; animation:fade .35s var(--step);}
.tech-panel h4{font-size:16px; margin-bottom:6px;}
.tech-panel .layer{display:flex; gap:14px; padding:14px 0; border-bottom:1px dashed var(--border);}
.tech-panel .layer:last-child{border-bottom:0;}
.tech-panel .tag{flex:none; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:500; padding:4px 8px; border-radius:6px; height:fit-content; letter-spacing:.02em;}
.tag.det{background:var(--good-bg); color:var(--good);}
.tag.llm{background:color-mix(in srgb,var(--brand) 16%,transparent); color:var(--brand);}
:root:not([data-theme="light"]) .tag.llm,:root[data-theme="dark"] .tag.llm{color:var(--ink);}
.tag.agent{background:var(--watch-bg); color:var(--watch);}
.tech-panel .layer p{font-size:14.5px; color:var(--ink-soft);}
.tech-panel .layer b{color:var(--ink);}

/* community */
.commgrid{display:grid; grid-template-columns:1.1fr .9fr; gap:26px; align-items:stretch;}
.commcard{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:28px;}
.commcard h3{font-size:22px; margin-bottom:10px;}
.commcard p{color:var(--ink-soft); font-size:16px; margin-bottom:18px;}
.nominate{display:flex; gap:10px;}
.nominate input{flex:1; min-width:0; background:var(--surface-2); border:1.5px solid var(--border-strong); border-radius:10px; padding:12px 14px; font-size:15px; color:var(--ink); outline:none;}
.nominate input:focus{border-color:var(--glow);}
.badge-demo{display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:14px; background:linear-gradient(160deg,var(--surface),var(--surface-2));}
.verified{display:inline-flex; align-items:center; gap:10px; background:var(--good-bg); color:var(--good); border:1px solid color-mix(in srgb,var(--good) 30%,transparent); border-radius:100px; padding:11px 20px; font-weight:700; font-size:15px;}
.badge-demo small{color:var(--ink-faint); font-size:13.5px;}

/* ============ RUN SCREEN ============ */
.run{padding:56px 0 80px; min-height:70vh;}
.run-head{text-align:center; max-width:600px; margin:0 auto 12px;}
.run-head .target{display:inline-flex; align-items:center; gap:9px; background:var(--surface); border:1px solid var(--border); border-radius:100px; padding:8px 16px; font-weight:600; font-size:14.5px; margin-bottom:22px;}
.run-head .target .dot{width:8px; height:8px; border-radius:50%; background:var(--glow); box-shadow:0 0 0 4px color-mix(in srgb,var(--glow) 30%,transparent); animation:pulse 1.3s infinite;}
@keyframes pulse{0%,100%{opacity:1;} 50%{opacity:.35;}}
.run-head h2{font-size:clamp(28px,4vw,38px); margin-bottom:10px;}
.run-head p{color:var(--ink-soft);}

.house{position:relative; max-width:660px; margin:34px auto 0;}
.house-glow{position:absolute; inset:-40px; background:radial-gradient(circle at 50% 30%, color-mix(in srgb,var(--glow) 40%,transparent), transparent 60%); filter:blur(20px); opacity:0; transition:opacity 1s; pointer-events:none;}
.house.lit .house-glow{opacity:.5;}

.checklist{background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:12px; box-shadow:0 24px 60px -30px rgb(var(--shadow)/.5); position:relative;}
.check-row{display:flex; align-items:center; gap:15px; padding:17px 18px; border-radius:13px; transition:background .3s;}
.check-row + .check-row{border-top:1px solid var(--border);}
.check-row.active{background:var(--surface-2);}
.check-icon{width:34px; height:34px; border-radius:50%; flex:none; display:grid; place-items:center; background:var(--ground-2); color:var(--ink-faint); transition:all .35s var(--step);}
.check-row.active .check-icon{background:color-mix(in srgb,var(--glow) 22%,transparent); color:var(--glow-ink);}
:root:not([data-theme="light"]) .check-row.active .check-icon,:root[data-theme="dark"] .check-row.active .check-icon{color:var(--glow);}
.check-row.done .check-icon{background:var(--good-bg); color:var(--good);}
.check-body{flex:1; min-width:0;}
.check-body .t{font-weight:700; font-size:16px;}
.check-body .s{font-size:13.5px; color:var(--ink-faint); margin-top:2px;}
.check-row.active .spin{animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.check-status{flex:none; font-size:13px; font-weight:700; color:var(--ink-faint);}
.check-row.done .check-status{color:var(--good);}

.run-log{max-width:660px; margin:20px auto 0; background:var(--ground-2); border:1px solid var(--border); border-radius:14px; padding:16px 20px; min-height:96px; font-size:14.5px;}
.run-log .line{display:flex; gap:10px; padding:4px 0; opacity:0; transform:translateY(6px); animation:logline .4s var(--step) forwards; color:var(--ink-soft);}
@keyframes logline{to{opacity:1; transform:none;}}
.run-log .line .mk{flex:none;}
.run-log .line b{color:var(--ink); font-weight:600;}
.run-cta{text-align:center; margin-top:30px; opacity:0; pointer-events:none; transition:opacity .5s;}
.run-cta.show{opacity:1; pointer-events:auto;}

/* ============ REPORT SCREEN ============ */
.report{padding:44px 0 90px;}
.report-top{display:flex; gap:14px; align-items:center; margin-bottom:26px; flex-wrap:wrap;}
.back-btn{background:none; border:1px solid var(--border-strong); color:var(--ink-soft); font-weight:600; font-size:14px; padding:8px 15px; border-radius:20px; cursor:pointer; display:inline-flex; align-items:center; gap:7px;}
.back-btn:hover{border-color:var(--glow); color:var(--ink);}
.engine-badge{margin-left:auto; display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:var(--ink-faint); border:1px solid var(--border); border-radius:100px; padding:6px 13px;}
.engine-badge .pip{width:7px; height:7px; border-radius:50%; background:var(--good);}
.engine-badge.off .pip{background:var(--ink-faint);}
.share-box{display:none; align-items:center; gap:9px; font-size:13px; font-weight:600; color:var(--ink-soft); border:1px solid var(--border); border-radius:100px; padding:5px 6px 5px 13px; background:var(--surface); max-width:100%;}
.share-box.show{display:inline-flex;}
.share-box code{font-family:"JetBrains Mono",monospace; font-size:12px; color:var(--ink); font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:34ch;}
.share-box button{border:0; background:var(--brand); color:var(--brand-ink); font-weight:700; font-size:12px; padding:6px 11px; border-radius:100px; cursor:pointer;}

.scorecard{background:var(--surface); border:1px solid var(--border); border-radius:22px; padding:34px; display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:center; box-shadow:0 20px 50px -30px rgb(var(--shadow)/.4); position:relative; overflow:hidden;}
.scorecard .sc-glow{position:absolute; top:-80px; left:-40px; width:280px; height:280px; background:radial-gradient(circle,color-mix(in srgb,var(--glow) 34%,transparent),transparent 68%); filter:blur(10px); opacity:.5; pointer-events:none;}
.grade{position:relative; width:150px; height:150px; display:grid; place-items:center;}
.grade svg{position:absolute; inset:0; transform:rotate(-90deg);}
.grade .letter{font-family:"Spectral",serif; font-size:64px; font-weight:600; line-height:1;}
.grade .glabel{position:absolute; bottom:-4px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); white-space:nowrap;}
.sc-body h1{font-size:clamp(26px,3.6vw,36px); margin-bottom:8px; letter-spacing:-.01em;}
.sc-body .host{font-family:"JetBrains Mono",monospace; font-size:14px; color:var(--ink-soft); margin-bottom:14px;}
.sc-summary{color:var(--ink-soft); font-size:17px; max-width:56ch;}
.sc-tally{display:flex; gap:10px; margin-top:20px; flex-wrap:wrap;}
.tally{display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border-radius:100px; font-size:13.5px; font-weight:700; border:1px solid transparent;}
.tally .n{font-variant-numeric:tabular-nums;}
.tally.urgent{background:var(--urgent-bg); color:var(--urgent);}
.tally.serious{background:var(--serious-bg); color:var(--serious);}
.tally.watch{background:var(--watch-bg); color:var(--watch);}
.tally.good{background:var(--good-bg); color:var(--good);}

.findings{margin-top:36px; display:flex; flex-direction:column; gap:16px;}
.finding{background:var(--surface); border:1px solid var(--f-edge,var(--border)); border-radius:var(--radius); overflow:hidden;}
.finding.urgent{--f-edge:color-mix(in srgb,var(--urgent) 34%,var(--border));}
.finding.serious{--f-edge:color-mix(in srgb,var(--serious) 32%,var(--border));}
.finding.watch{--f-edge:color-mix(in srgb,var(--watch) 30%,var(--border));}
.finding.good{--f-edge:color-mix(in srgb,var(--good) 28%,var(--border));}
.f-head{display:flex; gap:16px; padding:20px 22px; align-items:flex-start;}
.sev-chip{flex:none; display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border-radius:8px; font-size:12px; font-weight:700; letter-spacing:.02em; text-transform:uppercase; white-space:nowrap;}
.sev-chip.urgent{background:var(--urgent-bg); color:var(--urgent);}
.sev-chip.serious{background:var(--serious-bg); color:var(--serious);}
.sev-chip.watch{background:var(--watch-bg); color:var(--watch);}
.sev-chip.good{background:var(--good-bg); color:var(--good);}
.f-main{flex:1; min-width:0;}
.f-main h3{font-size:20px; margin-bottom:8px; letter-spacing:-.01em;}
.f-mean{font-size:15.5px; color:var(--ink-soft);}
.f-mean b{color:var(--ink);}
.f-fix{margin:16px 22px 0; padding:16px 18px; background:var(--surface-2); border:1px solid var(--border); border-radius:12px;}
.f-fix .fx-label{font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--good); display:flex; align-items:center; gap:8px; margin-bottom:10px;}
.f-fix ol{margin:0; padding-left:20px; color:var(--ink-soft); font-size:15px;}
.f-fix ol li{margin:5px 0;}
.f-fix .who{margin-top:12px; font-size:13.5px; color:var(--ink-faint); display:flex; align-items:center; gap:8px;}
details.proof{margin:14px 22px 22px; border:1px solid var(--border); border-radius:12px; background:var(--ground-2); overflow:hidden;}
details.proof summary{cursor:pointer; list-style:none; padding:12px 16px; font-size:13.5px; font-weight:700; color:var(--ink-soft); display:flex; align-items:center; gap:9px;}
details.proof summary::-webkit-details-marker{display:none;}
details.proof summary .chev{transition:transform .2s; margin-left:auto;}
details.proof[open] summary .chev{transform:rotate(90deg);}
details.proof summary:hover{color:var(--ink);}
.proof-body{padding:0 16px 16px;}
.proof-body pre{margin:0; background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:14px 16px; overflow-x:auto; font-family:"JetBrains Mono",monospace; font-size:12.5px; line-height:1.7; color:var(--ink-soft); white-space:pre-wrap; word-break:break-word;}
.proof-note{font-size:12.5px; color:var(--ink-faint); margin-top:10px;}

.report-foot{margin-top:38px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:28px; display:flex; gap:22px; align-items:center; justify-content:space-between; flex-wrap:wrap;}
.report-foot .rf-txt h3{font-size:20px; margin-bottom:6px;}
.report-foot .rf-txt p{color:var(--ink-soft); font-size:15px; max-width:46ch;}
.report-foot .rf-actions{display:flex; gap:12px; flex-wrap:wrap;}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--border); padding:34px 0; color:var(--ink-faint); font-size:14px;}
footer .wrap{display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; align-items:center;}
footer .brand{font-size:17px; color:var(--ink-soft);}
.disc{max-width:520px; line-height:1.5;}

/* ============ RESPONSIVE ============ */
@media(max-width:820px){
  .steps{grid-template-columns:1fr;}
  .commgrid{grid-template-columns:1fr;}
  .scorecard{grid-template-columns:1fr; text-align:center; justify-items:center; gap:20px;}
  .sc-tally{justify-content:center;}
  .sc-summary{margin:0 auto;}
}
@media(max-width:540px){
  body{font-size:16px;}
  .url-row{flex-direction:column;}
  .f-head{flex-direction:column; gap:11px;}
  .navlink.hide-sm{display:none;}
  .engine-badge{margin-left:0;}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto;}
}

/* ============ NOMINATE INVITE ============ */
.invite-box{margin-top:16px; padding:18px; background:var(--surface-2); border:1px solid var(--border); border-radius:14px;}
.invite-title{font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--good); margin-bottom:10px;}
.invite-msg{font-size:15px; color:var(--ink-soft); line-height:1.55; margin-bottom:14px;}
.invite-actions{display:flex; gap:10px; flex-wrap:wrap;}

/* ============ HELPERS DIRECTORY ============ */
.helpers-list{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; margin-bottom:34px;}
.helper-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:20px 22px; display:flex; flex-direction:column; gap:8px;}
.helper-head{display:flex; align-items:baseline; gap:10px; justify-content:space-between;}
.helper-head h3{font-size:18px;}
.helper-area{font-size:12px; font-weight:600; color:var(--ink-faint); background:var(--ground-2); padding:3px 9px; border-radius:100px; white-space:nowrap;}
.helper-blurb{font-size:14.5px; color:var(--ink-soft); margin:0;}
.helper-contact{font-size:14px; font-weight:600; color:var(--brand); text-decoration:none; word-break:break-word;}
:root:not([data-theme="light"]) .helper-contact,:root[data-theme="dark"] .helper-contact{color:var(--glow);}
.helper-contact:hover{text-decoration:underline;}
.helpers-empty{grid-column:1/-1; color:var(--ink-soft); font-size:15.5px; background:var(--surface-2); border:1px dashed var(--border-strong); border-radius:var(--radius); padding:24px; text-align:center;}

.helper-form-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:26px 28px; max-width:640px;}
.helper-form-card h3{font-size:20px; margin-bottom:6px;}
.helper-form-card > p{color:var(--ink-soft); font-size:15px; margin-bottom:18px;}
.helper-form-card form{display:flex; flex-direction:column; gap:12px;}
.hf-row{display:flex; gap:12px;}
.helper-form-card input,.helper-form-card textarea{width:100%; background:var(--surface-2); border:1.5px solid var(--border-strong); border-radius:10px; padding:12px 14px; font-size:15px; color:var(--ink); outline:none; font-family:inherit;}
.helper-form-card input:focus,.helper-form-card textarea:focus{border-color:var(--glow);}
.helper-form-card textarea{min-height:70px; resize:vertical;}
.helper-form-card .btn{align-self:flex-start;}
@media(max-width:540px){ .hf-row{flex-direction:column;} }

/* ============ PRINT ============ */
@media print{
  .topbar,.report-top .back-btn,.engine-badge,.share-box,.report-foot,footer,.run-cta{display:none !important;}
  body{background:#fff; color:#111; font-size:12pt;}
  .screen:not(.is-active){display:none;}
  .scorecard,.finding,.f-fix,details.proof{break-inside:avoid; box-shadow:none;}
  details.proof{display:block;}
  details.proof[open] .proof-body,details.proof .proof-body{display:block;}
  .report{padding:0;}
  a[href]::after{content:"";}
}

/* ============ REASSURANCE BANNER (no major issues) ============ */
.reassure-banner{display:flex; gap:16px; align-items:flex-start; background:var(--good-bg); border:1px solid color-mix(in srgb,var(--good) 30%,transparent); border-radius:var(--radius); padding:22px 24px;}
.reassure-banner .rb-icon{flex:none; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:color-mix(in srgb,var(--good) 22%,transparent); color:var(--good);}
.reassure-banner .rb-icon svg{width:20px; height:20px;}
.reassure-banner h3{font-size:20px; margin-bottom:6px; color:var(--good);}
.reassure-banner .rb-body p{font-size:15.5px; color:var(--ink-soft); max-width:60ch;}

/* ============ MINOR NOTES (lowest priority) ============ */
.tally.minor{background:var(--ground-2); color:var(--ink-faint);}
.minor-notes{margin-top:20px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); overflow:hidden;}
.minor-notes summary{cursor:pointer; list-style:none; padding:13px 16px; font-size:14px; font-weight:600; color:var(--ink-soft); display:flex; align-items:center; gap:10px;}
.minor-notes summary::-webkit-details-marker{display:none;}
.minor-notes .mn-hint{font-weight:500; color:var(--ink-faint); font-size:13px;}
.minor-notes summary .chev{margin-left:auto; transition:transform .2s;}
.minor-notes[open] summary .chev{transform:rotate(90deg);}
.minor-notes .mn-list{margin:0; padding:4px 20px 16px 34px; color:var(--ink-soft); font-size:14.5px; line-height:1.55;}
.minor-notes .mn-list li{margin:7px 0;}
.minor-notes .mn-list b{color:var(--ink); font-weight:600;}
