:root{--ink:#171817;--paper:#f5f3eb;--lime:#dfff4f;--purple:#bcb2ff;--coral:#ff7c64;--line:2px solid var(--ink);--muted:#5d6058}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
nav{min-height:72px;padding:12px 4vw;border-bottom:var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{display:block;width:142px}
nav>div{display:flex;align-items:center;gap:24px;font:700 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}
nav a{text-decoration:none}
.nav-cta{display:inline-block;border:var(--line);background:var(--ink);color:#fff;padding:13px 17px;box-shadow:4px 4px var(--coral)}
.hero{min-height:470px;padding:76px 4vw;border-bottom:var(--line);background:var(--purple)}
.hero>span{font:700 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em}
.hero h1{max-width:1060px;margin:28px 0 24px;font-size:clamp(55px,7.5vw,112px);line-height:.86;letter-spacing:-.072em}
.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--ink)}
.hero p{max-width:780px;margin:0;font:19px/1.65 Georgia,"Times New Roman",serif}
.tools{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(460px,1.2fr);gap:32px;padding:36px 4vw;border-bottom:var(--line);background:#fff}
.tools h2{margin:0 0 10px;font-size:28px}
.tools label{display:block;margin-bottom:9px;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}
.tools input{width:100%;border:var(--line);border-radius:0;background:var(--paper);padding:14px;font:15px/1.3 Arial,Helvetica,sans-serif}
.filters{display:flex;align-content:flex-start;gap:8px;flex-wrap:wrap}
.filters button{border:1px solid var(--ink);background:#fff;padding:10px 12px;font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}
.filters button:hover,.filters button:focus-visible,.filters button.is-active{background:var(--ink);color:#fff}
#termCount{grid-column:2;margin:-10px 0 0;color:var(--muted);font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
.terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:52px 4vw 90px}
.term-card{min-width:0;padding:25px;border:var(--line);background:#fff;scroll-margin-top:20px}
.term-card:nth-child(7n+2){background:var(--lime)}.term-card:nth-child(7n+4){background:#fff8f4}.term-card:nth-child(7n+6){background:#f5f3ff}
.term-card>span{font:700 9px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em}
.term-card h2{margin:28px 0 18px;font-size:28px;line-height:1.05;letter-spacing:-.03em}
.term-card dfn{font-style:normal}
.term-card p{margin:13px 0 0;font:15px/1.67 Georgia,"Times New Roman",serif}
.term-card p+p{padding-top:13px;border-top:1px solid rgba(23,24,23,.25)}
.term-card p strong{font-family:Arial,Helvetica,sans-serif;font-size:13px}
.term-card code{padding:1px 4px;background:rgba(23,24,23,.1);font:13px ui-monospace,SFMono-Regular,Menlo,monospace}
.term-card[hidden]{display:none}
.empty{margin:0;padding:70px 4vw 100px;font-size:22px}
footer{padding:36px 4vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;background:var(--ink);color:#fff;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
footer img{display:block;width:132px;filter:invert(1)}
footer p{text-align:center}
footer span{text-align:right}
@media(max-width:1000px){.terms{grid-template-columns:repeat(2,minmax(0,1fr))}.tools{grid-template-columns:1fr}#termCount{grid-column:1;margin:0}}
@media(max-width:680px){nav>div>a:not(.nav-cta){display:none}.hero{min-height:420px;padding:58px 20px}.hero h1{font-size:56px}.tools{padding:28px 20px}.terms{grid-template-columns:1fr;padding:36px 20px 70px}footer{grid-template-columns:1fr}footer p,footer span{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
