/* v6: use the actual reader height; keep content readable when browser chrome is open. */
body[data-scene="banquet"] #phone #home{display:flex;flex-direction:column;height:100%;min-height:460px;padding-bottom:12px;animation:none}
body[data-scene="banquet"] #phone #home .bn-home-intro{flex:none;padding-top:10px;margin:0 0 10px}
body[data-scene="banquet"] #phone .bn-h1{font-size:31px;line-height:1.25;margin:5px 0 4px}
body[data-scene="banquet"] #phone .bn-lead{font-size:14px;line-height:1.6}
.bn-showcase{flex:1;min-height:0;grid-template-rows:minmax(110px,1fr) auto;gap:10px;align-content:start}
.bn-media-column{min-height:0;display:flex;flex-direction:column}
.bn-stage{flex:1;min-height:110px;aspect-ratio:auto;max-height:calc((100vw - 44px) * .5625)}
.bn-thumbs{flex:none;gap:8px;padding:8px 2px 4px}
.bn-thumb{flex-basis:72px;font-size:12px;line-height:1.4}
.bn-thumb-picture{margin-bottom:3px}
.bn-showcase-copy{padding:12px}
.bn-selected-category{font-size:12px;line-height:1.5;margin:0 0 3px}
.bn-showcase-copy h2{font-size:24px;line-height:1.3;margin:0 0 5px}
#bn-selected-description{font-size:14px;line-height:1.55;min-height:0}
.bn-showcase-copy .bn-actions{gap:8px;margin-top:10px}
body[data-scene="banquet"] #phone .bn-showcase-copy .bn-actions button{min-height:44px;padding:9px 8px;font-size:14px}
.bn-home-note{display:none}
/* The heading, two useful panels and footer stay together; long reading still scrolls. */
body[data-scene="banquet"] #phone #today{display:grid;height:100%;min-height:480px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);align-items:start;gap:10px;padding-top:0;padding-bottom:10px;animation:none}
body[data-scene="banquet"] #phone #today .compact-header{padding:8px 0 0}
body[data-scene="banquet"] #phone #today .compact-header>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;align-items:center}
body[data-scene="banquet"] #phone #today #date-line{grid-column:2;grid-row:1;font-size:11px;line-height:1.4;text-align:right}
body[data-scene="banquet"] #phone #today .compact-header h1{grid-column:1;grid-row:1;font-size:27px;line-height:1.25;margin:0}
body[data-scene="banquet"] #phone #today .compact-header>div>p{grid-column:1/-1;grid-row:2;font-size:12px;line-height:1.5}
body[data-scene="banquet"] #phone .weather-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:8px;align-content:center;padding:12px;margin:0;min-height:0}
body[data-scene="banquet"] #phone .weather-main{grid-column:1/-1;padding:0 0 5px;gap:8px}
body[data-scene="banquet"] #phone .weather-main>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;flex:1}
body[data-scene="banquet"] #phone .weather-main .weather-meta{grid-column:1/-1;font-size:11px;line-height:1.4}
body[data-scene="banquet"] #phone .temp{grid-column:1;grid-row:2/4;font-size:64px;line-height:1;letter-spacing:-3px}
body[data-scene="banquet"] #phone .temp sup{font-size:29px}
body[data-scene="banquet"] #phone .weather-main h2{grid-column:2;font-size:16px;margin:0;line-height:1.45}
body[data-scene="banquet"] #phone .weather-main p{grid-column:2;font-size:12px;line-height:1.5;margin:0}
body[data-scene="banquet"] #phone .sun-cloud{width:64px;height:78px;flex:none;transform:scale(.59);transform-origin:center right}
body[data-scene="banquet"] #phone #weather-updated,body[data-scene="banquet"] #phone #weather-status{grid-column:1/-1;font-size:10px;line-height:1.5;margin:0}
body[data-scene="banquet"] #phone .weather-tip,body[data-scene="banquet"] #phone .tomorrow{min-height:44px;padding:6px;gap:5px;margin-top:7px;font-size:12px;line-height:1.5}
body[data-scene="banquet"] #phone .weather-tip>span:first-child,body[data-scene="banquet"] #phone .tomorrow>span:first-child{width:20px;height:20px;flex:none}
body[data-scene="banquet"] #phone .season-panel{display:flex;flex-direction:column;justify-content:center;min-height:0;padding:12px;margin:0}
body[data-scene="banquet"] #phone .season-panel>.tag{align-self:flex-start;font-size:11px;line-height:1.5;padding:2px 8px}
body[data-scene="banquet"] #phone .season-title{display:block;font-size:22px;line-height:1.4;margin:5px 0}
body[data-scene="banquet"] #phone .season-title br{display:none}
body[data-scene="banquet"] #phone .season-panel>.gold-rule{display:none}
body[data-scene="banquet"] #phone .season-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:6px 0 8px}
body[data-scene="banquet"] #phone .season-list>button{min-height:48px;flex-direction:column;justify-content:center;align-items:center;padding:4px 2px;gap:3px}
body[data-scene="banquet"] #phone .season-list>button>span{width:22px;height:22px;padding:0}
body[data-scene="banquet"] #phone .season-list strong{font-size:12px;white-space:nowrap}
body[data-scene="banquet"] #phone .season-list p{font-size:11px;line-height:1.4}
body[data-scene="banquet"] #phone .season-list b{display:none}
body[data-scene="banquet"] #phone .season-audio{padding:6px;min-height:54px;gap:8px;margin:0}
body[data-scene="banquet"] #phone .season-audio .story-image{width:38px;height:38px;flex:none}
body[data-scene="banquet"] #phone .season-audio .audio-copy h2{font-size:14px;margin-bottom:2px}
body[data-scene="banquet"] #phone .season-audio .audio-copy p{font-size:11px}
body[data-scene="banquet"] #phone .season-audio .wave{height:12px;margin-top:2px}
body[data-scene="banquet"] #phone #today>.endnote{grid-column:1/-1;align-self:end;font-size:10px;line-height:1.4;padding:0;margin:0}
body[data-scene="banquet"] #phone #today .weather-panel,body[data-scene="banquet"] #phone #today .season-panel{align-self:start;background:#fcf9f2bb}
/* Theme choice and its change action form one compact, self-contained row. */
body[data-scene="banquet"] #phone #guide{display:flow-root;min-height:100%;padding-bottom:12px;animation:none}
body[data-scene="banquet"] #phone #guide>.bn-page-title{font-size:28px;line-height:1.3;margin:12px 0 6px}
body[data-scene="banquet"] #phone #guide>.bn-page-title br{display:none}
body[data-scene="banquet"] #phone #guide>.bn-page-intro{font-size:15px;line-height:1.6;margin:0 0 10px}
.bn-chosen{gap:10px;padding:10px;margin:0 0 10px;min-height:68px}
.bn-chosen img{width:62px;height:56px}
.bn-chosen>div{flex:1;min-width:0}
.bn-chosen small{font-size:12px}
.bn-chosen h2{font-size:21px;line-height:1.35;margin:3px 0 0}
.bn-change-theme{flex:none;color:var(--bn-red);font-size:13px;line-height:1.5;min-height:44px;padding:4px 0 4px 6px}
.bn-custom-letter{margin:0;padding:16px}
.bn-custom-letter h2{font-size:21px;line-height:1.4;margin:0 0 8px}
.bn-custom-letter p{font-size:15px;line-height:1.6;margin:0 0 10px}
body[data-scene="banquet"] #phone .bn-custom-letter .primary{min-height:44px;padding:10px 14px;font-size:15px}
.bn-custom-letter .bn-custom-help{font-size:12px;line-height:1.6;margin:8px 0 0}
@media(max-width:899px) and (max-height:740px){
 body[data-scene="banquet"] #phone #home .bn-home-intro{padding-top:7px;margin-bottom:8px}
 body[data-scene="banquet"] #phone .bn-h1{font-size:27px;line-height:1.2;margin:4px 0}
 .bn-showcase{gap:8px}.bn-showcase-copy{padding:10px}.bn-showcase-copy h2{font-size:23px}
}
@media(max-width:699px) and (max-height:680px){
 body[data-scene="banquet"] #phone .season-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 6px;align-content:center}
 body[data-scene="banquet"] #phone .season-panel>.tag{grid-column:1;grid-row:1;align-self:center;font-size:10px;padding:2px 5px}
 body[data-scene="banquet"] #phone .season-title{grid-column:2;grid-row:1;font-size:17px;line-height:1.45;margin:0}
 body[data-scene="banquet"] #phone .season-list,body[data-scene="banquet"] #phone .season-audio{grid-column:1/-1}
 body[data-scene="banquet"] #phone .bn-detail-layout{grid-template-rows:minmax(80px,1fr) auto}
}
@media(max-width:359px){
 body[data-scene="banquet"] #phone #home,body[data-scene="banquet"] #phone #today,body[data-scene="banquet"] #phone #guide{padding-left:16px;padding-right:16px}
 body[data-scene="banquet"] #phone #guide>.bn-page-title{font-size:24px}
 .bn-chosen img{width:50px;height:50px}.bn-chosen h2{font-size:19px}
 .bn-chosen small,.bn-change-theme{font-size:11px}
 body[data-scene="banquet"] #phone .sun-cloud{width:46px;transform:scale(.5)}
}
@media(min-width:700px){
 body[data-scene="banquet"] #phone .bn-h1{font-size:36px}
 body[data-scene="banquet"] #phone .bn-lead{font-size:16px}
 .bn-thumb{flex-basis:82px}.bn-thumbs{gap:10px}
}
@media(min-width:900px) and (orientation:landscape){
 body[data-scene="banquet"] #phone #home{min-height:460px}
 body[data-scene="banquet"] #phone #home .bn-home-intro{padding-top:12px;margin-bottom:12px}
 .bn-showcase{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);grid-template-rows:minmax(0,1fr);gap:24px;align-items:center}
 .bn-media-column{height:100%;min-height:0}
 .bn-stage{max-height:none;min-height:180px}
 .bn-thumbs{padding-top:10px;padding-bottom:4px}
 .bn-thumb{flex-basis:82px}
 .bn-showcase-copy{padding:22px}
 .bn-showcase-copy h2{font-size:30px;margin-bottom:12px}
 .bn-selected-category{font-size:14px;margin-bottom:6px}
 #bn-selected-description{font-size:16px;line-height:1.8;min-height:0}
 .bn-showcase-copy .bn-actions{margin-top:18px;gap:10px}
 body[data-scene="banquet"] #phone .bn-showcase-copy .bn-actions button{font-size:16px;min-height:48px}
 body[data-scene="banquet"] #phone #today{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);gap:12px 24px;min-height:460px}
 body[data-scene="banquet"] #phone #today>.compact-header{grid-column:1/-1;padding-top:12px}
 body[data-scene="banquet"] #phone #today .compact-header>div{grid-template-columns:auto 1fr;gap:3px 20px}
 body[data-scene="banquet"] #phone #today .compact-header h1{font-size:32px}
 body[data-scene="banquet"] #phone #today .compact-header>div>p{font-size:15px}
 body[data-scene="banquet"] #phone #today #date-line{font-size:12px}
 body[data-scene="banquet"] #phone .weather-panel,body[data-scene="banquet"] #phone .season-panel{padding:20px;min-height:0}
 body[data-scene="banquet"] #phone .temp{font-size:78px}
 body[data-scene="banquet"] #phone .weather-main h2{font-size:20px}
 body[data-scene="banquet"] #phone .weather-main p{font-size:14px}
 body[data-scene="banquet"] #phone .sun-cloud{width:92px;height:100px;transform:scale(.78)}
 body[data-scene="banquet"] #phone .weather-tip,body[data-scene="banquet"] #phone .tomorrow{grid-column:1/-1;font-size:15px;padding:10px;margin-top:10px;min-height:48px}
 body[data-scene="banquet"] #phone .season-title{font-size:27px;line-height:1.4;margin:10px 0}
 body[data-scene="banquet"] #phone .season-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 12px}
 body[data-scene="banquet"] #phone .season-list>button{flex-direction:row;gap:8px;min-height:48px;padding:8px}
 body[data-scene="banquet"] #phone .season-list strong{font-size:15px}
 body[data-scene="banquet"] #phone .season-audio .audio-copy h2{font-size:16px}
 body[data-scene="banquet"] #phone .season-audio .audio-copy p{font-size:12px}
 body[data-scene="banquet"] #phone #guide{display:grid;height:100%;min-height:460px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);gap:12px 32px;align-content:start;padding-top:22px;padding-bottom:22px}
 body[data-scene="banquet"] #phone #guide>.bn-page-title{grid-row:1;grid-column:1;margin:0;font-size:36px}
 body[data-scene="banquet"] #phone #guide>.bn-page-intro{grid-row:2;grid-column:1;margin:0;font-size:17px}
 body[data-scene="banquet"] #phone #guide>.bn-chosen{grid-row:3;grid-column:1;align-self:start;margin:0}
 body[data-scene="banquet"] #phone #guide>.bn-custom-letter{grid-column:2;grid-row:1/4;align-self:center;margin:0;padding:26px}
 .bn-custom-letter h2{font-size:26px}.bn-custom-letter p{font-size:17px;line-height:1.8}
 .bn-custom-letter .bn-custom-help{font-size:14px}
}
