/* nHentai 読書台 ・ desk.css
   深緑のフェルト机、真鍮のランプ、米色の頁。
   面ごとに固有の寸法を持つ。 */

:root{
  --felt:#12382b;
  --felt-deep:#0a271d;
  --felt-rail:#1a4a39;
  --brass:#c49a52;
  --brass-dim:#8b6a33;
  --paper:#f5edd9;
  --paper-warm:#f8f1df;
  --paper-edge:#e2d3b4;
  --ink:#241f18;
  --ink-soft:#5e5343;
  --rule:#ccb995;
  --display:"Zen Antique","Noto Serif JP",serif;
  --body:"Noto Serif JP",serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--body);
  color:var(--paper);
  background:
    radial-gradient(680px 460px at 84% -4%, rgba(255,214,148,.20), transparent 68%),
    radial-gradient(900px 620px at 50% 112%, rgba(0,0,0,.42), transparent 72%),
    linear-gradient(180deg,#174634 0%,#0f3125 48%,#0a2419 100%);
  background-attachment:fixed;
  line-height:1.85;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.32;
  mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)' opacity='0.38'/%3E%3C/svg%3E");
}
img{max-width:100%}
a{color:inherit}
.wrap{width:min(1120px,calc(100% - 44px));margin:0 auto}

/* ---------- 机の上の銘板 ---------- */
.deskhead{padding:26px 0 0}
.plate{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(196,154,82,.5);
}
.brandline{display:flex;align-items:center;gap:14px;text-decoration:none}
.brandmark{
  width:54px;height:54px;
  display:grid;place-items:center;
  border:1px solid var(--brass);
  color:var(--brass);
  font-family:var(--display);
  font-size:31px;
  line-height:1;
  background:rgba(0,0,0,.22);
  box-shadow:inset 0 0 0 3px rgba(196,154,82,.12);
}
.brandtext{display:block}
.brandname{
  display:block;
  font-family:var(--display);
  font-size:27px;
  letter-spacing:.05em;
  line-height:1.05;
  color:var(--paper);
}
.brandjp{
  display:block;
  margin-top:4px;
  font-size:11px;
  letter-spacing:.42em;
  color:#cdc0a0;
}
.headmeta{
  font-family:var(--mono);
  font-size:11px;
  line-height:1.9;
  letter-spacing:.1em;
  color:#c5b795;
  text-align:right;
}
.headmeta b{color:var(--brass);font-weight:500}

/* 背表紙の目次 */
.tabrow{display:flex;flex-wrap:wrap;gap:2px;align-items:flex-end}
.tab{
  display:flex;
  align-items:baseline;
  gap:7px;
  padding:9px 15px 10px;
  border:1px solid rgba(196,154,82,.38);
  border-top:0;
  background:rgba(245,237,217,.06);
  color:#e6dbc2;
  font-size:13px;
  letter-spacing:.06em;
  text-decoration:none;
  transition:background .15s ease,color .15s ease;
}
.tab i{font-family:var(--mono);font-style:normal;font-size:9px;color:rgba(196,154,82,.85);letter-spacing:.08em}
.tab:hover{background:rgba(245,237,217,.14);color:#fff8e6}
.tab.on{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.tab.on i{color:var(--brass-dim)}
.headcta{
  align-self:center;
  display:inline-block;
  padding:10px 18px;
  margin-left:12px;
  border:1px solid var(--brass);
  background:linear-gradient(180deg,#d3a962,#b78c47);
  color:#221a10;
  font-size:13px;
  letter-spacing:.08em;
  text-decoration:none;
  box-shadow:0 2px 0 #7d5c28;
}
.headcta:hover{background:linear-gradient(180deg,#e0b872,#c19750)}
.headcta em{font-style:normal;font-family:var(--mono);font-size:9px;margin-left:6px;opacity:.75}

/* ---------- 頁 ---------- */
.sheet{
  position:relative;
  margin:26px 0 0;
  padding:34px 44px 44px;
  color:var(--ink);
  background:
    linear-gradient(180deg,#f8f1df 0%,#f2e8d3 55%,#ece0c7 100%);
  box-shadow:
    0 28px 54px rgba(0,0,0,.46),
    0 1px 0 rgba(255,255,255,.4) inset,
    0 0 0 1px rgba(20,12,0,.22);
  border-radius:2px;
}
.sheet::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:11px;
  background:linear-gradient(90deg,rgba(122,92,42,.24),rgba(122,92,42,0));
}
.sheet::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.35;
  background-image:repeating-linear-gradient(0deg,rgba(120,95,50,.05) 0 1px,transparent 1px 4px);
}
.runhead{
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:.14em;
  color:#8a7a5e;
  border-bottom:1px solid var(--rule);
  padding-bottom:8px;
}
.runhead span:last-child{color:var(--brass-dim)}

/* ---------- 首屏 ---------- */
.hero{
  display:grid;
  grid-template-columns:1fr 1.02fr;
  gap:36px;
  padding:22px 0 24px;
  align-items:start;
}
.folio{
  margin:0;
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.2em;
  color:var(--brass-dim);
}
h1{
  margin:12px 0 18px;
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(31px,4.1vw,47px);
  line-height:1.3;
  letter-spacing:.02em;
  color:#1b2f25;
}
.hero p.copy{
  margin:0 0 14px;
  font-size:14.5px;
  line-height:1.98;
  color:#372f24;
  max-width:60ch;
}
.hero p.copy strong{font-weight:600;color:#1c3b2d;background:linear-gradient(transparent 62%,rgba(196,154,82,.28) 62%)}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn{
  display:inline-flex;
  align-items:baseline;
  gap:8px;
  padding:12px 20px;
  font-size:14px;
  letter-spacing:.06em;
  text-decoration:none;
  border:1px solid #2e4a3a;
}
.btn em{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.08em;opacity:.7}
.btn-solid{background:linear-gradient(180deg,#22503c,#16392b);color:#f6eeda;box-shadow:0 2px 0 #0c2419}
.btn-solid:hover{background:linear-gradient(180deg,#2a5f47,#1a4232)}
.btn-line{background:transparent;color:#233c2e;border-color:#b9a37a}
.btn-line:hover{background:rgba(196,154,82,.14)}

.platefig{margin:0;position:relative;filter:drop-shadow(0 16px 22px rgba(60,40,10,.22))}
.platefig .mat{
  position:relative;
  background:#fbf6e8;
  padding:12px 12px 11px;
  border:1px solid #d5c39f;
  transform:rotate(-.7deg);
  box-shadow:0 0 0 1px rgba(255,255,255,.6) inset;
}
.platefig .mat::before,
.platefig .mat::after{
  content:"";
  position:absolute;
  width:26px;height:26px;
  border:2px solid var(--brass);
}
.platefig .mat::before{top:-7px;left:-7px;border-right:0;border-bottom:0}
.platefig .mat::after{bottom:-7px;right:-7px;border-left:0;border-top:0}
.platefig img{display:block;width:100%;height:auto;border:1px solid rgba(50,36,12,.3)}
.platefig figcaption{
  margin:13px 2px 0;
  font-size:11.5px;
  line-height:1.85;
  color:#6a5d49;
}

/* ---------- 提携棚 ---------- */
.partnerband{
  margin:0 -44px 6px;
  padding:22px 44px 24px;
  background:
    radial-gradient(500px 200px at 20% 0%, rgba(255,214,148,.10), transparent 70%),
    linear-gradient(180deg,#0f3125,#143d2e);
  border-top:1px solid rgba(196,154,82,.45);
  border-bottom:1px solid rgba(196,154,82,.45);
  color:#efe4c9;
}
.partnerhead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.partnerhead h2{
  margin:0;
  font-family:var(--display);
  font-weight:400;
  font-size:15px;
  letter-spacing:.22em;
  color:#e9d9b3;
}
.partnerhead span{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.12em;
  color:rgba(233,217,179,.62);
}
.partners{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.partner{
  min-height:80px;
  height:80px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  background:rgba(248,241,223,.9);
  border:1px solid rgba(196,154,82,.55);
  text-decoration:none;
  transition:border-color .15s ease,transform .15s ease;
}
.partner:hover{border-color:#e2bb75;transform:translateY(-1px)}
.partner img{display:block;width:auto;max-width:100%;height:38px;object-fit:contain}

/* ---------- 章 ---------- */
.leaf{padding:36px 0 6px;border-top:1px solid var(--rule)}
.leaf:first-of-type{border-top:0;padding-top:10px}
.leafhead{display:flex;align-items:baseline;gap:14px;margin:0 0 14px}
.leafhead h2{
  margin:0;
  font-family:var(--display);
  font-weight:400;
  font-size:24px;
  letter-spacing:.05em;
  color:#1b2f25;
}
.leafhead .ruler{flex:1;height:1px;background:linear-gradient(90deg,var(--rule),rgba(204,185,149,0))}
.leafhead .folio{flex:none}
.lede{margin:0 0 6px;font-size:14.5px;line-height:2;color:#3c3327;max-width:78ch}
.leaffoot{
  margin:16px 0 0;
  font-size:11.5px;
  line-height:1.9;
  color:#7a6b53;
  padding-left:12px;
  border-left:2px solid var(--paper-edge);
}

/* 数字札 */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 4px}
.stat{
  position:relative;
  padding:20px 18px 16px;
  background:#fbf4e2;
  border:1px solid #dbc9a6;
  box-shadow:0 4px 0 -2px rgba(120,90,40,.18);
}
.stat::before{
  content:"";
  position:absolute;left:11px;top:11px;
  width:8px;height:8px;border-radius:50%;
  background:#e6d7b8;
  box-shadow:inset 0 1px 2px rgba(60,40,10,.4);
}
.stat b{
  display:block;
  font-family:var(--mono);
  font-weight:500;
  font-size:27px;
  letter-spacing:-.01em;
  color:#1b3b2c;
  line-height:1.2;
}
.stat em{display:block;font-style:normal;font-size:12.5px;color:#4c4234;margin-top:2px}
.stat span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:#8a7a5e;margin-top:8px}

/* 台帳 */
.ledger{margin-top:18px;border-top:2px solid #3a3022}
.lhead{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:14px;
  padding:8px 0;
  border-bottom:1px solid #bda985;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.16em;
  color:#7d6d53;
}
.lrow{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:14px;
  padding:15px 0 14px;
  border-bottom:1px dotted #b9a583;
}
.lrow .lp{
  display:flex;
  align-items:baseline;
  gap:3px;
  font-family:var(--mono);
  font-size:20px;
  line-height:1.2;
  color:var(--brass-dim);
}
.lrow .lp small{font-size:9px;letter-spacing:.08em;color:#907e60}
.lrow h3{
  margin:0 0 5px;
  font-size:15px;
  font-weight:600;
  line-height:1.7;
  color:#1f2c24;
}
.lrow .lsub{
  display:flex;
  flex-wrap:wrap;
  gap:4px 14px;
  margin:0 0 6px;
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:.04em;
  color:#7c6c52;
}
.lrow .lnote{margin:0;font-size:13px;line-height:1.85;color:#57493a}
.shelfmore{margin:18px 0 0;font-size:13.5px;color:#4a3f30}
.shelfmore a{color:#1d4433;border-bottom:1px solid var(--brass)}

/* 背表紙の分類 */
.spines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 4px}
.spine{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  background:#faf3e1;
  border:1px solid #dbc9a6;
  min-height:168px;
}
.spine .bar{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 0;
  background:linear-gradient(180deg,#1e4c3a,#123528);
  color:#ecdcb4;
  font-family:var(--display);
  font-size:14px;
  letter-spacing:.22em;
}
.spine .body{padding:14px 14px 16px}
.spine b{display:inline;font-family:var(--mono);font-weight:500;font-size:17px;color:#1b3b2c}
.spine .unit{font-family:var(--mono);font-size:10px;color:#8a7a5e;letter-spacing:.08em;margin-left:4px}
.spine p{margin:8px 0 0;font-size:12.5px;line-height:1.8;color:#55493a}

/* 図版 */
.figs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0 2px}
.figs figure{margin:0}
.figs .mat{
  background:#fbf6e8;
  padding:9px;
  border:1px solid #d5c39f;
  box-shadow:0 8px 18px rgba(60,40,10,.16);
}
.figs img{display:block;width:100%;height:auto;border:1px solid rgba(50,36,12,.22)}
.figs figcaption{margin:10px 0 0;font-size:11.5px;line-height:1.8;color:#6a5d49}

/* 三か条 */
.notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 2px}
.note{
  position:relative;
  padding:18px 16px 18px;
  background:#f8f0dc;
  border:1px solid #ddcdad;
}
.note::before{
  content:"";
  position:absolute;right:14px;top:0;
  width:38px;height:7px;
  background:var(--brass);
  opacity:.75;
}
.note h3{margin:2px 0 8px;font-size:14.5px;font-weight:600;color:#20342a;line-height:1.6}
.note p{margin:0;font-size:12.5px;line-height:1.85;color:#57493a}
.note .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:#8a7a5e}

/* ---------- 内頁 ---------- */
.pagehead{padding:30px 0 6px}
.pagehead h1{margin:10px 0 14px;font-size:clamp(30px,4vw,44px)}
.pagehead .lede{font-size:15px}
.meta-strip{
  display:flex;flex-wrap:wrap;gap:8px 18px;
  margin:18px 0 0;padding:10px 0;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:.1em;
  color:#7c6c52;
}
.meta-strip b{color:#1d4433;font-weight:500}
.prose{max-width:76ch}
.prose h2{
  margin:34px 0 10px;
  font-family:var(--display);
  font-weight:400;
  font-size:22px;
  letter-spacing:.04em;
  color:#1b2f25;
}
.prose h3{margin:22px 0 6px;font-size:15.5px;font-weight:600;color:#20342a}
.prose p{margin:0 0 14px;font-size:14.5px;line-height:2.02;color:#3a3126}
.prose ul{margin:0 0 16px;padding-left:1.2em}
.prose li{margin-bottom:6px;font-size:14px;line-height:1.9;color:#3a3126}
.prose code{
  font-family:var(--mono);
  font-size:12.5px;
  background:#efe4cb;
  border:1px solid #ddcdad;
  padding:1px 5px;
  color:#2c4436;
}
.chapter{border-top:1px solid var(--rule);padding-top:18px;margin-top:24px}
.chapter h2{margin-top:6px}
.chapter:first-of-type{border-top:0;margin-top:8px;padding-top:0}
.chapno{
  display:inline-block;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.16em;
  color:var(--brass-dim);
  margin-bottom:2px;
}

/* 分類の詳細 */
.catgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.cat{
  border:1px solid #dbc9a6;
  background:#faf3e1;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
}
.cat .top{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding:14px 16px 12px;
  border-bottom:1px solid #e4d5b6;
  background:linear-gradient(180deg,#f8f0dc,#f3e9d3);
}
.cat h2{margin:0;font-family:var(--display);font-weight:400;font-size:19px;letter-spacing:.05em;color:#1b2f25}
.cat .n{font-family:var(--mono);font-size:16px;color:var(--brass-dim)}
.cat .body{padding:14px 16px 16px}
.cat p{margin:0 0 8px;font-size:13px;line-height:1.88;color:#4e4334}
.cat .use{font-size:12.5px;color:#2f4a3a;background:rgba(196,154,82,.12);padding:8px 10px;border-left:2px solid var(--brass)}
.cat .use b{font-weight:600}

/* 質問 */
.qa{border-top:2px solid #3a3022;margin-top:20px}
.qa details{border-bottom:1px dotted #b9a583;padding:2px 0}
.qa summary{
  cursor:pointer;
  list-style:none;
  padding:14px 26px 14px 40px;
  position:relative;
  font-size:14.5px;
  line-height:1.7;
  color:#1f2c24;
  font-weight:600;
}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{
  content:"Q";
  position:absolute;left:10px;top:14px;
  font-family:var(--mono);font-size:11px;color:var(--brass-dim);
}
.qa summary::after{
  content:"+";
  position:absolute;right:8px;top:12px;
  font-family:var(--mono);font-size:15px;color:#9c8a68;
}
.qa details[open] summary::after{content:"−"}
.qa .a{
  margin:0 0 16px 40px;
  padding-right:26px;
  font-size:13.5px;
  line-height:1.95;
  color:#4d4132;
}
.qa .a b{font-weight:600;color:#1d4433}

/* 奥付 */
.colophon{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:18px}
.colo{border-top:1px solid var(--rule);padding-top:12px}
.colo h2{margin:0 0 8px;font-family:var(--display);font-weight:400;font-size:18px;color:#1b2f25}
.colo p{margin:0;font-size:13px;line-height:1.9;color:#4d4132}

/* ---------- 頁の外 ---------- */
.deskfoot{margin-top:34px;padding:28px 0 42px;color:#d9cdb2}
.footgrid{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:start}
.footbrand{font-family:var(--display);font-size:20px;letter-spacing:.06em;color:#f2e8d2;margin:0 0 8px}
.footgrid p{margin:0 0 8px;font-size:12.5px;line-height:1.9;color:#c9bc9f;max-width:56ch}
.footnav{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px}
.footnav a{color:#e0d4b8;text-decoration:none;border-bottom:1px solid rgba(196,154,82,.35);padding-bottom:1px}
.footnav a:hover{color:#fff4da;border-color:var(--brass)}
.baseline{
  display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between;align-items:center;
  margin-top:24px;padding-top:14px;
  border-top:1px solid rgba(196,154,82,.35);
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.1em;
  color:#a7977a;
}
.agebadge{
  border:1px solid var(--brass);
  color:var(--brass);
  padding:3px 8px;
  font-size:9.5px;
  letter-spacing:.16em;
}

/* 404 */
.lost{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:24px 0 10px;
}
.lost .code{
  font-family:var(--mono);
  font-size:76px;
  line-height:1;
  color:var(--brass-dim);
  border-right:1px solid var(--rule);
  padding-right:22px;
}
.lost h1{font-size:34px;margin-top:0}
.lost p{font-size:14px;line-height:2;color:#3d3327}
.lost .acts{margin-top:18px}
.lost .footnav{margin-top:20px}
.lost .footnav a{color:#1d4433;border-bottom-color:#c0a97f}
.lost .footnav a:hover{color:#0f2c20;border-color:var(--brass)}


/* 貸出カードの袋 */
.borrowcard{
  margin:12px 2px 0;
  padding:11px 14px 10px;
  background:linear-gradient(180deg,#f2e7cd,#ecdfc2);
  border:1px solid #d9c8a5;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.35);
  position:relative;
}
.borrowcard::before{
  content:"";
  position:absolute;
  left:9px;top:50%;
  width:12px;height:12px;
  margin-top:-6px;
  border-radius:50%;
  background:#e3d3b2;
  box-shadow:inset 0 1px 2px rgba(60,40,10,.45);
}
.bc-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:0 0 7px 20px;
  border-bottom:1px solid #c9b58f;
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.16em;
  color:#7b6a50;
}
.borrowcard dl{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0 12px;
  margin:7px 0 0 20px;
}
.borrowcard dl div{display:block;padding:0}
.borrowcard dt{display:block;font-size:9.5px;color:#7b6a50;letter-spacing:.08em}
.borrowcard dd{margin:0;font-family:var(--mono);font-size:10.5px;color:#233c2e;white-space:nowrap}
.bc-note{
  margin:6px 0 0 20px;
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.06em;
  color:#8a7757;
}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:26px}
  .platefig{max-width:640px}
  .borrowcard dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
  .borrowcard dd{font-size:10px}
  .plate{flex-wrap:wrap;align-items:center}
  .headmeta{text-align:left}
  .headcta{margin-left:0}
  .stats{grid-template-columns:1fr}
  .spines{grid-template-columns:1fr 1fr}
  .notes{grid-template-columns:1fr}
  .figs{grid-template-columns:1fr}
  .catgrid{grid-template-columns:1fr}
  .footgrid{grid-template-columns:1fr}
  .lost{grid-template-columns:1fr}
  .lost .code{border-right:0;padding-right:0}
}

@media (max-width:640px){
  .wrap{width:calc(100% - 24px)}
  .deskhead{padding-top:16px}
  .sheet{padding:22px 16px 30px;margin-top:18px}
  .sheet::before{width:6px}
  .plate{gap:12px;padding-bottom:10px}
  .brandmark{width:44px;height:44px;font-size:25px}
  .brandname{font-size:21px}
  .brandjp{font-size:9.5px;letter-spacing:.3em}
  .headmeta{font-size:9.5px;width:auto;flex:1 1 auto}
  .tabrow{gap:2px;width:100%}
  .tab{flex:1 1 30%;justify-content:center;padding:7px 6px 8px;font-size:12px}
  .tab i{font-size:8px}
  .headcta{padding:8px 12px;font-size:12px;margin:2px 0 0 auto}
  .runhead{font-size:9px;letter-spacing:.08em}
  .hero{padding:22px 0 26px;gap:22px}
  h1{font-size:30px;line-height:1.35}
  .hero p.copy{font-size:14px;line-height:1.95}
  .platefig .mat{padding:8px}
  .platefig .mat::before,.platefig .mat::after{width:18px;height:18px}
  .partnerband{margin:0 -16px;padding:18px 16px 20px}
  .partnerhead{flex-direction:column;gap:2px}
  .partners{gap:7px}
  .partner{height:64px;min-height:64px;padding:5px 6px}
  .partner img{height:26px}
  .leafhead{flex-wrap:wrap;gap:6px 10px}
  .leafhead h2{font-size:20px}
  .leafhead .ruler{display:none}
  .stats{gap:10px}
  .spines{grid-template-columns:1fr}
  .spine{min-height:0}
  .spine .bar{padding:10px 0}
  .lrow{grid-template-columns:44px minmax(0,1fr);gap:10px}
  .lrow .lp{font-size:17px}
  .lhead{grid-template-columns:44px minmax(0,1fr);gap:10px}
  .pagehead{padding-top:20px}
  .meta-strip{font-size:9.5px}
  .qa summary{padding:12px 22px 12px 30px;font-size:13.5px}
  .qa .a{margin-left:30px;padding-right:0;font-size:13px}
  .deskfoot{margin-top:22px;padding-bottom:30px}
  .baseline{font-size:9px}
}

/* 伙伴 logo 尺寸（2026-10-22 按本站版式放大） */
.partner{height:84px;min-height:84px;padding:8px 10px}
.partner img{height:60px;width:auto;max-width:100%}
@media (max-width:640px){.partner{height:64px;min-height:64px;padding:6px 6px}.partner img{height:40px!important}}
