/* Shared shell for tool + niche pages. Ivory paper, warm green ink, one clear action color. */
:root{
  --bg:#fbf5e8; --bg2:#efe6d4; --surface:#fffdf5; --line:#26342714; --line2:#26342735;
  --ink:#263427; --muted:#536252;
  --green:#0e6b4a; --green-deep:#0a5238; --brand-green:#12a150;
  --paper:#fffdf5; --paper-ink:#263427; --paper-muted:#565b54; --paper-line:#26342714;
  --amber:#c98f2b; --red:#d9482b;
  --h2:clamp(1.7rem,1rem + 2.6vw,2.9rem);
  --ease:cubic-bezier(.16,1,.3,1);
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
::selection{background:#12a15033}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
body{background-color:var(--bg);background-image:linear-gradient(to right,#26342708 1px,transparent 1px),linear-gradient(to bottom,#26342708 1px,transparent 1px);background-size:20px 20px;color:var(--ink);font-family:'Archivo',system-ui,sans-serif;font-size:clamp(1rem,.95rem+.3vw,1.05rem);line-height:1.62}
h1,h2{font-family:'Archivo';font-weight:900;font-stretch:115%;line-height:1.04;letter-spacing:-.025em;text-transform:uppercase;text-wrap:balance}
a{color:inherit}
.wrap{max-width:980px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}

nav{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(1.25rem,4vw,3rem);background:#fff9edeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--line2)}
nav .logo{font-family:'Archivo';font-weight:900;font-size:1.05rem;text-decoration:none;letter-spacing:-.02em}
nav .logo em{color:var(--green);font-style:normal}
nav .links{display:flex;align-items:center;gap:1.4rem;font-size:.9rem}
nav .links a{text-decoration:none;color:var(--muted)}
nav .links a:hover,nav .links a[aria-current]{color:var(--ink)}
nav .links .btn{padding:.62rem 1.25rem;font-size:.82rem;box-shadow:2px 2px 0 var(--ink);color:#fff}
nav .links .btn:hover{color:#fff}

.btn{display:inline-block;background:var(--green);color:#fff;font:800 .9rem 'Archivo';letter-spacing:.02em;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink);border-radius:4px;padding:.9rem 1.9rem;box-shadow:3px 3px 0 var(--ink);cursor:pointer;transition:background .25s,transform .25s var(--ease),box-shadow .25s var(--ease)}
.btn:hover{background:var(--green-deep);transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}
.btn:active{transform:translateY(0) scale(.98)}
.btn[disabled]{opacity:.55;cursor:wait;transform:none}
.btn.secondary{background:transparent;color:var(--ink)}
.btn.secondary:hover{background:var(--surface);color:var(--green-deep)}

.hero-lite{padding:clamp(3rem,6vw,5rem) 0 2.2rem}
.kicker{font:500 .7rem var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.hero-lite h1{font-size:clamp(1.9rem,1rem + 2.6vw,3rem);max-width:16ch}
.hero-lite .sub{color:var(--muted);max-width:32rem;margin-top:1rem}
.breadcrumbs{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;padding-top:1.2rem;font:700 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.breadcrumbs a{color:var(--green);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.breadcrumbs span:last-child{color:var(--ink)}

.toolform{display:flex;gap:.7rem;margin-top:1.8rem;flex-wrap:wrap}
.toolform input{flex:1;min-width:240px}
input,textarea,select{border:1px solid var(--line2);border-radius:8px;background:var(--surface);padding:.9rem 1.1rem;font:600 1rem 'Archivo';color:var(--ink)}
textarea{width:100%;min-height:180px;resize:vertical}
input::placeholder,textarea::placeholder{color:#8a908a}
input:focus,textarea:focus,select:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}
.field{display:grid;gap:.35rem;margin-top:1rem}
.field label{font:700 .76rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fields{display:grid;gap:1rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem;align-items:center}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1rem}
.statbox{border:1px solid var(--ink);background:var(--surface);box-shadow:3px 3px 0 var(--ink);padding:1rem}
.statbox b{display:block;font:800 1.6rem var(--mono);line-height:1}
.statbox span{display:block;color:var(--muted);font-size:.82rem;margin-top:.25rem}
.result{margin-top:1rem}
.result p{color:var(--muted);margin:.35rem 0 1rem}
.output{width:100%;min-height:140px;font-family:var(--mono);font-size:.9rem}
.preview{border:1px solid var(--ink);padding:1.2rem;margin-top:1rem}
.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.swatch{min-height:92px;border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;display:flex;align-items:end;padding:.55rem}
.swatch span{background:var(--surface);color:var(--ink);border:1px solid var(--ink);padding:.18rem .35rem;font:700 .75rem var(--mono)}
.tool-list{display:grid;gap:1rem;margin-top:1.4rem}
.tool-list a{text-decoration:none}
.hint{font-size:.82rem;color:var(--muted);margin-top:.7rem}
.err{display:none;color:var(--red);font-weight:600;margin-top:.9rem}
.tool-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.2rem}
.trust-item{border:1px solid var(--line2);background:var(--surface);padding:.85rem}
.trust-item b{display:block;font:800 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-bottom:.25rem}
.trust-item p{color:var(--muted);font-size:.88rem;line-height:1.38}
.share-tool{margin-top:1.4rem}
.share-tool h2{font-size:1.15rem;letter-spacing:0;text-transform:none;margin-bottom:.25rem}
.share-tool p{color:var(--muted);font-size:.92rem;max-width:38rem}
.share-row{display:grid;grid-template-columns:1fr auto;gap:.7rem;margin-top:1rem}
.share-row input{font-family:var(--mono);font-size:.86rem}
.related-tools{margin-top:1.4rem}
.related-tools h2{font-size:1.15rem;letter-spacing:0;text-transform:none;margin-bottom:.25rem}
.related-tools p{color:var(--muted);font-size:.92rem;max-width:38rem}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}
.related-link{display:grid;gap:.25rem;align-content:start;min-height:130px;text-decoration:none;border:1px solid var(--ink);background:var(--surface);box-shadow:3px 3px 0 #26342755;padding:1rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.related-link:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 #26342755}
.related-link b{font-size:1rem;line-height:1.1}
.related-link span{font:700 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.related-link small{font-size:.82rem;color:var(--muted);line-height:1.35}
.tool-search-link{display:inline-block;margin-top:1rem;color:var(--green);font-weight:700;text-decoration:none}
.tool-search-link:hover{text-decoration:underline}
.tool-guide{margin-top:1.4rem}
.tool-guide h2{font-size:1.15rem;letter-spacing:0;text-transform:none;margin-bottom:.35rem}
.tool-guide .guide-intro{color:var(--muted);font-size:.94rem;max-width:45rem;margin-bottom:1rem}
.guide-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1rem;align-items:start}
.guide-steps{counter-reset:guide-step;display:grid;gap:.65rem;margin:0;padding:0}
.guide-steps li{list-style:none;counter-increment:guide-step;border:1px solid var(--line2);background:var(--surface);padding:.78rem .85rem .78rem 2.75rem;position:relative}
.guide-steps li::before{content:counter(guide-step);position:absolute;left:.8rem;top:.72rem;width:1.35rem;height:1.35rem;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;font:800 .72rem var(--mono);color:var(--green)}
.guide-steps b,.guide-note b{display:block;margin-bottom:.18rem}
.guide-steps span,.guide-note p{color:var(--muted);font-size:.9rem}
.guide-note{border:1px solid var(--line2);background:var(--bg2);padding:1rem}
.guide-note ul{margin:.75rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.9rem}
.guide-note li{margin-top:.35rem}
.category-links{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.85rem}
.category-links a{border:1px solid var(--line2);background:var(--surface);border-radius:999px;padding:.45rem .75rem;font:800 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--green);text-decoration:none}
.category-links a:hover{border-color:var(--green);background:#e6f4ea}
.tool-faq{margin-top:1.4rem}
.tool-faq h2{font-size:1.15rem;letter-spacing:0;text-transform:none;margin-bottom:.25rem}
.tool-faq details{border-top:1px solid var(--line2);padding:.85rem 0}
.tool-faq details:first-of-type{margin-top:.7rem}
.tool-faq details:last-child{border-bottom:1px solid var(--line2)}
.tool-faq summary{cursor:pointer;font-weight:800;list-style:none}
.tool-faq summary::-webkit-details-marker{display:none}
.tool-faq summary::after{content:"+";float:right;font-family:var(--mono);color:var(--green)}
.tool-faq details[open] summary::after{content:"-"}
.tool-faq p{color:var(--muted);font-size:.92rem;max-width:42rem;margin-top:.45rem}
.category-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}
.category-summary .card{box-shadow:3px 3px 0 #26342755;padding:1rem}
.category-summary b{display:block;font:900 1.35rem var(--mono);line-height:1}
.category-summary span{color:var(--muted);font-size:.85rem}
.category-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.2rem}
.category-tool{display:grid;gap:.45rem;text-decoration:none;min-height:150px;border:1px solid var(--ink);background:var(--surface);box-shadow:3px 3px 0 #26342755;padding:1rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.category-tool:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 #26342755}
.category-tool .tag{width:max-content;border:1px solid var(--line2);background:var(--bg2);padding:.18rem .5rem;font:700 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.category-tool b{font-size:1.08rem;line-height:1.08}
.category-tool p{color:var(--muted);font-size:.88rem}
.index-section{margin-top:1.2rem}
.index-section h2{font-size:1.15rem;letter-spacing:0;text-transform:none;margin-bottom:.6rem}
.index-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}
.index-list a{display:flex;justify-content:space-between;gap:1rem;border:1px solid var(--line2);background:var(--surface);padding:.72rem .85rem;text-decoration:none}
.index-list a:hover{border-color:var(--green);background:#e6f4ea}
.index-list b{font-size:.95rem}
.index-list span{font:700 .72rem var(--mono);color:var(--muted);white-space:nowrap}

.card{background:var(--surface);border:1px solid var(--ink);border-radius:0;padding:1.6rem;box-shadow:4px 4px 0 var(--ink)}

.row{display:flex;align-items:flex-start;gap:.7rem;border:1px solid var(--line2);border-radius:0;padding:.7rem .9rem;background:var(--surface)}
.row+.row{margin-top:.55rem}
.dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:.45rem}
.dot.f{background:var(--red)}.dot.w{background:var(--amber)}.dot.p{background:var(--green)}
.row b{font-size:.95rem}
.row p{font-size:.85rem;color:var(--muted);margin-top:.1rem}

.search-phrases h2{font-size:1.05rem;text-transform:none;letter-spacing:0;margin-bottom:.35rem}
.search-phrases p{color:var(--muted);font-size:.9rem;max-width:46rem}
.phrase-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.phrase-list a{border:1px solid var(--line2);background:var(--bg2);padding:.42rem .62rem;text-decoration:none;color:var(--ink);font:700 .78rem var(--mono)}
.phrase-list a:hover{border-color:var(--green);background:#e6f4ea;color:var(--green)}

.collection-guide h2{font-size:1.1rem;text-transform:none;letter-spacing:0;margin-bottom:.45rem}
.collection-guide>p{color:var(--muted);font-size:.92rem;max-width:50rem}
.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}
.decision{border:1px solid var(--line2);background:var(--bg2);padding:.9rem}
.decision b{display:block;font-size:.95rem;margin-bottom:.25rem}
.decision p{color:var(--muted);font-size:.84rem;line-height:1.45}

/* the audit document (sample-audit page) */
.doc.card{box-shadow:6px 6px 0 var(--ink)}
.doc .meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;border-bottom:2px solid var(--ink)}
.doc .fix{background:var(--bg);border-color:var(--line)}

footer{border-top:1px solid var(--line);padding:2rem 0;color:var(--muted);font-size:.85rem;margin-top:clamp(3rem,6vw,5rem)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;max-width:1160px}
footer a{color:var(--green);text-decoration:none}

@media (max-width:560px){nav .links{gap:.9rem}nav .links .navtools{display:none}}
@media (max-width:760px){.split,.stats,.swatches,.related-grid,.category-summary,.category-tools,.index-list,.guide-grid,.tool-trust,.share-row,.decision-grid{grid-template-columns:1fr}}
