/* Series shell follows reflex / ant-trail / trilobite-sea. Simulation styles stay separate. */
:root { --ink:#253331; --muted:#667572; --line:#dce9e4; --teal:#2f8f70; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",system-ui,sans-serif; }
html, body { height:auto; min-height:100%; overflow:visible; }
body { color:var(--ink); background:radial-gradient(circle at 50% 12%,rgba(142,223,193,.14),transparent 25%),linear-gradient(180deg,#fff 0%,#fbfffd 48%,#f6fbf8 100%); line-height:1.8; }
.site-header,.site-footer,.series-page { width:min(1080px,calc(100% - 32px)); margin-inline:auto; }
.site-header,.site-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.site-header { padding:18px 0 8px; }
.site-logo { color:var(--teal); font-weight:900; letter-spacing:.08em; text-decoration:none; }
.site-nav,.site-footer { color:var(--muted); font-size:.92rem; }
.site-nav { display:flex; flex-wrap:wrap; gap:8px 16px; }
.site-nav a,.site-footer a { color:inherit; text-decoration:none; }
.site-header a,.site-footer a { display:inline-flex; align-items:center; min-height:44px; }
.site-footer { flex-wrap:wrap; justify-content:center; padding:32px 0 40px; border-top:1px solid var(--line); }
.breadcrumb { display:flex; flex-wrap:wrap; gap:7px; padding:9px 0; font-size:.75rem; }
.breadcrumb a,.info-section a,.series-return { color:var(--teal); }
.series-head { padding:24px 0; }
.eyebrow { margin:0 0 10px; color:var(--teal); font-size:.78rem; font-weight:900; letter-spacing:.1em; }
.series-head h1 { margin:0 0 18px; font-size:3rem; line-height:1.15; }
.lead { margin:0 0 10px; color:#40524f; font-size:1.08rem; }
.series-note { margin:0; color:var(--muted); font-size:.9rem; }
.version-badge { display:inline-block; border:1px solid #d7c18a; border-radius:999px; padding:2px 10px; background:#fff7df; color:#725619; font-size:.78rem; letter-spacing:0; }
#app { height:auto; min-height:0; overflow:visible; grid-template-rows: minmax(330px, min(64vw,690px)) auto auto; border:1px solid var(--line); border-radius:8px; background:#fbfffd; }
#app .stage { border-radius:8px 8px 0 0; }
#app .action-message { position:absolute; z-index:4; bottom:8px; left:8px; right:8px; margin:0; padding:8px 12px; border-radius:6px; background:rgba(251,255,253,.96); color:var(--ink); font-size:.85rem; line-height:1.5; pointer-events:none; overflow-wrap:anywhere; }
#app .controls,#app .colony-panel,#app .selected-ant-panel { background:#fbfffd; border-color:var(--line); }
#app .settings-heading h2 { margin:0; font-size:15px; }
#app .army-overview { background:#fbfffd; border-color:var(--line); line-height:1.45; }
#app button,.play-mode-dialog button { border-color:#a9cfbe; background:#effbf6; color:#253331; }
#app button[aria-pressed="true"] { background:#c8ecdd; border-color:#2f8f70; }
#app .colony-panel--red button[aria-pressed="true"] { background:#f8dcd7; border-color:#bf5e52; }
#app input[type="range"] { accent-color:#2f8f70; }
#app .colony-panel--red input[type="range"] { accent-color:#b23434; }
.play-mode-dialog { background:#fbfffd; color:var(--ink); border-color:var(--line); border-radius:12px; }
.mode-note { text-align:center; color:var(--muted); font-size:.85rem; }
.series-return { display:block; width:fit-content; margin:16px auto 0; padding:8px; min-height:44px; font-size:.9rem; }
.usage-section { padding:44px 0 24px; }
.usage-section h2 { margin:0 0 26px; font-size:1.8rem; }
.usage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.usage-grid article { border-top:1px solid #9db1aa; padding-top:14px; }
.usage-grid h3 { margin:0 0 7px; font-size:1.02rem; }
.usage-grid p,.info-section p { color:#40524f; margin:0 0 14px; }
.info-section { padding:16px 0 40px; }
.info-section details { border-top:1px solid #b0c2b8; }
.info-section summary { min-height:48px; padding:14px 0; font-weight:700; cursor:pointer; }
.game-comment-section { width:100%; margin-inline:auto; padding-bottom:32px; }
@media(max-width:820px) { .series-head h1 { font-size:1.75rem; } }
@media(max-width:620px) {
 .site-header,.site-footer,.series-page { width:calc(100% - 28px); }
 .site-header { align-items:flex-start; flex-direction:column; gap:0; }
 #app { grid-template-rows:clamp(360px,55svh,540px) auto auto auto auto; }
 #app .stage { grid-template-rows:100px minmax(260px,1fr); }
 .usage-grid { grid-template-columns:1fr; gap:20px; }
 .series-head { padding:20px 0; }
 .usage-section { padding-top:32px; }
 .site-footer { gap:4px 18px; }
}
@media(max-width:360px) {
 #app { grid-template-rows:clamp(375px,55svh,540px) auto auto auto auto; }
 #app .stage { grid-template-rows:115px minmax(260px,1fr); }
}
