* { margin:0; padding:0; box-sizing:border-box; }
html,body { height:100%; }
body {
  background: radial-gradient(120% 90% at 50% 0%, #0b1420 0%, #05080f 60%, #02040a 100%);
  color:#f5e9d0; font-family:"Microsoft YaHei","SimHei",sans-serif;
  display:flex; flex-direction:column; align-items:center; overflow:hidden;
}
.backbtn {
  position:fixed; top:18px; right:22px; z-index:50;
  background:rgba(20,24,32,.6); color:#d9c9a6; border:1px solid rgba(232,199,124,.45);
  padding:7px 18px; border-radius:999px; cursor:pointer; font-size:14px;
  letter-spacing:.08em; transition:all .2s ease;
}
.backbtn:hover { border-color:#e8c77c; color:#fff3da; box-shadow:0 0 12px rgba(232,199,124,.3); }
.topline { text-align:center; letter-spacing:2px; line-height:1.3; }
.topline .tit { font-size:24px; color:#fff3da; text-shadow:0 2px 14px rgba(0,0,0,.6); }
.stage { flex:1; width:100%; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:clamp(8px,2vw,34px); padding:0 clamp(6px,2vw,26px); }
.midcolwrap { display:flex; align-items:center; gap:8px; position:relative; z-index:2; grid-column:2; }
.midcol { display:flex; flex-direction:column; align-items:center; gap:14px; perspective:1500px; perspective-origin:50% 50%; }
.portrait {
  position:absolute; left:-189px; top:0; height:100%; width:auto; max-width:none; z-index:0; pointer-events:none;
  transform-origin:0% 50%;
  opacity:.15; filter:saturate(.9) brightness(1.06);
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 62%, rgba(0,0,0,.75) 70%, rgba(0,0,0,.3) 79%, transparent 88%);
  mask-image: linear-gradient(to right, #000 0%, #000 62%, rgba(0,0,0,.75) 70%, rgba(0,0,0,.3) 79%, transparent 88%);
}
.sidel.right { position:relative; z-index:1; grid-column:3; justify-self:center; }
.guide {
  position:absolute; top:0; z-index:1; max-height:88vh; overflow-y:auto; scrollbar-width:none;
  background:linear-gradient(168deg, rgba(10,14,22,.26) 0%, rgba(8,10,16,.52) 100%);
  border:1px solid rgba(214,180,120,.16); border-radius:16px;
  box-shadow:0 18px 46px rgba(0,0,0,.32); backdrop-filter:blur(7px);
  padding:18px 20px;
}
.guide::-webkit-scrollbar { display:none; }
.g-head { display:flex; }
.g-pos { display:flex; flex-wrap:wrap; gap:7px; }
.gtag { font-size:12px; color:#d9b978; border:1px solid rgba(232,199,124,.35); border-radius:999px; padding:3px 11px; letter-spacing:.08em; }
.gtabs { display:flex; flex-wrap:wrap; gap:2px; border-bottom:1px solid rgba(232,199,124,.16); margin:12px 0 16px; padding-bottom:8px; }
.gtab { background:none; border:none; color:#8f7c55; font-size:16px; letter-spacing:.04em; padding:5px 12px; cursor:pointer; border-bottom:2px solid transparent; transition:.2s; font-family:inherit; }
.gtab:hover { color:#d9c9a6; }
.gtab.on { color:#f0e6cd; border-bottom-color:#e8c77c; }
.gline { font-size:15px; color:#d6cbb0; line-height:1.85; letter-spacing:.02em; white-space:pre-wrap; text-align:justify; }
.gline b, .gh2 b, .prio b { color:#f3e7c8; font-weight:600; }
/* 属性徽标（卡片正文里的 [[光]] 标记）：小图标 + 属性主题色 */
.gline .at, .gh2 .at, .prio .at { display:inline-flex; align-items:center; gap:2px; color:var(--c); }
.gline .at img, .gh2 .at img, .prio .at img { width:15px; height:15px; display:inline-block; vertical-align:-2px; }
.gline .at b, .gh2 .at b, .prio .at b { color:var(--c); font-weight:500; }
/* 角色互链（[[角色/安魂曲]]）：金色虚线下划线，点进对方的卡片 */
.clink { color:#e8c77c; text-decoration:none; border-bottom:1px dashed rgba(232,199,124,.5); transition:color .15s, border-color .15s; }
.clink:hover { color:#fff3da; border-bottom-color:#e8c77c; }
.g-body { min-height:110px; }
.g-foot { margin-top:12px; font-size:11.5px; color:#6f6245; letter-spacing:.1em; }
.gh2 { font-size:15px; color:#e8c77c; letter-spacing:.08em; margin:26px 0 12px; padding-bottom:6px; border-bottom:1px solid rgba(232,199,124,.12); }
.gh2:first-child { margin-top:0; }
.gh2.top { border-bottom:none; border-top:1px solid rgba(232,199,124,.12); padding-top:12px; }
.arcs { display:flex; flex-wrap:wrap; align-items:flex-start; gap:10px; }
.arc { width:92px; text-align:center; }
.arc img { width:72px; height:72px; object-fit:contain; display:block; margin:0 auto; }
.arc .nm { font-size:13px; color:#e6d9ba; line-height:1.35; margin-top:2px; }
.arcs .sep { align-self:center; color:#8f7c55; font-size:17px; padding:0 1px; }
.awlist { display:flex; flex-direction:column; gap:13px; }
.awitem, .ritem { display:flex; gap:12px; align-items:flex-start; }
.awitem img, .ritem img { width:56px; height:56px; object-fit:contain; flex:none; }
.awtxt, .rtxt { min-width:0; }
.awt { font-size:15px; color:#f0e6cd; margin-bottom:3px; letter-spacing:.04em; }
.awd, .rd { font-size:13px; color:#b7ab8c; line-height:1.75; text-align:justify; }
.rlist { display:flex; flex-direction:column; gap:13px; }
.rlv { font-size:14px; color:#e8c77c; margin-bottom:3px; letter-spacing:.06em; }
.prio { margin-top:16px; font-size:15px; color:#f0e6cd; letter-spacing:.04em; padding-top:12px; border-top:1px solid rgba(232,199,124,.12); }
.tapelist { display:flex; flex-direction:column; gap:14px; }
.tape { display:flex; gap:14px; align-items:flex-start; padding:12px 14px; border:1px solid rgba(214,180,120,.14); border-radius:12px; background:rgba(8,10,16,.35); }
.tape img { width:76px; height:76px; object-fit:contain; flex:none; }
.tape-txt { min-width:0; }
.tname { font-size:16px; color:#f0e6cd; letter-spacing:.05em; margin-bottom:7px; }
.trow { display:flex; gap:9px; font-size:13px; line-height:1.7; margin-bottom:4px; }
.tlab { flex:none; color:#d9b978; border:1px solid rgba(232,199,124,.3); border-radius:4px; padding:0 6px; font-size:11px; letter-spacing:.06em; height:19px; line-height:19px; margin-top:3px; }
.tval { color:#b7ab8c; text-align:justify; }
.drives { display:flex; flex-wrap:wrap; gap:10px; }
.drv { width:104px; text-align:center; }
.drv img { width:64px; height:64px; object-fit:contain; display:block; margin:0 auto; }
.dn { font-size:11px; color:#9a8a63; line-height:1.35; margin-top:5px; }
/* 成型阵容：角色小图 + 名字（配队思路用）。用 4 列网格 → 无论右侧栏多窄都能一行放 4 个 */
.lineup { margin:14px 0 6px; }
.lu-cap { font-size:11.5px; color:#9a8a63; letter-spacing:.14em; margin-bottom:6px; }
.lu-row { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:9px; }
.lu-i { display:block; width:auto; text-align:center; text-decoration:none; border-bottom:none;
  transition:transform .16s ease; }
.lu-i:hover { transform:translateY(-3px); border-bottom:none; }
.lu-i img.lu-p { width:100%; aspect-ratio:41 / 50; height:auto; object-fit:contain; display:block;
  background:linear-gradient(180deg, rgba(232,199,124,.07), rgba(232,199,124,.015));
  border:1px solid rgba(232,199,124,.18); border-radius:8px; padding:2px; }
.lu-i span.lu-n { display:flex; align-items:center; justify-content:center; gap:3px;
  font-size:11.5px; color:#cbbf9d; line-height:1.5; margin-top:4px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lu-i img.lu-a { width:12px; height:12px; flex:none; display:block; opacity:.9; }
.lu-i.no-link span.lu-n { color:#9a8a63; }
.lu-note { margin-top:10px; font-size:13px; color:#a99e86; line-height:1.7; }
.lu-note b { color:#f3e7c8; font-weight:600; }
/* 阵容条下方的替换说明里也会写 [[灵]] 这类元素标 → 沿用 15px 小图标，别用默认大小 */
.lu-note .at { display:inline-flex; align-items:center; gap:2px; color:var(--c); }
.lu-note .at img { width:15px; height:15px; display:inline-block; vertical-align:-2px; }
.lu-note .at b { color:var(--c); font-weight:500; }
.brd { position:relative; display:grid; grid-template-columns:repeat(var(--n), var(--cell)); background:#0a0d13;
  border:1px solid rgba(214,180,120,.16); border-radius:12px; padding:6px; box-shadow:inset 0 0 24px rgba(0,0,0,.55); }
.bcell { width:var(--cell); height:var(--cell); position:relative; }
/* 小方格用 ::before 画，inset 由 --bc-inset 控制 → 可单独把格子间距调大 */
.bcell::before { content:''; position:absolute; inset:var(--bc-inset, 0px); background:#0e131b; border-radius:5px;
  box-shadow:inset 0 0 0 1px rgba(120,132,152,.10); }
.bcell.on::before { background:#171d29; box-shadow:inset 0 0 0 1px rgba(232,199,124,.22); }
.svgdefs { position:absolute; width:0; height:0; overflow:hidden; }
/* 驱动块（默认=按形状内缩+几何描边，见 §10）
   board.stroke="ring" 时切到"第二版"：贴边白描边（SVG 滤镜环）+ 外框内缩 2px 留缝 */
.bpiece { position:absolute; pointer-events:none; z-index:1; }
.bpiece.ring { filter:url(#pieceRing); z-index:6; }
.bseam { position:absolute; left:0; top:0; pointer-events:none; z-index:5; }
.bnote { margin-top:10px; font-size:12px; color:#8f7c55; letter-spacing:.05em; }
.gsplit { display:grid; grid-template-columns:auto minmax(0,1fr); gap:20px; align-items:start; }
.gsplit .gleft { flex:none; }
.gsplit .gright { display:flex; flex-direction:column; gap:11px; min-width:0; }
.icons { display:flex; flex-wrap:wrap; gap:9px; }
.icons img { width:var(--is, 48px); height:var(--is, 48px); object-fit:contain; filter:drop-shadow(0 2px 6px rgba(0,0,0,.5)); }
.gcap { font-size:15px; color:#d9b978; letter-spacing:.08em; }
.sig { border:1px solid rgba(214,180,120,.16); border-radius:12px; background:rgba(8,10,16,.35); padding:14px 16px; }
.sig-head { display:flex; gap:16px; align-items:flex-start; }
.sig-arc { width:96px; height:96px; object-fit:contain; flex:none; filter:drop-shadow(0 3px 10px rgba(0,0,0,.55)); }
.sig-meta { min-width:0; flex:1; }
.sig-name { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:16px; color:#f0e6cd; letter-spacing:.05em; margin-bottom:12px; }
.sig-badge { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:#d9b978;
  border:1px solid rgba(232,199,124,.3); border-radius:999px; padding:2px 9px; letter-spacing:.05em; }
.sig-badge img { width:16px; height:16px; object-fit:contain; }
.sig-slider { display:flex; align-items:center; gap:12px; }
.sig-slider input[type=range] { -webkit-appearance:none; appearance:none; width:190px; height:4px; border-radius:2px;
  background:linear-gradient(90deg,#8a6a2f,#e8c77c); outline:none; cursor:pointer; }
.sig-slider input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:16px; height:16px; border-radius:50%;
  background:#f6ead0; border:2px solid #b98a3c; box-shadow:0 0 8px rgba(232,199,124,.55); cursor:pointer; }
.sig-lv { font-size:13px; color:#e8c77c; letter-spacing:.08em; white-space:nowrap; }
.sig-text { margin-top:14px; font-size:15px; line-height:1.8; color:#cbbfa0; letter-spacing:.02em; text-align:justify; white-space:pre-wrap; }
.gtp { font-size:15px; color:#cbbfa0; line-height:1.75; letter-spacing:.02em; text-align:justify; }
.gtp b { color:#e8c77c; font-weight:400; }
.leftstack {
  position:absolute; left:clamp(14px, 2.2vw, 52px); top:0; z-index:1;
  display:flex; flex-direction:column; align-items:flex-start; gap:16px;
  max-height:88vh; overflow-y:auto; padding:2px; scrollbar-width:none;
}
.leftstack::-webkit-scrollbar { display:none; }
.dossier {
  width:calc(min(26vw, 360px) + 57px); flex:none; overflow:hidden; scrollbar-width:none;
  background:linear-gradient(168deg, rgba(10,14,22,.30) 0%, rgba(8,10,16,.58) 100%);
  border:1px solid rgba(214,180,120,.18); border-radius:16px;
  box-shadow:0 18px 46px rgba(0,0,0,.35); backdrop-filter:blur(7px);
  padding:24px 26px;
}
.dossier::-webkit-scrollbar { display:none; }
.dskick { font-size:17px; letter-spacing:.34em; color:#9d865a; text-align:center; margin-bottom:4px; }
.dskick::after { content:""; display:block; height:1px; margin-top:12px;
  background:linear-gradient(90deg, rgba(232,199,124,.5), rgba(232,199,124,.05)); }
.dsrows { margin-top:16px; }
.dsrow { display:flex; align-items:baseline; gap:16px; padding:11px 0;
  border-bottom:1px solid rgba(232,199,124,.10); }
.dsrow:last-child { border-bottom:none; }
.dsrow dt { flex:none; width:88px; font-size:17px; letter-spacing:.12em; color:#a98c58; }
.dsrow dd { margin:0; font-size:17px; letter-spacing:.04em; color:#f0e6cd; line-height:1.5; display:flex; align-items:center; gap:7px; }
.dattr { width:17px; height:17px; object-fit:contain; flex:none; }
/* 获取方式标签（限定／常驻／主角）—— 卡片页只打这三类（用户口径 2026-09-20） */
.obtain { flex:none; font-size:13.5px; letter-spacing:.12em; padding:2px 9px; border-radius:999px;
  border:1px solid currentColor; line-height:1.5; }
.obtain.lim { color:#e8c77c; background:rgba(232,199,124,.10); }      /* 限定 */
.obtain.std { color:#9fd0c0; background:rgba(87,228,192,.10); }       /* 常驻 */
.obtain.pc  { color:#dcc6a0; background:rgba(220,198,160,.12); }      /* 主角 */
.obhint { font-size:13px; color:#8f8570; letter-spacing:.02em; }
.dsdesc { margin:16px 0 0; padding-left:13px; border-left:2px solid #8a6a2f;
  font-size:17px; line-height:1.7; color:#c9b891; letter-spacing:.02em; }
.archives { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.abitem {
  background:rgba(8,10,16,.42); border:1px solid rgba(214,180,120,.15);
  border-radius:12px; overflow:hidden; width:calc(min(26vw, 360px) + 57px);
  display:grid; grid-template-rows:auto 0fr;
  transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1), width .34s ease, border-color .25s ease, background .25s ease;
}
.abitem.open { border-color:rgba(232,199,124,.32); background:rgba(12,15,24,.55); grid-template-rows:auto 1fr; }
.abhead {
  display:flex; align-items:center; width:100%; background:none; border:none; cursor:pointer;
  color:#e6d9ba; font-size:16px; letter-spacing:.1em; padding:13px 16px; text-align:left;
  font-family:inherit; min-height:0;
}
.abhead .num { color:#9d865a; font-size:12px; letter-spacing:.1em; margin-right:12px; flex:none; }
.abhead .ttl { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.abhead .plus { flex:none; color:#a98c58; font-size:15px; margin-left:10px; transition:transform .35s ease; }
.abitem.open .plus { transform:rotate(45deg); }
.abbody { min-height:0; overflow:hidden; }
.abinner { padding:2px 16px 16px; color:#cbbfa0; font-size:14px; line-height:1.9;
  letter-spacing:.03em; text-align:justify; white-space:pre-wrap; }
.sidel { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; min-width:0; position:relative; overflow:hidden; }
.sidel.right .guidebox {
  width:min(17vw, 236px); min-height:64vh; border:1px dashed rgba(232,199,124,.30);
  border-radius:14px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; padding:16px; text-align:center;
}
.guidebox b { font-size:14px; color:#9a8356; font-weight:400; letter-spacing:.3em; }
.guidebox span { font-size:11px; color:#5f5438; letter-spacing:.2em; }
.card3d { transform-style:preserve-3d; transition:transform .08s ease-out; will-change:transform; transform-origin:50% 50%; }
.frame {
  position:relative; width:min(38vh, 30vw, 400px); aspect-ratio:9/16;
  border-radius:14px; padding:10px;
  background:linear-gradient(150deg,#8a6a2f 0%, #e8c987 18%, #f7e2a8 32%, #a98542 55%, #6f5426 78%, #d9b978 100%);
  box-shadow:0 30px 70px rgba(0,0,0,.65), inset 0 0 0 1px rgba(255,235,180,.55),
            0 0 22px rgba(232,201,135,.25);
}
.inner { position:relative; width:100%; height:100%; border-radius:8px; overflow:hidden; background:#000; }
video { width:100%; height:100%; object-fit:cover; display:block; }
.sheen {
  position:absolute; inset:0; pointer-events:none; mix-blend-mode:overlay; opacity:.8;
  background:
    linear-gradient(115deg, rgba(255,255,255,0) 30%, rgba(255,240,190,.35) 45%, rgba(120,220,255,.18) 52%, rgba(255,255,255,0) 62%),
    linear-gradient(115deg, rgba(232,120,190,.12), rgba(120,200,255,.10));
  background-size:250% 250%; animation:holo 6s ease-in-out infinite alternate;
}
@keyframes holo { from { background-position:0% 0%; } to { background-position:100% 100%; } }
.glare { position:absolute; inset:-2px; border-radius:16px; pointer-events:none;
  background:linear-gradient(120deg, transparent 40%, rgba(255,255,255,.06) 45%, rgba(255,255,255,.12) 50%, rgba(255,255,255,.06) 55%, transparent 60%);
  background-size:300% 300%; animation:glare 5.5s linear infinite; opacity:.7; }
@keyframes glare { from { background-position:0% 0%; } to { background-position:300% 300%; } }
.navarrow {
  display:flex; align-items:center; justify-content:center; flex:none; cursor:pointer;
  background:none; border:none; padding:0; transition:transform .2s ease, filter .2s ease;
}
.navarrow img { width:38px; height:38px; object-fit:contain; filter:drop-shadow(0 2px 8px rgba(0,0,0,.6)); }
.navarrow:hover { transform:scale(1.12); }
.navarrow:hover img { filter:drop-shadow(0 0 10px rgba(232,199,124,.55)); }
.navarrow:disabled { opacity:.25; cursor:default; transform:none; }
.underbar {
  display:flex; align-items:center; justify-content:space-between;
  width:min(38vh, 30vw, 400px); min-height:20px; gap:14px;
}
.editiontxt { font-size:15px; color:#e8c77c; letter-spacing:.2em; }
.tagline { flex:1; text-align:center; font-size:13px; color:#8f7c55; letter-spacing:.05em; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.navpos { font-size:13px; color:#cbb384; letter-spacing:.1em; white-space:nowrap; }
.brandline { padding-bottom:10px; font-size:14px; letter-spacing:8px; text-indent:8px; color:#a8915f; }
/* ============ 手机 / 平板：三屏横向翻页器（档案 ← 卡片 → 养成） ============
   桌面 >1100px 完全不受影响：以下规则全部只在窄屏生效            */
.panejump, .paneback { display:none; }
@media (max-width:1100px) {
  html, body { max-width:100%; overflow-x:hidden; }
  .portrait { display:none; }        /* 背景立绘：窄屏隐藏（避免它的绝对定位撑宽可滚动区域，也省流量） */
  .stage { display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; padding:0; gap:0; scrollbar-width:none;
    width:100vw; max-width:100vw; align-items:stretch; }   /* 关键：不能是 center，否则子项不撑满高度→滚不动 */
  .stage::-webkit-scrollbar { display:none; }
  .leftstack, .midcolwrap, .guide { position:static; flex:0 0 100vw; width:100vw; max-width:100vw;
    min-width:0;                                      /* 关键：不归零会被内部内容撑得比屏幕宽 */
    height:100%; min-height:0; max-height:100%;      /* min-height:0 才能让内部产生滚动条 */
    scroll-snap-align:center; scroll-snap-stop:always; }
  .leftstack { overflow-y:auto; overscroll-behavior:contain; padding:52px 14px 84px;
    touch-action:pan-y; }      /* 只声明"本元素负责纵向" → 横向手势交给父层翻页器（治本） */
  .guide { overflow-y:auto; overscroll-behavior:contain; border-radius:0; border-left:0; border-right:0;
    padding:52px 14px 84px; box-shadow:none; touch-action:pan-y; }
  .midcolwrap { justify-content:center; align-items:center; gap:10px; padding:0 8px; }
  .midcol { perspective:none; }                     /* 触屏关掉 3D 倾斜 */
  .card3d { transform:none !important; }
  .navarrow, .sidel { display:none; }               /* 去掉上/下一张 */
  .portrait { opacity:.5; }
  /* 养成区的板块按钮吸顶：滚到哪儿都能切板块 */
  .gtabs { position:sticky; top:-40px; z-index:6; margin:0 0 12px; padding:8px 0 6px;
    background:linear-gradient(180deg, rgba(10,13,19,.97) 60%, rgba(10,13,19,.75));
    backdrop-filter:blur(6px); }
  /* 长文本/长串别把布局撑宽 */
  .g-body, .leftstack, .guide { overflow-wrap:anywhere; word-break:break-word; }
  .guide img, .g-body img, .g-body svg { max-width:100%; height:auto; }
  /* 棋盘：右侧信息栏移到棋盘下方（竖向堆叠） */
  .gsplit { grid-template-columns:1fr; gap:14px; }
  .gsplit .gleft { width:100%; }
  .gsplit .gright { width:100%; }
  .brd { max-width:100%; }
  /* 卡片两侧的两个入口按钮 */
  .panejump { display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:8px; width:36px; padding:16px 5px; flex:none;
    background:rgba(215,178,106,.07); border:1px solid rgba(214,180,120,.30); border-radius:12px;
    color:#d8c79a; font-size:12px; line-height:1.3; writing-mode:vertical-rl; letter-spacing:.18em;
    font-family:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; }
  .panejump:active { background:rgba(215,178,106,.18); border-color:rgba(232,199,124,.55); }
  /* 侧屏里的"返回卡片"（底部悬浮，拇指好按） */
  body.on-side .paneback { display:flex; }
  .paneback { position:fixed; left:50%; bottom:16px; transform:translateX(-50%); z-index:20;
    align-items:center; gap:6px; padding:9px 18px; border-radius:999px;
    background:rgba(16,20,28,.92); border:1px solid rgba(214,180,120,.35); color:#d8c79a;
    font-size:13px; letter-spacing:.08em; font-family:inherit; cursor:pointer;
    backdrop-filter:blur(6px); -webkit-tap-highlight-color:transparent; }
  .paneback:active { background:rgba(30,36,48,.95); }
  /* 档案条在窄屏改成整宽竖排展开 */
  .archives { width:100%; }
  .abitem, .abitem.open { width:100% !important; }
  .dossier { width:100%; }
}
@media (max-width:640px) {
  .stage { gap:0; }
  .frame { width:min(62vw, 46vh); }
  .underbar { width:min(62vw, 46vh); }
  .midcolwrap { gap:6px; }
  .panejump { width:32px; font-size:11px; padding:12px 4px; }
  .gtabs { font-size:15px; }
  .gtab { padding:5px 9px; }
}
