/* =========================================================
   Bangumi / bangumicomic.cn
   方向：D09 杂志长文（暗色变体）—— 深夜刊
   暖褐黑底 + 米白墨 + 芥末黄；零圆角，只靠 1px 细线与字重分层
   ========================================================= */

:root{
  --bg:#14100C;
  --paper:#1B1611;
  --paper-2:#221C15;
  --ink:#EFE6DA;
  --body:#C9BFAE;
  --mute:#8A8073;
  --faint:#5E574C;
  --line:#2E2721;
  --line-2:#3A322A;
  --amber:#D8A43C;
  --serif:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC","SimSun",serif;
  --sans:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
  --mono:"Cascadia Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --pad:clamp(20px,5vw,56px);
  --wrap:1180px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--bg);
  color:var(--body);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.92;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol,figure,dl,dd,dt,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
b,em,strong{font-style:normal}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--bg);padding:10px 16px;z-index:99}
.skip:focus{left:12px;top:12px}

/* ---------------- 页头 ---------------- */
.hd{
  position:sticky;top:0;z-index:50;
  background:rgba(20,16,12,.96);
  border-bottom:1px solid var(--line-2);
}
.hd-in{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);
  height:64px;
  display:flex;align-items:center;gap:clamp(12px,2vw,24px);
}
.brand{display:flex;align-items:center;gap:9px}
.logo-slot{
  width:26px;height:26px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:var(--ink);
}
.logo-slot img{width:26px;height:26px;object-fit:contain}
.brand-name{
  font-family:var(--serif);font-size:19px;letter-spacing:.02em;color:var(--ink);
}
.hd-issue{
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--mute);
  padding-left:clamp(10px,1.6vw,20px);
  border-left:1px solid var(--line-2);
}
.nav{
  display:flex;gap:clamp(12px,1.8vw,24px);margin-left:auto;
  font-size:13px;color:var(--mute);
}
.nav a{padding:4px 0;border-bottom:1px solid transparent}
.nav a:hover{color:var(--ink);border-bottom-color:var(--amber)}
.nav-cta{
  font-size:13px;padding:7px 14px;
  border:1px solid var(--amber);color:var(--amber);
}
.nav-cta:hover{background:var(--amber);color:var(--bg)}

/* ---------------- 报头 ---------------- */
.mast{padding:clamp(36px,5.6vw,72px) 0 clamp(24px,3vw,40px)}
.mast-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.mast-top{
  display:flex;justify-content:space-between;gap:14px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;
  color:var(--mute);text-transform:uppercase;
  padding-bottom:10px;
}
.mast-title{
  font-family:var(--serif);
  font-size:clamp(76px,15vw,208px);
  line-height:.86;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:clamp(6px,1.2vw,14px) 0 clamp(14px,2vw,22px);
}
.mast-rule{display:grid;gap:4px;margin-bottom:clamp(16px,2.2vw,26px)}
.mast-rule i{display:block;height:1px;background:var(--line-2)}
.mast-rule i:first-child{height:3px;background:var(--amber)}
.mast-bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
  gap:clamp(16px,3vw,44px);
  align-items:end;
}
.mast-sub{
  font-family:var(--serif);
  font-size:clamp(17px,1.7vw,23px);
  line-height:1.6;color:var(--ink);
}
.mast-index{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px clamp(12px,2vw,28px);
  font-size:12.5px;color:var(--mute);
}
.mast-index li{display:flex;gap:8px;align-items:baseline}
.mast-index b{
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--amber);
}

/* ---------------- 导语 + 双栏 ---------------- */
.feature{
  border-top:1px solid var(--line);
  padding:clamp(34px,4.6vw,58px) 0 clamp(40px,5.4vw,76px);
}
.feature-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.feature-kicker{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;
  color:var(--amber);text-transform:uppercase;
  margin-bottom:clamp(14px,2vw,22px);
}
.feature-h{
  font-family:var(--serif);
  font-size:clamp(26px,3.3vw,44px);
  line-height:1.4;letter-spacing:-.01em;color:var(--ink);
  max-width:26em;
  padding-bottom:clamp(18px,2.4vw,30px);
  border-bottom:1px solid var(--line-2);
}
.feature-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(180px,20vw,240px);
  gap:clamp(24px,4vw,56px);
  margin-top:clamp(20px,2.8vw,36px);
  align-items:start;
}
.feature-main{
  column-count:2;
  column-gap:clamp(24px,3.6vw,44px);
  column-rule:1px solid var(--line);
  font-size:15.5px;
  line-height:1.95;
}
.feature-main p{margin-bottom:1em;break-inside:avoid-column}
.feature-main p:last-child{margin-bottom:0}
.drop::first-letter{
  float:left;
  font-family:var(--serif);
  font-size:3.4em;
  line-height:.84;
  margin:.08em .14em 0 0;
  color:var(--amber);
}
.feature-side{display:grid;gap:clamp(16px,2vw,26px)}
.side-note{
  border-top:1px solid var(--line-2);
  padding-top:10px;
}
.side-note h3{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;
  color:var(--faint);text-transform:uppercase;margin-bottom:6px;
}
.side-note p{font-size:13px;line-height:1.8;color:#9A9082}

/* ---------------- 图版通用 ---------------- */
.fig-block{padding:clamp(38px,5vw,70px) 0;border-top:1px solid var(--line)}
.fig-alt{background:var(--paper)}
.fig-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.fig-head{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:clamp(12px,2vw,24px);
  align-items:baseline;
  padding-bottom:clamp(16px,2vw,24px);
  margin-bottom:clamp(18px,2.4vw,32px);
  border-bottom:1px solid var(--line-2);
}
.fig-no{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  color:var(--amber);white-space:nowrap;
}
.fig-head h2{
  font-family:var(--serif);
  font-size:clamp(22px,2.5vw,34px);
  line-height:1.36;letter-spacing:-.01em;color:var(--ink);
}
.fig-body{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:clamp(24px,4.4vw,64px);
  align-items:start;
}
.fig-shot{border:1px solid var(--line-2);background:var(--bg);padding:10px}
.fig-alt .fig-shot{background:var(--paper-2)}
.fig-slot{
  height:clamp(340px,34vw,470px);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.fig-slot img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.fig-shot figcaption{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  padding-top:10px;margin-top:10px;
  border-top:1px solid var(--line-2);
  font-size:12.5px;line-height:1.7;color:#9A9082;
}
.fig-shot figcaption b{
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--amber);
  white-space:nowrap;
}
.fig-text p{font-size:15px;line-height:1.95;color:var(--body)}
.fig-list{margin-top:clamp(18px,2.4vw,28px);border-top:1px solid var(--line-2)}
.fig-list>div{
  display:grid;grid-template-columns:84px minmax(0,1fr);
  gap:12px;padding:10px 0;
  border-bottom:1px solid var(--line);
  font-size:12.5px;
}
.fig-list dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--faint)}
.fig-list dd{color:var(--body)}
.fig-note{
  margin-top:clamp(14px,1.8vw,22px);
  padding-top:12px;border-top:1px dashed var(--line);
  font-size:12.5px;line-height:1.8;color:var(--mute);
}
.fig-cap{
  margin-top:clamp(14px,2vw,22px);
  font-size:12.5px;line-height:1.8;color:var(--mute);
  max-width:60em;
}
.fig-cap b{
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--amber);
  margin-right:8px;
}
.fig-duo{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(16px,2.6vw,32px);
}
.fig-wide{border:1px solid var(--line-2);background:var(--bg);padding:10px}
.fig-wide-slot{
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.fig-wide-slot img{width:100%;height:auto;object-fit:contain}
.fig-wide figcaption{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;
  padding-top:10px;margin-top:10px;border-top:1px solid var(--line-2);
  font-size:12px;line-height:1.7;color:var(--mute);
}
.fig-wide figcaption b{
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--amber);
}

/* ---------------- 格子图版 ---------------- */
.grid-demo{
  border:1px solid var(--line-2);
  background:var(--bg);
  padding:clamp(16px,2.2vw,28px);
  max-width:780px;
}
.grid-demo-top{
  display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  padding-bottom:10px;border-bottom:1px solid var(--line-2);
}
.gd-name{font-family:var(--serif);font-size:19px;color:var(--ink)}
.gd-count{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--mute)}
.gd-row{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(4px,.7vw,7px);
  margin:clamp(14px,2vw,22px) 0 10px;
}
.gd-row i{display:block;aspect-ratio:1/1;border:1px solid var(--line-2);background:transparent}
.gd-row i.on{background:var(--body);border-color:var(--body)}
.gd-row i.now{background:var(--amber);border-color:var(--amber)}
.gd-row i.new{border:1px dashed var(--amber);background:transparent}
.gd-scale{
  display:flex;justify-content:space-between;
  font-family:var(--mono);font-size:10px;color:var(--faint);
  padding-top:8px;border-top:1px dashed var(--line);
}
.gd-legend{
  display:flex;flex-wrap:wrap;gap:8px 20px;
  margin-top:14px;font-size:11.5px;color:var(--mute);
}
.gd-legend li{display:flex;align-items:center;gap:7px}
.gd-legend i{width:11px;height:11px;display:block;border:1px solid var(--line-2)}
.gd-legend i.on{background:var(--body);border-color:var(--body)}
.gd-legend i.now{background:var(--amber);border-color:var(--amber)}
.gd-legend i.new{border:1px dashed var(--amber)}

/* ---------------- 表格 ---------------- */
.tbl-block{padding:clamp(38px,5vw,68px) 0;border-top:1px solid var(--line)}
.tbl-alt{background:var(--paper)}
.tbl-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.tbl-head{padding-bottom:clamp(16px,2vw,24px);border-bottom:1px solid var(--line-2)}
.tbl-head .fig-no{display:block;margin-bottom:10px}
.tbl-head h2{
  font-family:var(--serif);
  font-size:clamp(22px,2.5vw,34px);line-height:1.36;color:var(--ink);
  letter-spacing:-.01em;
}
.tbl-head p{
  margin-top:10px;font-size:13.5px;line-height:1.8;color:var(--mute);
  max-width:48em;
}
.tbl-wrap{overflow-x:auto;margin-top:clamp(14px,2vw,22px)}
.tbl{
  width:100%;min-width:520px;border-collapse:collapse;
  font-size:13.5px;
}
.tbl caption{
  caption-side:top;text-align:left;
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  color:var(--faint);padding-bottom:16px;
}
.tbl thead th{
  font-family:var(--mono);font-weight:400;
  font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--faint);text-align:left;
  padding:0 12px 8px 0;
  border-bottom:1px solid var(--line-2);
}
.tbl tbody th{
  text-align:left;font-family:var(--serif);font-weight:400;
  font-size:15px;color:var(--ink);
  padding:13px 12px 13px 0;
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}
.tbl tbody td{
  padding:13px 12px 13px 0;
  border-bottom:1px solid var(--line);
  color:var(--mute);
}
.tbl tbody td.em{color:var(--amber)}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:0}
.tbl-note{
  margin-top:16px;font-size:12.5px;line-height:1.8;color:var(--mute);max-width:52em;
}

/* ---------------- 引文 ---------------- */
.pull{
  padding:clamp(44px,6vw,86px) 0;
  border-top:1px solid var(--line);
  background:var(--paper);
}
.pull-in{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);
}
.pull blockquote{
  font-family:var(--serif);
  font-size:clamp(30px,4.6vw,62px);
  line-height:1.3;letter-spacing:-.02em;color:var(--ink);
  padding-left:clamp(16px,2.4vw,32px);
  border-left:3px solid var(--amber);
}
.pull-by{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--faint);
  margin-top:18px;padding-left:clamp(16px,2.4vw,32px);
}

/* ---------------- 边注段 ---------------- */
.marginal{padding:clamp(38px,5vw,68px) 0;border-top:1px solid var(--line)}
.marginal-in{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(190px,22vw,260px);
  gap:clamp(26px,4.4vw,64px);
  align-items:start;
}
.marginal-main h2{
  font-family:var(--serif);
  font-size:clamp(22px,2.6vw,36px);line-height:1.4;color:var(--ink);
  letter-spacing:-.01em;
  padding-bottom:clamp(14px,1.8vw,20px);
  margin-bottom:clamp(14px,1.8vw,20px);
  border-bottom:1px solid var(--line-2);
}
.marginal-main p{font-size:15px;line-height:1.98;margin-bottom:.9em}
.marginal-main p:last-child{margin-bottom:0}
.marginal-side{
  border-left:1px solid var(--line-2);
  padding-left:clamp(14px,1.8vw,22px);
}
.marginal-side h3{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;
  color:var(--amber);text-transform:uppercase;margin-bottom:12px;
}
.term{display:grid;gap:10px}
.term>div{border-bottom:1px solid var(--line);padding-bottom:8px}
.term dt{
  font-family:var(--serif);font-size:14.5px;color:var(--ink);margin-bottom:2px;
}
.term dd{font-size:12.5px;line-height:1.7;color:#9A9082}

/* ---------------- 四步 ---------------- */
.steps{padding:clamp(38px,5vw,68px) 0;border-top:1px solid var(--line);background:var(--paper)}
.steps-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.steps-head{padding-bottom:clamp(16px,2vw,24px);border-bottom:1px solid var(--line-2)}
.steps-head .fig-no{display:block;margin-bottom:10px}
.steps-head h2{
  font-family:var(--serif);font-size:clamp(22px,2.5vw,34px);
  line-height:1.36;color:var(--ink);
}
.steps-head p{margin-top:10px;font-size:13.5px;color:var(--mute)}
.step-list{margin-top:clamp(18px,2.4vw,30px);display:grid;gap:0}
.step-list li{
  display:grid;
  grid-template-columns:clamp(56px,7vw,88px) minmax(0,1fr);
  gap:clamp(14px,2.4vw,32px);
  padding:clamp(16px,2vw,24px) 0;
  border-bottom:1px solid var(--line);
}
.step-list li:last-child{border-bottom:0}
.step-n{
  font-family:var(--mono);font-size:clamp(20px,2.4vw,30px);
  color:var(--amber);line-height:1.2;
}
.step-list h3{
  font-family:var(--serif);font-size:clamp(17px,1.8vw,21px);
  color:var(--ink);margin-bottom:6px;font-weight:400;
}
.step-list p{font-size:13.5px;line-height:1.85;color:var(--mute);max-width:52em}

/* ---------------- 核对（反相纸白） ---------------- */
.check{
  background:var(--ink);color:#241E17;
  padding:clamp(40px,5.4vw,74px) 0;
}
.check-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.check-head .fig-no{display:block;margin-bottom:10px;color:#8A6D22}
.check-head h2{
  font-family:var(--serif);
  font-size:clamp(24px,2.8vw,40px);line-height:1.32;
  color:#14100C;letter-spacing:-.01em;
  padding-bottom:clamp(14px,1.8vw,20px);
  border-bottom:1px solid rgba(20,16,12,.22);
}
.check-list{margin-top:clamp(14px,2vw,22px);display:grid;gap:0}
.check-list li{
  display:grid;grid-template-columns:110px minmax(0,1fr);
  gap:clamp(12px,2vw,28px);
  padding:clamp(12px,1.6vw,18px) 0;
  border-bottom:1px solid rgba(20,16,12,.14);
}
.check-list b{
  font-family:var(--serif);font-weight:400;font-size:16px;color:#14100C;
}
.check-list span{font-size:13.5px;line-height:1.8;color:#4A4034}
.check-note{
  margin-top:18px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.06em;color:#6B5F4E;line-height:1.8;
}

/* ---------------- 附录下载 ---------------- */
.annex{padding:clamp(40px,5.4vw,74px) 0;border-top:1px solid var(--line)}
.annex-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.annex-head{padding-bottom:clamp(16px,2vw,24px)}
.annex-head .fig-no{display:block;margin-bottom:10px}
.annex-head h2{
  font-family:var(--serif);font-size:clamp(24px,2.8vw,40px);
  color:var(--ink);line-height:1.32;
}
.annex-head p{margin-top:8px;font-size:13.5px;color:var(--mute)}
.annex-list{border-top:1px solid var(--line-2)}
.annex-list:not(:has(.annex-row:not([hidden]))){border-top:0}
.annex-row{
  grid-template-columns:64px 96px minmax(0,1fr) auto;
  gap:clamp(10px,2vw,26px);
  align-items:center;
  padding:clamp(14px,1.8vw,20px) 0;
  border-bottom:1px solid var(--line);
  transition:padding .18s,background .18s;
}
.annex-row:not([hidden]){display:grid}
.annex-row:hover{background:var(--paper);padding-left:12px;padding-right:12px}
.annex-n{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--faint)}
.annex-k{
  font-family:var(--serif);font-size:clamp(17px,1.8vw,21px);color:var(--ink);
}
.annex-d{font-size:13px;color:var(--mute);line-height:1.7}
.annex-go{
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;
  color:var(--amber);white-space:nowrap;
  border-bottom:1px solid var(--amber);padding-bottom:2px;
}

/* ---------------- 问答 ---------------- */
.faq{padding:clamp(38px,5vw,68px) 0;border-top:1px solid var(--line);background:var(--paper)}
.faq-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.faq-head{padding-bottom:clamp(14px,1.8vw,20px);border-bottom:1px solid var(--line-2)}
.faq-head .fig-no{display:block;margin-bottom:10px}
.faq-head h2{
  font-family:var(--serif);font-size:clamp(22px,2.5vw,34px);color:var(--ink);
}
.faq-list{margin-top:4px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{
  cursor:pointer;list-style:none;
  padding:clamp(13px,1.6vw,18px) 0;
  display:flex;align-items:center;gap:12px;
  font-family:var(--serif);font-size:clamp(15px,1.5vw,18px);
  color:var(--ink);
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::before{
  content:"+";font-family:var(--mono);font-size:15px;
  width:20px;height:20px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line-2);color:var(--mute);
}
.faq-list details[open] summary::before{content:"−";color:var(--amber);border-color:var(--amber)}
.faq-list details p{
  padding:0 0 18px 32px;
  font-size:13.5px;line-height:1.9;color:var(--mute);max-width:52em;
}

/* ---------------- 版权页脚 ---------------- */
.ft{border-top:1px solid var(--line-2);background:var(--bg)}
.ft-in{
  max-width:var(--wrap);margin:0 auto;
  padding:clamp(30px,4vw,48px) var(--pad);
  display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.8fr));
  gap:clamp(20px,3vw,40px);
  align-items:start;
}
.ft-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.ft-brand .brand-name{font-size:20px}
.ft-small{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--faint);
}
.ft-col h2{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;
  color:var(--faint);text-transform:uppercase;margin-bottom:10px;
}
.ft-col ul{display:grid;gap:7px;font-size:13px;color:var(--body)}
.ft-col a:hover{color:var(--ink);border-bottom:1px solid var(--amber)}
.ft-base{
  max-width:var(--wrap);margin:0 auto;
  padding:14px var(--pad) 22px;
  display:flex;justify-content:space-between;gap:12px;
  border-top:1px solid var(--line);
  font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--faint);
}

/* =========================================================
   响应式
   ========================================================= */
@media (max-width:1000px){
  .feature-main{column-count:1;column-rule:0}
  .feature-body{grid-template-columns:minmax(0,1fr)}
  .feature-side{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .fig-body{grid-template-columns:minmax(0,1fr)}
  .marginal-in{grid-template-columns:minmax(0,1fr)}
  .marginal-side{border-left:0;border-top:1px solid var(--line-2);padding-left:0;padding-top:16px}
  .term{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mast-bottom{grid-template-columns:minmax(0,1fr)}
  .pull-in{grid-template-columns:minmax(0,1fr);gap:12px}
  .pull-by{padding-bottom:0}
}

@media (max-width:760px){
  .nav{display:none}
  .hd-issue{display:none}
  .nav-cta{margin-left:auto}
  .mast-title{font-size:clamp(64px,20vw,120px)}
  .mast-index{grid-template-columns:minmax(0,1fr);gap:6px}
  .fig-duo{grid-template-columns:minmax(0,1fr)}
  .fig-slot{height:clamp(340px,72vw,460px)}
  .check-list li{grid-template-columns:minmax(0,1fr);gap:4px}
  .annex-row{
    grid-template-columns:44px minmax(0,1fr);
    gap:4px 12px;
    padding:14px 0;
  }
  .annex-n{padding-top:2px}
  .annex-d{grid-column:2}
  .annex-go{grid-column:2;justify-self:start;margin-top:4px}
  .ft-in{grid-template-columns:minmax(0,1fr)}
  .ft-base{flex-direction:column;gap:4px}
  .faq-list details p{padding-left:0}
  .tbl{min-width:0;font-size:12.5px}
  .tbl thead{display:none}
  .tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:100%}
  .tbl caption{display:block}
  .tbl tr{
    padding:12px 0;
    border-bottom:1px solid var(--line);
  }
  .tbl tbody tr:last-child{border-bottom:0}
  .tbl tbody th{
    border-bottom:0;padding:0 0 6px;
    font-size:16px;
  }
  .tbl tbody td{
    border-bottom:0;padding:2px 0;
    display:grid;grid-template-columns:72px minmax(0,1fr);
    gap:10px;
  }
  .tbl tbody td::before{
    content:attr(data-l);
    font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;
    color:var(--faint);padding-top:3px;
  }
  .tbl-wrap{overflow-x:visible}
}

@media (max-width:520px){
  body{font-size:15px}
  .feature-side{grid-template-columns:minmax(0,1fr)}
  .term{grid-template-columns:minmax(0,1fr)}
  .step-list li{grid-template-columns:44px minmax(0,1fr);gap:12px}
  .pull blockquote{font-size:clamp(26px,8vw,38px)}
  .mast-title{font-size:clamp(56px,19vw,90px)}
  .fig-slot{height:clamp(320px,80vw,420px)}
}
