/* Free tools */
.tool-hero .split-7-5 { align-items:center; }
.tool-form { display:grid; gap:14px; margin-top:28px; max-width:520px; }
.tool-form .btn { justify-self:start; }
.tool-form .btn:disabled { opacity:.75; cursor:progress; }
.tool-stage { position:relative; width:100%; max-width:340px; aspect-ratio:1; justify-self:center; display:grid; place-items:center; }
.tool-stage .morph { width:76%; height:auto; overflow:visible; --morph-cut:var(--ground); }
.tool-stage::before { content:''; position:absolute; inset:4%; border-radius:50%; border:1px dashed var(--hair); }
.tool-stage::after { content:''; position:absolute; left:50%; top:50%; width:52%; height:52%; margin:-26% 0 0 -26%; border-radius:50%; background:radial-gradient(circle, rgba(253,208,23,.35), rgba(253,208,23,0) 70%); opacity:0; pointer-events:none; }
.tool-stage.busy::after { animation:lantern 1.6s ease-in-out infinite; }
@keyframes lantern { 0%, 100% { opacity:.25; transform:scale(.9); } 50% { opacity:.9; transform:scale(1.25); } }
.stage-num { position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); text-align:center; font:650 clamp(40px, 5vw, 58px)/1 var(--ui); letter-spacing:-0.03em; color:#fff; pointer-events:none; }
.stage-say { position:absolute; left:0; right:0; bottom:-6px; text-align:center; margin:0; }
@media (max-width:900px) { .tool-stage { max-width:220px; margin-top:12px; } }
@media (prefers-reduced-motion: reduce) { .tool-stage.busy::after { animation:none; opacity:.6; } }

.results { padding:24px 0 64px; scroll-margin-top:calc(var(--top) + 12px); }
.res-head { margin-bottom:24px; max-width:820px; }
.res-head h2 { font-size:clamp(26px, 3vw, 36px); }
.res-head .lede { margin-top:12px; }
.res-head .actions { margin-top:20px; }
.res-grid { display:grid; grid-template-columns:7fr 5fr; gap:16px; align-items:start; }
@media (max-width:860px) { .res-grid { grid-template-columns:1fr; } }
.res-grid h3, .snaps + .card h3 { font-size:17px; margin-bottom:12px; }
.bars { display:grid; gap:12px; margin-bottom:12px; }
.bar { display:grid; grid-template-columns:150px 1fr 56px; gap:12px; align-items:center; font-size:15px; }
.bar-t { display:block; height:12px; border-radius:3px; background:var(--sunken); overflow:hidden; }
.bar-i { display:block; height:100%; width:100%; background:var(--i3); transform-origin:left; transform:scaleX(0); }
.bar b { text-align:right; font-weight:600; }
@media (max-width:480px) { .bar { grid-template-columns:110px 1fr 48px; } }
.bar.ref span { color:var(--t3); }
.bar.ref .bar-i { background:var(--t3); opacity:.6; }
.res-head .stack { margin-top:16px; }
.tool-hero .logo-row { margin-top:14px; }
.sim { margin-top:16px; }
span.lg-mono { display:inline-grid; place-items:center; width:20px; height:20px; border-radius:5px; background:var(--rival); color:#fff; font:700 11px/1 var(--ui); margin-right:7px; vertical-align:-4px; }
.capture { display:grid; grid-template-columns:1fr minmax(280px, 440px); gap:12px 32px; align-items:center; margin-top:28px; }
.capture .h3 { font-size:21px; margin-bottom:6px; }
.capture .soft { margin:0; }
.capture .err, .capture .form-note { grid-column:2; margin:0; }
.capture .form-done { grid-column:1/-1; }
@media (max-width:860px) { .capture { grid-template-columns:1fr; } .capture .err, .capture .form-note { grid-column:1; } }

/* snapshot */
.snaps { display:grid; gap:14px; margin-bottom:16px; }
.snap p { margin:0 0 12px; }
.snap mark.ok { background:none; color:var(--t1); text-decoration:underline; text-decoration-color:var(--pos); text-decoration-thickness:2px; text-underline-offset:4px; padding:0; }
.snap mark.flag { background:color-mix(in srgb, var(--warn) 20%, transparent); color:var(--t1); padding:1px 4px; border-radius:4px; }
.snap-f { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.flagp { color:var(--warn); }

/* prompt generator */
.pgs { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:16px; }
.pg { background:var(--card); border:1px solid var(--hair); border-radius:14px; padding:20px; }
.pg h3 { font-size:17px; margin-bottom:10px; }
.pg ol { margin:0; padding-left:22px; display:grid; gap:6px; color:var(--t2); font-size:15px; }

/* teardown */
.chks { border-top:1px solid var(--hair); }
.chk { border-bottom:1px solid var(--hair); }
.chk summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:110px 1fr auto; gap:16px; align-items:center; padding:16px 4px; }
.chk summary::-webkit-details-marker { display:none; }
.chk > div { padding:0 4px 18px 130px; }
.chk pre { margin:10px 0 0; }
@media (max-width:600px) { .chk summary { grid-template-columns:1fr auto; } .chk summary .st { grid-column:1/-1; } .chk > div { padding-left:4px; } }
.st { display:inline-flex; align-items:center; gap:7px; font:600 14px/1 var(--ui); }
.st i { width:9px; height:9px; border-radius:50%; background:currentColor; }
.st.pass { color:var(--pos); } .st.warn { color:var(--warn); } .st.fail { color:var(--neg); }

/* hub and minis */
.free-rows { border-top:1px solid var(--hair); }
.free-row { display:grid; grid-template-columns:minmax(220px, 4fr) 7fr auto; gap:24px; align-items:center; padding:26px 4px; border-bottom:1px solid var(--hair); text-decoration:none; transition:background .18s var(--ease); }
.free-row:hover { background:var(--hover); }
.free-row b { font-size:21px; }
.free-row span { color:var(--t2); }
.free-row em { font-style:normal; font-weight:600; color:var(--t1); }
@media (max-width:720px) { .free-row { grid-template-columns:1fr; gap:6px; } .free-row em { display:none; } }
.free-mini { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px; }
.free-mini a { display:flex; flex-direction:column; gap:4px; padding:16px; border-radius:12px; background:var(--card); border:1px solid var(--hair); text-decoration:none; }
.free-mini a:hover { border-color:var(--strong); }
.free-mini span { font-size:14px; color:var(--t3); }
ul.ticks.big { font-size:18px; gap:14px; }

/* benchmark report */
.hbars { display:grid; gap:14px; }
.hb { display:grid; grid-template-columns:200px 1fr 60px; gap:14px; align-items:center; }
.hb i { display:block; height:14px; border-radius:3px; background:var(--i3); transform-origin:left; transform:scaleX(var(--v)); }
.hb b { text-align:right; }
.hb:nth-child(2) i { background:var(--you); }
@media (max-width:560px) { .hb { grid-template-columns:1fr 54px; } .hb i { grid-column:1/-1; grid-row:2; } }
.heat-tbl td.heat { background:color-mix(in srgb, var(--i3) calc(var(--h) * 70%), transparent); font-weight:600; }
.heat-tbl th img.lg { margin:0; }

/* templates */
.tpl h3 { margin:6px 0 8px; }
.tpl .actions { margin-top:16px; }
.heat-tbl td.num, .heat-tbl th.num { text-align:center; }
.bench td.num .meter { width:140px; margin:6px 0 0 auto; }
.phero .lede .logo-row { margin-top:14px; }
.bar.you .bar-i { background:var(--you); }
/* labelled bars inside report rows: room for a full brand name */
.rows .meters { max-width:340px; }
.rows .mrow { grid-template-columns:170px 1fr; }
/* the readiness check lists issues and crawler rules inline, one per line */
.chk-list { list-style:none; margin:12px 0 0; padding:0; border-top:1px solid var(--hair); }
.chk-list li { padding:10px 0; border-bottom:1px solid var(--hair); font-size:15px; overflow-wrap:anywhere; }
.chk-list li.chk { display:flex; gap:12px; align-items:baseline; }
.chk-list .st { flex:none; min-width:58px; }
.res-grid pre { max-width:100%; overflow:auto; }
.capture .actions { display:flex; gap:12px; flex-wrap:wrap; }
