:root {
  --paper:#f5f1e8; --surface:#fffdf8; --ink:#17201e; --muted:#66706c;
  --line:#d9d4c8; --pine:#0c6256; --pine-dark:#07483f; --gold:#d6a641;
  --red:#a73b32; --radius:18px; --shadow:0 18px 45px rgba(31,43,39,.08);
  --serif:Georgia,'Times New Roman',serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}
a{color:inherit} button,input,select{font:inherit} button{cursor:pointer} svg{display:block}
.skip-link{position:absolute;left:-9999px;top:1rem;background:var(--ink);color:white;padding:.75rem 1rem;z-index:999}.skip-link:focus{left:1rem}
.shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.site-header{width:min(1160px,calc(100% - 40px));margin:0 auto;min-height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font:700 1.05rem var(--sans);letter-spacing:-.02em}.brand em{font:italic 500 1.15em var(--serif);color:var(--pine)}
.brand svg{width:34px;fill:var(--pine);stroke:var(--surface);stroke-width:2}.site-header nav,.site-footer nav{display:flex;gap:1.5rem}.site-header nav a,.site-footer nav a{text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:650}.site-header nav a:hover,.site-header nav a[aria-current=page],.site-footer nav a:hover{color:var(--pine)}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:5rem;align-items:end;padding:92px 0 56px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.69rem;font-weight:800;color:var(--pine);margin:0 0 .75rem}.hero h1{font:500 clamp(3rem,7vw,6.4rem)/.93 var(--serif);max-width:900px;letter-spacing:-.055em;margin:0}.lede{font-size:1.12rem;color:var(--muted);max-width:680px;margin:1.6rem 0 0}.hero-stat{border-top:3px solid var(--gold);padding-top:1rem}.hero-stat span{font:500 3.6rem/1 var(--serif)}.hero-stat p{color:var(--muted);margin:.55rem 0 0}
.tool-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:22px;margin-bottom:80px}.tool-card,.results-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(24px,4vw,42px)}
.section-heading h2,.results-header h2,.content-grid h2,.faq h2,.article-page h1{font:500 clamp(2rem,4vw,3.35rem)/1.03 var(--serif);letter-spacing:-.035em;margin:0}.field-label{display:block;font-weight:750;margin:2rem 0 .55rem}.rack-row{display:grid;grid-template-columns:1fr auto;gap:10px}.rack-row input,.filter-grid input,.filter-grid select{min-width:0;width:100%;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);padding:.92rem 1rem;outline:none}.rack-row input{font-size:1.25rem;text-transform:uppercase;letter-spacing:.16em}.rack-row input:focus,.filter-grid input:focus,.filter-grid select:focus{border-color:var(--pine);box-shadow:0 0 0 3px rgba(12,98,86,.12)}
.primary-button{border:0;border-radius:10px;background:var(--pine);color:white;font-weight:800;padding:.9rem 1.25rem}.primary-button:hover{background:var(--pine-dark)}.field-help{font-size:.85rem;color:var(--muted);margin:.55rem 0 0}kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:white;padding:.05rem .35rem}.filters{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.filters summary{cursor:pointer;font-weight:750;color:var(--pine)}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.filter-grid label{font-size:.8rem;font-weight:750;color:var(--muted)}.filter-grid input,.filter-grid select{display:block;margin-top:.35rem;color:var(--ink);font-weight:500}.form-error{margin-top:1rem;border-left:3px solid var(--red);background:#fff0ed;color:#7d2822;padding:.8rem 1rem}
.results-card{min-height:470px}.results-header{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:1.25rem}.results-header h2{font-size:2rem}.count-pill{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);border-radius:999px;padding:.45rem .7rem;color:var(--muted)}.empty-state{min-height:300px;display:grid;place-content:center;text-align:center;color:var(--muted)}.empty-state svg{width:58px;margin:0 auto 1rem;fill:none;stroke:var(--line);stroke-width:2}.word-group{margin-top:1.5rem}.word-group h3{display:flex;align-items:center;gap:.7rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.word-group h3:after{content:"";height:1px;background:var(--line);flex:1}.word-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.word-result{border:1px solid var(--line);background:white;border-radius:9px;padding:.75rem;display:flex;justify-content:space-between;gap:.5rem;align-items:center}.word-result strong{letter-spacing:.04em}.word-scores{white-space:nowrap;font-size:.68rem;color:var(--muted)}
.content-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:76px 0;display:grid;grid-template-columns:1fr 1fr;gap:7rem}.content-grid article p:not(.eyebrow){color:var(--muted)}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:54px 1fr;gap:1rem;padding:1.4rem 0;border-top:1px solid var(--line)}.steps li:last-child{border-bottom:1px solid var(--line)}.steps span{font:italic 1.3rem var(--serif);color:var(--gold)}.steps strong{font-size:1rem}.steps p{margin:.2rem 0;color:var(--muted)}
.faq{padding:80px 0}.faq>h2{max-width:650px;margin-bottom:2rem}.faq details{max-width:850px;border-top:1px solid var(--line);padding:1.2rem 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:750;font-size:1.05rem}.faq details p{color:var(--muted);max-width:760px}
.site-footer{border-top:1px solid var(--line);padding:36px 0 46px;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start}.footer-brand{display:block}.site-footer p{color:var(--muted);font-size:.85rem}.legal-note{grid-column:1/-1;max-width:850px;border-top:1px solid var(--line);padding-top:1rem}.ad-reserve[hidden]{display:none!important}
.article-page{width:min(860px,calc(100% - 40px));margin:0 auto;padding:70px 0 90px}.article-page h1{font-size:clamp(2.8rem,7vw,5rem)}.article-page h2{font:500 2rem var(--serif);margin-top:2.4rem}.article-page p,.article-page li{color:var(--muted)}.article-page a{color:var(--pine)}.article-meta{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0 2rem;color:var(--muted);font-size:.85rem}.notice{border-left:3px solid var(--gold);background:var(--surface);padding:1rem 1.2rem;margin:2rem 0}.puzzle-groups{display:grid;gap:10px;margin:2rem 0}.puzzle-group{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem}.puzzle-group summary{font-weight:800;cursor:pointer}.puzzle-group p{margin:.75rem 0 0}.group-yellow{border-left:6px solid #e7c949}.group-green{border-left:6px solid #6aaa64}.group-blue{border-left:6px solid #6d9eeb}.group-purple{border-left:6px solid #b07bc3}.archive-link{display:inline-flex;text-decoration:none;border-bottom:1px solid var(--pine);font-weight:700;color:var(--pine)}
.notice ul li{margin:.35rem 0}.dot-yellow,.dot-green,.dot-blue,.dot-purple{padding-left:1.1rem;position:relative}.dot-yellow:before,.dot-green:before,.dot-blue:before,.dot-purple:before{content:"";position:absolute;left:0;top:.32em;width:.7em;height:.7em;border-radius:3px}.dot-yellow:before{background:#e7c949}.dot-green:before{background:#6aaa64}.dot-blue:before{background:#6d9eeb}.dot-purple:before{background:#b07bc3}
@media(max-width:820px){.site-header{align-items:flex-start;padding:20px 0;gap:1rem}.site-header nav{gap:.8rem;flex-wrap:wrap;justify-content:flex-end}.site-header nav a{font-size:.78rem}.hero{grid-template-columns:1fr;gap:2rem;padding:64px 0 42px}.hero-stat{max-width:260px}.tool-layout,.content-grid{grid-template-columns:1fr}.content-grid{gap:3rem}.site-footer{grid-template-columns:1fr}.legal-note{grid-column:auto}}
@media(max-width:560px){.shell,.site-header,.article-page{width:min(100% - 24px,1160px)}.site-header{display:block}.site-header nav{justify-content:flex-start;margin-top:1rem}.rack-row{grid-template-columns:1fr}.primary-button{min-height:50px}.filter-grid,.word-list{grid-template-columns:1fr}.tool-card,.results-card{padding:22px}.hero h1{font-size:3.1rem}.content-grid{padding:54px 0}.site-footer nav{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
