/* BOMB の見た目(1ファイル)。2026-11-05 に bomb.css・bomb-site.css・bomb-motion.css をこの順で1つにまとめ、使っていない指定を消した。#185 */

/* ==== 土台(デザイン案 G)==== */
/* BOMB 新デザイン(案 G:攻略ノート+章ごとの色+作業台のレシピ)。design-mockups/g-top.html から書き出し。#184 */

:root{--paper:#f5f1e8;--paper2:#fffdf8;--ink:#23201b;--ink2:#6b6458;--line:#d9d1c1;--tile:#fffdf8}
:root[data-theme="dark"]{--paper:#1b1d1f;--paper2:#232628;--ink:#ece6d8;--ink2:#a49c8c;--line:#3a3d40;--tile:#ece6d8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#1b1d1f;--paper2:#232628;--ink:#ece6d8;--ink2:#a49c8c;--line:#3a3d40;--tile:#ece6d8}}
.ch-block{--ch:#4f8a3a}.ch-item{--ch:#a0703a}.ch-mob{--ch:#b5432f}.ch-biome{--ch:#3d7fb0}.ch-adv{--ch:#b8902a}.ch-cmd{--ch:#5d6470}
:root[data-theme="dark"] .ch-block{--ch:#8cc46f}:root[data-theme="dark"] .ch-item{--ch:#d9a466}:root[data-theme="dark"] .ch-mob{--ch:#e9806c}:root[data-theme="dark"] .ch-biome{--ch:#7fb8e0}:root[data-theme="dark"] .ch-adv{--ch:#e8c35a}:root[data-theme="dark"] .ch-cmd{--ch:#a7afbb}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ch-block{--ch:#8cc46f}:root:not([data-theme="light"]) .ch-item{--ch:#d9a466}:root:not([data-theme="light"]) .ch-mob{--ch:#e9806c}:root:not([data-theme="light"]) .ch-biome{--ch:#7fb8e0}:root:not([data-theme="light"]) .ch-adv{--ch:#e8c35a}:root:not([data-theme="light"]) .ch-cmd{--ch:#a7afbb}}
*{box-sizing:border-box} img{max-width:100%;display:block} a{color:inherit;text-decoration:none}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Zen Kaku Gothic New",sans-serif;
 /* 背景は無地の紙にごく細かいざらつき(2026-11-07 オーナー選択「案B」。方眼はやめた) */
 background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35  0 0 0 0 .3  0 0 0 0 .2  0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.site{position:sticky;top:0;z-index:5;background:var(--paper2);border-bottom:2px solid var(--ink)}
.site .wrap{display:flex;align-items:center;gap:24px;min-height:64px} .brand{display:flex;flex-direction:column;line-height:1.1}
.logo{font-family:"DotGothic16";font-size:26px;letter-spacing:.08em} .tag{font-size:11px;color:var(--ink2)}
.site nav{display:flex;gap:4px;flex:1;flex-wrap:wrap} .site nav a{padding:8px 10px;font-size:14px;border-bottom:3px solid var(--ch)}
.entry{padding:40px 0 64px;border-bottom:2px dashed var(--ink2)}
.entry .wrap{display:grid;grid-template-columns:1fr 132px;gap:28px}
.chapter-band{display:flex;justify-content:space-between;align-items:center;background:var(--ch);color:#fff;padding:8px 16px;font-family:"DotGothic16";font-size:15px;position:relative}
:root[data-theme="dark"] .chapter-band{color:#16181a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chapter-band{color:#16181a}}
.chapter-band::after{content:"";position:absolute;right:-1px;bottom:-12px;width:12px;height:12px;background:var(--ch);box-shadow:-12px 12px 0 var(--ch)}
.crumb{font-size:13px;color:var(--ink2);margin:20px 0 10px}
h1{font-family:"Zen Old Mincho",serif;font-size:34px;margin:0 0 20px}
/* 画面には出さず、検索エンジンと読み上げにだけ伝える */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.spec{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}
.specimen{margin:0;aspect-ratio:1/1;display:grid;place-items:center;background:var(--tile);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ch);overflow:hidden;position:relative}
.specimen img{width:80%;transform:scale(1.35);mix-blend-mode:multiply}
.specimen::before,.specimen::after{content:"";position:absolute;width:10px;height:10px;background:var(--ch)} .specimen::before{left:8px;top:8px} .specimen::after{right:8px;bottom:8px}
.ids{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px} .ids td{border:1.5px solid var(--ink);background:var(--paper2);padding:8px 10px} .ids .k{font-family:"DotGothic16";width:56px;text-align:center;color:var(--ch)}
.box{background:var(--paper2);border:1.5px solid var(--ink);padding:16px 20px;margin-bottom:16px}
.box h3{margin:0 0 8px;font-family:"DotGothic16";font-size:15px;color:var(--ch)} .box ul{margin:0;padding-left:1.1em;line-height:1.9}
.memo{border-left:6px solid var(--ch)}
.note{margin:8px 0 0;font-size:12px;color:var(--ink2)}
.tabs{display:flex;flex-direction:column;gap:6px;position:sticky;top:96px;align-self:start}
.tab{padding:10px 12px;font-size:13px;background:var(--paper2);border:1.5px solid var(--ink);border-left:8px solid var(--ch);color:var(--ink2)}
.tab.on{background:var(--ch);color:#fff;transform:translateX(-10px);font-weight:700}
:root[data-theme="dark"] .tab.on{color:#16181a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tab.on{color:#16181a}}
footer{padding:40px 0;text-align:center;font-size:13px;color:var(--ink2);background:var(--paper2);border-top:2px solid var(--ink)}
@media (max-width:820px){
 .site nav{display:none} .entry .wrap{grid-template-columns:1fr} .spec{grid-template-columns:1fr}
 .tabs{position:static;flex-direction:row;overflow-x:auto;order:-1} .tab{white-space:nowrap} .tab.on{transform:translateY(-4px)}
}

.page{padding:40px 0 72px}
.hero2{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:24px 0 8px}
.eyebrow{font-family:"DotGothic16";color:var(--ch);margin:0}
.hero2 h1{font-size:46px;line-height:1.3;margin:8px 0 16px}
.lead{color:var(--ink2);line-height:1.9;margin:0}
.cover{position:relative;height:380px}
.cover .sheet{position:absolute;width:250px;aspect-ratio:1/1;background:var(--tile);border:2px solid var(--ink);display:grid;place-items:center;overflow:hidden;box-shadow:6px 6px 0 var(--ch)}
.cover .sheet img{width:80%;transform:scale(1.35);mix-blend-mode:multiply}
.cover .s1{left:0;top:60px;transform:rotate(-6deg)} .cover .s2{left:150px;top:0;transform:rotate(3deg);z-index:2} .cover .s3{left:280px;top:110px;transform:rotate(-2deg)}
.cover .sheet .lbl{position:absolute;left:8px;bottom:6px;font-family:"DotGothic16";font-size:12px;color:#23201b}
.sec{display:flex;align-items:baseline;gap:12px;margin:64px 0 20px} .sec h2{font-family:"Zen Old Mincho",serif;font-size:22px;margin:0} .sec span{font-family:"DotGothic16";color:var(--ink2);font-size:13px}
.chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.chapter{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;background:var(--paper2);border:1.5px solid var(--ink);border-left:12px solid var(--ch);padding:14px 16px;position:relative;transition:transform .15s}
.chapter:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ch)}
.chapter .ico{width:96px;height:96px;background:var(--tile);display:grid;place-items:center;overflow:hidden;border:1.5px solid var(--ink)}
.chapter .ico img{width:100%;transform:scale(1.7);mix-blend-mode:multiply}
.chapter b{font-family:"Zen Old Mincho",serif;font-size:18px;display:block} .chapter small{font-family:"DotGothic16";color:var(--ch);font-size:13px}
.chapter p{margin:4px 0 0;font-size:13px;color:var(--ink2);line-height:1.6}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.c{background:var(--paper2);border:1.5px solid var(--ink);display:flex;flex-direction:column;transition:transform .15s}
.c:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ch)}
.c .bar{background:var(--ch);color:#fff;font-family:"DotGothic16";font-size:12px;padding:4px 10px;display:flex;justify-content:space-between}
:root[data-theme="dark"] .c .bar{color:#16181a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .c .bar{color:#16181a}}
.c figure{margin:0;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;background:var(--tile);border-bottom:1px dashed var(--line)}
.c figure img{width:78%;transform:scale(1.45);mix-blend-mode:multiply}
.c b{padding:10px 12px 12px;font-size:15px}
.c.todo figure{background:repeating-linear-gradient(45deg,#f3eee3 0 10px,#e6dfcf 10px 20px)}
.c.todo figure span{font-family:"DotGothic16";font-size:12px;color:#6b6458;background:var(--tile);padding:4px 8px;border:1px dashed #6b6458}
.listhead{border:2px solid var(--ink);background:var(--paper2)}
.listhead .chapter-band{font-size:16px}
.listhead .inner{display:grid;grid-template-columns:1fr auto;gap:24px;padding:20px 24px;align-items:end}
.listhead h1{margin:0 0 6px} .listhead p{margin:0;color:var(--ink2);line-height:1.8}
.stat{font-family:"DotGothic16";text-align:right} .stat b{display:block;font-size:40px;color:var(--ch);line-height:1}
.tools{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 16px;align-items:center}
.chip{padding:6px 12px;border:1.5px solid var(--ink);background:var(--paper2);font-size:13px}
.chip.on{background:var(--ch);color:#fff;border-color:var(--ch)}
:root[data-theme="dark"] .chip.on{color:#16181a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chip.on{color:#16181a}}
.find{flex:1;min-width:200px;padding:8px 12px;border:1.5px solid var(--ink);background:var(--paper2);color:var(--ink2);font-size:13px}
.hz{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px} .hz .tab{border-left-width:8px} .hz .tab.on{transform:none} /* 横並びでは選んだ章を左へずらさない(ずらすと見出しの箱と左端がそろわない) */
.pager{display:flex;gap:6px;justify-content:center;margin-top:32px;font-family:"DotGothic16"} .pager a{padding:8px 14px;border:1.5px solid var(--ink);background:var(--paper2)} .pager a.on{background:var(--ink);color:var(--paper2)}
@media (max-width:820px){
 .hero2{grid-template-columns:1fr} .hero2 h1{font-size:34px} .cover{height:300px} .cover .sheet{width:180px} .cover .s2{left:100px} .cover .s3{left:190px;top:100px}
 .chapters{grid-template-columns:1fr} .cards{grid-template-columns:repeat(2,1fr)} .listhead .inner{grid-template-columns:1fr} .stat{text-align:left}
}

/* ==== 本文まわり ==== */
/* 本文まわり(図鑑以外の記事・関連カード・表・カラム)。bomb.css の上に重ねる。#184 */
.date{font-family:"DotGothic16";font-size:13px;color:var(--ink2);margin:-12px 0 20px}
.prose{margin-top:28px;line-height:1.95}
.prose h2{font-family:"Zen Old Mincho",serif;font-size:22px;margin:44px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--ch)}
.prose h3{font-size:19px;margin:32px 0 12px;padding-left:12px;border-left:6px solid var(--ch)}
.prose p{margin:0 0 1.1em} .prose a{color:var(--ch);text-decoration:underline;text-underline-offset:3px}
.prose .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:20px 0}
.wp-table{margin:16px 0;overflow-x:auto} .wp-table table{border-collapse:collapse;width:100%;background:var(--paper2)}
.wp-table td{border:1.5px solid var(--ink);padding:8px 10px;text-align:center;vertical-align:middle}
.wp-table td img{width:120px;margin:4px auto;mix-blend-mode:multiply}
.wp-image{margin:20px 0;text-align:center} .wp-image img{margin:0 auto;max-width:520px;width:100%}
.rel-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:20px 0}
/* 記事の下の「関連するページ」は4本を横一列に(スマホは2列) */
.rel-cards.four{grid-template-columns:repeat(4,1fr)} @media (max-width:820px){.rel-cards.four{grid-template-columns:repeat(2,1fr);gap:8px} .rel-cards.four .rel-card{gap:8px;padding:8px} .rel-cards.four .ico{width:40px;height:40px} .rel-cards.four b{font-size:13px}}
.rel-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--paper2);border:1.5px solid var(--ink);border-left:8px solid var(--ch);color:var(--ink)!important;text-decoration:none!important}
.rel-card .ico{width:56px;height:56px;flex:none;background:var(--tile);display:grid;place-items:center;overflow:hidden}
.rel-card .ico img{width:100%;transform:scale(1.5);mix-blend-mode:multiply} .rel-card b{font-size:14px}
.rel-card:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ch)}
.specimen.todo{background:repeating-linear-gradient(45deg,#f3eee3 0 10px,#e6dfcf 10px 20px)}
.specimen.todo span{font-family:"DotGothic16";font-size:13px;color:#6b6458;background:#fffdf8;padding:4px 10px;border:1px dashed #6b6458}
.note{color:var(--ink2);font-size:13px}
.ch-enchant{--ch:#7b4fb0} .ch-entity{--ch:#2f8c86} .ch-circuit{--ch:#c0392b} .ch-note{--ch:#6b6458}
:root[data-theme="dark"] .ch-enchant{--ch:#b896e6} :root[data-theme="dark"] .ch-entity{--ch:#6fc8c0} :root[data-theme="dark"] .ch-circuit{--ch:#ee8a7c} :root[data-theme="dark"] .ch-note{--ch:#b8b0a2}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ch-enchant{--ch:#b896e6}:root:not([data-theme="light"]) .ch-entity{--ch:#6fc8c0}:root:not([data-theme="light"]) .ch-circuit{--ch:#ee8a7c}:root:not([data-theme="light"]) .ch-note{--ch:#b8b0a2}}
a.chip{color:inherit}

/* 古い記事の部品(タイムライン・埋め込み等)で横にはみ出さないように */
.entry article{min-width:0} .prose{overflow-wrap:anywhere;max-width:100%} .prose img,.prose iframe,.prose video,.prose table{max-width:100%}
.prose [style*="width"]{max-width:100%!important}
/* 絵がまだ無い章のアイコン:章の頭文字をドット文字で */
.chapter .ico:empty::after{content:attr(data-l);font-family:"DotGothic16";font-size:40px;color:var(--ch)}
footer p{margin:6px 0} .foot-note{font-size:12px;color:var(--ink2)} .foot-note a{color:var(--ink2);text-decoration:underline;text-underline-offset:3px;margin-left:6px}

/* ==== 動き・ロゴ・昼夜 ==== */
/* 動き・ロゴ・昼夜の切り替え・読み込み中の表示。#184
   マイクラに斜めの動きは無いので、ホバーは「真上に浮く・大きくなる」だけにする(回転させない)
   動きは「浮く・弾む・伸びる」を短く。動きを減らす設定の人には動かさない(最後の @media) */

/* ---- ロゴ(手描きの TNT) ---- */
.brand{flex-direction:row;align-items:center;gap:10px}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-tnt{width:40px;height:40px;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.brand:hover .brand-tnt{transform:translateY(-3px) scale(1.1)}
.foot-tnt{display:inline-block;vertical-align:middle;margin-right:8px}

/* ---- 昼夜の切り替え(太陽と月) ---- */
.daynight{position:relative;width:44px;height:44px;background-color:#bfe3f5!important;flex:none;cursor:pointer;border:1.5px solid var(--ink);background:var(--paper2);border-radius:4px;padding:0;overflow:hidden;
 box-shadow:3px 3px 0 var(--ch);transition:transform .12s,box-shadow .12s}
.daynight:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ch)}
.daynight:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ch)}
.daynight svg{position:absolute;inset:5px;width:32px;height:32px;transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .3s}
/* 昼は太陽、夜は月を出す(押すと沈んで、反対側から昇る) */
.daynight .moon{transform:translateY(36px);opacity:0}
:root[data-theme="dark"] .daynight .sun{transform:translateY(-36px);opacity:0}
:root[data-theme="dark"] .daynight .moon{transform:none;opacity:1}
@media (prefers-color-scheme:dark){
 :root:not([data-theme="light"]) .daynight .sun{transform:translateY(-36px);opacity:0}
 :root:not([data-theme="light"]) .daynight .moon{transform:none;opacity:1}
}
.daynight.spin{animation:dn-pop .5s}
@keyframes dn-pop{40%{transform:scale(.9)}70%{transform:scale(1.06)}}

/* 画像が出るまでの下地(ドット風のちらつき) */
.c figure,.specimen,.chapter .ico,.rel-card .ico,.cover .sheet{background-color:var(--tile)}
.c figure img,.chapter .ico img,.rel-card .ico img,.cover .sheet img{opacity:0;transition:opacity .4s,transform .35s cubic-bezier(.34,1.56,.64,1)}
.c figure img.loaded,.chapter .ico img.loaded,.rel-card .ico img.loaded,.cover .sheet img.loaded{opacity:1}
.c figure:has(img:not(.loaded)),.chapter .ico:has(img:not(.loaded)){background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%),
 repeating-conic-gradient(#efe9dc 0 25%,#f7f3ea 0 50%);background-size:200% 100%,16px 16px;animation:shimmer 1.2s linear infinite}
@keyframes shimmer{to{background-position:-200% 0,0 0}}

/* ---- ホバーの動き ---- */
.c,.chapter,.rel-card,.tab,.chip,.pager a,.site nav a{transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background-color .2s,color .2s}
.c:hover{transform:translate(-3px,-4px);box-shadow:6px 7px 0 var(--ch)}
.c:hover figure img{transform:scale(1.58) translateY(-3%)}
.chapter:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ch)}
.chapter:hover .ico img{transform:scale(1.85) translateY(-3%)}
.rel-card:hover .ico img{transform:scale(1.65) translateY(-3%)}
.c:active,.chapter:active,.rel-card:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ch)}
.tab:not(.on):hover{transform:translateX(-4px)}
.hz .tab:not(.on):hover{transform:translateY(-3px)}
.chip:hover{transform:translateY(-2px)}
/* メニューの下線が伸びる */
.site nav a{position:relative;border-bottom-color:transparent!important}
.site nav a::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:3px;background:var(--ch);transform:scaleX(.25);transform-origin:left;transition:transform .25s}
.site nav a:hover::after{transform:scaleX(1)}
/* 本文のリンク:下線が伸びる */
.prose a{text-decoration:none;background:linear-gradient(var(--ch),var(--ch)) 0 100%/0 2px no-repeat;border-bottom:1px solid color-mix(in srgb,var(--ch) 40%,transparent);transition:background-size .25s}
.prose a:hover{background-size:100% 2px}
/* トップの重ねた図鑑:ふわっと浮かせる */
.cover .sheet{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}
.cover .sheet:hover{z-index:5;transform:translateY(-10px) scale(1.04)!important;box-shadow:10px 12px 0 var(--ch)}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .c figure img,.chapter .ico img,.rel-card .ico img,.cover .sheet img{opacity:1}
}

/* ---- トップの導入(サイトの紹介) ---- */
.intro h1{font-size:48px;line-height:1.3}
.find-hero{display:flex;margin-top:22px;max-width:520px;border:1.5px solid var(--ink);background:var(--paper2);box-shadow:4px 4px 0 var(--ch)}
.find-hero input{flex:1;border:0;background:transparent;padding:12px 14px;font:inherit;font-size:14px;color:var(--ink);min-width:0}
.find-hero input:focus{outline:none}
.find-hero button{border:0;border-left:1.5px solid var(--ink);background:var(--ink);color:var(--paper2);padding:0 18px;font:inherit;font-weight:700;cursor:pointer}
.stats{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:18px 0 0}
.stats a{display:flex;align-items:baseline;gap:6px;padding:6px 10px;border:1px solid var(--rule,var(--ink2));background:var(--paper2);font-size:12px;color:var(--ink2);border-left:4px solid var(--ch);transition:transform .2s}
.stats a:hover{transform:translateY(-2px)} .stats b{font-family:"DotGothic16";font-size:18px;color:var(--ch)}
/* お知らせの帯 */
.notice{display:flex;align-items:center;gap:14px;margin:28px 0 0;padding:12px 16px;background:var(--paper2);border:1.5px solid var(--ink);border-left:8px solid var(--ch);transition:transform .2s,box-shadow .2s}
.notice:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ch)}
.notice .tag2{font-family:"DotGothic16";font-size:12px;color:#fff;background:var(--ch);padding:2px 8px}
.notice b{flex:1;font-size:15px} .notice .go{font-family:"DotGothic16";color:var(--ch)}
@media (max-width:820px){
 .intro h1{font-size:34px} h1{font-size:28px}
 .notice{flex-wrap:wrap} .notice b{flex-basis:100%;order:3} .notice .go{order:4;margin-left:auto}
}

/* 夜は空の色を夜空に(太陽・月の背景) */
:root[data-theme="dark"] .daynight{background-color:#1b2440!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .daynight{background-color:#1b2440!important}}
