/* ============================================================
 * 《密封线》 SEALING LINE — global.css
 * 全局组件库：布局系统 / 排版 / 表单 / 表格 / 卡片 / 按钮 / 关键词 / 动效
 * 阶段配色由 surface.css / inner.css / ending.css 通过 CSS 变量覆盖。
 * 所有样式以组件类落地，页面 HTML 必须使用这些类。
 * ============================================================ */

/* ---------- 设计 Token（默认 = surface 表面阶段） ---------- */
:root{
  --bg:#F5F2EC; --bg-soft:#FBFAF6; --ink:#1E2430; --ink-soft:#4A5260;
  --accent:#1F4E79; --accent-soft:rgba(31,78,121,.10);
  --seal:#A82828; --seal-soft:rgba(168,40,40,.08);
  --line:#D8D2C4; --line-strong:#B9B1A0;
  --kw-color:#1F4E79;
  --radius:6px; --radius-lg:10px;
  --shadow:0 2px 14px rgba(30,36,48,.06);
  --font-body:"Songti SC","Noto Serif SC",Georgia,"Microsoft YaHei",serif;
  --font-mono:"Consolas","Liberation Mono","Courier New",monospace;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px;
}

/* ---------- 基础 ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);font-size:16px;line-height:1.85;color:var(--ink);
  background:var(--bg);min-height:100vh;transition:background .5s,color .5s;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration:none;transition:color .2s,opacity .2s}
a:hover{opacity:.8;text-decoration:underline}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--accent-soft)}

.container{max-width:960px;margin:0 auto;padding:0 var(--space-4)}
.mono{font-family:var(--font-mono)}
.ta-c{text-align:center}
.ta-r{text-align:right}
.dim{opacity:.6}
.faint{opacity:.3}
.small{font-size:.85em}
.mt1{margin-top:var(--space-2)} .mt2{margin-top:var(--space-4)} .mt3{margin-top:var(--space-6)}
.mb1{margin-bottom:var(--space-2)} .mb2{margin-bottom:var(--space-4)} .mb3{margin-bottom:var(--space-6)}

/* ---------- 关键词（用户需求：加粗+变色+标记，直观可见可点击） ---------- */
.kw{
  font-weight:700;color:var(--kw-color);cursor:pointer;border-radius:3px;
  padding:0 3px;position:relative;text-decoration:underline;
  text-decoration-style:wavy;text-underline-offset:4px;text-decoration-thickness:1.5px;
  transition:background .2s,opacity .2s;
}
.kw:hover{background:var(--accent-soft);opacity:1}
.kw:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.kw::after{content:" ◈";font-size:.55em;vertical-align:super;opacity:.45;margin-right:2px}
/* 深层/彩蛋页关键词增强态 */
.kw-glow{animation:kwGlow 2.4s ease-in-out infinite}
@keyframes kwGlow{0%,100%{text-shadow:0 0 3px currentColor}50%{text-shadow:0 0 16px currentColor,0 0 30px currentColor}}
.kw-bleed{animation:kwBleed 3.4s linear infinite}
@keyframes kwBleed{0%{text-shadow:0 0 2px currentColor}30%{text-shadow:3px 0 0 rgba(255,0,0,.5),-3px 0 0 rgba(0,0,255,.4)}60%{text-shadow:-3px 0 0 rgba(255,0,0,.4),3px 0 0 rgba(0,0,255,.3)}100%{text-shadow:0 0 2px currentColor}}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-block;padding:12px 36px;border:1px solid var(--accent);color:var(--accent);
  font-family:var(--font-mono);font-size:13px;letter-spacing:4px;cursor:pointer;
  background:transparent;border-radius:var(--radius);transition:all .25s ease;text-align:center;
}
.btn:hover{background:var(--accent);color:#fff;text-decoration:none;opacity:1}
.btn:active{transform:scale(.96)}
.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.btn-lg{padding:15px 48px;font-size:15px;letter-spacing:6px}
.btn-danger{border-color:var(--seal);color:var(--seal)}
.btn-danger:hover{background:var(--seal);color:#fff}
.btn-ghost{border-color:var(--line-strong);color:var(--ink-soft)}
.btn-ghost:hover{background:var(--bg-soft);color:var(--ink)}

/* ---------- 卡片 / 面板 ---------- */
.panel{
  border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-soft);
  padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow);
}
.panel-flat{box-shadow:none;background:transparent}
.panel-title{font-size:15px;font-weight:700;letter-spacing:2px;margin-bottom:var(--space-3);padding-bottom:8px;border-bottom:1px solid var(--line)}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-4);transition:border-color .2s,background .2s}
.card:hover{border-color:var(--accent);background:var(--accent-soft)}

/* ---------- 页头（主站风格） ---------- */
.site-head{border-bottom:1px solid var(--line);background:var(--bg-soft);padding:16px 0;position:sticky;top:0;z-index:50}
.site-head .inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.site-logo{font:700 21px var(--font-body);letter-spacing:6px;color:var(--accent)}
.site-logo small{display:block;font:9px var(--font-mono);letter-spacing:3px;color:var(--ink-soft);opacity:.7;margin-top:2px}
.site-nav{display:flex;gap:var(--space-4);flex-wrap:wrap}
.site-nav a{font-size:13px;letter-spacing:2px;color:var(--ink-soft)}
.site-nav a:hover{color:var(--accent)}
.page-head{padding:var(--space-7) 0 var(--space-5)}
.page-title{font-size:26px;letter-spacing:4px;font-weight:700;margin-bottom:6px}
.page-sub{font-size:13px;color:var(--ink-soft);letter-spacing:2px}
.breadcrumb{font:11px var(--font-mono);color:var(--ink-soft);letter-spacing:1px;margin-bottom:var(--space-4)}
.breadcrumb a{color:var(--accent)}

/* ---------- 正文排版 ---------- */
.article p{margin-bottom:var(--space-4)}
.article h2{font-size:19px;letter-spacing:2px;margin:var(--space-6) 0 var(--space-3)}
.article h3{font-size:16px;letter-spacing:1px;margin:var(--space-5) 0 var(--space-2)}
.article ul,.article ol{padding-left:22px;margin-bottom:var(--space-4)}
.article li{margin-bottom:6px}
.article hr{border:none;border-top:1px solid var(--line);margin:var(--space-6) 0}
.text-crimson{color:var(--seal);font-weight:700}
.text-accent{color:var(--accent);font-weight:700}
.strike{text-decoration:line-through;color:var(--ink-soft)}

/* ---------- 表格 ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:14px;margin:var(--space-4) 0}
.tbl th,.tbl td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.tbl th{background:var(--accent-soft);font-family:var(--font-mono);font-size:12px;letter-spacing:2px;color:var(--accent)}
.tbl tr:nth-child(even) td{background:rgba(0,0,0,.015)}

/* ---------- 表单 ---------- */
.form{max-width:520px}
.form-row{margin-bottom:var(--space-4)}
.form-row label{display:block;font-size:13px;letter-spacing:2px;margin-bottom:6px;color:var(--ink-soft)}
.form-row input,.form-row select,.form-row textarea{
  width:100%;padding:11px 14px;font:14px var(--font-mono);color:var(--ink);
  border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-soft);
  transition:border-color .2s,box-shadow .2s;
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.form-hint{font-size:12px;color:var(--ink-soft);margin-top:6px}
.form-error{font-size:13px;color:var(--seal);margin-top:6px;min-height:1.2em}

/* ---------- 折叠问答（FAQ） ---------- */
details.acc{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:var(--bg-soft)}
details.acc summary{padding:14px 18px;cursor:pointer;font-size:15px;list-style:none;position:relative;padding-right:34px}
details.acc summary::after{content:'+';position:absolute;right:16px;top:50%;transform:translateY(-50%);font:16px var(--font-mono);color:var(--accent)}
details.acc[open] summary::after{content:'–'}
details.acc .acc-body{padding:0 18px 16px;font-size:14px;color:var(--ink-soft);border-top:1px dashed var(--line);margin:8px 18px 0;padding-top:12px}

/* ---------- 公告列表 ---------- */
.notice-list{list-style:none}
.notice-item{
  border-left:3px solid var(--accent);background:var(--bg-soft);border-radius:0 var(--radius) var(--radius) 0;
  padding:12px 18px;margin-bottom:10px;font-size:14.5px;transition:background .2s;
}
.notice-item:hover{background:var(--accent-soft)}
.notice-item a{color:var(--ink);text-decoration:none}
.notice-item a:hover{color:var(--accent);text-decoration:underline}
.notice-item .date{display:block;font:11px var(--font-mono);color:var(--ink-soft);letter-spacing:1px;margin-top:3px}
.notice-item.gray{border-left-color:var(--line-strong);opacity:.55;cursor:not-allowed}

/* ---------- 印章 ---------- */
.seal{
  display:inline-block;color:var(--seal);border:2.5px solid var(--seal);border-radius:50%;
  width:92px;height:92px;line-height:92px;text-align:center;font:700 12px var(--font-mono);
  transform:rotate(-14deg);letter-spacing:2px;opacity:.82;user-select:none;
}
.seal-box{border:2px solid var(--seal);color:var(--seal);display:inline-block;padding:6px 18px;font:12px var(--font-mono);letter-spacing:4px;transform:rotate(-6deg);border-radius:4px;opacity:.8}

/* ---------- 残页（二周目浮现物） ---------- */
[data-residue]{display:none}
.residue-revealed{
  display:block;animation:residueIn 1.6s ease-out;margin-top:var(--space-4);
  border:1px dashed var(--line-strong);border-radius:var(--radius);padding:12px 16px;
  font-size:13px;color:var(--ink-soft);letter-spacing:1px;
}
@keyframes residueIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- 氛围层 ---------- */
.scanlines{position:fixed;inset:0;pointer-events:none;z-index:999990;opacity:0;
  background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.05) 2px 4px)}
.vignette{position:fixed;inset:0;pointer-events:none;z-index:999989;opacity:0;
  background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(0,0,0,.45) 100%)}

/* ---------- 面包屑（导航组件） ---------- */
.breadcrumb{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  font:12px var(--font-mono);color:var(--ink-soft);letter-spacing:1px;
  margin-top:var(--space-5);margin-bottom:var(--space-5);padding:10px 16px;
  background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.breadcrumb a{color:var(--accent);font-weight:600;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb .sep{opacity:.45}
.breadcrumb .cur{color:var(--ink);font-weight:700}

/* ---------- 检索/设置悬浮按钮（core.js 注入 · sl-fab） ---------- */
.sl-fab{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 15px;cursor:pointer;border-radius:999px;
  border:1px solid var(--accent);background:#fff;
  color:var(--accent);box-shadow:0 1px 8px rgba(0,0,0,.1);
  font:12px/1 var(--font-mono);letter-spacing:2px;
  transition:all .2s ease;
}
/* 内联模式：嵌入新媒体导航条（mainbar），不遮挡页面 */
.sl-fab-inline{position:static;box-shadow:none;}
/* 内联按钮组：设置与检索紧邻 */
.sl-fab-group{display:flex;align-items:center;gap:6px;margin-left:14px;}
.sl-fab-group .sl-fab-inline{margin-left:0;}
.sl-fab-inline:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
/* 浮动模式：老页面 / inner / ending（fixed 悬浮） */
.sl-fab-float{position:fixed;top:16px;z-index:999998;}
.sl-fab-float.sl-search-fab{right:16px}
.sl-fab-float.sl-settings-fab{right:104px}
.sl-fab .sl-fab-ico{font-size:15px;line-height:1;transform:rotate(-20deg)}
.sl-fab:hover{background:var(--accent);color:#fff;box-shadow:0 4px 20px rgba(0,0,0,.2)}
.sl-fab-press{transform:scale(.94)}
html[data-phase="inner"] .sl-fab{background:rgba(5,11,5,.92);border-color:rgba(0,230,118,.55);color:#00E676}
html[data-phase="inner"] .sl-fab:hover{background:rgba(0,230,118,.15);color:#00E676}
html[data-phase="ending"] .sl-fab{background:var(--bg-soft);border-color:var(--accent);color:var(--accent)}
html[data-phase="ending"] .sl-fab:hover{background:var(--accent);color:#fff}

/* ---------- 搜索面板（core.js 注入） ---------- */
.sl-search-panel{
  position:fixed;top:64px;right:16px;z-index:999999;width:min(360px,88vw);
  background:var(--bg-soft);border:1px solid var(--line-strong);border-radius:var(--radius-lg);
  padding:18px;box-shadow:0 18px 60px rgba(0,0,0,.35);
  font:13px/1.8 var(--font-mono);
}
.sl-search-head{font-size:10px;letter-spacing:5px;color:var(--ink-soft);margin-bottom:10px}
.sl-search-row{display:flex;gap:8px;}
.sl-search-input{
  flex:1;min-width:0;padding:11px 14px;font:14px var(--font-mono);
  background:var(--bg);color:var(--ink);border:1px solid var(--line-strong);
  border-radius:var(--radius);outline:none;transition:border-color .2s,box-shadow .2s;
}
.sl-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.sl-search-btn{
  flex-shrink:0;padding:11px 18px;cursor:pointer;border:1px solid var(--accent);border-radius:var(--radius);
  background:transparent;color:var(--accent);font:12px var(--font-mono);letter-spacing:2px;
  transition:all .2s ease;
}
.sl-search-btn:hover{background:var(--accent);color:#fff}
.sl-search-hint{margin-top:9px;font-size:11px;color:var(--ink-soft);line-height:1.8}
/* 已收录关键词（检索弹窗下方 · 点击即搜） */
.sl-search-keys-wrap{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);}
.sl-search-keys-label{font-size:10px;letter-spacing:3px;color:var(--ink-soft);margin-bottom:8px;}
.sl-search-keys{display:flex;flex-wrap:wrap;gap:6px;max-height:96px;overflow-y:auto;}
.sl-key-chip{
  padding:5px 12px;cursor:pointer;border:1px solid var(--line-strong);border-radius:999px;
  background:var(--bg);color:var(--accent);font:12px var(--font-mono);letter-spacing:1px;
  transition:all .2s ease;
}
.sl-key-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
/* 门控/导航词 chip：弱化显示（指向的页面可通过链接到达） */
.sl-key-chip-plain{color:var(--ink-soft);opacity:.55;border-style:dashed;}
.sl-key-chip-plain:hover{background:var(--line);color:var(--ink);border-color:var(--line-strong)}
.sl-search-keys-empty{font-size:11px;color:var(--ink-soft);opacity:.7;line-height:1.8;}
html[data-phase="inner"] .sl-key-chip{background:#050b05;color:var(--accent);border-color:var(--line-strong)}
html[data-phase="inner"] .sl-key-chip:hover{background:var(--accent);color:#050b05}
html[data-phase="inner"] .sl-search-panel{background:rgba(8,14,8,.98);border-color:var(--line-strong)}
html[data-phase="inner"] .sl-search-input{background:#050b05;color:var(--ink);border-color:var(--line-strong)}
html[data-phase="inner"] .sl-search-head{color:#5faf7f}

/* ---------- 设置面板（core.js 注入 · 全局设置/重置游戏） ---------- */
.sl-settings-panel{
  position:fixed;top:64px;right:16px;z-index:999999;width:min(380px,90vw);
  background:var(--bg-soft);border:1px solid var(--line-strong);border-radius:var(--radius-lg);
  padding:20px;box-shadow:0 18px 60px rgba(0,0,0,.35);
  font:13px/1.9 var(--font-mono);
}
.sl-settings-head{font-size:11px;letter-spacing:5px;color:var(--ink-soft);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.sl-settings-body p{color:var(--ink-soft);font-size:12px;letter-spacing:1px;margin-bottom:6px}
.sl-settings-stats{list-style:none;padding:8px 0 4px;}
.sl-settings-stats li{padding:4px 0;color:var(--ink);font-size:13px;}
.sl-settings-stats li span{color:var(--accent);font-weight:700}
.sl-settings-warn{
  margin-top:10px;padding:10px 12px;border:1px dashed var(--seal);border-radius:var(--radius);
  color:var(--seal);font-size:12px;line-height:1.7;
}
.sl-settings-actions{margin-top:14px;}
.sl-reset-btn{
  width:100%;padding:13px 16px;cursor:pointer;border:1px solid var(--seal);border-radius:var(--radius);
  background:var(--seal-soft);color:var(--seal);font:12px var(--font-mono);letter-spacing:2px;
  transition:all .25s ease;
}
.sl-reset-btn:hover{background:var(--seal);color:#fff}
.sl-reset-armed{background:var(--seal)!important;color:#fff!important;animation:resetPulse 1s ease-in-out infinite}
@keyframes resetPulse{0%,100%{opacity:1}50%{opacity:.55}}
.sl-settings-feedback{margin-top:10px;font-size:12px;color:var(--accent);min-height:1.2em}
html[data-phase="inner"] .sl-settings-panel{background:rgba(8,14,8,.98);border-color:var(--line-strong)}
html[data-phase="inner"] .sl-settings-head{color:#5faf7f}
html[data-phase="inner"] .sl-settings-stats li{color:var(--ink)}

/* ---------- 右下角角标（core.js 注入 · sl-page-label） ---------- */
/* 角标随页面阶段主题渲染：统一使用 CSS 变量，三阶段自动适配 */
.sl-page-label{
  position:fixed;bottom:12px;right:14px;z-index:999997;pointer-events:none;
  font:bold 11px/1 var(--font-mono);letter-spacing:2px;padding:6px 13px;border-radius:3px;
  box-shadow:0 1px 6px rgba(0,0,0,.18);
  color:var(--accent);background:var(--bg-soft);border:1px solid var(--line-strong);
}
/* 分组色调：story 用主题强调色；extra/egg/web 用去饱和色调，但底色/边框随阶段 */
.sl-label-story{color:var(--accent);background:var(--bg-soft);border-color:var(--accent)}
.sl-label-extra{color:var(--ink-soft);background:var(--bg-soft);border-color:var(--line-strong);opacity:.85}
.sl-label-egg{color:var(--seal);background:var(--bg-soft);border-color:var(--seal);opacity:.85}
.sl-label-web{color:var(--ink-soft);background:var(--bg-soft);border-color:var(--line);opacity:.7}
/* 里面阶段：黑底荧光绿 + 等宽终端感 */
html[data-phase="inner"] .sl-page-label{
  color:var(--accent);background:rgba(5,11,5,.88);border-color:rgba(0,230,118,.45);
  font-family:var(--font-mono);
}
html[data-phase="inner"] .sl-label-extra{color:#5f8f6f;border-color:rgba(95,143,111,.4)}
html[data-phase="inner"] .sl-label-egg{color:var(--seal);border-color:rgba(255,82,82,.45)}
html[data-phase="inner"] .sl-label-web{color:#4f6d5a;border-color:rgba(79,109,90,.35)}
/* 结局阶段：灰白撕裂纸面 + 血红 */
html[data-phase="ending"] .sl-page-label{
  color:var(--accent);background:var(--bg-soft);border-color:var(--accent);
  font-family:var(--font-mono);
}
html[data-phase="ending"] .sl-label-extra{color:var(--ink-soft);border-color:var(--line-strong)}
html[data-phase="ending"] .sl-label-egg{color:var(--accent);border-color:var(--accent)}
html[data-phase="ending"] .sl-label-web{color:var(--ink-soft);border-color:var(--line)}

/* ---------- 页脚（core.js 注入） ---------- */
.sl-footer{
  text-align:center;padding:28px 16px 46px;font-size:10px;letter-spacing:1px;line-height:2;
  color:var(--ink-soft);border-top:1px solid var(--line);margin-top:64px;
}
.sl-footer-inner{letter-spacing:4px}
html[data-phase="inner"] .sl-footer{color:#4f7f5f;border-top-color:rgba(30,72,48,.6)}
html[data-phase="ending"] .sl-footer{color:#8a6a6a}

/* ---------- 轻提示 toast ---------- */
.sl-toast{
  position:fixed;left:50%;bottom:64px;transform:translateX(-50%) translateY(8px);
  z-index:999998;background:rgba(10,12,10,.92);color:#e6ffe6;
  border:1px solid #2a5c38;padding:11px 20px;border-radius:6px;
  font:12px/1.6 var(--font-mono);max-width:82%;text-align:center;
  opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none;
}
.sl-toast-show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- 权限覆盖层（sl-deny · 精美卡片） ---------- */
.sl-deny{
  position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;
  background:var(--bg);color:var(--ink);padding:20px;
}
.sl-deny-card{
  width:min(480px,92vw);text-align:center;padding:40px 36px 32px;
  background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow),0 20px 60px rgba(0,0,0,.12);
  font:14px/1.9 var(--font-mono);animation:denyIn .4s ease-out;
}
@keyframes denyIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.sl-deny-lock{
  width:64px;height:64px;margin:0 auto 18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:26px;color:var(--seal);border:2px solid var(--seal);
  animation:lockPulse 2.6s ease-in-out infinite;
}
@keyframes lockPulse{0%,100%{box-shadow:0 0 0 0 var(--seal-soft)}50%{box-shadow:0 0 0 14px transparent}}
.sl-deny-title{font-size:22px;letter-spacing:10px;font-weight:700;color:var(--seal);margin-bottom:14px;}
.sl-deny-body{color:var(--ink-soft);font-size:13px;line-height:2;margin-bottom:18px;}
.sl-deny-progress{
  text-align:left;border:1px dashed var(--line-strong);border-radius:var(--radius);
  padding:14px 16px;margin-bottom:16px;font-size:12px;
}
.sl-deny-row{display:flex;justify-content:space-between;color:var(--ink-soft);padding:3px 0;}
.sl-deny-row span:last-child{color:var(--accent);font-weight:700;}
.sl-deny-bar{height:5px;background:var(--line);border-radius:3px;overflow:hidden;margin:4px 0 10px;}
.sl-deny-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--seal));border-radius:3px;transition:width .6s ease;}
.sl-deny-tip{font-size:11px;color:var(--ink-soft);opacity:.75;margin-bottom:20px;line-height:1.8;}
.sl-deny-back a{
  display:inline-block;padding:11px 34px;border:1px solid var(--accent);border-radius:var(--radius);
  color:var(--accent);font-size:12px;letter-spacing:4px;text-decoration:none;transition:all .2s;
}
.sl-deny-back a:hover{background:var(--accent);color:#fff;}
html[data-phase="inner"] .sl-deny{background:var(--bg);}
html[data-phase="inner"] .sl-deny-card{background:rgba(13,21,13,.96);border-color:var(--line-strong);}
html[data-phase="inner"] .sl-deny-lock{color:var(--seal);border-color:var(--seal);}
html[data-phase="inner"] .sl-deny-body{color:var(--ink-soft);}
html[data-phase="ending"] .sl-deny-card{background:var(--bg-soft);border-color:var(--accent);}

/* ---------- 监视彩蛋（D7） ---------- */
.sl-watch{
  position:fixed;bottom:52px;right:16px;z-index:999995;pointer-events:none;
  font:11px/1.6 var(--font-mono);letter-spacing:1px;color:rgba(140,140,140,.55);
  opacity:0;transition:opacity 1.6s ease;max-width:60vw;text-align:right;
}
.sl-watch-show{opacity:1}

/* ============================================================
 * 真实网页布局系统（v2 — 参照现实网站排版）
 * 桌面：顶部导航条 + 主内容区（主栏/侧栏）+ 多列页脚
 * 移动：汉堡菜单 + 单栏堆叠 + 触控优化
 * ============================================================ */

/* ---------- 真实页头（导航条 + 工具条） ---------- */
.site-head{position:sticky;top:0;z-index:100;}
.site-head .topbar{
  background:#fff;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-soft);
}
.site-head .topbar .inner{display:flex;justify-content:space-between;align-items:center;padding:6px 0;max-width:1080px;margin:0 auto;padding:6px 16px;}
.site-head .topbar .top-links{display:flex;gap:18px;}
.site-head .topbar .top-links a{color:var(--ink-soft);font-size:12px;}
.site-head .mainbar{background:#fff;border-bottom:1px solid var(--line);}
.site-head .mainbar .inner{display:flex;align-items:center;justify-content:space-between;max-width:1080px;margin:0 auto;padding:14px 16px;gap:20px;}
/* 桌面导航 */
.site-nav-desktop{display:flex;gap:26px;flex-wrap:wrap;}
.site-nav-desktop a{font-size:14px;color:var(--ink);letter-spacing:.5px;padding:6px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s;}
.site-nav-desktop a:hover{color:var(--accent);border-bottom-color:var(--accent);text-decoration:none;opacity:1;}
.site-nav-desktop a.active{color:var(--accent);border-bottom-color:var(--accent);}
/* 汉堡按钮（移动端） */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;font-size:22px;color:var(--ink);}
/* 移动导航抽屉 */
.mobile-nav{display:none;position:fixed;top:0;right:-280px;width:280px;height:100vh;background:#fff;z-index:99995;
  box-shadow:-8px 0 30px rgba(0,0,0,.15);transition:right .3s ease;padding:60px 24px;overflow-y:auto;}
.mobile-nav.open{right:0;}
.mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink);}
.mobile-nav .close-nav{position:absolute;top:14px;right:16px;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink-soft);}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:99990;}

/* ---------- 真实主内容区（主栏 + 侧栏） ---------- */
.layout{max-width:1080px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start;}
.layout-main{min-width:0;}
.layout-side{position:sticky;top:120px;}
/* 侧栏组件 */
.side-box{border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:18px;overflow:hidden;}
.side-box h3{font-size:13px;color:var(--ink-soft);padding:12px 16px;border-bottom:1px solid var(--line);letter-spacing:1px;background:var(--bg-soft);}
.side-box ul{list-style:none;padding:8px 0;}
.side-box li a{display:block;padding:9px 16px;font-size:13.5px;color:var(--ink);}
.side-box li a:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none;}
.side-box li+li{border-top:1px solid rgba(0,0,0,.04);}

/* ---------- 真实页脚（多列） ---------- */
.site-footer{background:#fff;border-top:1px solid var(--line);margin-top:56px;}
.site-footer .foot-grid{max-width:1080px;margin:0 auto;padding:36px 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.site-footer h4{font-size:13px;color:var(--ink);margin-bottom:10px;letter-spacing:1px;}
.site-footer ul{list-style:none;}
.site-footer li a{font-size:13px;color:var(--ink-soft);line-height:2;}
.site-footer li a:hover{color:var(--accent);}
.site-footer .foot-bottom{border-top:1px solid var(--line);padding:14px 16px;text-align:center;font-size:12px;color:var(--ink-soft);}

/* ---------- 文章/正文真实排版（左对齐，非居中） ---------- */
.article{text-align:left;}
.article h2{font-size:20px;border-left:4px solid var(--accent);padding-left:10px;margin:32px 0 14px;}
.article h3{font-size:16px;margin:24px 0 10px;}
.article p{margin-bottom:14px;text-align:left;}
.article ul,.article ol{padding-left:24px;margin-bottom:14px;}
.meta-line{font-size:12px;color:var(--ink-soft);display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:12px;border-bottom:1px dashed var(--line);}
.meta-line span::before{content:"·";margin-right:6px;opacity:.5;}

/* ---------- 移动端（480 / 768 / 1024 断点体系） ---------- */
@media (max-width:1024px){
  .layout{grid-template-columns:1fr 260px;gap:20px;}
  .site-footer .foot-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
  body{font-size:15px}
  .container{padding:0 14px}
  .site-nav-desktop{display:none;}
  .nav-toggle{display:inline-block;}
  /* 单栏堆叠 */
  .layout{grid-template-columns:1fr;padding:0 14px;}
  .layout-side{position:static;order:3;margin-top:8px;}
  .site-footer .foot-grid{grid-template-columns:1fr;padding:24px 16px;gap:18px;}
  .page-title{font-size:20px;letter-spacing:2px;}
  .btn{width:100%;padding:13px 20px;}
  .tbl{font-size:12.5px;}
  /* 移动端表格横向滚动（防溢出） */
  .tbl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .tbl th,.tbl td{white-space:nowrap;}
  .tbl th,.tbl td{padding:8px 8px;}
  .sl-fab{padding:8px 12px;top:12px}
  .sl-fab-float.sl-search-fab{right:12px}
  .sl-fab-float.sl-settings-fab{right:96px}
  .sl-fab .sl-fab-txt{display:none}
  .sl-fab .sl-fab-ico{font-size:17px}
  /* 内联按钮在移动端隐藏文字 */
  .sl-fab-inline .sl-fab-txt{display:none}
  .sl-fab-inline{padding:8px 11px;}
  .sl-fab-group{gap:4px;margin-left:8px;}
  .sl-search-panel{top:56px;right:12px;width:calc(100vw - 24px)}
  .sl-settings-panel{top:56px;right:12px;width:calc(100vw - 24px)}
  /* 移动端触控优化 */
  .kw{padding:4px 6px;}
  details.acc summary{padding:16px 40px 16px 16px;font-size:15.5px;}
}
@media (max-width:480px){
  body{font-size:14.5px}
  .site-head .topbar .top-links .hide-sm{display:none;}
  .site-logo{font-size:17px;letter-spacing:3px;}
  .meta-line{font-size:11px;gap:8px;}
  .side-box h3{font-size:12px;padding:10px 14px;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}