@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700;900&family=Silkscreen&family=ZCOOL+QingKe+HuangYou&display=swap");

/* ============ Tokens ============ */
:root{
  --sky:#8ec5f0; --sky-deep:#5d9fd6; --cloud:#f4f8fb;
  --grass:#5fa041; --grass-dark:#3f7a2a; --grass-light:#86c25a;
  --dirt:#7a5233; --dirt-dark:#5a3b24; --dirt-light:#94683f;
  --stone:#8a8f8c; --stone-dark:#6b706d; --stone-light:#a9aeab;
  --deep:#33363d; --deep-dark:#24262b; --deep-light:#474b54;
  --bedrock:#1b1c1f;
  --gold:#e8b93a; --redstone:#c9372c; --diamond:#4fd6cf; --emerald:#3fb46a; --lapis:#3d63c9; --amethyst:#9a6cd6;
  --paper:#eef1ec; --paper-2:#e2e7df; --ink:#1f2328; --ink-2:#4a524c; --rule:#c9d0c6;
  --link:#2f6d1f;
  --bg:var(--paper); --fg:var(--ink); --fg-2:var(--ink-2); --panel:#ffffff; --line:var(--rule);
  --max:1180px; --read:720px;
  --f-display:"ZCOOL QingKe HuangYou","Noto Sans SC",sans-serif;
  --f-body:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --f-pixel:"Silkscreen",ui-monospace,monospace;
  /* legacy names used by older pages */
  --green:var(--grass); --muted:var(--ink-2); --panel2:var(--paper-2);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#1d1f23; --fg:#e9ece6; --fg-2:#aab3a8; --panel:#272a30; --line:#3a3e46; --paper-2:#2c3036; --link:#9bd36f;
    --muted:#aab3a8;
  }
}
:root[data-theme="dark"]{
  --bg:#1d1f23; --fg:#e9ece6; --fg-2:#aab3a8; --panel:#272a30; --line:#3a3e46; --paper-2:#2c3036; --link:#9bd36f; --muted:#aab3a8;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);line-height:1.75;font-size:16px}
a{color:var(--link);text-underline-offset:3px}
a:hover{color:var(--grass-dark)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
img,svg{max-width:100%}
.wrap{width:min(var(--max),calc(100% - 32px));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pix{image-rendering:pixelated;shape-rendering:crispEdges}

/* ============ Header ============ */
.topline{display:none}
.site-header{position:sticky;top:0;z-index:50;background:var(--deep-dark);color:#e9ece6;border-bottom:4px solid var(--grass)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:4px;background:repeating-linear-gradient(90deg,var(--dirt) 0 8px,var(--dirt-dark) 8px 16px)}
.site-header nav,header nav{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px}
header:not(.site-header){position:sticky;top:0;z-index:50;background:var(--deep-dark);color:#e9ece6;border-bottom:4px solid var(--grass)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-family:var(--f-display);font-size:22px;letter-spacing:.02em;white-space:nowrap}
.brand:hover{color:#fff}
.brand-mark{width:32px;height:32px;display:inline-block;flex:none;font-size:0;color:transparent;
  background:
   linear-gradient(var(--grass-light),var(--grass-light)) 0 0/100% 30% no-repeat,
   linear-gradient(var(--grass-dark),var(--grass-dark)) 0 30%/100% 10% no-repeat,
   repeating-linear-gradient(90deg,var(--dirt) 0 8px,var(--dirt-light) 8px 16px) 0 40%/100% 60% no-repeat;
  box-shadow:inset -3px -3px 0 rgba(0,0,0,.25),inset 3px 3px 0 rgba(255,255,255,.18)}
.navlinks{display:flex;gap:4px;align-items:center}
.navlinks a{color:#cfd6cc;text-decoration:none;font-size:14px;padding:8px 12px;border-radius:2px}
.navlinks a:hover{color:#fff;background:rgba(255,255,255,.08)}
.navlinks a.active{color:#fff;background:var(--grass-dark);box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.nav-tools{display:flex;gap:8px;align-items:center}
.icon-btn,.menu{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#e9ece6;height:38px;min-width:38px;padding:0 10px;border-radius:2px;cursor:pointer;font:500 13px var(--f-body);display:inline-flex;align-items:center;gap:6px}
.icon-btn:hover,.menu:hover{background:rgba(255,255,255,.14)}
.menu{display:none}

/* ============ Search ============ */
.search-panel{position:fixed;inset:0;z-index:100;background:rgba(20,22,25,.72);display:none;padding:10vh 16px}
.search-panel.open{display:block}
.search-box{max-width:640px;margin:auto;background:var(--panel);color:var(--fg);border:3px solid var(--deep);box-shadow:8px 8px 0 rgba(0,0,0,.35)}
.search-box input{width:100%;border:0;border-bottom:2px solid var(--line);padding:18px 20px;font:500 18px var(--f-body);background:transparent;color:var(--fg)}
.search-box input:focus{outline:none;border-bottom-color:var(--grass)}
.search-results{max-height:55vh;overflow:auto;padding:6px 0}
.search-results a{display:block;padding:12px 20px;text-decoration:none;color:var(--fg);border-left:4px solid transparent}
.search-results a:hover,.search-results a.sel{background:var(--paper-2);border-left-color:var(--grass)}
.search-results small{display:block;color:var(--fg-2);font-size:12px}
.search-empty{padding:18px 20px;color:var(--fg-2);font-size:14px}

/* ============ Home: strata ============ */
.stratum{position:relative}
.stratum > .wrap{position:relative}
.ruler{position:absolute;left:-58px;top:0;bottom:0;width:44px;font:11px var(--f-pixel);color:rgba(255,255,255,.75);display:none}
@media (min-width:1320px){.ruler{display:block}}
.ruler span{position:absolute;right:0;white-space:nowrap;padding-right:12px;transform:translateY(-50%)}
.ruler span::after{content:"";position:absolute;right:0;top:50%;width:8px;height:2px;background:currentColor}

.sky{background:linear-gradient(180deg,#6fb3ea 0%,var(--sky) 55%,#b9dcf5 100%);color:#13304a;overflow:hidden}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:72px 0 96px;position:relative;z-index:2}
.hero h1{font-family:var(--f-display);font-weight:400;font-size:clamp(44px,6.4vw,84px);line-height:1.05;margin:0 0 18px;color:#0f2a40;letter-spacing:.01em;text-shadow:3px 3px 0 rgba(255,255,255,.45)}
.hero .lead{font-size:18px;color:#1d4466;max-width:34em;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;padding:12px 20px;font:700 15px var(--f-body);color:#fff;background:var(--grass);border:0;cursor:pointer;
  box-shadow:inset -4px -4px 0 var(--grass-dark),inset 4px 4px 0 var(--grass-light),0 4px 0 rgba(0,0,0,.18);text-shadow:1px 1px 0 rgba(0,0,0,.25)}
.btn:hover{color:#fff;filter:brightness(1.07)}
.btn:active{transform:translateY(2px);box-shadow:inset -4px -4px 0 var(--grass-dark),inset 4px 4px 0 var(--grass-light)}
.btn.ghost,.btn.stone{background:var(--stone);box-shadow:inset -4px -4px 0 var(--stone-dark),inset 4px 4px 0 var(--stone-light),0 4px 0 rgba(0,0,0,.18)}
.clouds{position:absolute;inset:0;pointer-events:none;z-index:1}
.cloud{position:absolute;height:22px;background:var(--cloud);opacity:.92;box-shadow:22px -14px 0 0 var(--cloud),44px 0 0 0 var(--cloud),66px -14px 0 0 var(--cloud),88px 0 0 0 var(--cloud);width:22px;animation:drift 80s linear infinite}
.cloud.c2{top:3%;animation-duration:120s;animation-delay:-50s;opacity:.7}
.cloud.c1{top:1%;animation-delay:-20s}
.cloud.c3{top:86%;animation-duration:140s;animation-delay:-90s;opacity:.55}
@keyframes drift{from{transform:translateX(-160px)}to{transform:translateX(110vw)}}
.sun{position:absolute;right:8%;top:40px;width:64px;height:64px;background:#fff3b0;box-shadow:0 0 0 10px rgba(255,243,176,.35),0 0 60px rgba(255,236,150,.8);z-index:1}

.status-card{background:rgba(255,255,255,.82);backdrop-filter:blur(4px);border:3px solid #0f2a40;box-shadow:8px 8px 0 rgba(15,42,64,.25);padding:22px 24px;color:var(--ink)}
.status-card h2{font:400 24px var(--f-display);margin:0 0 4px}
.status-card p{margin:0;font-size:14px;color:var(--ink-2)}
.status-list{list-style:none;margin:14px 0 0;padding:0}
.status-list li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:2px dashed #c9d6df;font-size:14px}
.status-list b{font-weight:700}
.ver{font:12px var(--f-pixel);background:#0f2a40;color:#fff;padding:3px 7px}
.ver.next{background:var(--gold);color:#3a2a00}
.status-list a{font-size:13px}

.grass-edge{height:28px;background:
  linear-gradient(var(--grass) 0 0) 0 100%/100% 18px no-repeat;position:relative;z-index:3}
.grass-edge::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;
  background:repeating-linear-gradient(90deg,transparent 0 12px,var(--grass) 12px 24px,transparent 24px 30px,var(--grass-light) 30px 36px,transparent 36px 48px)}
.dirt{background:var(--dirt);color:#f6eee6;
  background-image:
    radial-gradient(rgba(0,0,0,.14) 2px,transparent 2.5px),
    radial-gradient(rgba(255,255,255,.07) 2px,transparent 2.5px);
  background-size:36px 36px,52px 52px;background-position:0 0,18px 22px;border-top:10px solid var(--grass-dark)}
.stone{background:var(--stone);color:#16191b;
  background-image:linear-gradient(rgba(0,0,0,.05) 2px,transparent 2px),linear-gradient(90deg,rgba(0,0,0,.05) 2px,transparent 2px);background-size:48px 48px}
.deepslate{background:var(--deep);color:#e9ece6;
  background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 3px,transparent 3px 24px)}
.bedrock{background:var(--bedrock);color:#aeb3ad}
.stratum-pad{padding:64px 0 72px}
.stratum-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.stratum-head h2{font:400 clamp(30px,3.6vw,44px)/1.1 var(--f-display);margin:0}
.stratum-head p{margin:6px 0 0;max-width:38em;opacity:.85}
.stratum-head a{color:inherit;font-weight:700;font-size:14px}
.ore-transition{height:14px;background:repeating-linear-gradient(90deg,var(--stone) 0 16px,var(--stone-dark) 16px 24px,var(--stone) 24px 40px,var(--deep-light) 40px 48px)}
.ore-transition.to-deep{background:repeating-linear-gradient(90deg,var(--stone-dark) 0 16px,var(--deep) 16px 32px,var(--deep-light) 32px 40px,var(--deep) 40px 56px)}
.ore-transition.to-bedrock{background:repeating-linear-gradient(90deg,var(--deep) 0 12px,var(--bedrock) 12px 28px,#2c2d31 28px 36px,var(--bedrock) 36px 52px)}

/* start path (dirt) */
.path{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:step}
.path a{display:block;text-decoration:none;color:#fff;background:var(--dirt-dark);padding:22px;position:relative;border:3px solid #3e2817;box-shadow:inset 3px 3px 0 rgba(255,255,255,.08)}
.path a:hover{background:#4c311d;color:#fff}
.path a::before{counter-increment:step;content:counter(step);font:22px var(--f-pixel);color:var(--gold);display:block;margin-bottom:6px}
.path h3{font-size:19px;line-height:1.4;margin:0 0 8px}
.path p{font-size:14px;margin:0;color:#e7d8c8}
.path .meta{font-size:12px;color:#cbb59d;margin-top:12px}

/* category chips (stone) */
.cats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.cat-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#f4f5f3;color:#1f2328;text-decoration:none;font-size:14px;font-weight:500;border:2px solid #5c615e;cursor:pointer;font-family:var(--f-body)}
.cat-chip i{width:12px;height:12px;display:inline-block;background:var(--c,#999);box-shadow:inset -2px -2px 0 rgba(0,0,0,.25)}
.cat-chip[aria-pressed="true"]{background:#1f2328;color:#fff;border-color:#1f2328}

/* article cards */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post{display:flex;flex-direction:column;background:var(--panel);color:var(--fg);text-decoration:none;border:2px solid rgba(0,0,0,.18);box-shadow:0 4px 0 rgba(0,0,0,.15)}
.stone .post{background:#f7f8f6;color:#1f2328}
.post:hover{color:inherit;transform:translateY(-2px);box-shadow:0 6px 0 rgba(0,0,0,.18)}
.post .art{aspect-ratio:16/9;display:block;border-bottom:2px solid rgba(0,0,0,.18);overflow:hidden}
.post .art svg{width:100%;height:100%;display:block}
.post .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.post h3{font-size:17px;line-height:1.45;margin:0}
.post p{font-size:13.5px;color:#4a524c;margin:0}
.post .foot{margin-top:auto;display:flex;justify-content:space-between;font-size:12px;color:#6b726d;padding-top:6px}
.post.big{grid-column:span 2;flex-direction:row}
.post.big .art{aspect-ratio:auto;width:55%;min-height:300px;border-bottom:0;border-right:2px solid rgba(0,0,0,.18)}
.post.big h3{font-size:22px}
.label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#3b423d}
.label i{width:10px;height:10px;background:var(--c,#888);display:inline-block;box-shadow:inset -2px -2px 0 rgba(0,0,0,.25)}
.post[hidden]{display:none}

/* timeline (deepslate) */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:3px solid var(--deep-light);margin-top:8px}
.timeline .t{padding:20px 18px 6px 0;position:relative}
.timeline .t::before{content:"";position:absolute;top:-10px;left:0;width:16px;height:16px;background:var(--c,var(--diamond));box-shadow:inset -3px -3px 0 rgba(0,0,0,.3)}
.timeline .t.future::before{background:transparent;border:3px dashed var(--gold)}
.timeline time{font:12px var(--f-pixel);color:#aab3a8}
.timeline h3{font:400 22px var(--f-display);margin:4px 0 4px;color:#fff}
.timeline p{font-size:13.5px;color:#c6ccc4;margin:0 0 6px}
.timeline a{color:var(--diamond);font-size:13px}
.year-label{font:400 20px var(--f-display);color:var(--gold);margin:30px 0 14px}

.tools-row{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}
.tool-card{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:center;text-decoration:none;color:#fff;background:var(--deep-dark);border:3px solid #17181b;padding:18px;box-shadow:inset 3px 3px 0 rgba(255,255,255,.05)}
.tool-card:hover{color:#fff;border-color:var(--diamond)}
.tool-card svg{width:88px;height:88px}
.tool-card h3{margin:0 0 4px;font-size:18px}
.tool-card p{margin:0;font-size:13.5px;color:#c6ccc4}

/* footer */
.footer{background:var(--bedrock);color:#aeb3ad;padding:44px 0 40px;font-size:13px;border-top:0}
.footgrid{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:flex-start}
.footlinks{display:flex;gap:18px;flex-wrap:wrap}
.footlinks a{color:#d7dcd4;text-decoration:none}
.footlinks a:hover{color:#fff;text-decoration:underline}
.footer .brand{font-size:20px}
.disclaimer{max-width:760px;margin:18px 0 0;color:#8a908a;font-size:12px;line-height:1.7}

/* ============ Inner pages ============ */
.page-hero{background:var(--deep);color:#fff;padding:44px 0 40px;border-bottom:6px solid var(--grass)}
.page-hero h1{font:400 clamp(34px,4.6vw,56px)/1.15 var(--f-display);margin:8px 0 10px}
.page-hero p{margin:0;max-width:40em;color:#cdd3ca;font-size:16.5px}
.crumbs{font-size:13px;color:#aab3a8}
.crumbs a{color:#cfe8bd}
.listing-wrap{padding:40px 0 70px}

.article-layout{display:grid;grid-template-columns:minmax(0,var(--read)) 260px;gap:56px;justify-content:center;padding:44px 0 70px}
.article-head{grid-column:1/-1;max-width:calc(var(--read) + 316px);width:100%;margin:0 auto}
.page{max-width:var(--read);margin:0 auto;padding:44px 0 70px}
.article-layout .page,.article-layout article{padding:0;margin:0;max-width:none}
.kicker{font-size:13px;font-weight:700;color:var(--grass-dark)}
.page-hero .kicker{color:var(--grass-light)}
.page h1,.article-title{font:400 clamp(34px,4.8vw,54px)/1.18 var(--f-display);margin:10px 0 16px;color:var(--fg)}
.page-hero .article-title{color:#fff}
.page h2,article h2{font-size:24px;line-height:1.4;margin:44px 0 14px;padding-top:8px;scroll-margin-top:90px;position:relative}
.page h2::before,article h2::before{content:"";display:block;width:28px;height:6px;background:var(--grass);margin-bottom:12px;box-shadow:10px 0 0 var(--dirt)}
.page h3,article h3{font-size:18.5px;margin:28px 0 8px}
.page p,.page li,article p,article li{font-size:16.5px;line-height:1.95;color:var(--fg)}
.page li,article li{margin:6px 0}
.lead{font-size:18px;color:var(--fg-2);line-height:1.85}
.page-hero .lead{color:#d6dcd3}
.byline{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--fg-2);margin:14px 0 30px}
.page-hero .byline{color:#b9c2b6;margin-bottom:0}
.checklist{padding-left:0;list-style:none;counter-reset:ck}
.checklist li{counter-increment:ck;position:relative;padding-left:46px}
.checklist li::before{content:counter(ck);position:absolute;left:0;top:4px;width:30px;height:30px;display:grid;place-items:center;font:13px var(--f-pixel);color:#fff;background:var(--grass);box-shadow:inset -3px -3px 0 var(--grass-dark)}
.callout{border:2px solid var(--line);border-left:8px solid var(--gold);background:var(--panel);padding:16px 20px;margin:26px 0;font-size:15px;color:var(--fg-2)}
.callout.tip{border-left-color:var(--diamond)}
.callout.warn{border-left-color:var(--redstone)}
.callout strong{color:var(--fg)}
table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14.5px;background:var(--panel)}
th,td{border:2px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
th{background:var(--paper-2);font-weight:700}
.table-scroll{overflow-x:auto}
.source-list li{font-size:14px}
.article-nav{margin-top:44px;padding-top:22px;border-top:3px dashed var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.related{margin-top:48px}
.related h2{font-size:20px}
.related .posts{grid-template-columns:repeat(2,1fr)}

/* TOC */
.toc{position:sticky;top:96px;align-self:start;font-size:14px;border-left:3px solid var(--line);padding-left:16px}
.toc b{display:block;font:400 18px var(--f-display);margin-bottom:8px}
.toc ol{list-style:none;margin:0;padding:0}
.toc a{display:block;padding:5px 0;color:var(--fg-2);text-decoration:none;line-height:1.5}
.toc a.on{color:var(--fg);font-weight:700}
.toc a.on::before{content:"";display:inline-block;width:8px;height:8px;background:var(--grass);margin-right:8px;vertical-align:middle}

/* XP bar reading progress */
.xpbar{position:fixed;left:0;right:0;top:0;height:6px;z-index:60;background:#1b1c1f}
.xpbar i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,#80ff20 0 18px,#5fc016 18px 20px);box-shadow:0 0 8px rgba(128,255,32,.6)}

/* Ads: invisible until code is inserted */
.ad-slot{margin:34px 0;min-height:90px;display:flex;justify-content:center;align-items:center}
.ad-slot:empty{display:none}
.ad-slot::before{content:"广告";display:block;font-size:11px;color:var(--fg-2);margin-bottom:4px}

/* Legacy listing / cards (old pages) */
.grid{display:grid;gap:16px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}
.card{display:block;background:var(--panel);border:2px solid var(--line);padding:22px;text-decoration:none;color:var(--fg);box-shadow:0 4px 0 rgba(0,0,0,.08)}
.card:hover{color:var(--fg);border-color:var(--grass)}
.card h3{font-size:18px;margin:12px 0 8px}.card p{margin:0;font-size:14px;color:var(--fg-2)}
.tag{display:inline-block;background:var(--paper-2);color:var(--grass-dark);border:2px solid var(--line);padding:2px 8px;font-size:12px;font-weight:700}
.card-meta{font-size:12px;color:var(--fg-2);margin-top:14px}
.listing{display:grid;gap:14px}
.listing .card{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start}
.thumb{min-height:90px;background:var(--deep);display:grid;place-items:center;color:var(--grass-light);font:20px var(--f-pixel)}
.brief,.note{background:var(--panel);border:2px solid var(--line);border-left:8px solid var(--gold);padding:18px 22px}
.date{font-size:12px;color:var(--fg-2)}

/* Tools */
.tool-ui{background:var(--panel);border:3px solid var(--deep);box-shadow:8px 8px 0 rgba(0,0,0,.12);padding:24px;margin:24px 0}
.tool-ui label{display:block;font-size:14px;font-weight:700;margin:0 0 6px}
.tool-ui input,.tool-ui select{width:100%;padding:11px 12px;font:500 16px var(--f-body);border:2px solid var(--line);background:var(--bg);color:var(--fg)}
.tool-ui input:focus,.tool-ui select:focus{outline:none;border-color:var(--grass)}
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tool-out{margin-top:20px;padding:18px;background:var(--deep);color:#fff;font-size:15px}
.tool-out b{font:20px var(--f-pixel);color:var(--grass-light)}
.tool-out .row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed rgba(255,255,255,.15)}
.tool-out .row:last-child{border:0}
.chunk-map{display:grid;gap:2px;margin-top:18px;background:var(--deep);padding:8px;max-width:520px}
.chunk-map span{aspect-ratio:1;background:#6b706d}
.chunk-map span.s{background:#7ad13f;box-shadow:inset -2px -2px 0 rgba(0,0,0,.25)}
.chunk-map span.c{outline:3px solid var(--gold);outline-offset:-3px}
.legend{display:flex;gap:18px;font-size:13px;color:var(--fg-2);margin-top:10px;flex-wrap:wrap}
.legend i{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px}

.contact-form{display:grid;gap:14px}
.notfound{text-align:center;padding:90px 0}
.notfound h1{font:400 64px var(--f-display);margin:0}

/* ============ Responsive ============ */
@media (max-width:1000px){
  .article-layout{grid-template-columns:minmax(0,1fr)}
  .toc{display:none}
  .posts{grid-template-columns:repeat(2,1fr)}
  .post.big{grid-column:1/-1}
  .timeline{grid-template-columns:repeat(2,1fr);row-gap:20px}
}
@media (max-width:780px){
  .menu{display:inline-flex}
  .navlinks{display:none;position:absolute;left:0;right:0;top:100%;margin-top:8px;flex-direction:column;align-items:stretch;background:var(--deep-dark);padding:10px 16px 16px;border-bottom:4px solid var(--grass)}
  .navlinks.open{display:flex}
  .navlinks a{padding:12px}
  .hero{grid-template-columns:1fr;gap:30px;padding:44px 0 64px}
  .sun{width:44px;height:44px;top:24px}
  .path,.posts,.related .posts,.tools-row,.three,.two{grid-template-columns:1fr}
  .post.big{flex-direction:column}.post.big .art{width:100%;aspect-ratio:16/9;border-right:0;border-bottom:2px solid rgba(0,0,0,.18)}
  .timeline{grid-template-columns:1fr}
  .stratum-pad{padding:44px 0 52px}
  .tool-grid{grid-template-columns:1fr}
  .listing .card{grid-template-columns:1fr}
  .brand span.long{display:none}
  .page p,.page li,article p,article li{font-size:16px}
  .tool-card{grid-template-columns:64px 1fr}.tool-card svg{width:64px;height:64px}
}
