/* Outdoor village only: one viewport, unchanged art/fonts/colours/controls. */
@layer priority{
 body:has(.shell[data-screen=home] #page>.village-progress){margin:0!important;padding:0!important;box-sizing:border-box;min-height:100dvh;height:100dvh}
 html body .shell.shell[data-screen=home]:has(#page>.village-progress){--screen-gap:12px;width:min(520px,calc(100% - 16px))!important;max-width:520px!important;margin:0 auto!important;height:100dvh!important;min-height:0!important;box-sizing:border-box!important}
 html body .shell.shell[data-screen=home]>.main.main:has(>#page>.village-progress){box-sizing:border-box!important;height:100%!important;min-height:0!important;padding:calc(64px + var(--screen-gap) - 3px) 16px calc(69px + 12px - 3px + env(safe-area-inset-bottom))!important}
 html body .shell[data-screen=home] .main #page:has(>.village-progress){height:100%;min-height:0;padding:0!important;display:flex;flex-direction:column;justify-content:space-between;gap:var(--screen-gap);box-sizing:border-box}
 /* Only the collapsed scene yields space to the pass and all three crate cards. */
 html body .shell[data-screen=home] .main #page:has(>.village-progress):not(:has(.vc-card:not(.is-collapsed))){display:grid;grid-template-rows:auto minmax(0,1fr) auto;container-type:inline-size}
 html body .shell[data-screen=home] .main #page:has(>.village-progress):not(:has(.vc-card:not(.is-collapsed)))>.scene-wrap.home-map{align-self:center;justify-self:start;box-sizing:content-box!important;width:auto!important;height:min(calc(100% - 6px),calc((100cqw + 10px)*.75));aspect-ratio:4/3;min-height:0}
 /* Expanded content scrolls with real bottom space above the fixed navigation. */
 html body .shell.shell[data-screen=home]>.main.main:has(>#page>.village-progress):has(.vc-card:not(.is-collapsed)){height:auto!important;min-height:100%!important}
 html body .shell[data-screen=home] .main #page:has(>.village-progress):has(.vc-card:not(.is-collapsed)){height:auto;justify-content:flex-start}
 html body .shell[data-screen=home] #page>.village-progress{flex:none;position:relative;top:0!important;margin:0!important}
 html body .shell[data-screen=home] #page>.village-progress[data-pass-season="2026-10"]{background-image:linear-gradient(#0f1d1773,#0f1d1773),var(--season-art)!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
 html body .shell[data-screen=home] #page>.village-progress>.village-pass{padding:8px 12px!important}
 html body .shell[data-screen=home] #page>.village-progress .village-pass>span:nth-child(2){row-gap:4px}
 html body .shell[data-screen=home] #page>.village-progress>.village-missions{padding:4px 12px!important;gap:8px!important}
 html body .shell[data-screen=home] .main #page>.village-progress+.scene-wrap.home-map{flex:none!important;position:relative;top:0!important;left:50%!important;transform:translateX(-50%)!important;width:calc(100% + 16px)!important;max-width:none!important;margin:0!important;box-sizing:border-box!important}
 html body .shell[data-screen=home] .main #page>.village-progress+.scene-wrap.home-map>canvas.scene{width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;min-height:0!important;aspect-ratio:4/3!important;display:block}
 html body .shell[data-screen=home] .main #page:has(>.village-progress)>.study-work-wrap{flex:none;height:auto;min-height:0;margin:0!important}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-list{gap:8px!important;padding:0!important;margin:0!important}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-head{gap:6px!important;padding-inline:8px!important}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-card.is-collapsed .vc-head{min-height:44px!important;padding-block:4px!important}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-mini{box-sizing:border-box;width:36px!important;height:36px!important}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-peek{flex-wrap:nowrap;justify-content:flex-start}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-peek>.vc-crate-space{margin:0 0 0 auto;padding:0!important;font:800 12px/14px var(--kz-font);white-space:nowrap;flex:none}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-crate-collect{box-sizing:border-box;display:flex;align-items:center;flex:none;margin-left:auto;padding:3px 4px!important;min-height:24px!important;line-height:14px;border:1px solid #ff9f95!important;background:#0f1f19!important;border-radius:6px;box-shadow:none!important}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-crate-collect>.vc-crate-space{margin:0;padding:0!important;font:800 12px/14px var(--kz-font);white-space:nowrap}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-swap{flex:none}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-card:not(.is-collapsed) .vc-peek{display:none!important}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-card.is-collapsed.is-full .vc-peek{display:flex!important}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-card.is-collapsed.is-full .vc-mini{display:flex!important}
 .vc-mini.is-zz::after{content:none!important}
 .vc-recovery-clock{position:absolute;top:1px;left:50%;transform:translateX(-50%);z-index:2;max-width:100%;padding:0 2px;border-radius:3px;background:#0f1f19e8;color:#f7ebd3;font:900 10px/12px var(--kz-font);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}
 .vc-sprite>.vc-recovery-clock{top:2px;font-size:12px;line-height:14px;padding:2px 4px}
 .vc-mini .vc-mini-sleep{margin-bottom:0!important}
 html body .shell[data-screen=home] #page:has(>.village-progress) .vc-card.is-collapsed .vc-mini-collect{display:none!important}
 @media(max-width:360px){
  html body .shell.shell[data-screen=home]:has(#page>.village-progress){--screen-gap:8px}
  html body .shell.shell[data-screen=home]>.main.main:has(>#page>.village-progress){padding-inline:12px!important}
  html body .shell[data-screen=home] #page>.village-progress>.village-pass,html body .shell[data-screen=home] #page>.village-progress>.village-missions{padding-inline:8px!important}
  html body .shell[data-screen=home] #page:has(>.village-progress) .vc-peek:has(.vc-mini){flex-wrap:wrap;row-gap:2px}
  html body .shell[data-screen=home] #page:has(>.village-progress) .vc-peek:has(.vc-mini:nth-child(3))>.vc-crate-space{flex-basis:100%;margin-left:0}
  html body .shell[data-screen=home] #page:has(>.village-progress) .vc-peek:has(.vc-mini:nth-child(3))>.vc-crate-collect{margin-left:0}
 }
}
