/* Scope: navigation and identified hub blocks only. No global h1/button changes. */
.visual-entry-icon{display:block;flex:none;width:42px;height:42px;object-fit:contain}
.lab-header nav[aria-label="主なページ"] a,.lab-nav a:has(.visual-entry-icon){display:flex;align-items:center;justify-content:center;gap:6px;min-height:52px;box-sizing:border-box;padding:6px 10px}
.site-header.compact-header--home .compact-home-actions,.site-header.compact-header--home .site-brand-nav{width:100%;max-width:none}
.site-header.compact-header--home .site-header-inner{grid-template-columns:minmax(240px,.8fr) minmax(420px,1.2fr)}
.site-header.compact-header--home nav.home-primary-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.site-header.compact-header--home nav.home-primary-entries a.primary-entry{display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto;gap:0 12px;align-content:center;align-items:center;min-height:120px;text-align:left;padding:10px;border-radius:14px;background:#fffdf7;box-shadow:0 2px 0 #183d4024}
.site-header.compact-header--home nav.home-primary-entries .visual-entry-icon{grid-row:1/3;width:88px;height:88px}
.site-header.compact-header--home nav.home-primary-entries .entry-label{font-size:22px;line-height:1.4}
.site-header.compact-header--home nav.home-primary-entries .entry-description{font-size:12px;line-height:1.5}
.visual-game-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px auto;max-width:1100px;padding:0 12px;box-sizing:border-box}
.visual-game-picks>a{display:flex;flex-direction:column;background:#fff;color:#173d32;border:2px solid #bdd4c2;border-radius:16px;overflow:hidden;text-decoration:none;min-width:0;min-height:44px}
.visual-game-picks img{display:block;width:100%;height:auto;object-fit:contain;background:#f7fbf4}
.visual-game-picks span{display:flex;justify-content:space-between;padding:12px;font-weight:bold;font-size:20px}
.visual-game-picks a:focus-visible,.home-primary-entries a:focus-visible{outline:3px solid #975e00;outline-offset:3px}
.visual-game-help{margin:16px auto;max-width:1100px}.visual-game-help>summary{min-height:48px;padding:12px;box-sizing:border-box;cursor:pointer}
.visual-hub-jumps{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.visual-hub-jumps a{display:inline-flex;align-items:center;min-height:48px;padding:8px 12px;box-sizing:border-box;border:1px solid #bdd4c2;border-radius:8px}
.visual-mie-heading{width:90px;height:90px;object-fit:contain;vertical-align:middle;margin-right:12px}
.mie-main .intent-nav a{min-height:56px;box-sizing:border-box}
[data-visual-languages] .language-links a{min-height:52px;box-sizing:border-box;align-items:center;display:inline-flex;gap:8px}
[data-visual-languages] .language-links img{width:32px;height:auto;object-fit:contain}
@media(max-width:800px){
.site-header.compact-header--home .site-header-inner{display:flex;flex-direction:column}
.site-header.compact-header--home .compact-image-brand{max-width:300px;margin:0 auto}
.site-header.compact-header--home nav.home-primary-entries a.primary-entry{grid-template-columns:minmax(0,1fr);grid-template-rows:80px auto;gap:4px;min-height:132px;justify-items:center;text-align:center;padding:8px 4px}
.site-header.compact-header--home nav.home-primary-entries .visual-entry-icon{grid-row:auto;width:80px;height:80px}
.site-header.compact-header--home nav.home-primary-entries .entry-label{font-size:19px}
.site-header.compact-header--home nav.home-primary-entries .entry-description{display:none}
.lab-header nav[aria-label="主なページ"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px}
.lab-header nav[aria-label="主なページ"] a{justify-content:flex-start;padding:5px 8px;font-size:14px}
.lab-nav:has(.visual-entry-icon){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;box-sizing:border-box}
.lab-nav .lab-nav-world{grid-column:1/-1;min-height:44px;display:flex;align-items:center;justify-content:center}
.visual-game-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 4px}.visual-game-picks span{padding:10px;font-size:17px}
}
@media(prefers-reduced-motion:reduce){.visual-entry-icon{animation:none}}
body.lab-common .lab-nav .lab-nav-world{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 10px;box-sizing:border-box}
@media(max-width:800px){body.lab-common .lab-game-header>.lab-nav:has(.visual-entry-icon){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}body.lab-common .lab-nav a:has(.visual-entry-icon){font-size:14px;justify-content:flex-start;min-height:52px;padding:6px}.lab-nav:has(.visual-entry-icon) .lab-nav-world{grid-column:1/-1}}

.visual-mie-map{display:flex;align-items:center;gap:16px;min-height:108px;max-width:420px;border:1px solid #bdd4c2;border-radius:14px;padding:10px 18px;margin:14px 0 20px;box-sizing:border-box;text-decoration:none;color:#173d32;background:#fff}.visual-mie-map span{font-size:20px;font-weight:bold}.visual-mie-map .visual-mie-heading{margin:0;flex:none}
.lab-header nav[aria-label="主なページ"] a:has(.visual-entry-icon),body.lab-common .lab-nav a:has(.visual-entry-icon){border:1px solid #dce5de;border-radius:9px;background:#fbfdf9}
/* Lossless copy retains all source pixels; display stays within DPR3 resolution. */
main img.learn-cover[src*="visual-game-number-lossless.webp"]{width:min(100%,512px);height:auto;max-height:none;object-fit:contain;display:block;margin-inline:auto}

.visual-school-guidance{max-width:1100px;margin:16px auto;padding:0 16px;box-sizing:border-box}.visual-school-guidance>summary{min-height:48px;padding:12px 14px;border:1px solid #cbd8ce;border-radius:9px;box-sizing:border-box;cursor:pointer;color:#254c3b;font-size:15px}.visual-school-guidance .audience-paths{margin:12px 0}.visual-school-guidance .audience-paths a{min-height:48px;box-sizing:border-box}

/* R2: language controls across all translated portals; common navigation only. */
[data-visual-nav-touch] [data-visual-languages] :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:48px;box-sizing:border-box;padding:10px 12px;line-height:1.5;max-width:100%;white-space:normal;text-align:center}
[data-visual-nav-touch] :is(.lab-header,.site-header,.lab-game-header,header.top,header.bar,header.header) a,
[data-visual-nav-touch] :is(.back,.breadcrumbs a,.breadcrumb a),
[data-visual-nav-touch] main>header>a,[data-visual-nav-touch] main>header>p>a{min-width:44px;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}
[data-visual-nav-touch] :is(.back,.breadcrumbs a,.breadcrumb a){padding:8px 4px}
[data-visual-nav-touch] :is(.lab-header,.site-header,.lab-game-header,header.top,header.bar,header.header) a:focus-visible,
[data-visual-nav-touch] :is(.back,.breadcrumbs a,.breadcrumb a):focus-visible,
[data-visual-nav-touch] [data-visual-languages] :is(a,button):focus-visible{outline:3px solid #8c5400;outline-offset:3px}
.visual-world-icon{display:block;flex:none;width:42px;height:42px;object-fit:contain}
.world-entry .visual-world-icon{width:58px;height:58px}
.lab-languages:has(.visual-world-icon),.lab-nav-world:has(.visual-world-icon){gap:6px;flex-wrap:wrap;justify-content:center}
.visual-world-label{font-size:12px;line-height:1.5}
[data-visual-languages]{overflow:visible}

/* Existing 320px overflows: permit grid items and plain long URLs to wrap. */
[data-visual-nav-touch] .chiku20-covers{grid-template-columns:repeat(3,minmax(0,1fr))}
[data-visual-nav-touch] .chiku20-covers>img{min-width:0;max-width:100%;height:auto}
[data-visual-nav-touch].procedure-site :is(.p-article-section p,.p-answer){overflow-wrap:anywhere}
