/* styles.css */
:root{--bg:#f7f8fc;--surface:#fff;--text:#16181d;--muted:#656b76;--line:#e3e6ed;--brand:#5b50e6;--brand2:#453ac5;--ok:#19744a;--danger:#b3261e;--warning:#8a5b00;--shadow:0 18px 50px rgba(24,28,45,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#f4f3ff 0,#f7f8fc 360px);color:var(--text);line-height:1.55}button,input,select{font:inherit}a{color:inherit}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:20px}.mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--brand),#8d75ff);display:grid;place-items:center;color:white;box-shadow:0 8px 20px rgba(91,80,230,.3)}.lang{border:1px solid var(--line);background:rgba(255,255,255,.84);border-radius:10px;padding:8px 10px;color:var(--text)}.hero{text-align:center;padding:58px 0 28px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border:1px solid #dcd8ff;border-radius:999px;background:#f1efff;color:#4c42bd;font-weight:700;font-size:13px}.hero h1{font-size:clamp(36px,6vw,68px);line-height:1.03;letter-spacing:-.045em;margin:20px auto 16px;max-width:920px}.hero p{font-size:clamp(17px,2.3vw,21px);color:var(--muted);max-width:760px;margin:0 auto}.app-shell{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:20px;margin:32px auto 80px}.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.dropzone{min-height:285px;margin:18px;border:2px dashed #cbc7ef;border-radius:18px;display:grid;place-items:center;text-align:center;padding:28px;background:linear-gradient(180deg,#faf9ff,#fff);transition:.2s}.dropzone.drag{border-color:var(--brand);background:#f0eeff;transform:translateY(-1px)}.drop-icon{width:62px;height:62px;border-radius:18px;background:#efedff;color:var(--brand);display:grid;place-items:center;margin:auto auto 16px;font-size:30px}.dropzone h2{margin:0 0 6px;font-size:23px}.dropzone p{margin:0 0 18px;color:var(--muted);font-size:14px}.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:750;cursor:pointer;transition:.18s}.btn:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--brand);color:#fff;box-shadow:0 8px 20px rgba(91,80,230,.25)}.primary:hover:not(:disabled){background:var(--brand2);transform:translateY(-1px)}.secondary{background:#f0f1f5;color:var(--text)}.ghost{background:transparent;border:1px solid var(--line)}.danger{background:#fff1f0;color:var(--danger);border:1px solid #f0c7c4}.settings{padding:22px}.settings h2,.section-head h2{margin:0;font-size:20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:750}.field input,.field select{width:100%;padding:11px 12px;border:1px solid #d9dde6;border-radius:10px;background:#fff;outline:none}.field input:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,80,230,.12)}.hint{font-size:12px;color:var(--muted)}.checkbox{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:11px;background:#f7f7fb}.checkbox input{margin-top:4px}.actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.files-card{grid-column:1/-1;padding:22px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.badge{font-size:12px;padding:5px 9px;background:#eef8f2;color:var(--ok);border-radius:999px;font-weight:700}.file-list,.results-grid{display:grid;gap:10px}.file-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.file-row.status-processing{border-color:#bcb6ff;box-shadow:0 0 0 3px rgba(91,80,230,.08)}.file-row.status-error{border-color:#edbbb7}.thumb{width:44px;height:44px;border-radius:9px;object-fit:cover;background:#eceef3}.file-main{min-width:0}.file-name{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:12px;color:var(--muted)}.file-signals{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.status-chip,.metadata-chip{display:inline-flex;align-items:center;max-width:100%;padding:3px 7px;border-radius:999px;font-size:11px;line-height:1.35}.status-chip{background:#efedff;color:var(--brand2);font-weight:800}.metadata-chip{background:#f3f4f7;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-controls{display:flex;gap:7px;align-items:center}.file-controls .btn{padding:7px 10px;font-size:12px}.file-overrides{display:none;grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.file-overrides.open{display:block}.file-overrides>p{margin:0 0 10px;color:var(--muted);font-size:12px}.override-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr)) auto;gap:9px;align-items:end}.override-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:750}.override-grid input,.override-grid select{width:100%;min-width:0;padding:8px 9px;border:1px solid #d9dde6;border-radius:9px;background:#fff}.override-grid .btn{padding:8px 10px}.results-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr))}.result{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}.result-preview{height:150px;background:repeating-conic-gradient(#f0f1f5 0 25%,#fff 0 50%) 50%/18px 18px;display:grid;place-items:center}.result-preview img{width:100%;height:100%;object-fit:contain}.compare-preview{display:grid;grid-template-columns:1fr 1fr;height:160px;background:repeating-conic-gradient(#f0f1f5 0 25%,#fff 0 50%) 50%/18px 18px}.compare-preview figure{position:relative;margin:0;min-width:0;overflow:hidden;border-right:1px solid rgba(0,0,0,.08)}.compare-preview figure:last-child{border-right:0}.compare-preview img{width:100%;height:100%;object-fit:contain;display:block}.compare-preview figcaption{position:absolute;left:7px;bottom:7px;padding:3px 7px;border-radius:999px;background:rgba(20,22,28,.72);color:#fff;font-size:10px;font-weight:750}.result-body{padding:13px}.result-title{font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-meta{font-size:12px;color:var(--muted);margin:5px 0 9px}.verification{padding:7px 9px;border-radius:9px;font-size:11px;font-weight:750;margin:6px 0}.verify-good{background:#eaf7ef;color:var(--ok)}.verify-neutral{background:#f1f2f5;color:var(--muted)}.verify-bad{background:#fff0ef;color:var(--danger)}.verify-warn{background:#fff7df;color:var(--warning)}.metadata-detail{font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin:7px 0 10px}.result-actions{display:flex;gap:8px}.result-actions .btn{padding:8px 11px;font-size:13px}.empty{text-align:center;color:var(--muted);padding:36px 12px;border:1px dashed var(--line);border-radius:14px}.progress{height:7px;background:#eceef4;border-radius:99px;overflow:hidden;margin-top:13px;display:none}.progress span{display:block;height:100%;width:0;background:var(--brand);transition:width .2s}.batch-summary{margin-top:12px;padding:9px 11px;border-radius:10px;background:#f5f5fa;color:var(--muted);font-size:12px;min-height:18px}.batch-summary:empty{display:none}.batch-summary.warning{background:#fff7df;color:var(--warning)}.notice{margin-top:12px;font-size:13px;color:var(--danger);min-height:20px}.content{padding:0 0 90px}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info{padding:24px}.info h3{margin:0 0 10px}.info p,.info li{color:var(--muted)}.info ul{padding-left:20px;margin:0}.long-card{margin-top:18px;padding:28px}.faq details{padding:14px 0;border-top:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:750}.faq p{color:var(--muted);margin:8px 0 0}.breadcrumb{display:flex;align-items:center;gap:8px;padding-top:18px;color:var(--muted);font-size:14px}.breadcrumb a{color:var(--brand2);font-weight:700;text-decoration:none}.tool-hub{margin-top:34px}.tool-hub>h2{font-size:clamp(25px,4vw,38px);letter-spacing:-.025em;margin:0 0 8px}.tool-intro{color:var(--muted);margin:0 0 20px;max-width:720px}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tool-link{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(24,28,45,.05);text-decoration:none;transition:.18s}.tool-link:hover{transform:translateY(-2px);border-color:#c9c4ff;box-shadow:0 14px 34px rgba(24,28,45,.09)}.tool-link strong{font-size:16px}.tool-link span{font-size:13px;color:var(--muted)}.footer{border-top:1px solid var(--line);padding:24px 0 40px;color:var(--muted);font-size:14px}.footer-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.override-grid{grid-template-columns:repeat(3,minmax(110px,1fr))}.override-grid .btn{align-self:end}}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.files-card{grid-column:auto}.content-grid{grid-template-columns:1fr}.hero{padding-top:35px}.tool-grid{grid-template-columns:1fr}.file-row{grid-template-columns:44px minmax(0,1fr)}.file-controls{grid-column:1/-1;justify-content:flex-end}.override-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}}
@media(max-width:520px){.wrap{width:min(100% - 20px,1120px)}.grid{grid-template-columns:1fr}.field.full{grid-column:auto}.topbar{height:60px}.hero h1{font-size:39px}.dropzone{margin:10px;min-height:250px}.settings,.files-card{padding:16px}.section-head{align-items:flex-start;flex-direction:column}.actions .btn{flex:1}.result-actions .btn{flex:auto}.breadcrumb{font-size:12px;overflow:hidden}.tool-link{padding:16px}.override-grid{grid-template-columns:1fr}.file-signals{display:grid}.metadata-chip{white-space:normal}.compare-preview{height:145px}}

/* seo.css */
.seo-evidence{margin-top:22px;display:grid;gap:18px}.seo-evidence h2,.trust-page h1,.trust-page h2{letter-spacing:-.025em}.seo-evidence h2{font-size:clamp(26px,4vw,38px);margin:0}.seo-evidence h3{margin:0 0 10px}.seo-evidence p,.seo-evidence li,.trust-page p,.trust-page li{color:var(--muted)}.evidence-card{padding:28px}.evidence-lead{font-size:18px;max-width:800px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.metric{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fafaff}.metric strong{display:block;font-size:23px;color:var(--brand2)}.metric span{font-size:12px;color:var(--muted)}.seo-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:15px}.seo-table{width:100%;border-collapse:collapse;background:#fff}.seo-table th,.seo-table td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}.seo-table th{font-size:13px;background:#f7f7fb}.seo-table tr:last-child td{border-bottom:0}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.steps{margin:0;padding-left:22px}.steps li{padding:5px 0}.callout{padding:18px 20px;border-left:4px solid var(--brand);background:#f4f2ff;border-radius:0 14px 14px 0}.byline{font-size:13px;color:var(--muted);margin-top:16px}.byline a,.inline-link{color:var(--brand2);font-weight:700}.trust-page{padding:54px 0 90px}.trust-page>header{max-width:820px;margin-bottom:30px}.trust-page h1{font-size:clamp(38px,7vw,68px);line-height:1.05;margin:12px 0 18px}.trust-page .lede{font-size:20px}.trust-stack{display:grid;gap:18px}.trust-card{padding:28px}.trust-card h2{margin:0 0 12px}.trust-card h3{margin:22px 0 8px}.trust-nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.trust-nav a,.footer-links a{color:var(--brand2);font-weight:700;text-decoration:none}.trust-nav a:hover,.footer-links a:hover{text-decoration:underline}.footer-links{display:flex;gap:14px;flex-wrap:wrap}.proof-hub{padding-bottom:30px}.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.proof-link{display:block;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;box-shadow:0 10px 30px rgba(24,28,45,.05)}.proof-link strong{display:block;margin-bottom:6px}.proof-link span{font-size:13px;color:var(--muted)}.changelog-entry{padding:20px 0;border-top:1px solid var(--line)}.changelog-entry:first-child{border-top:0;padding-top:0}.changelog-entry time{font-size:13px;font-weight:800;color:var(--brand2)}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.contact-actions a{display:inline-flex;text-decoration:none}.page-note{font-size:13px;color:var(--muted)}@media(max-width:850px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-grid,.proof-grid{grid-template-columns:1fr}}@media(max-width:520px){.metric-grid{grid-template-columns:1fr}.evidence-card,.trust-card{padding:20px}.trust-page{padding-top:34px}.footer-links{gap:9px;font-size:13px}}

/* seo-phase2.css */
.main-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-left:auto;margin-right:18px}.main-nav a{color:var(--brand2);font-size:14px;font-weight:750;text-decoration:none}.main-nav a:hover{text-decoration:underline}.guide-hero{padding-bottom:42px}.guide-content{display:grid;gap:18px}.guide-section{padding:28px}.guide-section h2,.guide-related h2,.guide-hub>h2{margin:0 0 12px;letter-spacing:-.025em}.guide-section p,.guide-section li,.guide-related p,.intent-guide p,.maintainer-note{color:var(--muted)}.guide-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.guide-related{padding:28px;margin-top:4px}.guide-grid{margin-bottom:20px}.section-kicker{display:inline-block;margin-bottom:7px;color:var(--brand2);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.intent-guide{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin-top:22px}.intent-guide h2{margin:0 0 7px;font-size:clamp(22px,3vw,30px)}.intent-guide p{margin:0;max-width:760px}.intent-guide .btn{flex:0 0 auto;text-decoration:none}.maintainer-note{margin:24px 0 0;font-size:13px}.maintainer-note a{color:var(--brand2);font-weight:700}.guide-hub{padding-bottom:34px}.guide-hub>h2{font-size:clamp(25px,4vw,38px)}code{padding:.15em .38em;border:1px solid var(--line);border-radius:6px;background:#f7f7fb;font-size:.92em}.content,.tool-hub,.seo-evidence,.proof-hub,.guide-hub,.files-card{content-visibility:auto;contain-intrinsic-size:1px 720px}.result-preview img,.thumb{display:block}.guide-section .lab-controls{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:14px;margin:18px 0}.guide-section .lab-controls label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:750;color:var(--text)}.guide-section .lab-controls select{width:100%;min-height:44px;padding:0 12px;border:1px solid #cfd4df;border-radius:12px;background:#fff;color:var(--text);font:inherit}.guide-section .lab-controls .checkline{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px;padding:10px 13px;border:1px solid #d9dde6;border-radius:12px;background:#fff}.guide-section .lab-controls .checkline input{width:18px;height:18px;flex:0 0 auto}.benchmark-status{min-height:24px;margin:13px 0 0;color:var(--muted);font-weight:650}.benchmark-metrics:empty{display:none}#benchmarkProgress{display:block;width:100%;height:12px;margin:16px 0 4px;accent-color:var(--brand)}#benchmarkProgress[hidden]{display:none}.seo-table-wrap{overflow:auto;max-width:100%}.seo-table{min-width:760px}.seo-table th{position:sticky;top:0;z-index:1;background:#f4f3fc}.seo-table td{font-variant-numeric:tabular-nums}.guide-section>.actions{flex-wrap:wrap}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.tool-link,.dropzone{transition:none!important}}@media(max-width:900px){.main-nav{gap:10px;margin-right:10px}.main-nav a:nth-child(3){display:none}.guide-columns{grid-template-columns:1fr}.intent-guide{align-items:flex-start;flex-direction:column}.guide-section .lab-controls{grid-template-columns:1fr}}@media(max-width:680px){.topbar{height:auto;min-height:64px;flex-wrap:wrap;padding:10px 0}.main-nav{order:3;width:100%;justify-content:flex-start;margin:4px 0 0;overflow-x:auto;padding-bottom:3px}.main-nav a{white-space:nowrap}.guide-section,.guide-related{padding:20px}.intent-guide{padding:20px}.guide-hero{padding-top:35px}.guide-section>.actions .btn{width:100%}.seo-table{min-width:940px}}

/* design-science.css */
/* Kompixa evidence-based interface layer
   Visual hierarchy, cognitive load, readable measure, accessible targets and responsive reflow. */
:root{
  --ds-bg:#f6f7fb;
  --ds-surface:#ffffff;
  --ds-surface-soft:#fafaff;
  --ds-text:#171922;
  --ds-muted:#5f6675;
  --ds-border:#dde1ea;
  --ds-border-strong:#c9ceda;
  --ds-brand:#5549df;
  --ds-brand-strong:#3f35ba;
  --ds-brand-soft:#efedff;
  --ds-measure:72ch;
  --ds-radius-sm:10px;
  --ds-radius-md:14px;
  --ds-radius-lg:18px;
  --ds-shadow-rest:0 1px 2px rgba(20,24,40,.035),0 10px 28px rgba(20,24,40,.045);
  --ds-shadow-raised:0 4px 12px rgba(20,24,40,.07),0 18px 42px rgba(20,24,40,.08);
  --ds-focus:0 0 0 3px rgba(85,73,223,.28),0 0 0 6px rgba(255,255,255,.96);
  --ds-section-gap:clamp(36px,5vw,64px);
}

html{font-size:100%;scroll-padding-top:84px}
body{
  background:linear-gradient(180deg,#f3f2ff 0,#f7f8fc 300px,var(--ds-bg) 760px);
  color:var(--ds-text);
  font-size:16px;
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
main{isolation:isolate}
img,svg,canvas{max-width:100%}
p,li{overflow-wrap:anywhere}
h1,h2,h3{color:var(--ds-text);text-wrap:balance}
p{ text-wrap:pretty }
.hero p,.guide-content>article>p,.guide-section p,.long-card>p,.trust-card>p,.search-intent-answer p{max-width:var(--ds-measure)}
.hero p{margin-inline:auto}

/* Predictable, compact global frame. */
.wrap{width:min(1180px,calc(100% - 40px))}
.topbar{min-height:68px;height:auto;padding-block:10px}
.brand{min-height:44px;padding:4px 0}
.main-nav{gap:6px;margin-right:12px}
.main-nav a,.footer-links a,.trust-nav a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border-radius:10px;
  text-decoration:none;
}
.main-nav a:hover,.main-nav a:focus-visible,.footer-links a:hover,.trust-nav a:hover{
  background:var(--ds-brand-soft);
  color:var(--ds-brand-strong);
  text-decoration:none;
}
.breadcrumb{min-height:44px;padding-top:10px}
.hero{padding:clamp(34px,5vw,58px) 0 clamp(22px,3vw,34px)}
.hero h1{max-width:840px;font-size:clamp(36px,5.3vw,62px);line-height:1.04;letter-spacing:-.042em}
.guide-hero{padding-bottom:clamp(28px,4vw,42px)}

/* One visual language: borders communicate grouping; shadows are reserved for interaction. */
.card{
  border-color:var(--ds-border);
  border-radius:var(--ds-radius-lg);
  box-shadow:var(--ds-shadow-rest);
}
.long-card,.guide-section,.guide-related,.evidence-card,.trust-card{padding:clamp(20px,2.4vw,28px)}
.long-card{margin-top:0}
.content,.guide-content,.seo-evidence,.proof-hub,.guide-hub{padding-bottom:var(--ds-section-gap)}
.guide-content{gap:16px}
.guide-content>*{margin-top:0!important}
.guide-section h2,.long-card h2{font-size:clamp(22px,2.5vw,30px);line-height:1.18}
.guide-section p,.long-card p,.intent-card span,.tool-link span{color:var(--ds-muted)}

/* Main task dominance: the processing workspace remains the strongest surface. */
.app-shell{gap:18px;margin:24px auto clamp(42px,6vw,68px)}
.app-shell>.card{box-shadow:0 2px 4px rgba(20,24,40,.035),0 18px 46px rgba(20,24,40,.075)}
.dropzone{min-height:300px;border-color:#c8c4ec;background:linear-gradient(180deg,#faf9ff,#fff)}
.dropzone:hover{border-color:#aba4ee;background:#f8f7ff}
.settings{padding:22px}
.files-card{padding:22px}

/* Fitts/WCAG-friendly interaction targets and unmistakable keyboard focus. */
a.tool-link,button,.btn,input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),select,summary,[role="button"]{min-height:44px}
a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[role="button"]:focus-visible{
  outline:3px solid var(--ds-brand)!important;
  outline-offset:3px!important;
  box-shadow:var(--ds-focus)!important;
}
.btn{border-radius:var(--ds-radius-sm);padding-inline:17px}
.primary{background:var(--ds-brand)}
.primary:hover:not(:disabled){background:var(--ds-brand-strong)}

/* Exact-size choices: higher information density, lower scroll cost. */
.tool-hub{margin-top:clamp(24px,4vw,40px)}
.tool-hub>h2{font-size:clamp(25px,3.5vw,36px);line-height:1.15;margin-bottom:14px}
.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tool-link{
  position:relative;
  min-height:92px;
  justify-content:center;
  gap:4px;
  padding:15px 17px;
  border-color:var(--ds-border);
  border-radius:var(--ds-radius-md);
  box-shadow:none;
  background:rgba(255,255,255,.92);
}
.tool-link::after{
  content:'→';
  position:absolute;
  right:15px;
  top:14px;
  color:#8a84c9;
  font-weight:800;
  opacity:0;
  transform:translateX(-4px);
  transition:opacity .15s,transform .15s;
}
.tool-link:hover,.tool-link:focus-visible{
  transform:translateY(-1px);
  border-color:#bcb6f2;
  background:#fff;
  box-shadow:var(--ds-shadow-raised);
}
.tool-link:hover::after,.tool-link:focus-visible::after{opacity:1;transform:none}
.tool-link strong{padding-right:20px;font-size:15px;line-height:1.3}
.tool-link span{font-size:12.5px;line-height:1.45}

/* Related navigation is intentionally secondary, never another giant card. */
.related-actions{
  display:grid;
  grid-template-columns:minmax(170px,.34fr) minmax(0,1fr);
  gap:20px;
  align-items:center;
  margin-top:24px;
  margin-bottom:var(--ds-section-gap);
  padding:18px 0 0;
  border-top:1px solid var(--ds-border);
}
.related-actions-copy h2{margin:3px 0 0;font-size:clamp(20px,2.4vw,27px);line-height:1.2}
.related-actions-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.related-actions .tool-link{min-height:78px;padding:13px 15px;background:transparent}
.related-actions .tool-link span{display:none}

/* Nested-card removal: grouping follows proximity and alignment instead of repeated boxes. */
.intent-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:20px;
  border:1px solid var(--ds-border);
  border-radius:var(--ds-radius-md);
  overflow:hidden;
  background:var(--ds-surface-soft);
}
.intent-grid .intent-card{
  min-height:0;
  padding:18px;
  border:0;
  border-right:1px solid var(--ds-border);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.intent-grid .intent-card:last-child{border-right:0}
.intent-card strong{font-size:15.5px;line-height:1.35;margin-bottom:7px}
.intent-card span{display:block;font-size:13px;line-height:1.5}
.callout{margin:0;padding:17px 20px;border-left-width:3px;border-radius:0 var(--ds-radius-md) var(--ds-radius-md) 0;background:#f3f1ff}
.guide-columns{gap:12px}
.guide-columns>.card{
  min-height:100%;
  padding:22px;
  border-radius:var(--ds-radius-md);
  box-shadow:none;
  background:rgba(255,255,255,.78);
}
.guide-columns>.card h2,.guide-columns>.card h3{font-size:clamp(19px,2vw,24px);line-height:1.22}

/* Direct answer: strong information scent without dominating the tool. */
.search-intent-answer{padding-bottom:20px}
.search-intent-answer .long-card{border-left:4px solid var(--ds-brand);background:linear-gradient(135deg,#fff,#faf9ff)}
.search-intent-answer .guide-columns{margin-top:18px;grid-template-columns:repeat(2,minmax(0,1fr))}
.search-intent-answer .guide-columns>.card{padding:17px 18px;background:#fff}
.search-intent-answer .guide-columns h3{margin:0 0 7px;font-size:15px}
.search-intent-answer .guide-columns p{margin:0;font-size:13px;line-height:1.55}
.section-kicker{letter-spacing:.07em}

/* Tables and dense evidence remain scannable. */
.seo-table-wrap{border-radius:var(--ds-radius-md);box-shadow:none}
.seo-table th,.seo-table td{padding:12px 14px}
.metric,.proof-link,.home-shortcuts-grid a{box-shadow:none;border-color:var(--ds-border)}
.metric strong{font-variant-numeric:tabular-nums}

/* Reflow and touch layouts. */
@media(max-width:980px){
  .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related-actions{grid-template-columns:1fr;gap:12px}
  .related-actions-links{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .wrap{width:min(100% - 24px,1180px)}
  .topbar{align-items:flex-start}
  .main-nav{width:100%;margin:2px 0 0;padding-bottom:4px;scrollbar-width:thin}
  .main-nav a{flex:0 0 auto}
  .tool-grid,.related-actions-links,.intent-grid,.search-intent-answer .guide-columns{grid-template-columns:1fr}
  .intent-grid .intent-card{border-right:0;border-bottom:1px solid var(--ds-border)}
  .intent-grid .intent-card:last-child{border-bottom:0}
  .related-actions .tool-link span{display:block}
  .guide-columns{grid-template-columns:1fr}
  .app-shell{margin-top:16px}
}
@media(max-width:520px){
  body{font-size:15.5px}
  .wrap{width:min(100% - 20px,1180px)}
  .hero{padding-top:28px}
  .hero h1{font-size:clamp(34px,11vw,44px)}
  .long-card,.guide-section,.guide-related,.evidence-card,.trust-card,.files-card,.settings{padding:18px}
  .dropzone{min-height:240px;margin:10px;padding:20px}
  .tool-link{min-height:82px}
  .related-actions{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media(forced-colors:active){
  .card,.tool-link,.intent-grid,.intent-card,.callout{border:1px solid CanvasText}
  a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[role="button"]:focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}
}

/* experience-science.css */
:root{
  --experience-reading:72ch;
  --experience-focus:#2f22c7;
  --experience-focus-ring:0 0 0 3px #fff,0 0 0 6px rgba(47,34,199,.72);
  --experience-soft:#f8f8fd;
  --experience-border:#dfe2eb;
  --experience-success:#196b45;
}

/* Bypass repeated navigation and keep focused controls visible above sticky actions. */
.skip-link{position:fixed;z-index:10000;left:16px;top:12px;transform:translateY(-180%);padding:11px 15px;border:2px solid var(--experience-focus);border-radius:10px;background:#fff;color:#17132f;font-weight:850;text-decoration:none;box-shadow:0 12px 30px rgba(20,22,36,.18)}
.skip-link:focus{transform:none}
:where(button,.btn,select,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),textarea,summary){min-height:44px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--experience-focus)!important;outline-offset:3px!important;box-shadow:var(--experience-focus-ring)!important}
:where(h1,h2,h3,[id],input,select,button,summary){scroll-margin-block:112px}

/* Lighthouse/WCAG mobile target sizing for repeated interactive content. */
.tool-grid{gap:12px}
.tool-link{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:48px;padding:12px 14px;box-sizing:border-box}
.tool-link strong,.tool-link span{display:block}
details>summary{min-height:48px;padding:12px 14px;box-sizing:border-box;line-height:1.45;cursor:pointer}
details+details{margin-top:8px}

/* Task-first pages show the working tool before supporting explanation. */
main[data-task-first="true"] .hero{padding-bottom:18px}
main[data-task-first="true"] .hero p{max-width:68ch}
.task-confidence-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px auto 16px}
.task-confidence-item{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:12px 14px;border:1px solid #dedff0;border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 8px 22px rgba(25,28,45,.035)}
.task-confidence-icon{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#eceaff;color:var(--brand2);font-weight:900}
.task-confidence-copy{min-width:0}
.task-confidence-copy strong{display:block;font-size:13px;line-height:1.3}
.task-confidence-copy span{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.4}
main[data-task-first="true"] .app-shell{margin-top:16px;margin-bottom:42px}
main[data-task-first="true"] .search-intent-answer{padding-bottom:24px}
main[data-task-first="true"] .search-intent-answer>.long-card{margin-top:0;padding:22px 24px;border-radius:18px;box-shadow:0 10px 28px rgba(24,28,45,.045)}
main[data-task-first="true"] .search-intent-answer .guide-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
main[data-task-first="true"] .search-intent-answer .info{padding:16px;border-radius:13px;box-shadow:none;background:var(--experience-soft)}
main[data-task-first="true"] .search-intent-answer .info h3{font-size:14px;margin-bottom:5px}
main[data-task-first="true"] .search-intent-answer .info p{font-size:13px;line-height:1.55;margin:0}
.app-shell[aria-busy="true"]{cursor:progress}
.app-shell[aria-busy="true"] .settings{border-color:#bbb5fa}

/* Long pages get a compact local map instead of forcing linear scrolling. */
.page-contents{display:flex;align-items:flex-start;gap:16px;margin:4px auto 26px;padding:14px 16px;border:1px solid var(--experience-border);border-radius:15px;background:rgba(255,255,255,.88)}
.page-contents>strong{flex:0 0 auto;padding-top:3px;font-size:12px;letter-spacing:.055em;text-transform:uppercase;color:var(--brand2)}
.page-contents-links{display:flex;flex-wrap:wrap;gap:7px 15px;min-width:0}
.page-contents a{min-height:32px;display:inline-flex;align-items:center;color:var(--muted);font-size:13px;font-weight:700;text-decoration:none;text-underline-offset:3px}
.page-contents a:hover,.page-contents a:focus-visible,.page-contents a[aria-current="location"]{color:var(--brand2);text-decoration:underline}

/* Reading and comprehension: moderate measure, short blocks, stronger hierarchy. */
.guide-content p,.guide-content li,.seo-evidence p,.seo-evidence li,.trust-page p,.trust-page li,.search-intent-answer p{max-width:var(--experience-reading)}
.guide-content p,.trust-page p,.seo-evidence p{line-height:1.68}
.guide-content h2,.trust-page h2,.seo-evidence h2{line-height:1.18;text-wrap:balance}
.hero h1,.guide-hero h1{text-wrap:balance}
.hero p{text-wrap:pretty}

/* Status and results remain perceivable without visual jumping. */
.notice[role="status"],.batch-summary[role="status"]{min-height:1.35em}
.results-grid[aria-live="polite"]{overflow-anchor:none}
#emptyResults{min-height:82px;display:grid;place-items:center}

/* Make the primary task unmistakable while keeping destructive actions secondary. */
[data-primary-action="process"]{min-width:172px;font-weight:850}
[data-primary-action="process"]::after{content:' →';font-weight:900}
.settings-actions [data-primary-action="process"]{flex:1 1 180px}
.btn.danger,#deleteRecipeBtn{box-shadow:none!important}

/* Mobile reflow and focus safety around sticky actions. */
@media(max-width:860px){
  .task-confidence-strip{grid-template-columns:1fr;margin-top:8px}
  main[data-task-first="true"] .search-intent-answer .guide-columns{grid-template-columns:1fr}
  .page-contents{display:block}
  .page-contents>strong{display:block;margin-bottom:7px}
}
@media(max-width:620px){
  main[data-task-first="true"] .hero{padding-top:24px;padding-bottom:12px}
  .task-confidence-strip{width:min(100% - 20px,1240px);gap:7px}
  .task-confidence-item{padding:10px 11px}
  main[data-task-first="true"] .app-shell{margin-top:10px;margin-bottom:28px}
  main[data-task-first="true"] .search-intent-answer>.long-card{padding:18px}
  .page-contents{width:min(100% - 20px,1240px);padding:12px;margin-bottom:20px}
  .page-contents-links{display:grid;grid-template-columns:1fr}
  .page-contents a{min-height:44px;padding-block:6px}
  .tool-link{min-height:52px;padding:14px 16px}
  details>summary{min-height:52px;padding:14px 16px}
  .settings-actions{padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
}
@media(prefers-reduced-motion:reduce){
  .skip-link,.page-contents a,.app-shell,.settings{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media(forced-colors:active){
  .task-confidence-item,.page-contents,.search-intent-answer .info{border:1px solid CanvasText}
  :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}
}

/* site-search.css */
.site-search-trigger{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;padding:8px 12px;border:1px solid #d9dce7;border-radius:11px;background:rgba(255,255,255,.9);color:var(--text);font:inherit;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 7px 18px rgba(24,28,45,.04)}
.site-search-trigger:hover{border-color:#c5c0f5;color:var(--brand2)}
.site-search-trigger-icon{font-size:18px;line-height:1;color:var(--brand2)}
.site-search-dialog{width:min(720px,calc(100% - 28px));max-height:min(82vh,760px);padding:0;border:1px solid #d9dce7;border-radius:22px;background:#fff;color:var(--text);box-shadow:0 28px 90px rgba(20,23,40,.3);overflow:hidden}
.site-search-dialog::backdrop{background:rgba(19,21,34,.52);backdrop-filter:blur(3px)}
.site-search-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f8f7ff,#fff)}
.site-search-head h2{margin:0;font-size:clamp(23px,4vw,32px);letter-spacing:-.035em;line-height:1.15}
.site-search-head p{margin:6px 0 0;max-width:56ch;color:var(--muted);font-size:13px}
.site-search-close{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font-size:22px;cursor:pointer}
.site-search-body{padding:18px 24px 24px}
.site-search-form label{display:block;margin-bottom:7px;font-size:13px;font-weight:800}
.site-search-input-wrap{position:relative}
.site-search-input-wrap::before{content:'⌕';position:absolute;left:14px;top:50%;transform:translateY(-52%);color:var(--brand2);font-size:22px;pointer-events:none}
.site-search-input{width:100%;min-height:50px;padding:12px 14px 12px 44px;border:2px solid #d7d9e5;border-radius:14px;background:#fff;color:var(--text);font:inherit;font-size:16px;outline:none}
.site-search-input:focus{border-color:var(--brand)}
.site-search-status{min-height:22px;margin:10px 0 6px;color:var(--muted);font-size:12px}
.site-search-results{display:grid;gap:8px;max-height:48vh;overflow:auto;overscroll-behavior:contain;padding:2px}
.site-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:64px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:inherit;text-decoration:none}
.site-search-result:hover,.site-search-result:focus-visible{border-color:#c5c0f5;background:#faf9ff}
.site-search-result-copy{min-width:0}
.site-search-result strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.site-search-result span{display:block;display:-webkit-box;margin-top:3px;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.site-search-result-lang{padding:4px 7px;border-radius:999px;background:#f0effa;color:var(--brand2)!important;font-size:10px!important;font-weight:850;text-transform:uppercase}
.site-search-empty{padding:24px 14px;border:1px dashed var(--line);border-radius:13px;text-align:center;color:var(--muted);font-size:13px}
body.site-search-fallback-open{overflow:hidden}
.site-search-dialog.site-search-fallback{position:fixed;z-index:9999;inset:8vh auto auto 50%;transform:translateX(-50%);display:block}
@media(max-width:900px){.topbar .site-search-trigger{order:2;margin-left:auto}.topbar .main-nav{order:4}}
@media(max-width:620px){.site-search-trigger{width:42px;padding:0}.site-search-trigger-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-search-dialog{width:calc(100% - 16px);max-height:88vh;border-radius:18px}.site-search-head{padding:17px 16px 13px}.site-search-body{padding:14px 16px 18px}.site-search-results{max-height:55vh}.site-search-result{grid-template-columns:1fr}.site-search-result-lang{justify-self:start}}
@media(prefers-reduced-motion:reduce){.site-search-dialog::backdrop{backdrop-filter:none}}
@media(forced-colors:active){.site-search-trigger,.site-search-dialog,.site-search-result,.site-search-input,.site-search-close{border:1px solid CanvasText}.site-search-dialog::backdrop{background:Canvas}}
