/* PUPIS v75: responsive reading refinements; desktop styles untouched. */
@media (max-width:900px){
 html,body{overflow-x:hidden!important;max-width:100%;scroll-behavior:smooth}
 body{overscroll-behavior-y:auto}
 .starlight-app{height:auto!important;min-height:100dvh!important;overflow:visible!important}
 .site-header{position:relative!important;flex-wrap:wrap!important;gap:8px!important;padding:10px 12px!important;min-height:0!important}
 .logo{font-size:clamp(20px,4vw,27px)!important}
 .sound-btn{min-width:45px!important;min-height:45px!important;width:45px!important;height:45px!important}
 .nav{display:flex!important;order:3!important;flex:1 0 100%!important;min-width:0;max-width:100%;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px!important;padding:4px 0 7px!important;white-space:nowrap}
 .nav::-webkit-scrollbar{display:none}
 .nav a{font-size:13px!important;padding:12px 14px!important;flex:none;min-height:44px!important;display:inline-flex;align-items:center}
 .story-layout{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;gap:15px!important;padding:12px clamp(10px,3vw,22px) 30px!important;max-width:840px!important;margin:0 auto!important}
 .story-aside{width:100%!important;min-height:0!important;overflow:visible!important;border-radius:22px!important;padding:15px!important;gap:9px!important;flex:none!important}
 .breadcrumbs{min-height:32px;display:inline-flex;align-items:center}
 .kicker{font-size:10px!important;padding:5px 11px!important}
 .story-aside h1{font-size:clamp(31px,8vw,45px)!important;line-height:1.05!important}
 .story-subtitle{font-size:14px!important;line-height:1.4!important}
 .cover-figure{display:none!important}
 .section-mini-title{font-size:12px!important}
 .parts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .part-choice{min-height:65px!important;padding:6px!important;gap:7px!important;border-radius:13px!important;min-width:0!important}
 .part-choice img{width:52px!important;height:51px!important;object-fit:cover!important;border-radius:9px!important;flex:none!important}
 .part-choice strong{font-size:13px!important}
 .part-choice small{font-size:11px!important;line-height:1.2!important}
 .side-actions{margin-top:8px!important;gap:9px!important}
 .side-actions button{min-height:48px!important;font-size:15px!important;touch-action:manipulation}
 .side-note{font-size:11px!important}
 .storybook-paper{width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;border-radius:24px!important;padding:9px!important}
 .paper-inner{height:auto!important;min-height:0!important;overflow:visible!important;display:flex!important;padding:clamp(10px,3vw,18px)!important;border-radius:18px!important}
 .paper-heading{gap:10px!important;margin-bottom:12px!important}
 .paper-thumb{width:66px!important;height:68px!important;flex:none!important}
 .paper-heading h2{font-size:clamp(22px,5.4vw,31px)!important}
 .paper-heading p{font-size:12px!important}
 .paper-illustration{height:auto!important;min-height:0!important;aspect-ratio:16/10;flex:none!important;margin-bottom:12px!important}
 .paper-text-scroll{flex:none!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding-right:0!important}
 .story-paragraphs{font-size:clamp(17px,4.2vw,20px)!important;line-height:1.62!important}
 .story-paragraphs p{margin-bottom:15px!important}
 .paper-bottom{gap:9px!important;grid-template-columns:1fr 1fr!important;padding-top:13px!important;margin-top:15px!important}
 .paper-bottom .page-progress{grid-column:1/-1!important;grid-row:1!important;font-size:14px!important}
 .paper-arrow{min-height:49px!important;font-size:16px!important;padding:10px!important;touch-action:manipulation}
 .paper-bottom .back{grid-column:1!important}.paper-bottom .next{grid-column:2!important}
 .sound-menu{max-width:calc(100vw - 20px)!important;left:10px!important;right:10px!important;top:10px!important;width:auto!important}
}
@media (max-width:370px){.part-choice img{width:44px!important;height:47px!important}.part-choice small{font-size:10px!important}.part-choice strong{font-size:12px!important}}
