body { display:block; overflow-x:hidden; }
html[lang="en"] [data-lang="ja"],html[lang="ja"] [data-lang="en"] { display:none !important; }
.cabinet { margin:0 auto; }
.skip-link { position:fixed; top:8px; left:8px; z-index:99; padding:10px 14px; color:#061017; background:#5df5ff; transform:translateY(-150%); transition:transform .15s; }
.skip-link:focus { transform:translateY(0); }
.site-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:clamp(10px,2.5vw,28px); margin:0 0 18px; padding:12px 18px; border:1px solid rgba(128,107,192,.6); background:rgba(7,9,20,.82); font:11px 'Share Tech Mono',monospace; letter-spacing:.1em; }
.site-nav a,.site-footer a { color:#bcaee8; text-decoration:none; }
.site-nav .lang-toggle { margin:0; padding:0; border:0; color:#bcaee8; background:none; font:inherit; letter-spacing:inherit; cursor:pointer; }
.site-nav a:hover,.site-nav a:focus,.site-nav a[aria-current="page"],.site-footer a:hover,.site-footer a:focus { color:#5df5ff; text-shadow:0 0 9px #5df5ff; }
.site-nav .lang-toggle:hover,.site-nav .lang-toggle:focus { color:#5df5ff; text-shadow:0 0 9px #5df5ff; }
.content-hub { margin:48px 0 12px; border:1px solid rgba(128,107,192,.55); background:linear-gradient(145deg,rgba(15,10,35,.95),rgba(5,8,20,.96)); box-shadow:0 0 35px rgba(76,42,136,.25); color:#d8d2ec; font-family:'Share Tech Mono',monospace; }
.content-hub h2,.content-hub h3,.site-footer b { font-family:Orbitron,sans-serif; }
.content-hub h2 { margin:4px 0 18px; color:#f3efff; font-size:clamp(24px,4vw,40px); text-shadow:0 0 12px rgba(146,103,255,.6); }
.content-hub h3 { margin:7px 0 9px; color:#fff; font-size:15px; }
.content-hub p { line-height:1.75; }
.content-intro,.guide-section { padding:clamp(28px,5vw,58px); }
.content-intro { max-width:900px; }
.guide-section { display:grid; grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr); gap:clamp(24px,5vw,72px); border-top:1px solid rgba(128,107,192,.35); scroll-margin-top:24px; }
.section-kicker { margin:0; color:#5df5ff; font-size:11px; letter-spacing:.15em; }
.guide-grid,.stage-guide { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.guide-grid section,.stage-guide section { padding:18px; border:1px solid rgba(116,91,170,.55); background:rgba(14,13,38,.75); }
.guide-grid strong,.stage-guide span { color:#ffd866; font:11px Orbitron,sans-serif; letter-spacing:.08em; }
.guide-grid p,.stage-guide p { margin:0; color:#bcb2d8; font-size:13px; }
.control-note { grid-column:2; margin:20px 0 0; padding:14px 17px; border-left:3px solid #5df5ff; background:rgba(93,245,255,.06); }
.evolution-table { display:grid; gap:8px; }
.evolution-table>div { display:grid; grid-template-columns:1.2fr .7fr 1fr; align-items:center; gap:12px; padding:14px 16px; border:1px solid rgba(116,91,170,.45); background:rgba(14,13,38,.68); }
.evolution-table b { color:#aeeeff; }.evolution-table span { color:#ffd866; font-family:Orbitron,sans-serif; font-size:12px; }.evolution-table p { margin:0; color:#a99fc8; font-size:12px; }
.database-grid,.build-examples { grid-column:2; }.database-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:24px; }.database-grid section,.build-examples { padding:18px; border:1px solid rgba(116,91,170,.45); background:rgba(14,13,38,.68); }.database-grid h3,.build-examples h3 { color:#ffd866; }.database-grid ul { margin:0; padding-left:18px; }.database-grid li { margin:8px 0; color:#aaa0c8; font-size:12px; line-height:1.55; }.database-grid li b { color:#bdf7ff; }.build-examples { margin-top:13px; }.build-examples p { margin:8px 0; color:#aaa0c8; font-size:12px; }.build-examples b { color:#ff83ba; }
.faq-section details { margin-bottom:9px; padding:13px 16px; border:1px solid rgba(116,91,170,.45); background:rgba(14,13,38,.68); }
.faq-section summary { color:#dcd5f3; cursor:pointer; font-family:Orbitron,sans-serif; font-size:12px; }.faq-section details p { margin:9px 0 0; color:#ada3cb; }
.update-note { margin-top:18px; color:#ada3cb; }.update-note b { color:#ff6aac; }
.site-footer { display:grid; grid-template-columns:1fr auto; gap:16px 30px; margin-top:22px; padding:25px 2.4%; border-top:1px solid rgba(128,107,192,.5); color:#8f82b2; font:11px/1.6 'Share Tech Mono',monospace; }
.site-footer div { display:grid; gap:3px; }.site-footer b { color:#e4ddfa; }.site-footer #state-readout { color:#5df5ff; }.site-footer nav { display:flex; flex-wrap:wrap; align-items:start; justify-content:flex-end; gap:8px 18px; }.site-footer>small { grid-column:1/-1; }
.policy-page { width:min(920px,92vw); margin:0 auto; padding:25px 0 60px; position:relative; z-index:6; }
.policy-main { margin-top:22px; padding:clamp(26px,6vw,58px); border:1px solid rgba(128,107,192,.6); background:linear-gradient(145deg,rgba(20,12,46,.96),rgba(6,8,22,.97)); box-shadow:0 0 35px rgba(76,42,136,.3); }
.policy-main h1 { grid-column:auto; font-size:clamp(30px,6vw,56px); }.policy-main h2 { margin:35px 0 8px; color:#5df5ff; font-size:20px; }.policy-main h3 { color:#ffd866; }.policy-main p,.policy-main li { color:#c4badc; font:14px/1.8 'Share Tech Mono',monospace; }.policy-main a { color:#5df5ff; }.policy-meta { color:#9688b9; font:12px 'Share Tech Mono',monospace; }
.contact-card { margin:25px 0; padding:20px; border:1px solid rgba(93,245,255,.45); background:rgba(93,245,255,.05); }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid #ffd866; outline-offset:3px; }
.game-shell canvas { touch-action:none; }
.touch-controls { display:none; position:absolute; z-index:7; left:50%; bottom:12px; transform:translateX(-50%); gap:8px; }
.touch-controls button { min-width:74px; padding:8px 10px; border:1px solid #5df5ff; color:#dffcff; background:rgba(6,13,30,.82); font:10px Orbitron,sans-serif; box-shadow:0 0 12px rgba(93,245,255,.3); }
.build-hud { position:absolute; left:21px; top:86px; display:flex; flex-wrap:wrap; gap:4px; max-width:42%; }
.build-chip { padding:3px 6px; border:1px solid rgba(93,245,255,.42); color:#c8faff; background:rgba(7,12,30,.72); font:8px 'Share Tech Mono',monospace; box-shadow:0 0 7px rgba(93,245,255,.15); }
.build-chip.evolved { border-color:#ffd866; color:#ffd866; }
.upgrade-option .rank-label { margin-bottom:5px; color:#ffd866; font:9px Orbitron,sans-serif; letter-spacing:.08em; }
.upgrade-option .evolution-hint { margin-top:8px; padding-top:7px; border-top:1px solid rgba(116,91,170,.45); color:#8de6ff; font-size:9px; }
.reroll-button { margin-top:14px; padding:9px 18px; border:1px solid #ffd866; color:#ffd866; background:rgba(24,17,40,.9); font:11px Orbitron,sans-serif; cursor:pointer; }.reroll-button:disabled { opacity:.38; cursor:not-allowed; }
.profile-summary { display:flex; justify-content:center; gap:16px; margin:-8px 0 12px; color:#a99dcd; font:9px 'Share Tech Mono',monospace; letter-spacing:.06em; }.profile-summary b { color:#5df5ff; }
.achievement-archive { margin:0 auto 12px; width:min(440px,100%); color:#a99dcd; font:9px/1.45 'Share Tech Mono',monospace; text-align:left; }
.achievement-archive summary { color:#ffd866; text-align:center; cursor:pointer; letter-spacing:.1em; }
.achievement-list { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:8px; max-height:112px; overflow:auto; }
.achievement-entry { padding:6px 8px; border:1px solid rgba(116,91,170,.42); background:rgba(8,10,27,.72); }
.achievement-entry b { display:block; color:#746b91; font-size:9px; }.achievement-entry span { display:block; margin-top:2px; color:#81789c; }
.achievement-entry.unlocked { border-color:rgba(93,245,255,.5); }.achievement-entry.unlocked b { color:#5df5ff; }.achievement-entry.unlocked span { color:#c5badf; }
/* 広告コードを追加する場合は、.game-shell内や操作UI付近ではなく、記事コンテンツ後の独立領域に限定する。 */
.ad-safe-zone { min-height:90px; margin:48px 0; padding:20px; border-top:1px solid rgba(128,107,192,.3); border-bottom:1px solid rgba(128,107,192,.3); text-align:center; }
.ad-safe-zone:empty { display:none; }
@media(max-width:760px) { .cabinet { filter:none; }.site-nav { gap:8px 15px; font-size:10px; }.guide-section { grid-template-columns:1fr; }.guide-grid,.stage-guide,.database-grid { grid-template-columns:1fr; }.control-note,.database-grid,.build-examples { grid-column:1; }.evolution-table>div { grid-template-columns:1fr; gap:5px; }.site-footer { grid-template-columns:1fr; }.site-footer nav { justify-content:flex-start; }.content-hub { margin-top:30px; }.overlay.visible,.upgrade.visible { position:fixed; inset:0; overflow-y:auto; align-items:start; padding:16px; }.overlay.visible .panel,.upgrade.visible .upgrade-box { margin:auto; }.touch-controls { display:flex; }.overlay.visible~.touch-controls,.upgrade.visible~.touch-controls { display:none; }.build-hud { left:10px; top:58px; max-width:52%; }.build-chip { padding:2px 4px; font-size:7px; }.achievement-list { grid-template-columns:1fr; max-height:150px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }.scanlines { opacity:.08; } body::before { transform:none; opacity:.12; } }
