/* Shared compact layout, loaded after each game's theme and component styles. */
body{line-height:1.5}
body main{padding:16px 22px 0;max-width:1540px}
body .content-grid{gap:18px;margin:16px 0}
body .content-grid>article,body .content-grid>section,body .wiki-panel,body .page-content>.guide-group{padding:20px}
body .breadcrumbs{padding-bottom:10px;gap:6px}
body p{margin-bottom:12px}
body h1,body h2,body h3{margin-bottom:12px}
body .wiki-masthead,body .game-masthead{min-height:0}
body .masthead-title,body .game-masthead .masthead-title{padding:18px 16px 12px}
body .masthead-title>a{font-size:clamp(24px,3vw,38px)}
body .game-masthead .masthead-title small{font-size:16px;letter-spacing:3px}
body .wiki-nav{padding:0 12px 12px;gap:6px}
body .wiki-nav>a,body .nav-menu summary{padding:6px 12px;min-height:36px}
body .alphabet-nav{gap:4px;padding:8px 12px}
body .alphabet-nav>span{flex-basis:auto;align-self:center;margin:0 8px 0 0;font-size:10px}
body .alphabet-nav a{height:30px;width:30px;font-size:13px}
/* These elements are explicitly labelled empty advertisement placeholders. */
body aside.ad[aria-label="Advertisement placeholder"],body .right-rail aside.ad{height:48px;min-height:0;max-height:48px;padding:6px;margin:10px auto;gap:2px}
body aside.ad[aria-label="Advertisement placeholder"] div,body aside.ad[aria-label="Advertisement placeholder"] small,body .right-rail aside.ad div,body .right-rail aside.ad small{display:none}
body .portal-section{margin-top:20px;padding-top:0}
body .portal-heading,body .section-title{margin-bottom:12px;padding-bottom:8px}
body .wiki-home-layout>.wiki-home{padding:20px}
body .portal-welcome,body .mp4-home .mp4-welcome,body .bo-home .bo-welcome{padding:18px;gap:18px;margin-bottom:16px}
body .mp4-home .mp4-welcome .mp4-box,body .bo-home .bo-welcome .bo-box{flex-basis:110px;width:110px;max-height:165px}
body .portal-cover{max-height:165px;object-fit:contain}
body .portal-welcome h2,body .mp4-welcome h2,body .bo-welcome h2{font-size:22px!important;line-height:1.25}
body .portal-welcome p{font-size:14px;line-height:1.5}
body .portal-about{padding:14px;margin-bottom:14px}
body .portal-about>img,body .portal-about .mp4-rail-box,body .portal-about .bo-rail-box,body .portal-rail .ww-box-art{height:150px;max-height:150px;width:100%;object-fit:contain;margin-bottom:12px}
body .portal-about dl>div{padding:5px 0}
body .mp4-home-topics,body .bo-home-topics,body .portal-guide-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
body .mp4-topic,body .bo-home-topics .bo-topic,body .portal-guide-grid>a{padding:12px;gap:12px}
body .mp4-topic h3,body .bo-home-topics h3{font-size:18px;margin:4px 0}
body .mp4-topic p,body .bo-home-topics p{font-size:13px;line-height:1.5;margin:6px 0}
body .mp4-topic>img,body .bo2-home .mp4-topic>img{width:75px;height:75px}
body .ww-entry-grid,body .bo2-grid,body .bo-car-grid,body .character-grid,body .oot-grid,body .smash-catalog-grid,body .smash-fighter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
body .ww-directory,body .bo-directory{padding:20px}
body .ww-entry-image,body .mp4-directory .ww-entry-image,body .ffx2-directory .ww-entry-image,body .bo2-picture{height:125px;padding:10px}
body .ww-entry-image img{max-height:105px;object-fit:contain}
body .ww-items .ww-entry-image,body .mp4-items .ww-entry-image{height:100px}
body .ww-items .ww-entry-image img,body .mp4-items .ww-entry-image img{max-height:80px}
body .ww-entry>div:not(.ww-entry-image),body .bo2-card-body,body .bo-car>div{padding:12px}
body .ww-entry h2,body .ww-entry h3,body .bo2-card h3{font-size:17px;line-height:1.3;margin:5px 0 8px}
body .ww-entry p,body .bo2-card p{font-size:14px;line-height:1.5;margin:8px 0}
body .bo2-picture img{padding:4px}
body .bo2-grid.maps .bo2-picture{height:auto;padding:0;aspect-ratio:16/9}
body .bo2-grid.maps .bo2-picture img{padding:0}
body .bo-car-picture{aspect-ratio:2.1}
body .character-card-picture{height:120px}
body .character-card img{max-height:120px;padding:8px}
body .character-card>strong{font-size:16px;padding:10px 10px 4px}
body .character-card>span:last-child{padding:0 10px 10px}
body .portal-character-grid{gap:14px 12px}
body .portal-portrait>span,body .portal-portrait img{height:115px;max-height:115px}
body .portal-world-grid img{height:100px}
body .ww-topic-nav,body .ww-group-nav,body .bo-nav,body .bo-jumps,body .bo2-nav,body .bo2-jumps,body .character-name-index{gap:6px;margin:12px 0}
body .ww-topic-nav a,body .bo-nav a,body .bo-jumps a,body .bo2-nav a,body .bo2-jumps a{padding:7px 10px;font-size:14px}
body .bo2-tools,body .bo-filter{padding:12px;margin:16px 0;gap:10px}
body .bo2-tools input,body .bo2-tools select,body .bo2-tools button{min-height:40px;padding:8px}
body .bo2-group,body .bo-group,body .ww-directory>section{margin-top:22px}
body .bo2-group>h2,body .bo-group>h2{font-size:21px;padding-bottom:8px}
body .bo-songs th,body .bo-songs td{padding:9px 10px}
body .guide-row{padding:12px 0;gap:12px}
body .game-info{padding:11px}
body .game-info h3{font-size:18px;margin:5px 0 8px}
body .popular-layout .game-art{height:140px}
body .game-grid{gap:12px}
body .alphabet-results li{padding:11px 0}
body .character-prose p{font-size:16px;line-height:1.65}
body .profile-toc{padding:12px 16px;margin:14px 0}
body .character-prose .article-section{margin:20px 0}
body .character-portrait img{height:240px;padding:12px}
body .platinum-entry{padding:10px 6px}
body .platinum-entry img{width:76px;height:76px}
body .platinum-pokedex{gap:8px}
body footer{margin-top:22px;padding-top:20px;padding-bottom:20px}
@media(max-width:850px){
 body main{padding:12px 14px 0}
 body .content-grid{grid-template-columns:minmax(0,1fr)}
 body .right-rail{margin-top:14px}
 body .portal-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
 body .right-rail .ad{width:100%}
 body .character-introduction{gap:16px}
}
@media(max-width:600px){
 body .content-grid>article,body .content-grid>section,body .wiki-home-layout>.wiki-home,body .ww-directory,body .bo-directory{padding:14px}
 body .site-header{padding:9px 12px;gap:10px}
 body .alphabet-nav{gap:3px}
 body .alphabet-nav a{width:27px;height:30px}
 body .alphabet-nav>span{display:none}
 body .masthead-title>a{font-size:25px}
 body .portal-page-title h1{font-size:22px!important}
 body .ww-entry-grid,body .bo2-grid,body .bo-car-grid,body .character-grid,body .oot-grid,body .smash-catalog-grid,body .smash-fighter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 body .ffx2-dresspheres{grid-template-columns:1fr}
 body .ffx2-dresspheres .ww-entry-image{height:100px}
 body .ww-entry>div:not(.ww-entry-image),body .bo2-card-body{padding:10px}
 body .bo2-picture,body .ww-entry-image,body .mp4-directory .ww-entry-image{height:100px;padding:8px}
 body .ww-entry-image img{max-height:84px}
 body .bo2-tools label,body .bo2-tools label:first-child{flex:1 1 140px}
 body .bo2-tools label:first-child{flex-basis:100%}
 body .bo2-tools button{min-height:40px}
 body .portal-character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body .portal-portrait>span,body .portal-portrait img{height:90px;max-height:90px}
 body .portal-portrait strong{font-size:13px;margin-top:6px}
 body .popular-layout .game-grid,body .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body .popular-layout .game-art{height:120px}
 body .popular-layout .game-info{padding:9px}
 body .game-info h3,body .popular-layout .game-info h3{font-size:16px}
 body .portal-welcome,body .mp4-home .mp4-welcome,body .bo-home .bo-welcome{padding:12px;gap:12px}
 body .mp4-home .mp4-welcome .mp4-box,body .bo-home .bo-welcome .bo-box{width:85px;flex-basis:85px;max-height:130px}
}
@media(max-width:360px){body main{padding:10px 8px 0}body .ww-entry-grid,body .bo2-grid,body .oot-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Text-heavy checklists keep wider cards; sprite catalogs stay especially dense. */
body .ffx2-dresspheres{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
body .smash-catalog-grid.smash-catalog-items{grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr))}
body .kart-gallery,body .nsmb-gallery,body .tk-gallery,body .bustin-gallery{gap:12px;margin:16px 0}
body .kart-gallery .kart-picture img,body .bustin-gallery img{height:115px}
body .kart-table th,body .kart-table td{padding:8px}
body .kart-table .kart-picture img{height:90px}
body .nsmb-picture{aspect-ratio:auto;height:120px}
body .nsmb-picture img{max-height:110px;object-fit:contain}
body .wii-sport-grid{gap:12px}
body .wii-sport-card strong{font-size:18px;padding:10px 12px 0}
body .wii-sport-card span{padding:8px 12px 12px;font-size:14px}
@media(max-width:600px){body .ffx2-dresspheres{grid-template-columns:1fr}body .smash-catalog-grid.smash-catalog-items{grid-template-columns:repeat(3,minmax(0,1fr))}body .nsmb-picture{height:100px}body .nsmb-picture img{max-height:90px}}
/* Keep the alphabet within one short row; narrow screens can swipe or tab through it. */
body .alphabet-nav{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;max-width:1200px;scrollbar-width:thin}
body .alphabet-nav a{flex:0 0 30px}
body .alphabet-nav>span{white-space:nowrap}
@media(min-width:1100px){body .alphabet-nav{justify-content:center}}

body .alphabet-nav .all-wikis-link{flex:0 0 auto;width:auto;padding:0 10px;margin-right:6px;white-space:nowrap;font-size:13px;border-color:#ffffff30}
