:root{--ink:#111316;--ink2:#1a1d22;--paper:#f2f1ec;--card:#fff;--text:#1d2026;--muted:#5d6470;--line:#e3ded4;
--accent:#ff4d1a;--accent2:#c23a0c;--burn:#ffb547;--off:#cfd3da;--wood:#c8925a;--acr:#5b6cff;--met:#8f9aa8;--ok:#15803d;--warn:#b45309;--no:#9aa1ab;
--r:6px;--max:1120px}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#101216;--card:#181b21;--text:#e9eaee;--muted:#a3a9b4;--line:#2a2e37;--off:#3a3f4a;--no:#6b7280}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:16px/1.6 "IBM Plex Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
h1,h2,h3,.brand{font-family:"Chakra Petch","IBM Plex Sans",system-ui,sans-serif;line-height:1.15;letter-spacing:0}
.mono,.k,.specs dt,.specs dd,.st,.chip,th,.pill,.crumbs{font-family:"IBM Plex Mono",ui-monospace,monospace}
h1{font-size:clamp(1.8rem,4vw,2.7rem);margin:.2em 0 .4em}h2{font-size:1.45rem;margin:1.8em 0 .6em}h3{font-size:1.1rem;margin:1.2em 0 .4em}
a{color:var(--accent2)}@media (prefers-color-scheme:dark){a{color:#ff8a5c}}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
header.top{background:var(--ink);color:#fff;position:relative}header.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent) 30%,var(--burn) 70%,transparent)}
header.top .wrap{display:flex;align-items:center;gap:18px;min-height:58px;flex-wrap:wrap}
.brand{color:#fff;text-decoration:none;font-weight:700;font-size:1.15rem;display:flex;align-items:center;gap:8px}
.brand svg{width:30px;height:30px;flex:none}.brand b{color:var(--accent);font-weight:700}
nav.main{display:flex;gap:14px;flex-wrap:wrap;font-size:.93rem}nav.main a{color:#cfd3da;text-decoration:none}nav.main a:hover{color:#fff}
.band{background-color:var(--ink);background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px;color:#e9eaee;padding:34px 0 40px}
.band h1{color:#fff}.band p.lead{color:#b9bec8;font-size:1.08rem;max-width:720px}
.band .crumbs a,.band .crumbs{color:#9aa1ab}
.crumbs{font-size:.85rem;margin-top:4px}
.band .g text{fill:#cfd3da}.band .g .tick{fill:#8b919c}.band .g .grid{stroke:#2c3039}
.panel{background:var(--ink2);border:1px solid #2c3039;border-radius:var(--r);padding:14px}
.panel h3{margin:0 0 6px;color:#fff;font-size:.95rem;font-weight:600}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.g{width:100%;height:auto;display:block}
.g text{font:12px "IBM Plex Mono",ui-monospace,monospace;fill:var(--text)}.g .tick{font-size:10.5px;fill:var(--muted)}
.g .lbl{font-size:12px}.g .strong{font-weight:700}.g .dim{fill:var(--muted)}
.g .grid{stroke:var(--line);stroke-width:1}
.g .bed{fill:rgba(255,77,26,.16);stroke:var(--accent);stroke-width:2}
.g .ext{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 4;opacity:.8}
.g .inner{fill:rgba(139,92,246,.35);stroke:#8b5cf6;stroke-width:1.5}
.g .comb{stroke:var(--accent);stroke-opacity:.18}
.g .letter{fill:none;stroke:#9aa1ab;stroke-width:1.5;stroke-dasharray:3 3}
.g .bar.wood{fill:var(--wood)}.g .bar.acr{fill:var(--acr);opacity:.75}.g .bar.met{fill:var(--met)}
.g .grain{stroke:#8a5a2b;stroke-opacity:.45}.g .none{fill:none;stroke:var(--line);stroke-dasharray:4 4}
.g.mini{max-width:150px}
main{padding:8px 0 40px}
.verdict{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
.verdict>div{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.verdict h3{margin-top:0}.verdict .yes h3{color:var(--ok)}.verdict .noo h3{color:var(--warn)}
.verdict ul{margin:0;padding-left:1.1em}
@media(max-width:700px){.verdict{grid-template-columns:1fr}}
.btn{display:inline-block;background:var(--accent);color:#fff!important;text-decoration:none;padding:10px 16px;border-radius:4px;font-weight:600;font-family:"IBM Plex Mono",monospace;font-size:.92rem}
.btn.ghost{background:transparent;border:1px solid var(--accent);color:var(--accent)!important}
.band .btn.ghost{color:#ffb08f!important}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:16px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--text)}
.card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.card .k{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);font-weight:700}
.card b{font-size:1.05rem}.card .p{color:var(--muted);font-size:.92rem}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:rgba(0,0,0,.02)}
tr:last-child td{border-bottom:0}
.mbar{height:8px;border-radius:4px;background:var(--accent);opacity:.8;margin-top:4px}
.chip{display:inline-block;font-size:.78rem;padding:2px 8px;border-radius:99px;color:#fff;margin:1px 2px 1px 0;font-weight:600}
.mat{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.mat div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;justify-content:space-between;gap:8px;font-size:.9rem}
.st{font-weight:700;font-size:.8rem;white-space:nowrap}.st.cut{color:var(--ok)}.st.engrave{color:#2563eb}.st.limited,.st.optional{color:var(--warn)}.st.no{color:var(--no)}
@media (prefers-color-scheme:dark){.st.engrave{color:#7aa7ff}}
.specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.specs div{padding:10px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.specs dt{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.specs dd{margin:2px 0 0;font-weight:600}
.muted{color:var(--muted)}.note{font-size:.9rem;color:var(--muted)}
.sources ul{padding-left:1.1em;font-size:.92rem}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0}
.faq summary{font-weight:600;cursor:pointer}
.vsband{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start}
.vsband .vs{font:700 1.4rem "Chakra Petch",sans-serif;color:var(--accent);align-self:center}
@media(max-width:760px){.vsband{grid-template-columns:1fr}.vsband .vs{text-align:center}}
.scen{display:grid;gap:10px}.scen div{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:10px 14px}
.finder{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:grid;gap:14px}
.finder label{font-weight:600;font-size:.92rem;display:block;margin-bottom:4px}
.finder select,.finder input[type=number]{width:100%;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--text);font:inherit}
.frow{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.checks{display:flex;gap:16px;flex-wrap:wrap;font-size:.95rem}
.result h3{margin-top:.6em}.rec{background:var(--ink);color:#fff;border-radius:var(--r);padding:14px 16px}.rec b{color:#ffb08f}
footer{background:var(--ink);color:#9aa1ab;padding:28px 0;font-size:.9rem}footer a{color:#cfd3da}
footer .cols{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}
.pill{display:inline-block;background:rgba(255,90,31,.15);color:#ffb08f;border-radius:99px;padding:2px 10px;font-size:.8rem;font-weight:600}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.85rem;margin:6px 0}
.legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;background:var(--c)}