/* 2026 tesserae matrix: grout gray, chip colors, drop-off crimson */
:root{--grout:#d5d0c8;--chip:#2a6f8a;--drop:#b33a3a;--ink:#2a2622;--mute:#6e6860;--sans:"Noto Sans SC","PingFang SC",sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}section[id]{scroll-margin-top:64px}
body{margin:0;background:var(--grout);color:var(--ink);font-family:var(--sans);line-height:1.7}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}
code{font-family:var(--mono);color:var(--chip)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--drop);color:#fff;padding:8px;z-index:40}
.tess{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:#ece8e0;border-bottom:8px solid;border-image:repeating-linear-gradient(90deg,#2a6f8a 0 12px,#b33a3a 12px 24px,#c4a24a 24px 36px,#2a6f8a 36px 48px) 1}
.nm{font-weight:700}.nm small{display:block;font-family:var(--mono);font-size:11px;font-weight:400;color:var(--mute)}
#nav{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}#nav a{font-size:13px;color:var(--mute)}#nav a.on{color:var(--chip)}
.go{background:var(--chip);color:#fff!important;padding:6px 12px;font-weight:700}
.menu{display:none;background:#fff;border:1px solid #bbb;padding:6px 10px}
.sheet{position:relative}.sheet>img{width:100%;height:min(54vh,500px);object-fit:cover}
.cap{width:min(900px,calc(100% - 32px));margin:-48px auto 0;background:#f7f4ee;padding:28px;position:relative}
.k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--chip);margin:0 0 8px}
h1,h2,h3{margin:0 0 10px;line-height:1.2}h1{font-size:clamp(1.7rem,4vw,2.8rem)}
.gridbox{margin:16px 0;padding:12px;background:#efeae2;display:grid;gap:4px}
.gridbox strong{display:block;margin:4px 0;color:var(--drop)}.gridbox p{margin:0;color:var(--mute);font-size:14px}
.acts{display:flex;flex-wrap:wrap;gap:8px}
.btn{display:inline-flex;align-items:center;padding:9px 14px;background:var(--chip);color:#fff;border:0;font-weight:700;font-size:14px}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid #bbb;font-weight:400}
.w{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:64px 0}
.grout{background:#cdc8bf}
.tri,.g2{display:grid;gap:14px;margin-top:16px}.tri{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:1fr 1fr}
.tri article,.g2 article{background:#f7f4ee;padding:16px}
.warn{outline:2px solid var(--drop)}ul{margin:0;padding-left:1.1em}
.row{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin:36px 0}
.row.flip{direction:rtl}.row.flip>*{direction:ltr}
.n{font-family:var(--mono);color:var(--drop);font-size:12px}figure{margin:0}figcaption{font-size:13px;color:var(--mute);margin-top:6px}
footer{background:#bfb9ae}.end{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 0}
@media(max-width:860px){.menu{display:block}#nav{display:none;position:absolute;top:50px;left:10px;right:10px;flex-direction:column;background:#fff;padding:10px}#nav.open{display:flex}.tri,.g2,.row{grid-template-columns:1fr}.row.flip{direction:ltr}.end{flex-direction:column;align-items:flex-start}}
body::after{content:"";pointer-events:none;position:fixed;inset:0;z-index:4;opacity:.08;background-image:url("images/texture.webp");background-size:320px auto;mix-blend-mode:overlay}
