:root{
  --bg0:#07120E;--bg1:#0A1B15;--surface:#0E241C;--surface2:#123024;--surface3:#173B2D;
  --line:#25493A;--line2:#3A6852;--text:#EAF5EE;--sub:#A9C4B4;--muted:#6E9182;
  --amber:#F2B33D;--amber2:#FFC864;--mint:#57E6A9;--violet:#A98BE0;--coral:#FF6E5E;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg0);color:var(--text);font:15px/1.65 "Segoe UI","Helvetica Neue",Arial,sans-serif}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
h1,h2,h3,p{margin-top:0}
.mono{font-family:Consolas,"SFMono-Regular",monospace}
.muted{color:var(--muted)}
.small{font-size:13px}
.skip{position:absolute;left:-999px;top:0;background:var(--amber);color:#241A05;padding:8px 14px;z-index:99;font-weight:700}
.skip:focus{left:8px}
/* low-opacity hexagon grid texture */
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='90' viewBox='0 0 52 90'%3E%3Cpath d='M26 0 13 22.5 -13 22.5 -26 0 -13 -22.5 13 -22.5z M78 0 65 22.5 39 22.5 26 0 39 -22.5 65 -22.5z M26 90 13 112.5 -13 112.5 -26 90 -13 67.5 13 67.5z M78 90 65 112.5 39 112.5 26 90 39 67.5 65 67.5z M52 45 39 67.5 13 67.5 0 45 13 22.5 39 22.5z' fill='none' stroke='%2357E6A9' stroke-opacity='0.055'/%3E%3C/svg%3E");}
/* ============ header ============ */
.site-header{position:relative;z-index:10;background:linear-gradient(180deg,#0C211A,#081811);border-bottom:1px solid var(--line)}
.topline{min-height:74px;max-width:1380px;margin:auto;padding:10px 30px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand-top strong{font:900 17px/1.05 "Arial Narrow",Arial;letter-spacing:2.5px}
.brand-top small{display:block;color:var(--mint);font:700 8.5px Consolas;letter-spacing:1.6px;margin-top:4px}
.edition{padding-left:16px;border-left:1px solid var(--line);color:var(--muted);font:700 10px Consolas;letter-spacing:1px;line-height:1.5}
.cmd-search{width:250px;height:40px;border:1px solid var(--line2);background:#0B2018;display:flex;align-items:center;padding:0 8px 0 13px;color:#6F9383;gap:9px;margin-left:auto}
.cmd-search input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font:inherit;font-size:13px}
.cmd-search input::placeholder{color:#6F9383}
.cmd-search button{background:none;border:none;color:var(--mint);font:700 15px Consolas;cursor:pointer}
.hero-search button{background:none;border:none;color:var(--mint);font:700 18px Consolas;cursor:pointer}
.language{position:relative}
.language summary{list-style:none;cursor:pointer;color:var(--sub);font:700 11px Consolas;letter-spacing:.6px;padding:8px 10px;border:1px solid var(--line);background:#0B2018}
.language summary::-webkit-details-marker{display:none}
.language[open] summary{color:var(--amber2);border-color:var(--line2)}
.language>div{position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:#0B2018;border:1px solid var(--line2);min-width:170px;box-shadow:0 14px 34px rgba(0,0,0,.5)}
.language>div a{display:block;padding:8px 13px;color:#93B4A2;font-size:13px}
.language>div a:hover{background:var(--surface3);color:#fff}
.language>div a[aria-current]{color:var(--amber2)}
.version{font:700 10px Consolas;color:var(--amber2);letter-spacing:.7px;line-height:1.5;text-align:right}
.nav-wrap{border-top:1px solid rgba(58,104,82,.5);background:#091A13}
.nav{max-width:1380px;min-height:54px;margin:auto;padding:0 30px;display:grid;grid-template-columns:repeat(7,1fr);align-items:stretch}
.nav a{color:#85A894;display:flex;align-items:center;justify-content:center;gap:8px;border-left:1px solid rgba(37,73,58,.5);position:relative;padding:14px 4px}
.nav a:last-child{border-right:1px solid rgba(37,73,58,.5)}
.nav a:hover{color:#CFE7D9}
.nav a b{font-size:13.5px;font-weight:600}
.nav a.active{color:#fff;background:linear-gradient(180deg,#14352A,#0E271E)}
.nav a.active:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;background:linear-gradient(90deg,var(--amber),var(--amber2))}
.nav a.active .ico{color:var(--amber2)}
/* ============ shared components ============ */
.content{max-width:1380px;margin:auto;padding:28px 30px 48px;position:relative;z-index:1}
.panel{background:linear-gradient(145deg,rgba(18,48,36,.96),rgba(11,32,24,.96));border:1px solid var(--line);position:relative}
.panel:before{content:"";position:absolute;left:-1px;top:-1px;width:66px;height:3px;background:linear-gradient(90deg,var(--amber),transparent);z-index:5;pointer-events:none}
.panel-soft{background:rgba(14,36,28,.75);border:1px solid var(--line)}
.pad{padding:20px}
.label{display:inline-flex;height:25px;align-items:center;padding:0 9px;border:1px solid var(--line2);color:var(--mint);background:#0B2018;font:800 10px Consolas;letter-spacing:.7px}
.label.hot{color:#FFE3B3;border-color:#8A6A2A;background:#3A2B10}
.label.violet{color:#DACBFF;border-color:#5B4A85;background:#241D38}
.label.warn{color:var(--amber2);border-color:#755A32}
.label.danger{color:#FFCFC8;border-color:#8C4A40;background:#3A1E1A}
.button{display:inline-flex;min-height:42px;align-items:center;padding:10px 18px;background:linear-gradient(180deg,var(--amber2),var(--amber));color:#241A05;font-weight:800;clip-path:polygon(0 8px,8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}
.button.ghost{background:var(--surface3);border:1px solid var(--line2);color:#BFF0D9;clip-path:none}
a.button:hover{filter:brightness(1.08)}
.section-head{display:flex;align-items:end;justify-content:space-between;margin:28px 0 13px;gap:18px}
.section-head h2{font:800 24px/1.1 "Arial Narrow","Segoe UI",Arial;margin:0;letter-spacing:.4px}
.section-head p{margin:0;color:var(--muted);font-size:13px}
.section-head .eyebrow{margin-bottom:5px}
.eyebrow{color:var(--amber2);font:800 11px Consolas;letter-spacing:2px;margin-bottom:7px}
.page-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px;gap:24px}
.page-head h1{font:900 36px/1.1 "Arial Narrow","Segoe UI",Arial;letter-spacing:.5px;margin-bottom:7px}
.page-head p{color:var(--sub);margin:0;max-width:760px}
.readouts{display:flex;gap:8px;flex:none}
.readout{min-width:112px;background:var(--surface);border:1px solid var(--line);padding:10px 13px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.readout small{display:block;color:var(--muted);font:700 9px Consolas;letter-spacing:.6px}
.readout b{color:var(--mint);font:900 19px Consolas}
/* hexagons */
.hex{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.hex-out{position:relative;background:linear-gradient(160deg,var(--line2),var(--line));clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);width:100%;height:100%}
.hex-in{position:absolute;inset:2px;background:var(--surface2);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);display:grid;place-items:center}
.hex-out.amber{background:linear-gradient(160deg,var(--amber2),var(--amber))}
.hex-out.mint{background:linear-gradient(160deg,#7BF0BE,#2EA877)}
.hex-out.violet{background:linear-gradient(160deg,#C4ABF2,#7A5FB8)}
/* ============ footer ============ */
.footer{border-top:1px solid var(--line);background:#081811;padding:30px 34px;position:relative;z-index:1}
.footer-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:36px}
.footer h3{font-size:14px}
.footer a{display:block;color:#7DA390;font-size:12px;margin:6px 0}
.footer a:hover{color:var(--mint)}
.footer p{color:#648A77;font-size:12px;max-width:340px}
.legal{max-width:1320px;margin:22px auto 0;padding-top:15px;border-top:1px solid #1C3A2C;color:#4F7462;display:flex;justify-content:space-between;gap:14px;font:10px Consolas;flex-wrap:wrap}
/* ============ home ============ */
.hero{min-height:520px;position:relative;overflow:hidden;display:block}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,16,12,.97) 0%,rgba(5,16,12,.85) 38%,rgba(5,16,12,.12) 74%),linear-gradient(0deg,rgba(5,16,12,.92),transparent 52%)}
.hero-copy{position:relative;z-index:2;padding:40px 0 40px 42px;max-width:560px}
.hero-eyebrow{margin-top:16px}
.hero-copy h1{font:900 50px/1.05 "Arial Narrow","Segoe UI",Arial;margin:10px 0 16px;letter-spacing:1px}
.hero-copy h1 em{font-style:normal;color:var(--amber2)}
.hero-copy p{font-size:16px;color:#B9D2C4}
.hero-search{height:50px;border:1px solid #3F6B55;background:rgba(8,24,18,.92);display:flex;align-items:center;padding:0 14px;margin:24px 0;gap:11px;color:#7FA593;max-width:480px}
.hero-search input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font:inherit;font-size:14px}
.hero-search input::placeholder{color:#7FA593}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-info{position:absolute;z-index:2;right:28px;bottom:25px;width:330px;display:block;background:rgba(8,24,18,.93);border:1px solid var(--line2);padding:16px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}
.hero-info b{display:block;margin:6px 0 2px}
.hero-info small{color:#7FA593}
.stat-strip{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:10px;margin-top:10px}
.stat{min-height:105px;padding:18px;display:block}
.stat strong{display:block;font-size:16px}
.stat small{color:var(--muted)}
.stat .big{color:var(--mint);font:900 22px Consolas;margin-bottom:5px}
.route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.route-card{padding:19px;min-height:158px;display:block}
.route-card .num{font:900 22px Consolas;color:var(--amber2)}
.route-card h3{font-size:16px;margin:9px 0 5px}
.route-card p{font-size:12px;color:#7FA593}
.intel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.intel-card{overflow:hidden}
.intel-card .img-wrap{height:165px;position:relative;display:block}
.intel-card .img-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,28,21,.55),transparent 55%)}
.intel-card .body{padding:17px}
.intel-card h3{font-size:16px;margin:9px 0 4px}
.intel-card h3 a:hover{color:var(--amber2)}
.intel-card p{font-size:12px;color:#7FA593}
.meta{border-top:1px solid var(--line);padding-top:10px;display:flex;justify-content:space-between;color:#648A77;font:700 10px Consolas}
.meta a{color:#8FB4A0}
.meta a:hover{color:var(--mint)}
.more{text-align:center;margin:24px 0 4px}
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pillar{overflow:hidden;display:block}
.pillar .p-img{height:150px;position:relative}
.pillar .p-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,32,24,.96) 4%,rgba(11,32,24,.25) 55%,rgba(11,32,24,.45))}
.pillar .p-hex{position:absolute;z-index:2;left:18px;bottom:-24px;width:56px;height:64px;color:var(--amber2)}
.pillar .p-body{padding:34px 18px 18px}
.pillar .p-body .en{color:var(--muted);font:800 10px Consolas;letter-spacing:2px}
.pillar h3{font-size:19px;margin:4px 0 6px}
.pillar p{font-size:12.5px;color:#7FA593;margin-bottom:12px}
/* ============ guides list ============ */
.guide-intro{display:grid;grid-template-columns:1.55fr .8fr;gap:12px;margin-bottom:18px}
.lead-story{min-height:390px;overflow:hidden;position:relative;display:block}
.lead-story>img{position:absolute;inset:0}
.lead-story:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,18,13,.96),rgba(6,18,13,.15)),linear-gradient(0deg,rgba(6,18,13,.78),transparent 55%)}
.lead-copy{position:absolute;z-index:2;left:32px;bottom:30px;width:560px;max-width:calc(100% - 64px)}
.lead-copy h2{font-size:33px;line-height:1.16;margin:13px 0 8px}
.lead-copy h2 a:hover{color:var(--amber2)}
.lead-copy p{color:#B9D2C4;font-size:15px}
.side-stories{display:grid;gap:12px}
.side-story{display:grid;grid-template-columns:142px 1fr;min-height:189px;overflow:hidden}
.side-story .s-img{position:relative}
.side-story .s-img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(11,32,24,.55))}
.side-story .copy{padding:20px}
.side-story h3{font-size:18px;line-height:1.35;margin:9px 0 6px}
.side-story p{font-size:13px;color:#7FA593}
.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 16px;margin:18px 0 12px;background:#0B2018;border:1px solid var(--line)}
.filter-bar b{margin-right:8px}
.filter-chip{padding:7px 12px;border:1px solid var(--line);color:#8FB4A0;font-size:13px;background:none;cursor:pointer;font-family:inherit}
.filter-chip.active{background:linear-gradient(180deg,var(--amber2),var(--amber));border-color:var(--amber);color:#241A05;font-weight:700}
.sort-note{margin-left:auto;color:#648A77;font-size:13px}
.result-count{color:var(--muted);font:700 11px Consolas;letter-spacing:1px;margin:4px 2px 0}
.article-list{display:grid}
.article-row{display:grid;grid-template-columns:190px minmax(0,1fr) 150px;gap:22px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.article-row:first-child{border-top:1px solid var(--line)}
.article-thumb{height:112px;position:relative;overflow:hidden;display:block}
.article-thumb:after{content:"";position:absolute;inset:0;border-left:3px solid var(--amber);background:linear-gradient(0deg,rgba(6,18,13,.25),transparent)}
.article-row h3{font-size:20px;margin:5px 0}
.article-row h3 a:hover{color:var(--amber2)}
.article-row p{font-size:14px;color:#8FB4A0;margin:0}
.article-cat{display:flex;align-items:center;gap:7px;color:var(--mint);font-size:13px}
.article-meta{text-align:right;color:#648A77;font-size:13px}
.article-meta b{display:block;color:#D8EDE1;margin-bottom:2px}
.article-meta a{color:#8FB4A0}
.article-meta a:hover{color:var(--mint)}
.empty{color:var(--muted);padding:22px 4px}
.pager{display:flex;gap:8px;justify-content:center;margin-top:26px}
.pager button,.pager .page-label{min-width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);color:#8FB4A0;font:700 13px Consolas;background:none;cursor:pointer;padding:0 12px}
.pager button:hover:not(:disabled){border-color:var(--line2);color:#D8EDE1}
.pager button:disabled{opacity:.35;cursor:default}
.pager .page-label{color:var(--amber2)}
/* ============ article ============ */
.breadcrumbs{color:var(--muted);font:700 11px Consolas;letter-spacing:.8px;margin-bottom:14px}
.breadcrumbs a{color:var(--mint)}
.article-cover{height:390px;position:relative;overflow:hidden}
.article-cover>img{position:absolute;inset:0}
.article-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,18,13,.96),rgba(6,18,13,.22)),linear-gradient(0deg,rgba(6,18,13,.85),transparent)}
.article-title{position:absolute;z-index:2;left:36px;bottom:33px;width:700px;max-width:calc(100% - 72px)}
.article-title h1{font:900 38px/1.08 "Arial Narrow","Segoe UI",Arial;margin:12px 0}
.article-title p{color:#B9D2C4}
.byline{color:#648A77;font:700 11px Consolas;letter-spacing:.6px;margin-top:10px}
.article-layout{display:grid;grid-template-columns:220px 1fr;gap:12px;margin-top:12px;align-items:start}
.toc{padding:18px;position:sticky;top:14px}
.toc a{display:block;padding:9px 0;border-bottom:1px solid var(--line);color:#7DA390;font-size:13.5px}
.toc a:hover{color:var(--mint)}
.article-body{padding:34px 38px}
.article-body h2{font-size:26px;margin-top:34px;padding-top:14px;border-top:2px solid var(--line2)}
.article-body h2:first-child{margin-top:0;padding-top:0;border-top:none}
.article-body p{color:#A9C4B4;font-size:15px}
.translation-note{border:1px dashed var(--line2);color:var(--muted);font-size:12.5px;padding:10px 14px;margin:0 0 18px}
.callout{border-left:4px solid var(--amber);background:#183427;padding:16px 18px;margin:18px 0;color:#E4F2E9}
.callout p{margin:6px 0 0;color:#B9D2C4}
.warn-block{border-left:4px solid var(--coral);background:#311B17;padding:16px 18px;margin:18px 0;color:#FFD8D2}
.steps{display:grid}
.step{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:none}
.step .n{width:40px;height:44px;background:linear-gradient(160deg,var(--amber2),var(--amber));display:grid;place-items:center;font:900 13px Consolas;color:#241A05;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.step h3{margin:0 0 5px}
.step p{margin:0;color:#8FB4A0}
.article-img{height:300px;margin:20px 0;position:relative;overflow:hidden}
.article-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,18,13,.45),transparent 40%)}
.article-img figcaption{position:absolute;z-index:2;left:10px;right:10px;bottom:10px;padding:6px 9px;background:rgba(7,20,15,.92);color:#A9D8C2;border:1px solid var(--line);font-size:12px}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}
.summary{padding:12px;background:#0B2018;border:1px solid var(--line)}
.summary small{display:block;color:var(--muted);font:700 10px Consolas}
.summary b{color:var(--mint)}
.source-list{list-style:none;padding:0;margin:0}
.source-list li{padding:9px 0;border-bottom:1px solid var(--line)}
.source-list li:last-child{border-bottom:none}
.source-list a{color:var(--mint)}
.source-list a:hover{text-decoration:underline}
.source-list small{color:var(--muted);margin-left:8px}
.prose{padding:26px 30px}
.prose h2{font-size:20px;margin:22px 0 8px}
.prose h2:first-child{margin-top:0}
.prose p{color:#A9C4B4;max-width:760px}
/* ============ getting started ============ */
.brief{display:grid;grid-template-columns:1.2fr .8fr;min-height:300px;overflow:hidden}
.brief-copy{padding:30px}
.brief-copy h2{font-size:28px;margin:13px 0 7px}
.brief-copy p{color:var(--sub);max-width:620px}
.brief-img{min-height:300px;position:relative}
.brief-img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--surface2),transparent 32%)}
.manifest{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.manifest div{background:#0B2018;border:1px solid var(--line);padding:13px}
.manifest b{display:block;color:#BFF0D9}
.manifest small{color:var(--muted)}
.stage-layout{display:grid;grid-template-columns:250px 1fr;gap:12px;margin-top:12px}
.stage-index{padding:18px}
.stage-item{padding:13px 12px;border-bottom:1px solid var(--line);color:#7DA390}
.stage-item small{display:block;color:var(--muted);font:700 10px Consolas;letter-spacing:1px}
.stage-item b{display:block;color:#CFE7D9}
.stage-item.active{background:var(--surface3);border-left:3px solid var(--amber);color:#A9CDBB}
.stage-item.active b{color:#fff}
.stage-main{display:grid;gap:12px;align-content:start}
.fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fact{padding:17px}
.fact small{color:var(--muted)}
.fact b{display:block;color:var(--mint);margin-top:4px}
.fact-p{color:#A9C4B4;font-size:13.5px;margin:8px 0 0}
.data-table{width:100%;border-collapse:collapse}
.data-table th,.data-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.data-table th{color:#7DA696;background:#0B2018;font:800 10px Consolas;letter-spacing:.8px}
.data-table td{color:#CFE7D9;font-size:14px}
.data-table td:last-child{color:var(--mint)}
.table-note{margin:14px 0 0}
.meter-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 26px;padding:6px 2px}
.meter small{display:flex;justify-content:space-between;color:var(--muted);font:700 10px Consolas;letter-spacing:.6px}
.meter small b{color:var(--mint)}
.meter .bar{height:8px;background:#0A1D15;border:1px solid var(--line);margin-top:6px;position:relative}
.meter .bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#2EA877,var(--mint))}
.meter .bar.warn i{background:linear-gradient(90deg,#B8862B,var(--amber2))}
.meter em{display:block;font-style:normal;color:#648A77;font-size:12px;margin-top:6px}
.retreat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.retreat{padding:18px;min-height:120px;display:block}
.retreat h3{font-size:15px;margin:9px 0 5px}
.retreat p{font-size:12px;color:#7FA593;margin:0}
.retreat-ico{color:var(--amber2)}
.retreat:hover{border-color:var(--line2)}
/* ============ bestiary ============ */
.bestiary-body{display:grid;grid-template-columns:1fr 330px;gap:12px;align-items:start}
.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-content:start}
.spec{height:288px;position:relative;overflow:hidden;border:1px solid var(--line);cursor:pointer}
.spec>img{position:absolute;inset:0}
.spec:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,18,13,.95),transparent 60%)}
.spec .copy{position:absolute;z-index:2;left:14px;bottom:13px;right:14px}
.spec .copy small{color:var(--mint);font:700 10px Consolas;letter-spacing:.5px}
.spec .copy b{display:block;font-size:16px}
.spec .threat{position:absolute;z-index:2;right:12px;top:12px}
.spec.selected{border-color:var(--amber);box-shadow:inset 0 0 0 2px var(--amber)}
.bio{padding:20px;position:sticky;top:14px}
.bio-img{height:200px;margin:-20px -20px 18px;position:relative}
.bio-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,32,24,.9),transparent 45%)}
.bio h2{margin:8px 0 6px}
.bio .latin{color:var(--violet);font:700 11px Consolas;letter-spacing:1px}
.bio-desc{margin-top:10px;font-size:13.5px}
.bio-advice{margin-top:16px}
.bio p{font-size:13.5px;color:#A9C4B4}
.bio .button{margin-top:14px}
.pair{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 0;color:#93B4A2;font-size:13.5px}
.pair b{color:#E6F4EC;text-align:right}
.trait-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.trait{display:inline-flex;align-items:center;min-height:27px;padding:4px 11px;font:800 11px "Segoe UI",Arial;color:#DCE9FF;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%);background:linear-gradient(160deg,#5B4A85,#3D3160)}
.trait.mint{color:#C8F7E2;background:linear-gradient(160deg,#2EA877,#1C6B4F)}
.trait.amber{color:#FFE9BD;background:linear-gradient(160deg,#A67C2A,#6E5218)}
.trait.violet{color:#DACBFF;background:linear-gradient(160deg,#5B4A85,#3D3160)}
.danger-note{margin-top:14px;border-left:3px solid var(--coral);background:#311B17;padding:12px;color:#FFD8D2;font-size:13px}
/* ============ crossbreeding lab ============ */
.lab-hero{display:grid;grid-template-columns:1fr .9fr;min-height:250px;overflow:hidden}
.lab-hero-copy{padding:30px}
.lab-hero-copy h2{font-size:27px;margin:12px 0 8px}
.lab-hero-copy p{color:var(--sub);max-width:600px}
.lab-hero-img{position:relative;min-height:250px}
.lab-hero-img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--surface2),transparent 34%),linear-gradient(0deg,rgba(11,32,24,.35),transparent)}
.lab-console{display:grid;grid-template-columns:250px 1fr;gap:12px;margin-top:12px;align-items:start}
.lab-queue{padding:18px}
.queue-item{padding:13px 12px;border-bottom:1px solid var(--line)}
.queue-item small{color:var(--muted);font:700 10px Consolas}
.queue-item b{display:block;color:#CFE7D9;font-size:13.5px}
.queue-item.active{background:var(--surface3);border-left:3px solid var(--amber)}
.recipe-flow{padding:26px}
.recipe-entry{padding:18px 0;border-bottom:1px dashed rgba(58,104,82,.55)}
.recipe-entry:last-child{border-bottom:none}
.recipe-row{display:flex;align-items:center;justify-content:center;gap:14px}
.g-node{width:150px;height:120px;position:relative;max-width:100%;flex:none}
.g-node .g-copy{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:2px;z-index:2;padding:0 26px}
.g-node .g-copy b{font-size:13.5px;line-height:1.25}
.g-node .g-copy small{color:var(--muted);font:700 9.5px Consolas;letter-spacing:.5px}
.g-node.multi{min-width:150px;max-width:340px;width:auto;height:120px;flex:none}
.g-node.multi .g-copy b{font-size:12px}
.g-node.result{width:200px}
.g-node.result .g-copy b{color:var(--amber2);font-size:14.5px}
.g-op{display:grid;place-items:center;color:var(--amber2);font:900 20px Consolas;width:30px;flex:none}
.g-arrow{position:relative;height:2px;width:70px;flex:none;background:repeating-linear-gradient(90deg,var(--mint) 0 7px,transparent 7px 13px)}
.g-arrow:after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left-color:var(--mint)}
.g-traits{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;justify-content:center}
.recipe-desc{color:#7FA593;font-size:12.5px;margin:12px 0 0;max-width:760px}
.mutation{padding:22px}
.mutation .fact-row{margin-bottom:6px}
.legend-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}
.recipe-note{border-left:3px solid var(--amber);background:#22301F;padding:12px;margin-top:16px;color:#DDE9D8;font-size:13px}
.recipe-note small{color:#9DBFA9}
/* ============ base building ============ */
.base-layout{display:grid;grid-template-columns:250px 1fr;gap:12px;align-items:start}
.blue-list{padding:18px}
.blue-item{padding:13px;border-bottom:1px solid var(--line);display:block;color:inherit}
.blue-item small{display:block;color:var(--muted)}
.blue-item.active{border:1px solid var(--line2);background:var(--surface3);margin:4px 0}
.workshop-panels{display:grid}
.workshop-entry{display:grid;grid-template-columns:1fr 300px;gap:12px;align-items:start}
.blueprint{min-height:480px;padding:26px;background-color:#0D2B20;
  background-image:linear-gradient(rgba(87,230,169,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(87,230,169,.09) 1px,transparent 1px),linear-gradient(rgba(87,230,169,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(87,230,169,.045) 1px,transparent 1px);
  background-size:112px 112px,112px 112px,28px 28px,28px 28px}
.bp-frame{height:270px;border:1px solid var(--line2);position:relative;margin:18px 0}
.bp-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,43,32,.35),transparent 40%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.bp-corner{position:absolute;width:14px;height:14px;border:2px solid var(--amber2);z-index:2}
.bp-corner.tl{left:-2px;top:-2px;border-right:none;border-bottom:none}
.bp-corner.tr{right:-2px;top:-2px;border-left:none;border-bottom:none}
.bp-corner.bl{left:-2px;bottom:-2px;border-right:none;border-top:none}
.bp-corner.br{right:-2px;bottom:-2px;border-left:none;border-top:none}
.bp-title{font-size:28px;margin-bottom:5px}
.bp-desc{color:#A9C4B4}
.bp-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.bp-dims .fact{padding:13px}
.bp-dims .fact b a{color:var(--mint)}
.recipe{padding:22px}
.recipe p{color:#A9C4B4;font-size:13.5px}
.recipe .button{margin-top:14px}
/* ============ planet map ============ */
.map{height:700px;position:relative;overflow:hidden;background:center/cover}
.map:after{content:"";position:absolute;inset:0;background:rgba(5,17,12,.72)}
.map-grid{position:absolute;z-index:1;inset:0;background-image:linear-gradient(rgba(87,230,169,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(87,230,169,.08) 1px,transparent 1px);background-size:56px 56px}
.map-panel{position:absolute;z-index:3;background:rgba(9,26,19,.94);border:1px solid var(--line2);padding:18px}
.layers{left:20px;top:20px;width:195px}
.layer{padding:8px 0;border-bottom:1px solid var(--line);color:#93B4A2;font-size:13px}
.layer:last-child{border-bottom:none}
.layer .plan-dot{margin-right:9px}
.plan-dot{width:10px;height:11px;display:inline-block;margin-right:6px;vertical-align:-1px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.location{right:20px;top:20px;width:292px}
.location h2{margin:10px 0 5px}
.location p{font-size:13px}
.map-btn{width:100%;justify-content:center;margin-top:14px}
.pin{position:absolute;z-index:4;text-align:center;width:120px;margin-left:-60px;transform:translateY(-50%);color:#fff;display:block}
.pin .hex-out{width:46px;height:52px;margin:auto}
.pin .hex-in i{font:900 11px Consolas;font-style:normal;color:var(--mint)}
.pin.active .hex-out{background:linear-gradient(160deg,var(--amber2),var(--amber))}
.pin.active .hex-in i{color:#241A05}
.pin.active:before{content:"";position:absolute;left:50%;top:-8px;width:62px;height:68px;transform:translateX(-50%);background:rgba(242,179,61,.16);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.pin b{display:block;font-size:12px;margin-top:7px;text-shadow:0 2px 5px #000}
.pin small{display:block;font:700 9px Consolas;color:var(--mint);text-shadow:0 2px 5px #000}
.zone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.zone{overflow:hidden;display:block}
.zone .z-img{height:120px;position:relative}
.zone .z-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,32,24,.95) 8%,rgba(11,32,24,.15) 60%)}
.zone .z-img small{position:absolute;z-index:2;left:14px;bottom:10px;color:var(--mint);font:800 10px Consolas;letter-spacing:1px}
.zone .z-body{padding:14px 16px 16px}
.zone .z-body b{display:block;font-size:15px}
.zone .z-body p{font-size:12px;color:#7FA593;margin:5px 0 9px}
.zone .z-body strong{color:var(--amber2);font:800 10.5px Consolas;letter-spacing:.6px}
/* ============ updates ============ */
.timeline{padding:10px 22px}
.timeline-row{display:grid;grid-template-columns:52px 1fr 110px;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.timeline-row:last-child{border-bottom:none}
.time-node i{width:40px;height:44px;display:grid;place-items:center;font:900 13px Consolas;font-style:normal;color:var(--mint);background:linear-gradient(160deg,var(--line2),var(--line));clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.timeline-row h2{font-size:19px;margin-bottom:6px}
.timeline-row p{color:#8FB4A0;font-size:14px;margin-bottom:10px}
.timeline-row .label{text-decoration:none}
.time-meta{color:var(--amber2);font:700 12px Consolas;text-align:right}
/* ============ search ============ */
.search-panel{padding:26px 30px}
.search-panel .hero-search{margin:0 0 14px}
.search-panel [data-search-status]{color:var(--muted);font:700 11px Consolas;letter-spacing:1px}
.search-results{display:grid;gap:10px}
.search-result{background:rgba(14,36,28,.75);border:1px solid var(--line);padding:16px 18px}
.search-result h2{font-size:18px;margin:8px 0 4px}
.search-result h2 a{color:var(--text)}
.search-result h2 a:hover{color:var(--amber2)}
.search-result p{margin:0;color:#8FB4A0;font-size:13.5px}
/* ============ icons ============ */
.ico{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
