/* ============================================================
   THE ESCAPISTS 3 GUIDE —— styles.css（本作专属视觉，2026-10-09）
   设计依据 DESIGN-BRIEF.md：夜色监狱砖墙 + 夕烧橙 + 官方金橙 CTA(#f7a500)
   + 冰蓝辅色(#c4d1dc) + 像素微标签（呼应 logo 的像素 3）。
   词标: Bungee（块状，复刻官方 logo 气质）/ 正文: Montserrat / 微标签: Silkscreen
   ============================================================ */
:root{
  --bg:#0c0f14;          /* 夜砖底 */
  --panel:#141922;       /* 面板 */
  --panel-2:#1c222b;     /* 面板 2 */
  --ink:#f2f0ea;         /* 暖白文字 */
  --muted:#9aa3ad;
  --gold:#f7a500;        /* 官方 CTA 金橙（实测 rgb(247,165,0)） */
  --gold-soft:rgba(247,165,0,.14);
  --orange:#e8683c;      /* 囚服橙 */
  --orange-deep:#d94e2b;
  --ice:#c4d1dc;         /* 品牌冰蓝 */
  --border:rgba(255,255,255,.10);
  --hard:#06080b;
  --radius:6px; --radius-sm:4px; --maxw:1140px;
  --font:"Montserrat",ui-sans-serif,system-ui,"Segoe UI",Roboto,sans-serif;
  --display:"Bungee","Montserrat",ui-sans-serif,sans-serif;
  --pixel:"Silkscreen","Montserrat",monospace;
  --dusk:linear-gradient(90deg,#f7a500,#e8683c 42%,#8f5a9e 78%,rgba(12,15,20,0));
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;color:var(--ink);font:16px/1.66 var(--font);-webkit-font-smoothing:antialiased;
  background:
    linear-gradient(rgba(10,13,18,.94),rgba(10,13,18,.965)),
    url(/assets/decor/brick.jpg) top center/860px repeat fixed;
}
::selection{background:var(--gold);color:#1c1203}
img{max-width:100%;height:auto}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible{outline:2px dashed var(--gold);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--panel);padding:8px 12px;z-index:99;border-radius:var(--radius-sm)}

/* ---------- 顶部公告条（金橙 = 官方 CTA 色） ---------- */
.ribbon{
  background:linear-gradient(90deg,#e8920a,#f7a500 30%,#f7a500 70%,#e8920a);
  color:#1c1203;text-align:center;padding:8px 0;
  font-family:var(--pixel);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;
  border-bottom:1px solid rgba(0,0,0,.5);
}
.ribbon .wrap{display:block;padding:0 16px}

/* ---------- topbar / nav ---------- */
.topbar{position:sticky;top:0;z-index:50;background:rgba(9,12,16,.94);backdrop-filter:blur(7px);border-bottom:1px solid var(--border)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:60px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand:hover{text-decoration:none}
.brand img{width:38px;height:38px;border-radius:8px;border:1px solid var(--border);display:block}
.brand span{font-family:var(--display);font-size:13px;letter-spacing:.4px;line-height:1.35;max-width:250px}
.nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.nav ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap}
.nav li{position:relative}
.nav li>a{display:block;padding:9px 11px;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:.2px}
.nav li>a:hover{color:#fff;text-decoration:none;background:rgba(247,165,0,.12);border-radius:var(--radius-sm)}
.nav li.active>a{color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold)}
.nav li.has-kids>a::after{content:" ▾";color:var(--ice);opacity:.85}
/* 下拉面板与父项之间禁止留死区：面板紧贴 top:100%，另加透明 hover 桥兜底 */
.nav li.has-kids::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:12px;z-index:69}
.kids{display:none;position:absolute;top:100%;left:0;min-width:250px;z-index:70;background:#12161d;border:1px solid var(--border);border-top:2px solid var(--gold);border-radius:0 0 var(--radius) var(--radius);box-shadow:0 18px 40px rgba(0,0,0,.6);padding:8px;flex-direction:column;gap:1px}
.has-kids:hover .kids,.has-kids:focus-within .kids{display:flex}
.kids li a{display:block;padding:8px 12px;color:var(--ice);font-size:13.5px;font-weight:500;border-radius:var(--radius-sm)}
.kids li a:hover{background:rgba(247,165,0,.14);color:#fff;text-decoration:none}
.nav .cta{
  display:inline-block;padding:9px 14px;background:var(--gold);color:#1c1203;
  border-radius:var(--radius-sm);font-weight:800;font-size:13.5px;white-space:nowrap;
}
.nav .cta:hover{background:#ffb61e;text-decoration:none;transform:translateY(-1px)}

/* ---------- hero（夕烧奔跑 + 探照灯斜光 + 双重压暗） ---------- */
.hero{
  position:relative;border-bottom:4px solid transparent;
  border-image:var(--dusk) 1;
  background:
    radial-gradient(58% 46% at 84% 6%,rgba(247,165,0,.14),transparent 68%),
    linear-gradient(90deg,rgba(6,8,11,.92) 0%,rgba(6,8,11,.62) 46%,rgba(6,8,11,.30) 72%,rgba(6,8,11,.42) 100%),
    linear-gradient(0deg,rgba(12,15,20,.95) 0%,rgba(12,15,20,.25) 34%,rgba(12,15,20,0) 60%),
    var(--hero) center 30%/cover no-repeat #0a0d11;
}
.hero-in{padding:74px 18px 62px;position:relative;z-index:1}
.hero .eyebrow{
  display:inline-block;margin:0 0 14px;padding:4px 9px;
  font-family:var(--pixel);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--gold);background:rgba(9,12,16,.72);border:1px solid rgba(247,165,0,.45);border-radius:3px;
}
.hero h1{
  font-family:var(--display);font-weight:400;font-size:clamp(34px,6vw,60px);line-height:1.06;
  letter-spacing:.5px;margin:0 0 16px;max-width:15ch;color:#fff;
  text-shadow:0 2px 0 rgba(6,8,11,.85),0 5px 0 rgba(6,8,11,.4),0 14px 34px rgba(0,0,0,.65);
}
.hero h1 .no{
  font-family:var(--pixel);font-size:.92em;letter-spacing:0;padding:0 4px;
  background:linear-gradient(180deg,#ffcf4d,#e06020 78%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 0 rgba(6,8,11,.9));
}
.hero .lead{margin:0 0 24px;max-width:640px;color:#ded8cb;font-size:17.5px;line-height:1.62;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:0}
.btn{
  display:inline-block;padding:12px 20px;background:var(--gold);color:#1c1203;
  border-radius:var(--radius-sm);font-weight:800;font-size:15px;letter-spacing:.2px;
  box-shadow:0 4px 16px rgba(0,0,0,.4);
}
.btn:hover{background:#ffb61e;text-decoration:none;transform:translateY(-1px)}
.btn.ghost{background:rgba(9,12,16,.55);color:var(--ink);border:1px solid var(--ice);box-shadow:none}
.btn.ghost:hover{background:rgba(196,209,220,.14)}

/* ---------- ROLL CALL 事实条（点名板：像素字段 + 虚线分栏） ---------- */
.facts-strip{background:rgba(15,19,25,.94);border-bottom:3px solid transparent;border-image:var(--dusk) 1}
.facts{display:flex;flex-wrap:wrap;padding:13px 18px}
.fact{flex:1 1 150px;padding:5px 16px;border-left:1px dashed rgba(196,209,220,.28)}
.fact:first-child{border-left:0}
.fact-k{display:block;font-family:var(--pixel);font-size:9px;letter-spacing:1.1px;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.fact-v{display:block;font-weight:800;font-size:15px;line-height:1.32;color:var(--ink)}

/* ---------- 分组头 / 通用 ---------- */
.section-head{display:flex;align-items:baseline;gap:12px;margin:34px 0 14px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:10px}
.section-head h2{font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:.4px;margin:0}
.overline{display:block;font-family:var(--pixel);font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);font-weight:400}
.section-head .overline{flex-basis:100%;margin-bottom:2px}
.count-pill{margin-left:8px;background:var(--gold);color:#1c1203;font-family:var(--pixel);font-size:10px;font-weight:700;padding:3px 8px;border-radius:3px;vertical-align:3px}

/* ---------- 卡片（夜面板 + 官方截图 + 像素标签） ---------- */
.grid{display:flex;flex-wrap:wrap;gap:16px;margin:14px 0 32px}
.card{
  flex:1 1 300px;max-width:100%;display:flex;flex-direction:column;background:var(--panel);
  border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;color:var(--ink);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.card:hover{transform:translateY(-3px);border-color:rgba(247,165,0,.55);box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 0 1px rgba(247,165,0,.18);text-decoration:none}
.card .thumb{position:relative;display:block}
.card .thumb img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}
.pill-tag{
  position:absolute;left:10px;bottom:10px;background:var(--gold);color:#1c1203;
  font-family:var(--pixel);font-size:9px;letter-spacing:.8px;text-transform:uppercase;
  padding:4px 8px;border-radius:3px;box-shadow:0 2px 8px rgba(0,0,0,.5);
}
.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.card h3{margin:0 0 8px;font-size:17.5px;font-weight:800;line-height:1.3}
.card p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.55;flex:1}
.card .go{color:var(--gold);font-weight:700;font-size:13.5px}
.card .stamp{display:block;color:var(--muted);font-size:11.5px;margin-top:6px}
.card.sm{flex:1 1 205px}
.card.sm h3{font-size:15.5px}
.card.sm .card-body{padding:11px 13px 13px}

/* ---------- 文章页 ---------- */
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:36px;align-items:start}
.article-grid>div{min-width:0}
article{padding:8px 0 44px}
.crumb{font-size:13px;color:var(--muted);margin:18px 0 0}
.crumb a{color:var(--ice)}
.crumb a:hover{color:#fff}
.crumb .sep{opacity:.5;margin:0 5px}
.crumb .here{color:var(--ink);font-weight:700}
article h1{
  font-family:var(--display);font-weight:400;font-size:clamp(25px,4.2vw,34px);line-height:1.18;
  letter-spacing:.3px;margin:10px 0 14px;text-shadow:0 2px 0 rgba(6,8,11,.6);
}
article h2{
  position:relative;font-size:22px;font-weight:800;line-height:1.28;margin:40px 0 14px;
  padding-bottom:10px;border-bottom:1px solid var(--border);
}
article h2::after{content:"";position:absolute;left:0;bottom:-1px;width:52px;height:2px;background:var(--gold)}
article h3{font-size:18px;font-weight:700;line-height:1.35;margin:26px 0 8px;color:var(--ice)}
article p{margin:0 0 14px}
article ul,article ol{margin:0 0 16px;padding-left:24px}
article li{margin:5px 0}
article img.zoom{width:100%;border:1px solid var(--border);border-radius:var(--radius);cursor:zoom-in;display:block;margin:18px 0;background:var(--panel)}
article img.zoom.open{max-width:min(1200px,96vw);cursor:zoom-out;border-color:rgba(247,165,0,.55)}
article strong{color:#fff}
article hr{border:0;border-top:1px dashed var(--border);margin:26px 0}

/* 表格 = 监狱台账：金橙像素表头 + 虚线段行距 */
.tbl-wrap{overflow-x:auto;margin:18px 0}
.tbl-wrap table{min-width:520px}
table{border-collapse:collapse;width:100%;font-size:14.5px;background:rgba(20,25,34,.72);border:1px solid var(--border)}
th{
  background:var(--gold-soft);color:var(--gold);
  font-family:var(--pixel);font-weight:400;font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;
  text-align:left;padding:10px 13px;border-bottom:1px solid rgba(247,165,0,.4);white-space:nowrap;
}
td{padding:10px 13px;border-bottom:1px dashed rgba(255,255,255,.09);vertical-align:top;line-height:1.55}
tr:last-child td{border-bottom:0}
table strong,table b{color:inherit}
table a{font-weight:600}

/* callout = FIELD NOTE（虚线冰蓝框 + 像素角标） */
.callout{
  position:relative;border:1px dashed rgba(196,209,220,.42);background:rgba(28,34,43,.62);
  border-radius:var(--radius);padding:14px 17px;margin:20px 0;font-size:14.5px;color:var(--ice);
}
.callout p:last-child{margin-bottom:0}
.callout.note::before{content:"FIELD NOTE";display:block;font-family:var(--pixel);font-size:9.5px;letter-spacing:1.3px;color:var(--gold);margin-bottom:7px}

/* 开发者原话引用 */
blockquote{
  position:relative;margin:20px 0;padding:4px 4px 4px 20px;border-left:3px solid var(--gold);
  color:#e9e4d8;font-style:italic;font-size:16.5px;line-height:1.62;
}
blockquote p{margin:0 0 8px}
blockquote p:last-child{margin-bottom:0}

code{background:var(--panel-2);padding:1px 6px;border-radius:4px;font-size:.92em;color:var(--ice)}

/* quick answer = 档案卡（金橙左条） */
.quick-answer{
  position:relative;background:linear-gradient(180deg,rgba(247,165,0,.10),rgba(247,165,0,.03));
  border:1px solid rgba(247,165,0,.38);border-left:4px solid var(--gold);
  border-radius:0 var(--radius) var(--radius) 0;padding:14px 17px;margin:18px 0;
}
.qa-stamp{display:inline-block;font-family:var(--pixel);font-size:9.5px;letter-spacing:1.3px;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.quick-answer p{margin:4px 0}
.quick-answer p:last-child{margin-bottom:0}

/* 右侧目录 */
.toc{position:sticky;top:84px;background:rgba(20,25,34,.72);border:1px solid var(--border);border-radius:var(--radius);padding:15px 16px}
.toc .overline{margin-bottom:10px}
.toc-list{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;background:none;border:0}
.toc-list a{font-size:13px;color:var(--ice);line-height:1.4}
.toc-list a:hover{color:var(--gold);text-decoration:underline}

/* all guides 区块 */
.all-guides{margin-top:38px;border-top:1px dashed var(--border);padding-top:6px}

/* ---------- 广告位（Adsterra Native：桌面指针门控；移动端不加载） ---------- */
@media (hover: hover) and (pointer: fine){
  .ad-slot{display:block}
}
@media not all and (hover: hover) and (pointer: fine){
  .ad-slot{display:none}
}
.ad-slot{margin:30px auto;max-width:var(--maxw)}
.ad-label{margin:0 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ad-inner{min-height:90px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--panel);overflow:hidden}

/* ---------- footer ---------- */
.foot{border-top:3px solid transparent;border-image:var(--dusk) 1;background:rgba(9,12,16,.96);padding:26px 0;margin-top:34px}
.foot .disclaimer{font-size:12.5px;color:var(--muted);max-width:840px;margin:0 0 12px}
.foot-links{margin:0 0 8px;font-size:13.5px}
.foot-links a{color:var(--ice)}
.foot-links a:hover{color:var(--gold)}
.foot .muted{color:var(--muted);font-size:12.5px;margin:0}

/* 首页正文里的道具贴纸行（md 内联 img 的居中版式由 .prop-row 段落包住使用） */
article p.prop-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:center;margin:22px 0}
article p.prop-row img{border:0;width:auto;max-height:96px;margin:0}

/* 图标/贴纸类图片的专属尺寸（md 无法带 class，按 src 属性选择） */
article img.zoom[src*="/decor/item-"]{width:auto;max-height:88px;display:inline-block;margin:4px 14px 4px 0;border:0;background:transparent;vertical-align:middle}
article img.zoom[src*="/official/platform-"]{width:auto;max-height:28px;display:inline-block;margin:8px 18px 8px 0;border:0;background:transparent}
article img.zoom[src*="/decor/crew"]{border:0;background:transparent}
article img.zoom[src*="/decor/guards"]{border:0;background:transparent}
article img.zoom[src*="/official/official-logo"]{border:0;background:transparent;max-width:460px;margin:8px auto 18px}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .article-grid{grid-template-columns:1fr}
  .toc{position:static;order:-1}
  .hero-in{padding:56px 18px 46px}
}
@media (max-width:820px){
  .bar{padding-top:8px;padding-bottom:8px}
  .nav{width:100%;overflow-x:auto;gap:10px}
  .nav ul{flex-wrap:nowrap;white-space:nowrap}
  .nav .kids{position:static;display:flex;flex-direction:row;gap:4px;border:0;padding:0;box-shadow:none;background:transparent;min-width:0}
  .nav .kids li a{padding:4px 6px;font-size:12px}
  .nav li.has-kids::after{display:none}
}
@media (max-width:640px){
  .facts{padding:10px 14px}
  .fact{flex:1 1 44%;padding:6px 12px}
  .fact:nth-child(2n+1){border-left:0}
  .hero-in{padding:46px 16px 40px}
  .brand span{font-size:11.5px}
  .btn{width:100%;text-align:center}
  .btn.ghost{width:auto}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .card,.btn{transition:none}
}
