/* Compact shared layout; preserve readable content and safe navigation space. */
body .shell{padding-bottom:12px}body>footer{margin:0 auto;max-width:1280px;padding:14px 12px!important;gap:12px!important}.layout>.stack{min-width:0;align-content:start}.layout{grid-template-columns:minmax(0,1fr) minmax(0,340px);align-items:start}.ad-rail,.ad-wrap{min-width:0;max-width:100%}.ad-rail>* , .ad-wrap>*{max-width:100%;box-sizing:border-box}.ad-rail iframe,.ad-wrap iframe{max-width:100%}.ad-rail .ad-placeholder{min-height:250px;padding:14px;overflow-wrap:anywhere}
.compact-stats{gap:7px;margin:14px 0 8px}.compact-stats .stat{padding:9px 12px;border-radius:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.compact-stats .stat b{font-size:20px;margin:0 0 0 auto}.compact-stats .stat small{font-size:11px}.compact-stats .stat em{display:none}
.login-compact{padding:12px 16px;margin-bottom:14px;border-radius:15px}.login-compact summary,.annual-compact summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:32px;list-style:none}.login-compact summary:after,.annual-compact summary:after{content:'＋';margin-left:auto}.login-compact[open] summary:after,.annual-compact[open] summary:after{content:'−'}.login-compact summary span{font-size:12px}.login-details{margin-top:12px}.login-details>div{grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:5px!important}.login-details>div>div{font-size:11px;min-width:0;overflow-wrap:anywhere}.login-details .sub{margin-bottom:10px}
.annual-compact{margin:0;border-radius:16px}.annual-compact summary{padding:14px 16px}.annual-compact summary span{color:#caff77;font-size:13px}.annual-body{padding:0 16px 16px;font-size:13px}.profile-shortcuts{margin-top:16px}.profile-shortcuts .hero-actions{margin-top:10px}
#club-race{padding:14px 16px;border-radius:16px}#club-race h2{font-size:20px}#club-race .sub{font-size:11px;margin:5px 0 8px}#club-race .kv{padding:7px 0;font-size:12px}#club-race .kv span{min-width:0;overflow-wrap:anywhere}#club-race .kv b{flex-shrink:0}#club-race h2 a:hover{text-decoration:underline}.home-content{display:grid;gap:16px;margin-top:18px;grid-template-columns:minmax(0,1fr)}.home-content-two{grid-template-columns:repeat(2,minmax(0,1fr))}.home-content>*{min-width:0;max-width:100%}.home-content img{display:block;max-width:100%;height:auto;border-radius:12px;margin-bottom:12px}.home-content iframe{width:100%;height:240px;border:0;display:block}.home-content p{white-space:pre-line;overflow-wrap:anywhere}.guest-actions{margin:14px 0}.auth-language{position:absolute;right:20px;top:18px;z-index:10}.auth-box{padding-top:76px}.auth-art>div:empty{min-height:1px}
@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr)}.layout>.stack{width:100%}.ad-rail{width:100%}.ad-rail .ad-placeholder{min-height:160px}}
@media(max-width:720px){body .shell{padding-bottom:8px}body>footer{padding-bottom:calc(var(--mobile-nav-height,80px) + env(safe-area-inset-bottom,0px) + 24px)!important}body.public-home>footer{padding-bottom:18px!important}.bottomnav{grid-template-columns:repeat(6,minmax(0,1fr));padding:6px 3px}.bottomnav a{font-size:9px;padding:6px 1px;line-height:1.25;display:flex;flex-direction:column;justify-content:center;min-height:44px}.bottomnav b{font-size:18px}.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.compact-stats .stat{padding:8px 5px;justify-content:center;gap:3px}.compact-stats .stat small{font-size:10px;width:100%;text-align:center}.compact-stats .stat b{font-size:17px;margin:0;letter-spacing:0}.login-compact{padding:10px 12px}.login-compact summary strong{font-size:13px}.login-compact summary span{font-size:11px}.login-details>div{grid-template-columns:repeat(5,minmax(0,1fr))!important}.home-content-two{grid-template-columns:minmax(0,1fr)}.auth-language{right:12px;top:12px}.auth-box{padding-top:22px}.auth-art{padding-top:72px}#club-race{padding:12px}.annual-compact summary{gap:6px}.annual-compact summary strong{font-size:15px}.annual-compact summary span{font-size:11px}}

.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:18px;align-items:end;margin-top:18px}.dashboard-clubs{min-width:0}.dashboard-clubs #club-race{margin-top:0!important}.answer-statistic{display:block;margin-top:8px;font-size:.85em;font-weight:400}
@media(max-width:1000px){.dashboard-bottom{grid-template-columns:minmax(0,1fr)}.dashboard-bottom>.ad-rail{grid-row:1}.dashboard-bottom>.dashboard-clubs{grid-row:2}}

/* Fixed ranking rows avoid layout jumps between periods. */
#clubRanks{min-height:340px}#club-race .kv{height:34px;box-sizing:border-box;gap:10px}#club-race .kv span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#club-race .kv b{white-space:nowrap}
.ranking-compact{padding:14px 16px;border-radius:16px}.ranking-compact h2{font-size:20px}.ranking-compact .sub{font-size:11px;margin:5px 0 8px}.ranking-compact .leader{height:48px;padding:5px 0;box-sizing:border-box;gap:8px}.ranking-compact #leaderboard{min-height:240px}.ranking-compact .rank{width:24px;height:24px;flex-shrink:0;font-size:10px}.ranking-compact .person{min-width:0}.ranking-compact .person b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-compact .person span{font-size:10px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-compact .points{font-size:12px;flex-shrink:0}

.quiz-page,.rankings-page{max-width:920px;margin:18px auto 0;min-width:0}.page-heading{margin-bottom:12px;font-size:13px;font-weight:800}.dashboard-overview{margin-top:18px;align-items:stretch}.dashboard-overview #club-race{margin-top:0!important}.dashboard-overview>aside.stack{display:flex;flex-direction:column}.dashboard-overview .overview-ad{margin-top:auto;padding-top:0}.quiz-banner{margin:28px auto 8px;max-width:468px;min-width:0}.quiz-banner:empty{display:none}.quiz-banner .ad-placeholder{min-height:50px;height:auto;padding:8px;gap:3px;border-radius:8px}.quiz-banner .ad-placeholder strong{font-size:10px}.quiz-banner .ad-placeholder span{font-size:10px}.quiz-ad-unit{display:block;width:100%;height:50px}.quiz-banner aside{margin:0!important}.quiz-banner .ad-placeholder{box-sizing:border-box}.rankings-page #leaderboard{min-height:0}
@media(min-width:800px){.quiz-ad-unit{height:60px}}
@media(max-width:720px){.login-page .auth-art{display:none}.login-page .auth-page{display:block;min-height:100svh}.login-page .auth-box{display:block;padding:68px 18px 24px}.login-page .auth-inner{margin:0 auto}.login-page .auth-inner h2{margin-top:0;font-size:28px}.login-page .auth-inner>p{margin:8px 0}.login-page .auth-form{margin-top:12px}.login-page .auth-links{flex-wrap:wrap;line-height:1.6}.login-page .auth-form input{font-size:16px;min-height:44px}.login-page .auth-form>.btn{min-height:44px}.quiz-page{margin-top:12px}.quiz-banner{margin-top:28px}}
@media(max-height:500px) and (max-width:1000px){.login-page .auth-art{display:none}.login-page .auth-page{display:block}.login-page .auth-box{padding-top:64px;display:block}.login-page .auth-inner{margin:auto}}

/* Profile-only legal links; keep content above mobile navigation. */
@media(max-width:720px){body .shell{padding-bottom:calc(var(--mobile-nav-height,80px) + env(safe-area-inset-bottom,0px) + 24px)}body.public-home .shell{padding-bottom:16px}}
.dashboard-overview .overview-ad .ad-placeholder{min-height:92px;padding:10px;border-radius:16px}.dashboard-overview .overview-ad>aside{margin:0!important}.dashboard-overview .challenge{padding:12px 16px;border-radius:16px}.dashboard-overview .challenge h2{font-size:18px;margin:0 0 6px}.dashboard-overview .challenge .sub{display:none}.dashboard-overview .challenge .btn{font-size:12px;padding:9px 12px;min-height:38px}.dashboard-overview .ranking-compact .leader{height:40px}.dashboard-overview .ranking-compact #leaderboard{min-height:200px}.dashboard-overview>aside.stack{gap:12px}.dashboard-overview .overview-ad{width:100%;margin-top:auto}.dashboard-overview main.stack{display:flex;flex-direction:column}.dashboard-overview #club-race{flex:1}.dashboard-overview #clubRanks{display:grid;grid-template-rows:repeat(10,minmax(34px,1fr));flex:1}.dashboard-overview #club-race{display:flex;flex-direction:column}.dashboard-overview #club-race .kv{height:auto;min-height:34px}
