/* Responsive repair pass. Loaded after section packages, before shared type.
   Narrow layouts use document flow. Do not crop content to meet desktop height. */
.zx-mobile-platform{display:none}
html{scroll-padding-top:calc(var(--mobile-header-space,var(--header-clearance,88px)))}
/* The root owns anchor clearance; do not add the same header twice. */
html body main section[id]{scroll-margin-top:0}
main :is(input,select,textarea){max-width:100%}
main :is(p,li,dd,a){overflow-wrap:break-word}
@media(max-width:1000px){
 .menu-toggle,.menu-close{min-width:44px;min-height:44px}
 .menu-dialog{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .menu-grid{min-width:0}.menu-col a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:900px){
 main .zh-hero,main .znh-hero{height:auto;max-height:none;min-height:0;padding-top:var(--mobile-header-space,var(--header-clearance,88px))}
 main .zh-art,main .znh-stage{flex-shrink:0}
 main .zh-inner,main .znh-inner{height:auto;min-height:0}
 main .zc-section[data-kind]{height:auto;max-height:none;min-height:0;display:block}
 main .zc-section[data-kind] .zc-hero{height:auto;min-height:0;aspect-ratio:auto;padding:24px 0 280px}
 main .zc-section[data-kind] .zc-copy{position:relative;inset:auto;width:auto;max-width:none;margin:0 6%;padding:0}
 main .zc-section[data-kind] .zc-cup{left:25%;top:auto;bottom:8px;width:50%;height:260px;max-height:none}
 main .zc-section[data-kind] .zc-backdrop-name{top:auto;bottom:90px;left:5%;width:90%;font-size:15vw;text-align:center}
 main .zc-section[data-kind] .zc-intro,main .zc-section[data-kind] .zc-support{font-size:16px;line-height:1.5;max-width:60ch}
 main .zc-section[data-kind] .zc-support{margin-top:16px;padding-top:12px}
 main .zc-section[data-kind] .zc-nav{height:auto;min-height:0}
 main .zc-section[data-kind] .zc-tab{min-width:0;min-height:150px;padding:12px 8px;gap:8px;display:flex;flex-direction:column;text-align:center}
 main .zc-section[data-kind] .zc-tab-copy{padding:0;border:0}
 main .zc-section[data-kind] .zc-tab img{width:42px;height:60px!important;object-fit:contain}
 main .zc-section[data-kind] .zc-tab-name{font-size:18px;line-height:1.15}
 main .zc-section[data-kind] .zc-tab-scope{font-size:12px;letter-spacing:.04em}
 main .zc-section[data-kind] .zc-tab-description{font-size:14px;line-height:1.4;max-width:none}
 main .zx-section .zx-inner{height:auto;max-height:none;min-height:0}
 .zx-platform .zx-platform-art{display:none}
 .zx-platform .zx-mobile-platform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
 .zx-mobile-platform>div{min-width:0;display:flex;flex-direction:column;gap:12px;align-items:center;padding:18px 8px;border:1px solid #b7d9ff;border-radius:16px;background:linear-gradient(145deg,#fff,#e6f1ff);box-shadow:inset 0 1px 0 #fff,0 6px 18px #0062ff0c;color:#092c5c;text-align:center;font:600 16px/1.3 var(--body)}
 .zx-mobile-platform svg{width:32px;height:32px;color:#0062ff}
}
@media(max-width:700px){
 :root{--h1:var(--ds-hero);--h2:var(--ds-title);--h3:var(--ds-card)}
 main :is(.section,.v-section,.v5-band,.v6-section,.approved-band){height:auto;max-height:none;min-height:0}
 main :is(.zh-inner,.znh-inner){padding:12px 6% 32px}
 main .zh-hero .zh-art{height:auto;aspect-ratio:1659/948;width:100%}
 main .zh-hero .zh-canvas{inset:0;width:100%;height:100%;aspect-ratio:1659/948;transform:none!important}
 main .zh-hero .zh-scene{width:100%;height:100%;object-fit:contain}
 main .znh-hero .znh-stage{height:auto;aspect-ratio:1680/936;width:100%}
 main .znh-hero .znh-scene{inset:0;width:100%;height:100%;aspect-ratio:1680/936;transform:none!important}
 main .znh-hero .znh-scene img{object-fit:contain}
 main .zh-hero h1,main .znh-hero h1{font-size:var(--ds-hero);line-height:1.05;}
 main :is(.zh-copy,.znh-copy,.v5-copy,.section-copy){font-size:16px;line-height:1.55}
 main .zh-hero.zh-hero--players .zh-art,main .znh-hero.znh-community .znh-stage{height:auto;aspect-ratio:4/3;width:100%}
 main .zh-hero.zh-hero--players .zh-canvas,main .znh-hero.znh-community .znh-scene{inset:0;width:100%;height:100%;aspect-ratio:4/3;transform:none!important}
 main .zh-hero--players .zh-scene,main .znh-hero.znh-community .znh-scene img{width:100%;height:100%;object-fit:contain}
 main .zh-hero--players :is(.zh-record,.zh-outline,.zh-ball,.zh-light),main .znh-community :is(.znh-trace,.znh-spotlight){display:none}
 main .zh-benefits{display:grid;grid-template-columns:1fr;gap:8px}
 main .zh-hero .zh-tile{min-height:60px;flex-direction:row;text-align:left;justify-content:flex-start;padding:10px 14px}
 main .zh-tile span{font-size:15px;line-height:1.35}
 main .znh-benefits{grid-template-columns:1fr;gap:8px}
 main .znh-tile{min-height:60px;display:flex;flex-direction:row;padding:10px 14px;text-align:left;justify-content:flex-start}
 main .znh-tile span{font-size:15px;line-height:1.35}
 main .znh-icon{width:40px;height:40px;flex:none}
 main :is(.zh-actions,.znh-actions){display:flex;flex-wrap:wrap;gap:10px}
 main :is(.zh-button,.znh-button){min-height:46px;white-space:normal}
 .zx-mission .zx-mission-copy{display:grid;grid-template-columns:1fr;overflow:visible;gap:16px}
 .zx-mission .zx-mission-copy>*{width:auto;min-width:0;max-width:none}
 .zx-platform .zx-platform-heading{display:block}.zx-platform-heading p{margin-top:16px;font-size:var(--ds-copy);}
 .zx-platform .zx-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .zx-platform .zx-trust li{font-size:14px;min-width:0}
 .zx-contact .zx-role-dock{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:10px}
 .zx-contact .zx-role-dock a{width:auto;min-width:0;min-height:72px;padding:12px;font-size:15px}
 .zx-contact .zx-role-dock a:last-child{grid-column:1/-1}
 .zr-umpire-grid{display:grid;grid-template-columns:1fr;overflow:visible;gap:20px}
 .zr-umpire-grid article{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:14px;min-width:0}
 .zr-umpire-object{height:125px;margin:0}.zr-umpire-copy h3{font-size:var(--ds-card);}.zr-umpire-copy p{font-size:var(--ds-copy);line-height:1.55;}
 .zgo-onboarding .zgo-steps{display:grid;grid-template-columns:1fr;overflow:visible;gap:24px}
 .zgo-onboarding .zgo-steps li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;min-width:0}
 .zgo-onboarding .zgo-step-art{height:120px;padding-top:20px}
 .zgo-onboarding .zgo-step-copy{margin:0;padding:10px 0 10px 16px;border-top:0;border-left:2px solid #72b9ff}
 .zgo-onboarding .zgo-step-copy p{font-size:1rem;line-height:1.5;}.zgo-onboarding .zgo-step-copy h3{font-size:var(--ds-card);}
 .zr-quick .z4-inner{grid-template-columns:56px minmax(0,1fr);gap:14px;padding:24px 6%}
 .zr-quick .zr-quick-emblem{grid-column:1;grid-row:1}.zr-quick .z4-quick-copy{grid-column:2;grid-row:1;min-width:0}
 .zr-quick .z4-quick-copy h2{padding-right:0}.zr-quick .z4-quick-copy p{font-size:var(--ds-copy);line-height:1.55;}
 .zr-quick .zr-quick-steps{font-size:13px;flex-wrap:wrap;gap:8px}.zr-quick .z4-button{grid-column:1/-1}
 /* Native bracket layout keeps existing interactive group buttons. */
 main .zt-format{display:flex;flex-direction:column;height:auto;min-height:0;padding:28px 6%;gap:24px}
 .zt-format :is(.zt-copy,.zt-format-guide,.zt-visual,.zt-scene,.zt-scene-inner,.zt-format-note){position:relative;inset:auto;width:100%;height:auto;max-width:none;min-height:0;transform:none;margin:0;aspect-ratio:auto}
 .zt-format .zt-copy{order:0}.zt-format .zt-visual{order:1}.zt-format .zt-format-guide{order:2}.zt-format .zt-format-note{order:3;font-size:14px}
 .zt-format .zt-scene-inner{padding:8px 0 0;display:flex;flex-direction:column;align-items:center;gap:0}
 .zt-format :is(.zt-art,.zt-bracket-lines,.zt-final-glow){display:none}
 .zt-format .zt-groups{position:relative;inset:auto;width:100%;height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .zt-format .zt-group{position:relative;inset:auto;transform:none;width:100%;height:auto;min-height:48px;padding:12px;border:1px solid #258fff;background:#061c39;color:#fff;border-radius:8px;font-size:16px!important}
 .zt-format .zt-group[aria-pressed=true]{background:#075dcc;box-shadow:0 0 18px #078cff55}
 .zt-format .zt-final-caption{position:relative;inset:auto;transform:none;display:flex;align-items:center;justify-content:center;width:112px;height:112px;margin:34px 0 0;border:2px solid #219cff;border-radius:50%;background:#051c38;color:#fff;font-size:22px;letter-spacing:.08em;box-shadow:0 0 22px #007fff55,inset 0 0 20px #007fff33}
 .zt-format .zt-final-caption:before{content:"";position:absolute;bottom:100%;left:50%;width:2px;height:34px;background:#219cff}
 .zt-format .zt-format-guide li{font-size:16px;line-height:1.45}.zt-format .zt-body{font-size:16px;line-height:1.55}
 .znf.znf-stepped{padding:16px 4%}.znf-stepped .znf-shell{padding:18px;gap:20px}
 .znf-stepped .znf-story{padding:0;min-height:0;margin-bottom:20px}
 .znf-stepped .znf-scene{position:relative;inset:auto;width:100%;height:150px;margin:12px 0}
 .znf-stepped .znf-art{max-height:150px;width:100%;height:100%;object-fit:contain}
 .znf-stepped h2{font-size:var(--ds-title)!important;line-height:1.1;}.znf-stepped .znf-description{font-size:16px;line-height:1.5}
 .znf-stepped .znf-note{font-size:14px;line-height:1.45}.znf-stepped .znf-panel{padding:18px 14px}
 .znf-stepped :is(input,select,textarea){font-size:16px!important}.znf-stepped .znf-grid{grid-template-columns:minmax(0,1fr)}
 .znf-stepped .znf-field{min-width:0}.znf-stepped .znf-field label{font-size:.875rem;line-height:1.4;}
 .znf-step-controls{flex-wrap:wrap}.znf-step-controls button,.znf-stepped .znf-actions button{flex:1;min-width:100px}
 .znf-stepped .znf-actions{flex-wrap:wrap}.znf-stepped .znf-reassurance{font-size:14px;line-height:1.45}
 main :is(.book-next,.book-prev,.zx-pager button){min-width:44px;min-height:44px}
 .zgf a{min-height:44px}.zgf nav a{display:flex;align-items:center;font-size:15px;line-height:1.4}
 .zgf{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){
 .zx-platform .zx-mobile-platform{gap:8px}.zx-mobile-platform>div{font-size:14px;padding:14px 5px}
 main .zc-section[data-kind] .zc-tab-name{font-size:16px}
 .znf-stepped .znf-shell{padding:12px}.zr-umpire-grid article{grid-template-columns:80px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .zx-mobile-platform *,main .zt-format *,main .zgo-onboarding *{animation:none!important;transition:none!important}
}

/* Compact guide pages use readable type and flow inside the available width. */
.book-page .book-compact-reader .physical-book{max-width:100%}
.book-page .book-compact-reader .book-cover-content{height:auto;min-height:480px}
.book-page .book-compact-reader .book-paper-content .book-link{font-size:15px;min-height:44px}
.book-page .book-compact-reader .book-pin{padding-top:var(--header-clearance,96px)}
@media(max-width:520px){
 .book-page .book-compact-reader .book-paper-content .book-illustrated{grid-template-columns:minmax(0,1fr);gap:18px}
 .book-page .book-compact-reader .book-card-art{max-height:220px;overflow:hidden}
}
