/*
 * HAKOBUNE MANGA 装丁の型（book.js の book.coverTheme）。本棚・作品の頁・読み手のどこでも読む（作品ごとの CSS より後）。
 * 型は「絵が届く前」も「届いた後」も同じ組み：題字（ロゴに差し替え可）・巻数の大きな数字・帯・レーベル・作者。
 * 大きさは表紙の幅（cqw）で決める。手で書いた CSS。
 */

/* ── hkb：『ハコブネ』——絵が無い時の型は「五分」の時計の文字盤（正式の装丁は下の「絵のある装丁」）。夜の紺の地に、5 分ぶんだけ琥珀色の弧。
   題は縦の明朝（題字のロゴに差し替え可）、巻数は琥珀色の明朝、帯は紙の色に朱の線。
   2026-10-30 Owner：「作者表記は未定」を装丁の主役にしない → 未定の題・作者は Review の札だけ（book.js reviewTags） ── */
.mg { --hk-dial: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-100 -100 200 200'%3E%3Cline x1='0.00' y1='-96.00' x2='0.00' y2='-86.00' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='10.03' y1='-95.47' x2='9.51' y2='-90.50' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='19.96' y1='-93.90' x2='18.92' y2='-89.01' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='29.67' y1='-91.30' x2='28.12' y2='-86.55' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='39.05' y1='-87.70' x2='37.01' y2='-83.13' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='48.00' y1='-83.14' x2='43.00' y2='-74.48' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='56.43' y1='-77.67' x2='53.49' y2='-73.62' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='64.24' y1='-71.34' x2='60.89' y2='-67.63' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='71.34' y1='-64.24' x2='67.63' y2='-60.89' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='77.67' y1='-56.43' x2='73.62' y2='-53.49' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='83.14' y1='-48.00' x2='74.48' y2='-43.00' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='87.70' y1='-39.05' x2='83.13' y2='-37.01' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='91.30' y1='-29.67' x2='86.55' y2='-28.12' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='93.90' y1='-19.96' x2='89.01' y2='-18.92' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='95.47' y1='-10.03' x2='90.50' y2='-9.51' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='96.00' y1='0.00' x2='86.00' y2='0.00' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='95.47' y1='10.03' x2='90.50' y2='9.51' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='93.90' y1='19.96' x2='89.01' y2='18.92' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='91.30' y1='29.67' x2='86.55' y2='28.12' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='87.70' y1='39.05' x2='83.13' y2='37.01' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='83.14' y1='48.00' x2='74.48' y2='43.00' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='77.67' y1='56.43' x2='73.62' y2='53.49' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='71.34' y1='64.24' x2='67.63' y2='60.89' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='64.24' y1='71.34' x2='60.89' y2='67.63' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='56.43' y1='77.67' x2='53.49' y2='73.62' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='48.00' y1='83.14' x2='43.00' y2='74.48' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='39.05' y1='87.70' x2='37.01' y2='83.13' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='29.67' y1='91.30' x2='28.12' y2='86.55' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='19.96' y1='93.90' x2='18.92' y2='89.01' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='10.03' y1='95.47' x2='9.51' y2='90.50' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='0.00' y1='96.00' x2='0.00' y2='86.00' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='-10.03' y1='95.47' x2='-9.51' y2='90.50' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-19.96' y1='93.90' x2='-18.92' y2='89.01' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-29.67' y1='91.30' x2='-28.12' y2='86.55' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-39.05' y1='87.70' x2='-37.01' y2='83.13' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-48.00' y1='83.14' x2='-43.00' y2='74.48' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='-56.43' y1='77.67' x2='-53.49' y2='73.62' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-64.24' y1='71.34' x2='-60.89' y2='67.63' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-71.34' y1='64.24' x2='-67.63' y2='60.89' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-77.67' y1='56.43' x2='-73.62' y2='53.49' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-83.14' y1='48.00' x2='-74.48' y2='43.00' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='-87.70' y1='39.05' x2='-83.13' y2='37.01' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-91.30' y1='29.67' x2='-86.55' y2='28.12' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-93.90' y1='19.96' x2='-89.01' y2='18.92' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-95.47' y1='10.03' x2='-90.50' y2='9.51' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-96.00' y1='0.00' x2='-86.00' y2='0.00' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='-95.47' y1='-10.03' x2='-90.50' y2='-9.51' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-93.90' y1='-19.96' x2='-89.01' y2='-18.92' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-91.30' y1='-29.67' x2='-86.55' y2='-28.12' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-87.70' y1='-39.05' x2='-83.13' y2='-37.01' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-83.14' y1='-48.00' x2='-74.48' y2='-43.00' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='-77.67' y1='-56.43' x2='-73.62' y2='-53.49' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-71.34' y1='-64.24' x2='-67.63' y2='-60.89' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-64.24' y1='-71.34' x2='-60.89' y2='-67.63' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-56.43' y1='-77.67' x2='-53.49' y2='-73.62' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-48.00' y1='-83.14' x2='-43.00' y2='-74.48' stroke='%23f3eee4' stroke-opacity='0.55' stroke-width='1.4'/%3E%3Cline x1='-39.05' y1='-87.70' x2='-37.01' y2='-83.13' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-29.67' y1='-91.30' x2='-28.12' y2='-86.55' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-19.96' y1='-93.90' x2='-18.92' y2='-89.01' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Cline x1='-10.03' y1='-95.47' x2='-9.51' y2='-90.50' stroke='%23f3eee4' stroke-opacity='0.32' stroke-width='0.6'/%3E%3Ccircle r='99' fill='none' stroke='%23f3eee4' stroke-opacity='.18' stroke-width='.5'/%3E%3Cpath d='M0.00 -78.00 A78 78 0 0 1 39.00 -67.55' fill='none' stroke='%23f0b860' stroke-width='3.2' stroke-linecap='round'/%3E%3Cline x1='0' y1='0' x2='35.00' y2='-60.62' stroke='%23f0b860' stroke-opacity='.8' stroke-width='1'/%3E%3Ccircle r='2' fill='%23f0b860'/%3E%3C/svg%3E"); }
.mg .mb-cover.theme-hkb, .mg .mb-backcover.theme-hkb {
  --hk-night: #0d1823; --hk-deep: #15283a; --hk-light: #f0b860; --hk-paper: #f3eee4; --hk-red: #b4371f;
  color: var(--hk-paper);
  background:
    radial-gradient(70% 45% at 22% 66%, rgb(240 184 96 / .16), transparent 70%),
    repeating-linear-gradient(90deg, rgb(255 255 255 / .016) 0 .25cqw, transparent .25cqw 1.4cqw),
    linear-gradient(168deg, var(--hk-deep) 0%, var(--hk-night) 55%, #08111a 100%);
}
.mg .mb-cover.theme-hkb.has-art { background: var(--hk-night); }
/* 文字盤：左下から大きくはみ出す（表紙の幅の 1.25 倍）。絵が届いたら消す */
.mg .mb-cover.theme-hkb:not(.has-art) .mb-veil { background: var(--hk-dial) no-repeat; background-size: 125cqw 125cqw; background-position: -38cqw 52cqw; }
.mg .mb-cover.theme-hkb:not(.has-art) .mb-veil::after { content: ""; position: absolute; top: 8cqw; bottom: auto; height: 74cqw; right: 31cqw; width: .4cqw; background: var(--hk-red); }
.mg .mb-cover.theme-hkb .mb-label-rule { background: var(--hk-light); }
.mg .mb-cover.theme-hkb .mb-cover-title { right: 9cqw; top: 8cqw; gap: 2.6cqw; }
.mg .mb-cover.theme-hkb .mb-cover-name { font: 800 23cqw/1 var(--f-mincho); letter-spacing: .02em; text-shadow: 0 .6cqw 3cqw rgb(0 0 0 / .45); }
.mg .mb-cover.theme-hkb .mb-cover-name.is-logo { display: block; width: 26cqw; }
.mg .mb-cover.theme-hkb .mb-cover-logo { display: block; width: 100%; height: auto; }
.mg .mb-cover.theme-hkb .mb-cover-sub { font-size: 2.6cqw; letter-spacing: .5em; opacity: .7; }
/* 巻数：レーベルの下に琥珀色の明朝（題の次に強い字） */
.mg .mb-cover.theme-hkb .mb-cover-no { position: absolute; left: 7cqw; top: 21cqw; font: 800 19cqw/1 var(--f-mincho); color: var(--hk-light); letter-spacing: -.02em; pointer-events: none; text-shadow: 0 .5cqw 2.4cqw rgb(0 0 0 / .4); }
.mg .mb-cover.theme-hkb .mb-cover-foot { bottom: 23cqw; left: 7cqw; right: 7cqw; border-top-color: rgb(243 238 228 / .45); }
.mg .mb-cover.theme-hkb .mb-cover-vol { font-size: 3cqw; letter-spacing: .3em; }
.mg .mb-cover.theme-hkb .mb-cover-author b { font-size: 5.2cqw; }
/* 帯：下の 17%。紙の色に朱の線。本の顔の一部として組む */
.mg .mb-cover.theme-hkb .mb-cover-obi { position: absolute; left: 0; right: 0; bottom: 0; height: 17cqw; display: flex; flex-direction: column; justify-content: center; gap: 1.4cqw;
  padding: 0 7cqw; background: var(--hk-paper); color: #1b232b; box-shadow: 0 -.4cqw 1.2cqw rgb(0 0 0 / .25); }
.mg .mb-cover.theme-hkb .mb-cover-obi::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: .8cqw; background: var(--hk-red); }
.mg .mb-cover.theme-hkb .mb-obi-lead { font: 800 4.8cqw/1.3 var(--f-mincho); letter-spacing: .03em; }
.mg .mb-cover.theme-hkb .mb-obi-sub { font: 700 2.5cqw/1.3 var(--f-ui); letter-spacing: .14em; color: var(--hk-red); }

/* Review の札（未定の題・作者・届いていない絵）：小さく、本の顔の外の扱い */
.mg .mb-review-tags { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: .6cqw !important; padding: 1.2cqw 1.8cqw !important;
  background: rgb(10 14 18 / .78) !important; color: #ffd98a !important; border-radius: .8cqw; font: 700 2.1cqw/1.35 var(--f-ui) !important; letter-spacing: .06em; }
.mg .mb-review-tags::before { display: none !important; }
.mg .mb-review-tags .mb-review-note { font-weight: 500; opacity: .75; }
.mg .mb-cover .mb-review-tags { left: 7cqw !important; right: auto !important; top: auto !important; bottom: 34cqw !important; transform: none !important; }

/* 背：紺の地に縦の題、下に琥珀色の巻数 */
.mg .mb-spine.theme-hkb { background: linear-gradient(180deg, var(--mb-ink, #1e2f3d), #0b141c); color: #f3eee4; }
.mg .mb-spine.theme-hkb .mb-spine-vol { font-size: 5cqh; color: #f0b860; }

/* 裏表紙：同じ夜の地に文字盤の一部。紹介文は紙の色の面に */
.mg .mb-backcover.theme-hkb:not(.has-art) .mb-back-art { background: var(--hk-dial) no-repeat; background-size: 110cqw 110cqw; background-position: 42cqw -46cqw; }
.mg .mb-backcover.theme-hkb .mb-back-art::after { background: none; }
.mg .mb-backcover.theme-hkb .mb-back-in { top: 44%; left: 7cqw; right: 7cqw; padding: 5.5cqw 6cqw 5cqw; background: var(--hk-paper); color: #1b232b; border-top: .8cqw solid var(--hk-red); }
.mg .mb-backcover.theme-hkb .mb-back-blurb { font-size: 3.4cqw; line-height: 1.95; text-wrap: pretty; }
.mg .mb-backcover.theme-hkb .mb-back-foot { border-top-color: #1b232b; }
.mg .mb-backcover.theme-hkb .mb-label-rule { background: var(--hk-red); }
.mg .mb-backcover.theme-hkb .mb-back-contents { color: var(--hk-red); font-family: var(--f-ui); font-size: 2.2cqw; letter-spacing: .12em; }

/* 絵のある装丁（Owner 2026-11-02：表紙 A、題『ハコブネ』）。配置だけ王道の単行本に：横一杯の題字を上に、巻数は右下、下にレーベルと作者。
   字は飾らない（色・傾き・影の重ねは Owner が不採用）。白い太字が絵になじむよう、上下を少し暗くする。題字は Owner が選んだ描き文字のロゴ */
.mg .mb-cover.theme-hkb.has-art .mb-veil { background: linear-gradient(180deg, rgb(8 17 26 / .74) 0%, rgb(8 17 26 / .34) 15%, transparent 27%), linear-gradient(0deg, rgb(8 17 26 / .72) 0%, transparent 14%), radial-gradient(38% 20% at 100% 84%, rgb(8 17 26 / .66) 0%, transparent 100%); }
/* 背の絵は下の方に顔がある（上 70% は無地）ので、枠は下に合わせる */
.mg .mb-closed > .mb-spine.theme-hkb .mb-spine-art img { object-position: 50% 100%; }
.mg .mb-cover.theme-hkb.has-art .mb-cover-obi, .mg .mb-cover.theme-hkb.has-art .mb-cover-vol { display: none; }
.mg .mb-cover.theme-hkb.has-art .mb-cover-title { left: 5cqw; right: 5cqw; top: 3.4cqw; writing-mode: horizontal-tb; display: block; text-shadow: none; }
.mg .mb-cover.theme-hkb.has-art .mb-cover-name.is-logo { display: block; width: 100%; }
.mg .mb-cover.theme-hkb.has-art .mb-cover-logo { display: block; width: 100%; height: auto; }
.mg .mb-cover.theme-hkb.has-art .mb-cover-no { left: auto; right: 5cqw; top: auto; bottom: 13.6cqw; width: auto; height: auto; display: block; font: 700 15cqw/1 var(--f-letter); letter-spacing: 0; color: #fff; background: none; border-radius: 0; box-shadow: none; }
.mg .mb-cover.theme-hkb.has-art .mb-cover-label { left: 5cqw; right: auto; top: auto; bottom: 7cqw; color: #fff; }
.mg .mb-cover.theme-hkb.has-art .mb-cover-label .mb-label-rule { background: #fff; }
.mg .mb-cover.theme-hkb.has-art .mb-cover-foot { left: auto; right: 5cqw; bottom: 6.6cqw; z-index: 2; border: 0; padding: 0; align-items: center; color: #fff; }
.mg .mb-cover.theme-hkb.has-art .mb-cover-author { gap: 1.4cqw; align-items: center; }
.mg .mb-cover.theme-hkb.has-art .mb-cover-author small { font: 700 2.8cqw/1 var(--f-letter); }
.mg .mb-cover.theme-hkb.has-art .mb-cover-author b { font: 700 6cqw/1 var(--f-letter); }
/* Review の札は絵を隠さない（作者の表記の未定は Review の欄と作品の頁に出ている） */
.mg .mb-cover.theme-hkb.has-art .mb-review-tags, .mg .bk-hkb .ed-title.has-art .mb-review-tags { display: none !important; }
/* 裏表紙：終電の窓の絵の上に題、下に紹介文 */
.mg .mb-backcover.theme-hkb.has-art .mb-back-in { top: auto; bottom: 6cqw; left: 7cqw; right: 7cqw; padding: 4.6cqw 5.2cqw 4cqw; background: rgb(243 238 228 / .96); }
/* 本扉：裏の通路の絵。題は通路の暗い天井に白く */
.mg .bk-hkb .ed-title.has-art { background: #0d1823; color: #f6f1e7; }
.mg .bk-hkb .ed-title.has-art .tp-in { display: block; padding: 0; background: linear-gradient(180deg, rgb(8 17 26 / .78) 0%, rgb(8 17 26 / .4) 16%, transparent 27%), linear-gradient(0deg, rgb(8 17 26 / .72) 0%, transparent 13%); }
.mg .bk-hkb .ed-title.has-art .tp-label { position: absolute; left: 6cqw; top: auto; bottom: 4.5cqw; color: #f3eee4; }
.mg .bk-hkb .ed-title.has-art .tp-name { position: absolute; left: 6cqw; top: 5cqw; width: 56cqw; height: 14cqw; margin: 0; writing-mode: horizontal-tb; font-size: 0; color: transparent; text-shadow: none; background: url("/manga/hakobu/art/book/HKB-LOGO-WHITE.svg") left center / contain no-repeat; }
.mg .bk-hkb .ed-title.has-art .tp-meta { position: absolute; left: auto; right: 6cqw; top: auto; bottom: 4.5cqw; writing-mode: horizontal-tb; margin: 0; }
.mg .bk-hkb .ed-title.has-art .tp-vol { writing-mode: horizontal-tb; font-size: 4.4cqw; color: #fff; text-shadow: 0 .2cqw 1cqw rgb(8 17 26 / .9); }

/* ── 読み手の前付・後付（.bk-hkb）：本扉・目次・本編のおわり・奥付・作者（未定の札）を同じ型で ── */
/* 本扉：紙の色に文字盤の薄い刷り。題は中央に縦の明朝、巻数は琥珀、レーベルは上 */
.mg .bk-hkb .ed-title { background: #f6f1e7; color: #17202a; }
.mg .bk-hkb .ed-title:not(.has-art)::before { content: ""; position: absolute; inset: 0; background: var(--hk-dial) no-repeat; background-size: 120cqw 120cqw; background-position: 50% 70%;
  filter: invert(1) brightness(.35); opacity: .22; pointer-events: none; }
.mg .bk-hkb .ed-title .tp-in { grid-template-rows: auto 1fr auto; padding: 10cqw 8cqw 11cqw; }
.mg .bk-hkb .ed-title .tp-name { font-size: 13cqw; letter-spacing: .14em; color: #17202a; }
.mg .bk-hkb .ed-title .tp-vol { margin: 0; font: 800 5cqw/1 var(--f-mincho); letter-spacing: .3em; color: #b4371f; }
.mg .bk-hkb .ed-title .tp-by:empty { display: none; }
.mg .bk-hkb .ed-title .mb-review-tags { position: absolute; left: 7cqw; bottom: 5cqw; top: auto; right: auto; transform: none; }
/* 目次：本の目次の組み。話数・題・始まりの頁を点線でつなぐ。制作中は淡く小さく */
.mg .bk-hkb .ed-toc .ed-h { font: 800 calc(7cqw * var(--k, 1))/1 var(--f-mincho); letter-spacing: .3em; }
.mg .bk-hkb .toc { border-top: .35cqw solid var(--ed-ink); }
.mg .bk-hkb .toc-row { grid-template-columns: 1fr auto; padding: 2.4cqw 0; border-bottom: .15cqw solid var(--ed-rule); }
.mg .bk-hkb .toc-thumb { display: none; }
.mg .bk-hkb .toc-txt { display: flex; align-items: baseline; gap: 2cqw; min-width: 0; }
.mg .bk-hkb .toc-txt::after { content: ""; flex: 1; border-bottom: .3cqw dotted #b9bfc4; transform: translateY(-.6cqw); }
.mg .bk-hkb .toc-no { order: -1; color: #b4371f; letter-spacing: .14em; }
.mg .bk-hkb .toc-title { font-size: calc(4.6cqw * var(--k, 1)); }
.mg .bk-hkb .toc-sub { display: none; }
.mg .bk-hkb .toc-page { font: 700 calc(3cqw * var(--k, 1))/1 var(--f-mincho); color: var(--ed-ink); }
.mg .bk-hkb .toc-wip { opacity: .42; }
.mg .bk-hkb .toc-wip .toc-title { font-size: calc(3.6cqw * var(--k, 1)); }
.mg .bk-hkb .toc-wip .toc-page { font: 500 calc(2.2cqw * var(--k, 1))/1 var(--f-ui); letter-spacing: .12em; }
/* 本編のおわり：紙の地に「つづく」。収録の話と、つづきの案内（空の紺の頁にしない） */
.mg .bk-hkb .ed-final { background: #f6f1e7; color: #17202a; }
.mg .bk-hkb .ed-final::before { content: ""; position: absolute; inset: 0; background: var(--hk-dial) no-repeat; background-size: 95cqw 95cqw; background-position: -30cqw 105%;
  filter: invert(1) brightness(.35); opacity: .16; pointer-events: none; }
.mg .bk-hkb .ed-final::after { background: #b4371f; }
.mg .bk-hkb .fin-small { color: #b4371f; }
.mg .bk-hkb .fin-sub, .mg .bk-hkb .fin-next-a span { color: #59636c; }
.mg .bk-hkb .fin-chs { border-top-color: #17202a; }
.mg .bk-hkb .fin-chs li { border-bottom-color: #d9d3c6; }
.mg .bk-hkb .fin-chs span, .mg .bk-hkb .fin-next-k { color: #b4371f; }
.mg .bk-hkb .fin-next-a { border-color: #17202a; }
.mg .bk-hkb .fin-next-a:hover { border-color: #b4371f; }
/* 奥付：中央にレーベル、下に書名と項目（作者が未定の間は、作者の行を出さない） */
.mg .bk-hkb .ed-colo { background: #f6f1e7; }
.mg .bk-hkb .colo { border-top-color: #17202a; }
.mg .bk-hkb .au-pending { margin: 4cqw 0 0; padding: 3cqw; border: .25cqw dashed #b9a77f; color: #6b5a2e; font: 700 calc(2.6cqw * var(--k, 1))/1.7 var(--f-ui); }

/* ── 『ハコブネ』の前付・後付：小説の組みをやめる（Owner 2026-11-02「硬い、小説に見える」）。
   明朝と時計の文字盤を外し、太いゴシックと本編の絵で組む。色は黒と白、差し色は朱だけ。字を飾らない。絵は承認済みの頁から切り出す ── */
.mg .bk-hkb .ed { --f-mincho: var(--f-letter); --ed-ink: #0b0f14; }
.mg .mb-backcover.theme-hkb { --f-mincho: var(--f-letter); }
.mg .bk-hkb .ed-head { border-bottom: .4cqw solid #0b0f14; font-weight: 700; color: #0b0f14; }
.mg .bk-hkb .ed-inside::before, .mg .bk-hkb .ed-inside::after, .mg .bk-hkb .ed-final::after { display: none; }
.mg .bk-hkb .ed-inside h1.ed-title { margin: 0 0 2%; padding: 0; background: none; font: 700 calc(13cqw * var(--k, 1))/1.1 var(--f-letter); letter-spacing: .02em; color: #0b0f14; }
.mg .bk-hkb .ed-inside h1.ed-title::before { display: none; }
.mg .bk-hkb .ed-inside .ed-sub:empty { display: none; }
.mg .bk-hkb .ed-lead { border-left: .9cqw solid #c9261b; padding-left: 3cqw; font: 700 calc(5cqw * var(--k, 1))/1.35 var(--f-letter); color: #0b0f14; }
.mg .bk-hkb .ed-prose p { font-family: var(--f-letter); font-weight: 500; }
.mg .bk-hkb .ed-byline { border-top: .4cqw solid #0b0f14; }
.mg .bk-hkb .ed-byline b { font-weight: 700; }
.mg .bk-hkb .ed-toc .ed-h { font-weight: 700; letter-spacing: .2em; }
.mg .bk-hkb .toc-title { font-weight: 700; }
.mg .bk-hkb .toc-row:has(.toc-thumb img) { grid-template-columns: 34cqw 1fr auto; align-items: center; }
.mg .bk-hkb .toc-thumb:has(img) { display: block; aspect-ratio: 2.2 / 1; overflow: hidden; }
.mg .bk-hkb .toc-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mg .bk-hkb .toc-txt { flex-direction: column; align-items: flex-start; gap: .8cqw; }
.mg .bk-hkb .toc-txt::after { display: none; }
.mg .bk-hkb .toc-back .toc-row { grid-template-columns: 1fr; }
.mg .bk-hkb .toc-back .toc-title { font-size: calc(3.8cqw * var(--k, 1)); }
.mg .bk-hkb .ed-colo { background: #fff; }
.mg .bk-hkb .colo-title { font: 700 calc(11cqw * var(--k, 1))/1.1 var(--f-letter); color: #0b0f14; }
/* 話のおわり：最後のコマの絵に「おわり」 */
.mg .bk-hkb .ed-chend { background: #fff; }
.mg .bk-hkb .chend-art { position: relative; height: 62cqw; padding: 0; background: #0b0f14 url("/manga/hakobu/art/book/HKB-EP01-END-WATARU.jpg") center / cover no-repeat; }
.mg .bk-hkb .chend-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(8 17 26 / .9) 0%, rgb(8 17 26 / .7) 26%, transparent 58%); }
.mg .bk-hkb .chend-title { position: absolute; z-index: 1; left: 6cqw; bottom: 4cqw; top: auto; right: auto; height: auto; padding: 0; display: flex; flex-direction: column; gap: .8cqw; background: none; color: #fff; }
.mg .bk-hkb .chend-no { color: #fff; font-weight: 700; }
.mg .bk-hkb .chend-name { font-weight: 700; color: #fff; }
.mg .bk-hkb .chend-word { position: absolute; z-index: 1; right: 6cqw; bottom: 4cqw; left: auto; top: auto; margin: 0; writing-mode: horizontal-tb; font: 700 12cqw/1 var(--f-letter); letter-spacing: .06em; color: #fff; }
.mg .bk-hkb .chend-theme { border-left: 0; padding: 0; }
.mg .bk-hkb .chend-theme span { color: #c9261b; letter-spacing: .1em; }
.mg .bk-hkb .chend-theme b { font-weight: 700; }
.mg .bk-hkb .chend-hp > * { border-radius: 0; background: #f3f3f1; color: #0b0f14; }
.mg .bk-hkb .chend-hp, .mg .bk-hkb .chend-hp * { font-family: var(--f-letter); }
.mg .bk-hkb .chend-hp a { color: #c9261b; }
/* 巻のおわり：最後の美保の絵に「つづく」 */
.mg .bk-hkb .ed-final { display: block; background: #0b0f14; color: #fff; }
.mg .bk-hkb .ed-final::before { inset: 0 0 auto 0; height: 66cqw; opacity: 1; filter: none; background: url("/manga/hakobu/art/book/HKB-EP01-END-MIHO.jpg") center / cover no-repeat; }
.mg .bk-hkb .fin-word, .mg .bk-hkb .fin-side { position: static; display: block; writing-mode: horizontal-tb; }
.mg .bk-hkb .fin-big { position: absolute; left: 6cqw; top: 72cqw; margin: 0; writing-mode: horizontal-tb; font: 700 21cqw/1 var(--f-letter); letter-spacing: .06em; color: #fff; }
.mg .bk-hkb .fin-small { position: absolute; left: 6.6cqw; top: 97cqw; margin: 0; writing-mode: horizontal-tb; font: 700 4.6cqw/1 var(--f-letter); letter-spacing: .12em; color: #fff; }
.mg .bk-hkb .fin-work, .mg .bk-hkb .fin-sub, .mg .bk-hkb .fin-chs { display: none; }
.mg .bk-hkb .fin-next { position: absolute; left: 6cqw; right: 6cqw; bottom: 8cqw; margin: 0; }
.mg .bk-hkb .fin-next-k { color: #fff; font-weight: 700; }
.mg .bk-hkb .fin-next-a { display: block; padding: 3cqw 4cqw; border: .3cqw solid #fff; border-radius: 0; background: none; color: #fff; text-decoration: none; }
.mg .bk-hkb .fin-next-a:hover { border-color: #c9261b; }
.mg .bk-hkb .fin-next-a b { font: 700 5cqw/1.2 var(--f-letter); color: #fff; }
.mg .bk-hkb .fin-next-a span { display: block; margin-top: 1cqw; color: #d8dade; font-family: var(--f-letter); font-weight: 500; }
/* 作品の頁の題も太いゴシック */
.mg .hero.theme-hkb h1 { font-family: var(--f-letter); font-weight: 700; letter-spacing: .02em; }
