/*
Theme Name: answerengineland
Theme URI: https://answerengineland.in
Author: answerengineland
Description: Research and tools theme for answerengineland.in: cited-answer pattern, tool pages, Crawler Observatory reports. Plain PHP, no page builder.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: Proprietary
Text Domain: answerengineland
*/
/* answerengineland — style.css. All colour, spacing and size values are custom properties.
   WP: enqueue in functions.php; this file is the whole theme stylesheet. */
:root{
  --paper:#F6F3EC;--ink:#0E1111;--lime:#C6F432;--teal:#0F4C4A;
  --bg:#F6F3EC;--bg-2:#EDE9DE;--panel:#FBF9F4;--fg:#0E1111;--fg-2:#454B4A;
  --rule:#0E1111;--rule-soft:#CDC8B9;--link:#0F4C4A;--signal:#C6F432;--on-signal:#0E1111;
  --teal-fill:#0F4C4A;--on-teal:#F6F3EC;--inv-bg:#0E1111;--inv-fg:#F6F3EC;--focus:#0F4C4A;
  --font-serif:"Fraunces",Georgia,"Times New Roman",serif;
  --font-sans:"Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:72px;--s-9:112px;
  --t-xs:.75rem;--t-sm:.875rem;--t-md:1rem;--t-lg:1.125rem;--t-xl:1.375rem;--t-2xl:clamp(1.75rem,3vw,2.5rem);
  --t-3xl:clamp(2.25rem,5vw,3.75rem);--t-hero:clamp(2.75rem,8.2vw,7.25rem);--t-stat:clamp(3rem,7vw,6rem);
  --wrap:1320px;--gutter:clamp(16px,3vw,40px);--measure:68ch;--hair:1px;
}
html[data-theme="dark"]{
  --bg:#0E1111;--bg-2:#161B1B;--panel:#121717;--fg:#F6F3EC;--fg-2:#A9B0AB;
  --rule:#F6F3EC;--rule-soft:#2C3433;--link:#7FD6CC;--teal-fill:#0F4C4A;--inv-bg:#F6F3EC;--inv-fg:#0E1111;--focus:#C6F432;
}
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]){
    --bg:#0E1111;--bg-2:#161B1B;--panel:#121717;--fg:#F6F3EC;--fg-2:#A9B0AB;
    --rule:#F6F3EC;--rule-soft:#2C3433;--link:#7FD6CC;--teal-fill:#0F4C4A;--inv-bg:#F6F3EC;--inv-fg:#0E1111;--focus:#C6F432;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 var(--t-md)/1.6 var(--font-sans);position:relative;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.05;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
body>*{position:relative;z-index:1}
img,svg{max-width:100%;display:block}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--fg)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
::selection{background:var(--signal);color:var(--on-signal)}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.05;letter-spacing:-.02em;margin:0;font-variation-settings:"opsz" 144}
h1{font-size:var(--t-hero)}h2{font-size:var(--t-3xl)}h3{font-size:var(--t-xl);letter-spacing:-.01em;line-height:1.2}
p{margin:0 0 var(--s-4)}
code,kbd,pre{font-family:var(--font-mono)}
.mono{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.02em}
.eyebrow{font:500 var(--t-xs)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--fg-2);margin:0 0 var(--s-4)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--signal);color:var(--on-signal);padding:var(--s-2) var(--s-4);z-index:100}
.skip:focus{left:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s-5)}
.section{padding:var(--s-8) 0;border-top:var(--hair) solid var(--rule)}
.section__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s-5);row-gap:var(--s-4);margin-bottom:var(--s-7);align-items:end}
.section__title{grid-column:1/9}
.section__aside{grid-column:9/13;color:var(--fg-2);font-size:var(--t-sm);margin:0}
.mark{background:var(--signal);color:var(--on-signal);padding:0 .25em}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:var(--s-3);font:500 var(--t-sm)/1 var(--font-sans);padding:14px 20px;border:var(--hair) solid var(--rule);background:transparent;color:var(--fg);text-decoration:none;cursor:pointer;border-radius:0;transition:background .15s,color .15s}
.btn:hover{background:var(--fg);color:var(--bg)}
.btn--primary{background:var(--signal);color:var(--on-signal);border-color:var(--on-signal)}
html[data-theme="dark"] .btn--primary{border-color:var(--signal)}
.btn--primary:hover{background:var(--fg);color:var(--bg)}
.btn--sm{padding:9px 14px}
.btn__arrow{font-family:var(--font-mono)}
.header__ask{flex:none;white-space:nowrap}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3)}

/* header */
.header{border-bottom:var(--hair) solid var(--rule);background:var(--bg);position:sticky;top:0;z-index:50}
.header__bar{display:flex;align-items:center;gap:var(--s-5);height:64px}
.wordmark{display:inline-flex;align-items:center;gap:10px;font:500 1.125rem/1 var(--font-serif);letter-spacing:-.02em;color:var(--fg);text-decoration:none}
.wordmark::before{content:"";width:12px;height:12px;background:var(--signal);outline:var(--hair) solid var(--rule)}
.nav{display:flex;gap:var(--s-5);margin-left:auto}
.nav__link{color:var(--fg);text-decoration:none;font-size:var(--t-sm);padding:6px 0;border-bottom:2px solid transparent}
.nav__link:hover,.nav__link[aria-current="page"]{border-bottom-color:var(--signal)}
.header__tools{display:flex;gap:var(--s-2);align-items:center}
.iconbtn{width:40px;height:40px;display:inline-grid;place-items:center;border:var(--hair) solid var(--rule);background:transparent;color:var(--fg);cursor:pointer;border-radius:0}
.iconbtn:hover{background:var(--fg);color:var(--bg)}
.iconbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.theme-toggle .i-sun{display:none}
html[data-theme="dark"] .theme-toggle .i-sun{display:block}html[data-theme="dark"] .theme-toggle .i-moon{display:none}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .theme-toggle .i-sun{display:block}html:not([data-theme="light"]) .theme-toggle .i-moon{display:none}}
.burger{display:none}
.header__ask{display:inline-flex}
.sheet{position:fixed;inset:0;background:var(--bg);z-index:60;padding:var(--s-5) var(--gutter);display:none;flex-direction:column;gap:var(--s-5);overflow:auto}
.sheet.is-open{display:flex}
.sheet__top{display:flex;justify-content:space-between;align-items:center}
.sheet__nav{display:flex;flex-direction:column}
.sheet__nav a{font:400 2.5rem/1 var(--font-serif);padding:var(--s-4) 0;border-bottom:var(--hair) solid var(--rule-soft);color:var(--fg);text-decoration:none;display:flex;justify-content:space-between}
.sheet__nav a span{font:var(--t-xs) var(--font-mono);color:var(--fg-2);align-self:center}
@media (max-width:900px){.nav,.header__ask{display:none}.burger{display:inline-grid}.header__tools{margin-left:auto}}

/* hero */
.hero{padding:var(--s-8) 0 var(--s-7)}
.hero__title{grid-column:1/12;max-width:15ch;margin-bottom:var(--s-6)}
.hero__title em{font-style:italic;background:linear-gradient(transparent 62%,var(--signal) 62%);color:var(--fg)}
.hero__sub{grid-column:1/8;font-size:var(--t-xl);line-height:1.4;color:var(--fg-2);max-width:46ch;margin-bottom:var(--s-6)}
.hero__main{grid-column:1/9}
.hero__aside{grid-column:10/13;align-self:end;color:var(--fg-2)}
.hero__aside p{font:var(--t-xs)/1.6 var(--font-mono);border-top:var(--hair) solid var(--rule);padding-top:var(--s-3)}
@media (max-width:900px){.hero__main,.hero__sub,.hero__title,.hero__aside{grid-column:1/-1}}

/* ask box */
.ask{display:flex;border:var(--hair) solid var(--rule);background:var(--panel);margin-bottom:var(--s-5)}
.ask__label{display:flex;align-items:center;padding:0 var(--s-4);font:500 var(--t-xs) var(--font-mono);border-right:var(--hair) solid var(--rule);text-transform:uppercase;letter-spacing:.1em;background:var(--bg-2)}
.ask__input{flex:1;min-width:0;border:0;background:transparent;color:var(--fg);font:400 var(--t-lg) var(--font-sans);padding:var(--s-4)}
.ask__input::placeholder{color:var(--fg-2)}
.ask__input:focus-visible{outline-offset:-3px}
.ask__submit{border:0;border-left:var(--hair) solid var(--rule);background:var(--signal);color:var(--on-signal);font:500 var(--t-sm) var(--font-sans);padding:0 var(--s-5);cursor:pointer;display:flex;align-items:center;gap:var(--s-2)}
.ask__submit:hover{background:var(--fg);color:var(--bg)}
@media (max-width:560px){.ask__label{display:none}}

/* cited answer */
.answer{border-left:2px solid var(--signal);padding:var(--s-1) 0 var(--s-1) var(--s-5);margin-bottom:var(--s-5)}
.answer__label{font:500 var(--t-xs)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--fg-2);margin:0 0 var(--s-3);display:flex;gap:var(--s-2);align-items:center}
.answer__label::before{content:"";width:8px;height:8px;background:var(--signal);outline:var(--hair) solid var(--rule)}
.answer__text{font:400 var(--t-xl)/1.45 var(--font-sans);margin:0 0 var(--s-4);max-width:62ch;min-height:var(--answer-h,0)}
.answer__text .rest{visibility:hidden}
.caret{display:inline-block;width:.5ch;height:1.1em;background:var(--fg);vertical-align:text-bottom;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center}
.chips__label{font:var(--t-xs) var(--font-mono);color:var(--fg-2);margin-right:var(--s-1)}
.chips--stream .chipwrap{opacity:0;transform:translateY(4px)}
.chips--stream.is-in .chipwrap{animation:chipin .4s forwards;animation-delay:calc(var(--i) * 220ms)}
@keyframes chipin{to{opacity:1;transform:none}}
.chipwrap{position:relative}
.chip{width:28px;height:28px;display:grid;place-items:center;border:var(--hair) solid var(--rule);background:var(--panel);color:var(--fg);font:500 var(--t-xs) var(--font-mono);cursor:pointer;padding:0;border-radius:0}
.chip:hover,.chip[aria-expanded="true"]{background:var(--signal);color:var(--on-signal);border-color:var(--on-signal)}
.source{position:absolute;left:0;top:calc(100% + 8px);width:min(320px,80vw);background:var(--panel);border:var(--hair) solid var(--rule);padding:var(--s-3) var(--s-4);z-index:20;display:none;font-size:var(--t-sm);line-height:1.4;box-shadow:6px 6px 0 var(--signal)}
.chipwrap:hover .source,.chipwrap:focus-within .source,.chipwrap.is-open .source{display:block}
.source__title{display:block;font-weight:600;margin-bottom:2px}
.source__url{font:var(--t-xs) var(--font-mono);color:var(--fg-2);word-break:break-all}
.source__ph{font:var(--t-xs) var(--font-mono);color:var(--fg-2);display:block;margin-top:6px}
.answer--sm .answer__text{font-size:var(--t-md);line-height:1.55}
.answer--box{border:var(--hair) solid var(--rule);border-left:2px solid var(--signal);background:var(--panel);padding:var(--s-5)}
.answer--box .answer__text{font-size:var(--t-lg)}

/* crawler strip */
.strip{border-top:var(--hair) solid var(--rule);border-bottom:var(--hair) solid var(--rule);display:flex;align-items:stretch;overflow:hidden;background:var(--bg-2)}
.strip__label{flex:none;font:500 var(--t-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.08em;padding:var(--s-3) var(--s-4);border-right:var(--hair) solid var(--rule);background:var(--bg);display:flex;align-items:center;gap:var(--s-2);z-index:2}
.strip__label::before{content:"";width:8px;height:8px;background:var(--signal);outline:var(--hair) solid var(--rule)}
.strip__track{display:flex;gap:var(--s-7);white-space:nowrap;padding:var(--s-3) var(--s-5);font:var(--t-xs) var(--font-mono);animation:marquee 60s linear infinite;width:max-content}
.strip__track b{font-weight:500;background:var(--signal);color:var(--on-signal);padding:0 4px;margin-right:6px}
.strip:hover .strip__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (max-width:560px){.strip__label span{display:none}}

/* tool cards */
.tools{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}
.toolcard{border:var(--hair) solid var(--rule);background:var(--panel);display:flex;flex-direction:column;min-width:0}
.toolcard__num{font:var(--t-xs) var(--font-mono);color:var(--fg-2)}
.toolcard__body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);flex:1}
.toolcard__title{font-size:var(--t-2xl)}
.toolcard__promise{margin:0;color:var(--fg-2);max-width:44ch}
.toolcard__link{margin-top:auto;font:500 var(--t-sm) var(--font-sans);color:var(--fg);text-decoration:none;border-bottom:2px solid var(--signal);align-self:flex-start;padding-bottom:2px}
.toolcard__link:hover{background:var(--signal);color:var(--on-signal)}
.toolcard__preview{border-top:var(--hair) solid var(--rule);background:var(--bg-2);padding:var(--s-4) var(--s-5);font:var(--t-xs)/1.7 var(--font-mono);overflow:hidden}
.toolcard--a{grid-column:1/8}.toolcard--b{grid-column:8/13;background:var(--inv-bg);color:var(--inv-fg)}
.toolcard--b .toolcard__promise,.toolcard--b .toolcard__num{color:inherit;opacity:.8}
.toolcard--b .toolcard__preview{background:transparent;border-color:var(--inv-fg)}
.toolcard--b .toolcard__link{color:var(--inv-fg)}
.toolcard--b .toolcard__link:hover{color:var(--on-signal)}
.toolcard--c{grid-column:3/13;flex-direction:row}
.toolcard--c .toolcard__preview{border-top:0;border-left:var(--hair) solid var(--rule);width:min(340px,42%);display:flex;align-items:center;gap:var(--s-5)}
.toolcard--c .toolcard__body{flex:1}
.pv-line{display:flex;gap:var(--s-3)}.pv-line i{font-style:normal;color:var(--fg-2)}
.toolcard--b .pv-line i{color:inherit;opacity:.6}
.pv-ok{background:var(--signal);color:var(--on-signal);padding:0 4px}
.pv-no{border:var(--hair) solid currentColor;padding:0 4px}
@media (max-width:900px){.toolcard--a,.toolcard--b,.toolcard--c{grid-column:1/-1}.toolcard--c{flex-direction:column}.toolcard--c .toolcard__preview{width:auto;border-left:0;border-top:var(--hair) solid var(--rule)}}

/* reading path */
.path{list-style:none;margin:0;padding:0;border-top:var(--hair) solid var(--rule)}
.path__item{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s-5);align-items:baseline;padding:var(--s-5) 0;border-bottom:var(--hair) solid var(--rule-soft);text-decoration:none;color:var(--fg)}
.path__item:hover{background:var(--bg-2)}
.path__n{grid-column:1/2;font:500 var(--t-xl) var(--font-mono);color:var(--fg-2)}
.path__item:hover .path__n{color:var(--fg)}
.path__title{grid-column:2/8;font:400 var(--t-2xl)/1.1 var(--font-serif);letter-spacing:-.02em}
.path__desc{grid-column:8/12;color:var(--fg-2);font-size:var(--t-sm)}
.path__go{grid-column:12/13;text-align:right;font-family:var(--font-mono)}
@media (max-width:760px){.path__n{grid-column:1/3}.path__title{grid-column:3/-1}.path__desc{grid-column:3/-1}.path__go{display:none}}

/* data */
.obs{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}
.obs__table{grid-column:1/8}.obs__chart{grid-column:8/13}
@media (max-width:900px){.obs__table,.obs__chart{grid-column:1/-1}}
.table{width:100%;border-collapse:collapse;font:var(--t-sm) var(--font-mono)}
.table caption{text-align:left;font:500 var(--t-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-2);padding-bottom:var(--s-3)}
.table th,.table td{padding:var(--s-3) var(--s-3) var(--s-3) 0;border-bottom:var(--hair) solid var(--rule-soft);text-align:left;font-weight:400}
.table thead th{border-bottom:var(--hair) solid var(--rule);font-weight:500;color:var(--fg-2);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em}
.table .num{text-align:right;font-variant-numeric:tabular-nums}
.table-scroll{overflow-x:auto}
.bars{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);font:var(--t-xs) var(--font-mono)}
.bars__row{display:grid;grid-template-columns:96px 1fr 44px;gap:var(--s-3);align-items:center}
.bars__track{height:18px;background:transparent;border:var(--hair) solid var(--rule);position:relative}
.bars__fill{position:absolute;inset:0 auto 0 0;width:var(--v);background:var(--signal);border-right:var(--hair) solid var(--rule)}
.bars__val{text-align:right}
.note{font:var(--t-xs)/1.5 var(--font-mono);color:var(--fg-2);margin-top:var(--s-4)}
.note::before{content:"PLACEHOLDER ";background:var(--signal);color:var(--on-signal);padding:0 4px}

/* post list */
.posts{list-style:none;margin:0;padding:0;border-top:var(--hair) solid var(--rule)}
.post{border-bottom:var(--hair) solid var(--rule-soft)}
.post__link{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s-5);padding:var(--s-4) 0;text-decoration:none;color:var(--fg);align-items:baseline}
.post__date{grid-column:1/3;font:var(--t-xs) var(--font-mono);color:var(--fg-2)}
.post__cat{grid-column:3/5;font:500 var(--t-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.08em}
.post__title{grid-column:5/11;font:400 var(--t-xl)/1.25 var(--font-serif);letter-spacing:-.01em}
.post__time{grid-column:11/13;text-align:right;font:var(--t-xs) var(--font-mono);color:var(--fg-2)}
.post__excerpt{grid-column:5/11;color:var(--fg-2);font-size:var(--t-sm);max-height:0;overflow:hidden;opacity:0;transition:max-height .25s,opacity .25s,margin .25s;margin:0}
.post__link:hover .post__title,.post__link:focus-visible .post__title{background:linear-gradient(transparent 70%,var(--signal) 70%)}
.post__link:hover .post__excerpt,.post__link:focus-visible .post__excerpt{max-height:6em;opacity:1;margin-top:var(--s-2)}
@media (max-width:760px){.post__date{grid-column:1/7}.post__cat{grid-column:7/13;text-align:right}.post__title{grid-column:1/-1;margin:var(--s-2) 0}.post__time{grid-column:1/-1;text-align:left}.post__excerpt{grid-column:1/-1;max-height:none;opacity:1;margin-top:var(--s-2)}}
.pills{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-6)}
.pill{border:var(--hair) solid var(--rule);border-radius:999px;background:transparent;color:var(--fg);font:var(--t-xs) var(--font-mono);padding:8px 14px;cursor:pointer}
.pill:hover{background:var(--bg-2)}.pill[aria-pressed="true"]{background:var(--signal);color:var(--on-signal);border-color:var(--on-signal)}
.pager{display:flex;gap:var(--s-2);margin-top:var(--s-6);font:var(--t-sm) var(--font-mono);flex-wrap:wrap}
.pager a,.pager span{min-width:40px;height:40px;display:grid;place-items:center;border:var(--hair) solid var(--rule);color:var(--fg);text-decoration:none;padding:0 var(--s-3)}
.pager a:hover{background:var(--fg);color:var(--bg)}.pager [aria-current]{background:var(--signal);color:var(--on-signal)}

/* faq */
.faq{border-top:var(--hair) solid var(--rule)}
.faq__item{border-bottom:var(--hair) solid var(--rule-soft)}
.faq__q{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 1fr 24px;gap:var(--s-3);padding:var(--s-5) 0;font:400 var(--t-xl)/1.25 var(--font-serif);letter-spacing:-.01em;align-items:baseline}
.faq__q::-webkit-details-marker{display:none}
.faq__q::before{content:"Q" counter(q);counter-increment:q;font:var(--t-xs) var(--font-mono);color:var(--fg-2)}
.faq__q::after{content:"+";font-family:var(--font-mono);text-align:right}
.faq__item[open] .faq__q::after{content:"–"}
.faq__q:hover{background:var(--bg-2)}
.faq{counter-reset:q}
.faq__a{padding:0 0 var(--s-5) 60px;max-width:calc(62ch + 60px)}
@media (max-width:560px){.faq__a{padding-left:0}}

/* cta panel */
.cta{background:var(--inv-bg);color:var(--inv-fg);padding:var(--s-8) var(--s-7);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}
.cta__title{grid-column:1/8;font-size:var(--t-3xl)}
.cta__body{grid-column:8/13;align-self:end}
.cta .btn{border-color:var(--inv-fg);color:var(--inv-fg)}.cta .btn--primary{background:var(--signal);color:var(--on-signal);border-color:var(--signal)}
.cta .btn:hover{background:var(--inv-fg);color:var(--inv-bg)}
.cta .eyebrow{grid-column:1/-1;color:inherit;opacity:.7;margin:0}
@media (max-width:900px){.cta{padding:var(--s-7) var(--s-5)}.cta__title,.cta__body{grid-column:1/-1}}

/* footer */
.footer{border-top:var(--hair) solid var(--rule);padding:var(--s-8) 0 var(--s-6);margin-top:var(--s-8)}
.footer__cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5);margin-bottom:var(--s-7)}
.footer__about{grid-column:1/5}.footer__col{grid-column:span 2}
.footer__col h2{font:500 var(--t-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-2);margin-bottom:var(--s-3)}
.footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2);font-size:var(--t-sm)}
.footer__col a{color:var(--fg)}
.footer__data{grid-column:11/13;font-size:var(--t-xs);color:var(--fg-2)}
.footer__data h2{font:500 var(--t-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--s-3)}
.footer__build{border-top:var(--hair) solid var(--rule-soft);padding-top:var(--s-4);font:var(--t-xs) var(--font-mono);color:var(--fg-2);display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}
@media (max-width:900px){.footer__about,.footer__data{grid-column:1/-1}.footer__col{grid-column:span 6}}

/* page head / breadcrumb */
.crumbs{font:var(--t-xs) var(--font-mono);color:var(--fg-2);padding:var(--s-5) 0 0}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}
.crumbs li+li::before{content:"/";margin-right:var(--s-2)}
.crumbs a{color:var(--fg-2)}
.pagehead{padding:var(--s-7) 0 var(--s-7)}
.pagehead__title{font-size:var(--t-3xl);max-width:20ch;margin-bottom:var(--s-4)}
.pagehead__lede{font-size:var(--t-xl);line-height:1.4;color:var(--fg-2);max-width:52ch;margin:0}

/* tool instrument */
.instrument{border:var(--hair) solid var(--rule);background:var(--panel);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.instrument__bar{grid-column:1/-1;display:flex;justify-content:space-between;padding:var(--s-2) var(--s-4);border-bottom:var(--hair) solid var(--rule);background:var(--bg-2);font:var(--t-xs) var(--font-mono)}
.instrument__in{padding:var(--s-5);border-right:var(--hair) solid var(--rule)}
.instrument__out{padding:var(--s-5);min-width:0}
@media (max-width:900px){.instrument{grid-template-columns:1fr}.instrument__in{border-right:0;border-bottom:var(--hair) solid var(--rule)}}
.field{display:grid;gap:var(--s-2);margin-bottom:var(--s-4)}
.field label,.field legend{font:500 var(--t-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.08em}
.input,.select,.textarea{width:100%;border:var(--hair) solid var(--rule);background:var(--bg);color:var(--fg);font:var(--t-md) var(--font-mono);padding:12px 14px;border-radius:0}
.textarea{min-height:120px;font-family:var(--font-sans);resize:vertical}
.input:focus-visible,.textarea:focus-visible,.select:focus-visible{outline-offset:0}
.check{display:flex;gap:var(--s-2);align-items:center;font-size:var(--t-sm);margin-bottom:var(--s-2)}
.check input{accent-color:var(--teal-fill);width:16px;height:16px}
.btn--tool{background:var(--teal-fill);color:var(--on-teal);border-color:var(--teal-fill);width:100%;justify-content:space-between}
.btn--tool:hover{background:var(--signal);color:var(--on-signal)}
.result{display:grid;grid-template-columns:150px 1fr;gap:var(--s-5);align-items:start}
@media (max-width:560px){.result{grid-template-columns:1fr}}
.dial{width:150px}
.dial__track{fill:none;stroke:var(--rule-soft);stroke-width:10}
.dial__arc{fill:none;stroke:var(--fg);stroke-width:10;stroke-dasharray:339.3;stroke-dashoffset:339.3;transform:rotate(-90deg);transform-origin:60px 60px;transition:stroke-dashoffset 1s cubic-bezier(.2,.7,.2,1)}
.dial__arc--lime{stroke:var(--signal)}
.dial__num{font:500 28px var(--font-mono);fill:var(--fg);text-anchor:middle}
.dial__sub{font:10px var(--font-mono);fill:var(--fg-2);text-anchor:middle}
.checks{list-style:none;margin:0;padding:0;border-top:var(--hair) solid var(--rule)}
.checks__row{display:grid;grid-template-columns:56px 1fr;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:var(--hair) solid var(--rule-soft);align-items:baseline;font-size:var(--t-sm)}
.checks__row small{display:block;color:var(--fg-2);font-size:var(--t-xs)}
.status{font:500 var(--t-xs) var(--font-mono);padding:2px 6px;text-align:center;border:var(--hair) solid var(--rule);color:var(--fg-2)}
.status--pass{background:var(--signal);color:var(--on-signal);border-color:var(--on-signal)}
.status--fail{background:var(--fg);color:var(--bg)}
.status--warn{border-style:dashed;color:var(--fg)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5);list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{border-top:2px solid var(--fg);padding-top:var(--s-4);counter-increment:s}
.steps li::before{content:"0" counter(s);font:500 var(--t-xl) var(--font-mono);display:block;margin-bottom:var(--s-3)}
.steps h3{margin-bottom:var(--s-2)}.steps p{color:var(--fg-2);font-size:var(--t-sm)}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}
.split__l{grid-column:1/5}.split__r{grid-column:5/13}
@media (max-width:900px){.split__l,.split__r{grid-column:1/-1}}
.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.related a{border:var(--hair) solid var(--rule);padding:var(--s-4);text-decoration:none;color:var(--fg);display:grid;gap:var(--s-2)}
.related a:hover{background:var(--signal);color:var(--on-signal)}
.related strong{font:400 var(--t-xl)/1.2 var(--font-serif)}.related span{font:var(--t-xs) var(--font-mono)}
@media (max-width:760px){.related{grid-template-columns:1fr}}
.codeblock{position:relative;margin:var(--s-5) 0;border:var(--hair) solid var(--rule);background:var(--bg-2)}
.codeblock pre{margin:0;padding:var(--s-4);overflow-x:auto;font-size:var(--t-sm);line-height:1.6}
.codeblock__bar{display:flex;justify-content:space-between;align-items:center;border-bottom:var(--hair) solid var(--rule);padding:var(--s-1) var(--s-1) var(--s-1) var(--s-4);font:var(--t-xs) var(--font-mono)}
.copy{border:var(--hair) solid var(--rule);background:var(--bg);color:var(--fg);font:var(--t-xs) var(--font-mono);padding:6px 10px;cursor:pointer}
.copy:hover,.copy.is-done{background:var(--signal);color:var(--on-signal)}

/* article */
.progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--signal);z-index:100;outline:0}
.article{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s-5);padding:var(--s-7) 0}
.toc{grid-column:1/4;position:sticky;top:88px;align-self:start;font:var(--t-xs)/1.5 var(--font-mono)}
.toc summary{cursor:pointer;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-2);list-style:none;margin-bottom:var(--s-3)}
.toc summary::-webkit-details-marker{display:none}
.toc ol{list-style:none;margin:0;padding:0;border-left:var(--hair) solid var(--rule-soft)}
.toc a{display:block;padding:6px 0 6px var(--s-3);color:var(--fg-2);text-decoration:none;border-left:2px solid transparent;margin-left:-1px}
.toc a:hover,.toc a.is-active{color:var(--fg);border-left-color:var(--signal)}
.toc a.is-active{font-weight:500}
.prose{grid-column:4/11;max-width:var(--measure);min-width:0}
@media (max-width:1000px){.toc{grid-column:1/-1;position:static;margin-bottom:var(--s-6);border-bottom:var(--hair) solid var(--rule);padding-bottom:var(--s-4)}.prose{grid-column:1/-1}}
.article__title{font-size:var(--t-3xl);margin-bottom:var(--s-5)}
.byline{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);font:var(--t-xs) var(--font-mono);color:var(--fg-2);padding:var(--s-4) 0;border-top:var(--hair) solid var(--rule);border-bottom:var(--hair) solid var(--rule);margin:var(--s-5) 0 var(--s-6)}
.byline [hidden]{display:none}
.prose h2{font-size:var(--t-2xl);margin:var(--s-8) 0 var(--s-4);scroll-margin-top:88px}
.prose h3{margin:var(--s-6) 0 var(--s-3);scroll-margin-top:88px}
.prose p,.prose li{font-size:var(--t-lg);line-height:1.7}
.prose ul,.prose ol{padding-left:1.25em;margin:0 0 var(--s-4)}
.prose li{margin-bottom:var(--s-2)}
.prose li::marker{font-family:var(--font-mono);color:var(--fg-2)}
.prose code{font-size:.85em;background:var(--bg-2);border:var(--hair) solid var(--rule-soft);padding:1px 5px}
.codeblock code{background:none;border:0;padding:0}
.prose blockquote{margin:var(--s-6) 0;padding:0 0 0 var(--s-5);border-left:2px solid var(--fg);font:italic 400 var(--t-2xl)/1.25 var(--font-serif)}
.prose blockquote cite{display:block;font:var(--t-xs) var(--font-mono);font-style:normal;color:var(--fg-2);margin-top:var(--s-3)}
.prose table{width:100%;border-collapse:collapse;margin:var(--s-5) 0;font-size:var(--t-sm)}
.prose th,.prose td{text-align:left;padding:var(--s-3);border:var(--hair) solid var(--rule-soft);font-size:var(--t-sm);line-height:1.4}
.prose th{background:var(--bg-2);font:500 var(--t-xs) var(--font-mono);text-transform:uppercase}
.callout{margin:var(--s-6) 0;padding:var(--s-4) var(--s-5);border:var(--hair) solid var(--rule);background:var(--panel)}
.callout__label{font:500 var(--t-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.1em;display:inline-block;background:var(--signal);color:var(--on-signal);padding:2px 6px;margin-bottom:var(--s-2)}
.callout--warn .callout__label{background:var(--fg);color:var(--bg)}
.callout p{font-size:var(--t-md);margin:0}
.figure{margin:var(--s-6) 0}
.figure__slot{aspect-ratio:1200/628;border:var(--hair) solid var(--rule);background:repeating-linear-gradient(135deg,transparent 0 11px,var(--rule-soft) 11px 12px),var(--bg-2);display:grid;place-items:center;font:var(--t-xs) var(--font-mono);color:var(--fg-2)}
.figure figcaption{font:var(--t-xs)/1.5 var(--font-mono);color:var(--fg-2);margin-top:var(--s-2)}
.fnref{font:var(--t-xs) var(--font-mono);vertical-align:super;line-height:0}
.fnref a{text-decoration:none;background:var(--signal);color:var(--on-signal);padding:1px 4px}
.sources{font-size:var(--t-sm)}.sources li{font-size:var(--t-sm);scroll-margin-top:88px}.sources li:target{background:var(--signal);color:var(--on-signal)}
.authorbox{display:grid;grid-template-columns:64px 1fr;gap:var(--s-4);border:var(--hair) solid var(--rule);padding:var(--s-5);margin:var(--s-7) 0;background:var(--panel)}
.authorbox__mark{width:64px;height:64px;background:var(--fg);color:var(--bg);display:grid;place-items:center;font:500 var(--t-xl) var(--font-serif)}
.authorbox p{margin:var(--s-1) 0 0;font-size:var(--t-sm)}
.pn{display:grid;grid-template-columns:1fr 1fr;border:var(--hair) solid var(--rule);margin-top:var(--s-6)}
.pn a{padding:var(--s-4);text-decoration:none;color:var(--fg);display:grid;gap:var(--s-1)}
.pn a+a{border-left:var(--hair) solid var(--rule);text-align:right}
.pn a:hover{background:var(--signal);color:var(--on-signal)}
.pn span{font:var(--t-xs) var(--font-mono)}.pn strong{font:400 var(--t-lg)/1.2 var(--font-serif)}

/* report */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--hair) solid var(--rule);border-bottom:var(--hair) solid var(--rule)}
.stat{padding:var(--s-6) var(--s-5) var(--s-6) 0}
.stat+.stat{padding-left:var(--s-5);border-left:var(--hair) solid var(--rule)}
.stat__n{font:500 var(--t-stat)/1 var(--font-mono);letter-spacing:-.04em}
.stat__n span{background:var(--signal);color:var(--on-signal);padding:0 .1em}
.stat__l{font-size:var(--t-sm);color:var(--fg-2);max-width:26ch;margin-top:var(--s-3)}
@media (max-width:760px){.stats{grid-template-columns:1fr}.stat,.stat+.stat{padding:var(--s-5) 0;border-left:0;border-top:var(--hair) solid var(--rule-soft)}}
.chart{border:var(--hair) solid var(--rule);background:var(--panel);padding:var(--s-5);margin-bottom:var(--s-5)}
.chart h3{margin-bottom:var(--s-1)}.chart__sub{font:var(--t-xs) var(--font-mono);color:var(--fg-2);margin-bottom:var(--s-5)}
.cols{display:flex;align-items:flex-end;gap:var(--s-2);height:200px;border-bottom:var(--hair) solid var(--rule)}
.cols__c{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;font:var(--t-xs) var(--font-mono)}
.cols__bar{width:100%;height:var(--v);background:var(--signal);border:var(--hair) solid var(--rule);border-bottom:0}
.cols__x{display:flex;gap:var(--s-2);font:var(--t-xs) var(--font-mono);color:var(--fg-2);margin-top:var(--s-2)}.cols__x span{flex:1;text-align:center}
.line{width:100%;height:auto}
.line__grid{stroke:var(--rule-soft);stroke-width:1}.line__a{fill:none;stroke:var(--fg);stroke-width:2}.line__b{fill:none;stroke:var(--link);stroke-width:2;stroke-dasharray:5 4}
.line text{font:10px var(--font-mono);fill:var(--fg-2)}
.legend{display:flex;gap:var(--s-5);font:var(--t-xs) var(--font-mono);margin-top:var(--s-3)}
.legend i{display:inline-block;width:18px;height:0;border-top:2px solid var(--fg);vertical-align:middle;margin-right:6px}.legend i.b{border-top:2px dashed var(--link)}
.citebox{border:var(--hair) solid var(--rule);background:var(--panel)}
.citebox pre{margin:0;padding:var(--s-5);white-space:pre-wrap;font-size:var(--t-sm);line-height:1.7}
.kf{margin:0;padding:0;list-style:none;display:grid;gap:var(--s-5)}
.dl{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);border:var(--hair) dashed var(--rule);padding:var(--s-4) var(--s-5);flex-wrap:wrap}

/* services */
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:var(--hair) solid var(--rule)}
.offer{padding:var(--s-6) var(--s-5);display:flex;flex-direction:column;gap:var(--s-3)}
.offer+.offer{border-left:var(--hair) solid var(--rule)}
.offer__n{font:var(--t-xs) var(--font-mono);color:var(--fg-2)}
.offer ul{padding-left:1.1em;margin:0;font-size:var(--t-sm);color:var(--fg-2)}
@media (max-width:900px){.offers{grid-template-columns:1fr}.offer+.offer{border-left:0;border-top:var(--hair) solid var(--rule)}}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-5);position:relative}
.timeline li{border-top:2px solid var(--fg);padding-top:var(--s-4);position:relative}
.timeline li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;background:var(--signal);outline:var(--hair) solid var(--rule)}
.timeline b{font:500 var(--t-xs) var(--font-mono);display:block;margin-bottom:var(--s-2);color:var(--fg-2)}
.timeline p{font-size:var(--t-sm);color:var(--fg-2)}
@media (max-width:760px){.timeline{grid-template-columns:1fr}}
.ticks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3) var(--s-6)}
.ticks li{display:grid;grid-template-columns:28px 1fr;gap:var(--s-2);border-bottom:var(--hair) solid var(--rule-soft);padding-bottom:var(--s-3)}
.ticks li::before{content:"✓";font-family:var(--font-mono);background:var(--signal);color:var(--on-signal);width:20px;height:20px;display:grid;place-items:center;font-size:12px}
@media (max-width:760px){.ticks{grid-template-columns:1fr}}
.form{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s-5)}.form .field--full{grid-column:1/-1}
@media (max-width:760px){.form{grid-template-columns:1fr}}

/* 404 */
.nf{min-height:60vh;padding:var(--s-8) 0}
.nf__code{font:500 var(--t-xs) var(--font-mono);letter-spacing:.1em}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .chips--stream .chipwrap{opacity:1;transform:none}
  .strip{overflow-x:auto}
}

/* ---- WordPress additions ---- */
a.pill{text-decoration:none;display:inline-block}
a.source__title{color:inherit;text-decoration:underline;text-underline-offset:3px}
.notice{border:var(--hair) solid var(--rule);padding:var(--s-4) var(--s-5);font:var(--t-sm) var(--font-mono);margin:0 0 var(--s-5);background:var(--bg-2)}
.notice--ok{border-color:var(--on-signal)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.wp-caption,.aligncenter{max-width:100%}
.prose img,.prose figure img{max-width:100%;height:auto}
.figure img{display:block;width:100%;height:auto}
.posts__empty{padding:var(--s-6) 0;color:var(--fg-2)}
.pager .page-numbers{min-width:40px;height:40px;display:grid;place-items:center;border:var(--hair) solid var(--rule);color:var(--fg);text-decoration:none;padding:0 var(--s-3)}
.toolcard__link--soon{font:var(--t-xs) var(--font-mono);color:var(--fg-2);text-transform:uppercase;letter-spacing:.06em}

.sidebar{grid-column:1/4;align-self:start;font:var(--t-xs)/1.5 var(--font-mono)}
.sidebar .toc{grid-column:auto;position:static;margin-bottom:var(--s-5)}
.side-nav{margin-bottom:var(--s-5)}
.side-nav h2{font:500 var(--t-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-2);margin:0 0 var(--s-3)}
.side-nav ul{list-style:none;margin:0;padding:0;border-left:var(--hair) solid var(--rule-soft)}
.side-nav a{display:block;padding:6px 0 6px var(--s-3);color:var(--fg-2);text-decoration:none;border-left:2px solid transparent;margin-left:-1px}
.side-nav a:hover,.side-nav a[aria-current]{color:var(--fg);border-left-color:var(--signal)}
.footer__legal a{color:inherit}
@media (min-width:1001px) and (min-height:780px){.sidebar{position:sticky;top:88px}}
@media (max-width:1000px){.sidebar{grid-column:1/-1;margin-bottom:var(--s-6);padding-bottom:var(--s-4);border-bottom:var(--hair) solid var(--rule)}}


/* alignment fixes */
.ticks li{display:block;position:relative;padding-left:36px;line-height:1.55}
.ticks li::before{position:absolute;left:0;top:2px}
.ticks li strong{margin-right:4px}
.tools .toolcard--c{grid-column:1/-1;flex-direction:row}
.tools .toolcard--c .toolcard__preview{width:min(420px,42%);border-top:0;border-left:var(--hair) solid var(--rule);display:flex;align-items:center;justify-content:center;gap:var(--s-5)}
.tools .toolcard--c .toolcard__body{flex:1}
@media (max-width:1000px){.tools .toolcard--c{flex-direction:column}.tools .toolcard--c .toolcard__preview{width:auto;border-left:0;border-top:var(--hair) solid var(--rule)}}


/* ===== tools UI ===== */
.ael-tool{margin:0 0 var(--s-7)}
.ael-tool:not(.is-ready){min-height:240px;border:var(--hair) solid var(--rule-soft);background:var(--panel)}
.tool-tabs{display:flex;gap:var(--s-2);border-bottom:var(--hair) solid var(--rule);margin-bottom:var(--s-6);flex-wrap:wrap}
.tool-tab{appearance:none;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:var(--s-3) var(--s-4);font:500 var(--t-sm) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-2);cursor:pointer}
.tool-tab:hover{color:var(--fg)}
.tool-tab[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--signal);background:linear-gradient(var(--bg),var(--bg))}
.tool-tab:focus-visible,.tool-btn:focus-visible,.tool-input:focus-visible,.tool-toggle:focus-visible,.tool-link:focus-visible,.tool-x:focus-visible,.tool-code:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.tool-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--s-6);align-items:start}
.tool-panel{border:var(--hair) solid var(--rule);background:var(--panel);padding:var(--s-5);min-width:0}
.tool-panel--out{position:sticky;top:88px;background:var(--bg-2)}
.tool-panel__title{font:500 var(--t-xs) var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);margin:0 0 var(--s-4);padding-bottom:var(--s-2);border-bottom:var(--hair) solid var(--rule-soft)}
.tool-panel__title:not(:first-child){margin-top:var(--s-6)}
.tool-field{display:grid;gap:6px;margin-bottom:var(--s-4)}
.tool-label{font:500 var(--t-sm) var(--font-sans);color:var(--fg)}
.tool-help{margin:0;font-size:var(--t-sm);color:var(--fg-2);line-height:1.5}
.tool-help a{color:var(--link)}
.tool-input{width:100%;box-sizing:border-box;padding:11px 12px;border:var(--hair) solid var(--rule);border-radius:0;background:var(--bg);color:var(--fg);font:400 var(--t-md) var(--font-sans);min-width:0}
.tool-input::placeholder{color:var(--fg-2);opacity:.7}
.tool-input:disabled{opacity:.5}
.tool-textarea{resize:vertical;min-height:84px;line-height:1.5}
select.tool-input{appearance:auto}
.tool-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:12px 20px;border:var(--hair) solid var(--rule);background:var(--fg);color:var(--bg);font:500 var(--t-sm) var(--font-sans);cursor:pointer;border-radius:0;transition:background .15s,color .15s}
.tool-btn:hover:not(:disabled){background:var(--signal);color:var(--on-signal)}
.tool-btn:disabled{opacity:.6;cursor:progress}
.tool-btn--ghost{background:transparent;color:var(--fg)}
.tool-btn--ghost:hover:not(:disabled){background:var(--fg);color:var(--bg)}
.tool-link{appearance:none;background:none;border:0;padding:4px 0;color:var(--link);font:500 var(--t-sm) var(--font-sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tool-x{appearance:none;width:36px;height:42px;border:var(--hair) solid var(--rule-soft);background:var(--bg);color:var(--fg-2);font-size:20px;line-height:1;cursor:pointer}
.tool-x:hover{background:var(--fg);color:var(--bg)}
.tool-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:var(--s-4) 0}
.tool-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-3);margin:0 0 var(--s-5)}
.tool-bar .tool-btn{min-width:160px}
.tool-lede{font-size:var(--t-lg);color:var(--fg-2);max-width:62ch;margin:0 0 var(--s-5);line-height:1.5}
.tool-sec{border:var(--hair) solid var(--rule-soft);background:var(--bg);padding:var(--s-4);margin-bottom:var(--s-4)}
.tool-sec__head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--s-3);align-items:center;margin-bottom:var(--s-3)}
.tool-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);white-space:nowrap}
.tool-rows,.tool-list{display:grid;gap:var(--s-3);margin-bottom:var(--s-2)}
.tool-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1.1fr) 36px;gap:var(--s-2);align-items:start}
.tool-listrow{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:var(--s-2);align-items:start;padding-bottom:var(--s-3);border-bottom:var(--hair) dashed var(--rule-soft)}
.tool-listrow .tool-input:nth-child(1){grid-column:1}
.tool-listrow .tool-x{grid-column:2;grid-row:1}
.tool-listrow .tool-input:nth-child(2){grid-column:1}
.tool-code{margin:0;padding:var(--s-4);background:var(--inv-bg);color:var(--inv-fg);font:400 var(--t-sm)/1.65 var(--font-mono);white-space:pre-wrap;word-break:break-word;overflow:auto;max-height:480px;border:var(--hair) solid var(--rule)}
.tool-status,.tool-msg{margin:var(--s-3) 0 0;font:400 var(--t-xs) var(--font-mono);color:var(--fg-2);min-height:1.2em}
.tool-msg{font:400 var(--t-sm) var(--font-sans);margin:var(--s-3) 0}
.tool-msg--ok{color:var(--teal)}
.tool-msg--bad{color:#B3261E}
.tool-hints{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;gap:var(--s-2)}
.tool-hint{font-size:var(--t-sm);line-height:1.45;padding:8px 10px 8px 12px;border-left:3px solid var(--rule-soft);background:var(--bg)}
.tool-hint--bad{border-left-color:#B3261E}
.tool-hint--warn{border-left-color:#C98A00}
.tool-hint--ok{border-left-color:var(--teal)}
.tool-note{font-size:var(--t-sm);line-height:1.5;padding:var(--s-3) var(--s-4);background:var(--bg-2);border-left:3px solid var(--teal);margin:0 0 var(--s-4)}
.tool-toggles{display:inline-flex;border:var(--hair) solid var(--rule);margin-bottom:var(--s-3)}
.tool-toggle{appearance:none;border:0;background:var(--bg);color:var(--fg);padding:8px 14px;font:500 var(--t-xs) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.tool-toggle[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.tool-result{margin-top:var(--s-5)}
.tool-mono{font:400 var(--t-sm) var(--font-mono);color:var(--fg-2);word-break:break-all;margin:0}
.tool-verdict{display:flex;gap:var(--s-4);align-items:center;padding:var(--s-4) var(--s-5);border:var(--hair) solid var(--rule);background:var(--panel);margin-bottom:var(--s-4)}
.tool-verdict strong{display:block;font:500 var(--t-xl) var(--font-serif)}
.tool-verdict__dot{width:16px;height:16px;border-radius:50%;flex:none;background:var(--signal);border:2px solid var(--rule)}
.tool-verdict--warn .tool-verdict__dot{background:#F2C14E}
.tool-verdict--fail .tool-verdict__dot{background:#E5533D}
.tool-stats{list-style:none;margin:0 0 var(--s-5);padding:0;display:flex;flex-wrap:wrap;gap:var(--s-5)}
.tool-stats li{font-size:var(--t-sm);color:var(--fg-2)}
.tool-stats b{display:block;font:500 var(--t-2xl) var(--font-serif);color:var(--fg);line-height:1.1}
.tool-sub{font:500 var(--t-xs) var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);margin:var(--s-6) 0 var(--s-3);padding-bottom:var(--s-2);border-bottom:var(--hair) solid var(--rule-soft)}
.tool-checks{list-style:none;margin:0;padding:0;display:grid}
.tool-check-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:var(--s-3);padding:var(--s-3) 0;border-bottom:var(--hair) solid var(--rule-soft)}
.tool-check-row:last-child{border-bottom:0}
.tool-check-row p{margin:0}
.tool-check-row__t{font-weight:500;font-size:var(--t-md)}
.tool-check-row__d{font-size:var(--t-sm);color:var(--fg-2);margin-top:2px!important;line-height:1.5;word-break:break-word}
.tool-check-row__f{font-size:var(--t-sm);margin-top:4px!important;line-height:1.5;color:var(--teal)}
.tool-check-row__f::before{content:"Fix: ";font-weight:600}
.tool-pts{font:400 var(--t-xs) var(--font-mono);color:var(--fg-2)}
.tool-pill{display:inline-block;align-self:start;text-align:center;padding:3px 8px;font:600 var(--t-xs) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:var(--hair) solid var(--rule)}
.tool-pill--pass{background:var(--signal);color:var(--on-signal)}
.tool-pill--warn{background:#F2C14E;color:#0E1111}
.tool-pill--fail{background:#E5533D;color:#fff;border-color:#E5533D}
.tool-pill--info{background:var(--bg-2);color:var(--fg)}
.tool-links{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tool-links li{display:flex;gap:var(--s-3);align-items:baseline}
.tool-links__u{font-size:var(--t-xs)!important}
.tool-code-pill{font:600 var(--t-xs) var(--font-mono);padding:2px 7px;border:var(--hair) solid var(--rule-soft);min-width:34px;text-align:center}
.tool-code-pill.is-ok{background:var(--signal);color:var(--on-signal);border-color:var(--rule)}
.tool-code-pill.is-warn{background:#F2C14E;color:#0E1111}
.tool-code-pill.is-bad{background:#E5533D;color:#fff;border-color:#E5533D}
.tool-summary{display:flex;gap:var(--s-6);align-items:center;padding:var(--s-5);border:var(--hair) solid var(--rule);background:var(--panel);margin-bottom:var(--s-5);flex-wrap:wrap}
.tool-summary p{margin:0 0 4px}
.tool-summary__grade{font:500 var(--t-2xl) var(--font-serif);line-height:1.1}
.tool-score{--p:0;--c:var(--teal);width:136px;height:136px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p) * 1%),var(--rule-soft) 0);display:grid;place-items:center;flex:none}
.tool-score--pass{--c:#7DB800}
.tool-score--good{--c:var(--teal)}
.tool-score--warn{--c:#E0A100}
.tool-score--fail{--c:#E5533D}
.tool-score__in{width:108px;height:108px;border-radius:50%;background:var(--panel);display:grid;place-content:center;text-align:center}
.tool-score__in b{font:500 2.6rem/1 var(--font-serif)}
.tool-score__in span{font:400 var(--t-xs) var(--font-mono);color:var(--fg-2)}
.tool-fixes{margin:0 0 var(--s-5);padding:0;list-style:none;counter-reset:fix;display:grid;gap:var(--s-3)}
.tool-fixes li{counter-increment:fix;position:relative;padding:var(--s-3) var(--s-4) var(--s-3) 52px;border:var(--hair) solid var(--rule-soft);background:var(--panel)}
.tool-fixes li::before{content:counter(fix);position:absolute;left:var(--s-4);top:var(--s-3);width:24px;height:24px;display:grid;place-items:center;background:var(--signal);color:var(--on-signal);font:600 var(--t-xs) var(--font-mono)}
.tool-fixes p{margin:4px 0 0;font-size:var(--t-sm);color:var(--fg-2);line-height:1.5}
.tool-gain{margin-left:var(--s-3);font:500 var(--t-xs) var(--font-mono);color:var(--teal)}
.tool-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);margin-top:var(--s-5)}
.tool-group{border:var(--hair) solid var(--rule);background:var(--panel);padding:var(--s-5);min-width:0}
.tool-group header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3)}
.tool-group h3{font:500 var(--t-xl) var(--font-serif);margin:0}
.tool-bar2{height:6px;background:var(--rule-soft);margin:var(--s-3) 0 var(--s-2)}
.tool-bar2 i{display:block;height:100%;background:var(--teal)}
.tool-table{border:var(--hair) solid var(--rule);background:var(--panel)}
.tool-tr{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:var(--s-3);padding:10px var(--s-4);border-bottom:var(--hair) solid var(--rule-soft);font-size:var(--t-sm);align-items:center}
.tool-tr:last-child{border-bottom:0}
.tool-tr--h{background:var(--bg-2);font:500 var(--t-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-2)}
.tool-tr .is-ok{color:var(--teal);font-weight:600}
.tool-tr .is-bad{color:#B3261E;font-weight:600}
.tool-prose{max-width:var(--measure)}
.tool-steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:var(--s-4)}
.tool-steps li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--s-3);align-items:start}
.tool-steps li::before{content:counter(s);width:36px;height:36px;display:grid;place-items:center;background:var(--signal);color:var(--on-signal);font:600 var(--t-sm) var(--font-mono)}
.tool-steps h3{margin:0 0 4px;font:500 var(--t-lg) var(--font-sans)}
.tool-steps p{margin:0;color:var(--fg-2);line-height:1.55}
.tool-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-6)}
.tool-split h3{font:500 var(--t-xl) var(--font-serif);margin:0 0 var(--s-3)}
.tool-split ul{margin:0;padding-left:1.1em;line-height:1.65;color:var(--fg-2)}
.tool-split li{margin-bottom:6px}
.tool-links-row{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:var(--s-5) 0 0;padding:0;list-style:none}
.tool-links-row a{display:inline-block;padding:8px 14px;border:var(--hair) solid var(--rule);color:var(--fg);text-decoration:none;font:500 var(--t-sm) var(--font-sans)}
.tool-links-row a:hover{background:var(--signal);color:var(--on-signal)}
@media (max-width:1000px){
  .tool-grid,.tool-groups,.tool-split{grid-template-columns:minmax(0,1fr)}
  .tool-panel--out{position:static}
}
@media (max-width:640px){
  .tool-bar{grid-template-columns:minmax(0,1fr)}
  .tool-bar .tool-btn{width:100%}
  .tool-row{grid-template-columns:minmax(0,1fr) 36px}
  .tool-row .tool-input:nth-child(1),.tool-row .tool-input:nth-child(2),.tool-row .tool-input:nth-child(3){grid-column:1}
  .tool-row .tool-x{grid-column:2;grid-row:1}
  .tool-sec__head{grid-template-columns:minmax(0,1fr)}
  .tool-tr{grid-template-columns:1.2fr 1fr .9fr}
  .tool-tr span:nth-child(2){display:none}
  .tool-summary{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){.tool-btn{transition:none}}


/* hidden panels fix */
.ael-tool [hidden],.ael-tool [role=tabpanel][hidden]{display:none !important}
