/* Postcard-only phone layout. Tablet and desktop geometry stays in its original stylesheet. */
html body .timeWalker.is-front{background-image:url('../../assets/gundan/gundan-front-back-walk-v1.png')!important;background-size:100% 400%!important;background-position:0 0!important;transform:none!important;}
@media (max-width:600px) and (orientation:portrait), (max-height:520px) and (orientation:landscape){
html body.travel-postcard .stage{display:grid!important;width:100%!important;height:100dvh!important;min-height:0!important;max-height:none!important;padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left))!important;gap:8px!important;box-sizing:border-box!important;overflow:hidden!important;}
html body.travel-postcard .mapPanel{display:grid!important;grid-template-rows:40px 66px minmax(0,1fr)!important;width:100%!important;height:100%!important;min-height:0!important;overflow:visible!important;}
html body.travel-postcard .mapFooter{position:static!important;grid-row:1!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;height:40px!important;margin:0!important;padding:0!important;gap:6px!important;}
html body.travel-postcard .mapFooter>*{position:static!important;width:100%!important;min-width:0!important;height:40px!important;min-height:0!important;max-width:none!important;box-sizing:border-box!important;margin:0!important;padding:4px!important;transform:none!important;font-size:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;flex:none!important;}
html body.travel-postcard .mapFooter>a{padding:0!important;}
html body.travel-postcard .mapFooter img{width:100%!important;height:100%!important;object-fit:fill!important;}
html body.travel-postcard .resetInMap svg{width:16px!important;height:16px!important;flex:0 0 16px!important;}
html body.travel-postcard .floatIconText{font-size:11px!important;white-space:nowrap!important;}
html body.travel-postcard .panelHead{grid-row:2!important;min-height:0!important;padding:0!important;height:66px!important;}
html body.travel-postcard .headRow{height:100%!important;display:block!important;}
html body.travel-postcard .timeProgressHead{display:block!important;position:relative!important;width:100%!important;height:66px!important;padding:25px 0 18px!important;box-sizing:border-box!important;}
html body.travel-postcard .timeProgressLabel{display:none!important;}
html body.travel-postcard .timeProgressTrack{height:20px!important;width:100%!important;position:relative!important;}
html body.travel-postcard .timeProgressTrack .timeNowLabel{top:-20px!important;font-size:11px!important;line-height:16px!important;white-space:nowrap!important;}
html body.travel-postcard .timePeriodIcons{height:20px!important;font-size:16px!important;}
html body.travel-postcard .timeDayLabels{font-size:10px!important;top:22px!important;}
html body.travel-postcard .mapBody{grid-row:3!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:0!important;min-width:0!important;padding:8px!important;overflow:visible!important;}
html body.travel-postcard .mapWrap{position:relative!important;top:auto!important;left:auto!important;transform:none!important;margin:0!important;flex:none!important;width:var(--postcard-board,200px)!important;height:var(--postcard-board,200px)!important;aspect-ratio:1!important;}
html body.travel-postcard .sidePanel{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 100px!important;gap:6px!important;height:100%!important;min-height:0!important;padding:0!important;overflow:visible!important;background:none!important;border:0!important;}
html body.travel-postcard .sidePanel>div{display:contents!important;}
html body.travel-postcard .postcardBox{grid-column:1!important;grid-row:1!important;display:grid!important;grid-template-rows:28px minmax(0,1fr)!important;min-height:0!important;height:100%!important;margin:0!important;border-width:3px!important;border-radius:12px!important;overflow:hidden!important;}
html body.travel-postcard .flipTitle{height:28px!important;min-height:0!important;padding:2px 5px!important;font-size:13px!important;gap:4px!important;box-sizing:border-box!important;}
html body.travel-postcard .flipTitle img{width:22px!important;height:22px!important;}
html body.travel-postcard .flipBrandTitle{min-width:0!important;white-space:nowrap!important;}
html body.travel-postcard .postcardProgress{display:none!important;}
html body.travel-postcard .postcardCard{height:100%!important;min-height:0!important;padding:3px!important;box-sizing:border-box!important;}
html body.travel-postcard .postcardImageBox{width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;border-width:2px!important;border-radius:8px!important;box-sizing:border-box!important;}
html body.travel-postcard .postcardImagePlaceholder{width:100%!important;height:100%!important;padding:0!important;min-height:0!important;}
html body.travel-postcard .postcardPhotoCaption{font-size:10px!important;letter-spacing:0!important;line-height:1.2!important;}
html body.travel-postcard .postcardPhotoCaption rt{font-size:6px!important;}
html body.travel-postcard .postcardTravelers{grid-column:2!important;grid-row:1!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr) 28px!important;gap:4px!important;margin:0!important;min-width:0!important;min-height:0!important;height:100%!important;}
html body.travel-postcard .postcardTravelers .timeSpeech{position:relative!important;grid-row:1!important;grid-column:1!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;padding:7px!important;margin:0!important;font-size:13px!important;line-height:1.35!important;border-radius:10px!important;overflow:hidden!important;}
html body.travel-postcard .timeSpeech::before{display:none!important;}
html body.travel-postcard .postcardTravelers .timeWalker{display:none!important;}
html body.travel-postcard .postcardTravelers .timeProgressRemain{grid-row:2!important;grid-column:1!important;position:static!important;width:100%!important;height:28px!important;min-height:0!important;box-sizing:border-box!important;padding:3px!important;margin:0!important;font-size:16px!important;text-align:center!important;white-space:nowrap!important;}
html body.travel-postcard .routeArea{grid-column:1 / -1!important;grid-row:2!important;display:grid!important;grid-template-rows:64px 30px!important;gap:4px!important;padding:0!important;margin:0!important;width:100%!important;height:98px!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;}
html body.travel-postcard .dirGrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(2,30px)!important;gap:4px!important;height:64px!important;padding:0!important;}
html body.travel-postcard .dirBtn{width:100%!important;height:30px!important;min-height:0!important;padding:0!important;font-size:18px!important;}
html body.travel-postcard .routeTitle{height:30px!important;min-height:0!important;margin:0!important;padding:0!important;font-size:11px!important;line-height:1.3!important;overflow:hidden!important;}
html body.travel-postcard .symbolHintSetting{grid-column:2!important;grid-row:1!important;align-self:end!important;}
html body.travel-postcard .eventArea{position:absolute!important;bottom:8px!important;left:8px!important;right:8px!important;z-index:80!important;}
}
@media(max-width:600px) and (orientation:portrait){html body.travel-postcard .stage{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 264px!important;}}
@media(max-height:520px) and (orientation:landscape){
html body.travel-postcard .stage{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr)!important;grid-template-rows:minmax(0,1fr)!important;}
html body.travel-postcard .mapPanel{grid-template-columns:88px minmax(0,1fr)!important;grid-template-rows:66px minmax(0,1fr)!important;gap:0 8px!important;}
html body.travel-postcard .mapFooter{grid-column:1!important;grid-row:1 / -1!important;height:100%!important;display:flex!important;flex-direction:column!important;padding:4px 0!important;box-sizing:border-box!important;}
html body.travel-postcard .mapFooter>*{flex:0 0 40px!important;}
html body.travel-postcard .mapFooter #resetBtn{margin-top:auto!important;}
html body.travel-postcard .panelHead{grid-column:2!important;grid-row:1!important;}
html body.travel-postcard .mapBody{grid-column:2!important;grid-row:2!important;}
}
@media (max-width:600px) and (orientation:portrait), (max-height:520px) and (orientation:landscape){
html body.travel-postcard .postcardTravelers{position:relative!important;height:calc(100% - 34px)!important;grid-template-rows:minmax(0,1fr) 28px!important;}
html body.travel-postcard .postcardTravelers .timeWalker{display:block!important;position:absolute!important;left:0!important;bottom:0!important;top:auto!important;width:62px!important;height:28px!important;}
html body.travel-postcard .postcardTravelers .timeProgressRemain{width:calc(100% - 64px)!important;justify-self:end!important;font-size:13px!important;}
html body.travel-postcard .symbolHintSetting{height:28px!important;margin:0!important;display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;}
html body.travel-postcard .symbolHintLabel{font-size:9px!important;white-space:normal!important;}
html body.travel-postcard .symbolHintSwitch{min-width:0!important;width:90px!important;height:26px!important;flex:0 0 90px!important;}
html body.travel-postcard .symbolHintToggle{font-size:10px!important;min-height:22px!important;padding:2px 5px!important;}
}
/* Keep the portrait sheet and spoken message in their allocated slots. */
@media (max-width:600px) and (orientation:portrait), (max-height:520px) and (orientation:landscape){
html body.travel-postcard .sidePanel .postcardBox{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;align-self:stretch!important;}
html body.travel-postcard .sidePanel .postcardCard{height:100%!important;min-height:0!important;flex:none!important;}
html body.travel-postcard .sidePanel .postcardImageBox{height:100%!important;aspect-ratio:auto!important;}
html body.travel-postcard .sidePanel .routeArea{height:100px!important;max-height:100px!important;min-height:100px!important;min-width:0!important;width:100%!important;padding:0!important;border:0!important;top:auto!important;}
html body.travel-postcard .sidePanel .routeArea .routeTitle{max-height:30px!important;overflow:hidden!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeSpeech{transform:none!important;align-self:stretch!important;max-height:100%!important;}
html body.travel-postcard .sidePanel .symbolHintSetting{width:100%!important;max-width:100%!important;}
html body.travel-postcard .sidePanel .dirGrid{min-height:64px!important;}
}
/* A front-facing row is four 256x384 cells: preserve the source ratio. */
html body .postcardTravelers .timeWalker.is-front{width:100px!important;height:37.5px!important;background-size:100% 400%!important;flex-basis:37.5px!important;align-self:center!important;}
@media (max-width:600px) and (orientation:portrait), (max-height:520px) and (orientation:landscape){html body.travel-postcard .postcardTravelers .timeWalker.is-front{width:64px!important;height:24px!important;}}
@media (max-width:600px) and (orientation:portrait), (max-height:520px) and (orientation:landscape){
html body.travel-postcard .sidePanel > .symbolHintSetting{display:flex!important;grid-column:2!important;grid-row:1!important;height:28px!important;align-self:end!important;}
html.travel-advanced body.travel-postcard .sidePanel .dirGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(2,30px)!important;gap:4px!important;}
html.travel-advanced body.travel-postcard .sidePanel .dirBtn{height:30px!important;min-height:30px!important;font-size:16px!important;}
html body.travel-postcard .mapPanel .mapBody{align-items:center!important;align-content:center!important;padding:8px!important;}
html body.travel-postcard .sidePanel .routeSlots{display:none!important;}
html body.travel-postcard .sidePanel .routeArea{max-width:none!important;}
}
/* A dedicated navigation row prevents controls from covering the last map row. */
@media (min-width:601px) and (min-height:521px){
html body.travel-postcard .mapPanel{display:grid!important;grid-template-rows:112px minmax(0,1fr) 40px!important;gap:8px!important;padding:0 14px 14px!important;box-sizing:border-box!important;}
html body.travel-postcard .mapPanel .panelHead{grid-row:1!important;padding:8px 0 0!important;}
html body.travel-postcard .mapPanel .mapBody{grid-row:2!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:0!important;padding:8px!important;}
html body.travel-postcard .mapPanel .mapFooter{grid-row:3!important;position:static!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;margin:0!important;height:40px!important;}
html body.travel-postcard .mapPanel .mapWrap{width:var(--postcard-board,300px)!important;height:var(--postcard-board,300px)!important;aspect-ratio:1!important;top:auto!important;transform:none!important;margin:0!important;flex:none!important;}
}
@media (max-width:600px) and (orientation:portrait), (max-height:520px) and (orientation:landscape){
html body.travel-postcard .sidePanel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 48px 28px 100px 28px!important;gap:4px!important;}
html body.travel-postcard .sidePanel .postcardBox{grid-column:1 / -1!important;grid-row:1!important;}
html body.travel-postcard .sidePanel .postcardTravelers{display:contents!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeSpeech{grid-column:1 / -1!important;grid-row:2!important;height:48px!important;max-height:48px!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeWalker{grid-column:1!important;grid-row:3!important;position:relative!important;width:72px!important;height:26px!important;left:auto!important;top:auto!important;bottom:auto!important;align-self:center!important;justify-self:start!important;margin:0!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeWalker.is-front{width:72px!important;height:27px!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeProgressRemain{grid-column:2!important;grid-row:3!important;width:100%!important;height:28px!important;font-size:15px!important;}
html body.travel-postcard .sidePanel .routeArea{grid-column:1 / -1!important;grid-row:4!important;}
html body.travel-postcard .sidePanel > .symbolHintSetting{grid-column:1 / -1!important;grid-row:5!important;}
html body.travel-postcard .postcardPhotoWithCaption{position:relative!important;}
}
@media (max-width:600px) and (orientation:portrait){html body.travel-postcard .stage{grid-template-rows:minmax(0,1fr) 336px!important;}}
/* Vertical sprites use 256x384 cells; side-view sprites use their own source ratio. */
body.party-walk .party-member.is-vertical{width:calc(var(--busH) * .666666667);}
@media (min-width:601px) and (min-height:521px){
html body.travel-postcard .sidePanel .flipTitle{box-sizing:border-box!important;height:48px!important;min-height:48px!important;max-height:48px!important;overflow:hidden!important;}
html body.travel-postcard .sidePanel .flipBrandTitle{white-space:nowrap!important;min-width:0!important;}
html body.travel-postcard .sidePanel .routeTitle{box-sizing:border-box!important;height:40px!important;min-height:40px!important;max-height:40px!important;overflow:hidden!important;}
html body.travel-postcard .sidePanel .timeSpeech{height:72px!important;min-height:72px!important;max-height:72px!important;overflow:hidden!important;}
}
@media (max-width:600px) and (orientation:portrait), (max-height:520px) and (orientation:landscape){
html body.travel-postcard .sidePanel > .symbolHintSetting{flex-direction:row!important;justify-content:flex-start!important;padding:0!important;}
html body.travel-postcard .sidePanel .symbolHintSwitch{box-sizing:border-box!important;flex:0 0 100px!important;width:100px!important;height:26px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;}
html body.travel-postcard .sidePanel .symbolHintSwitch .symbolHintToggle{width:100%!important;min-width:0!important;height:18px!important;min-height:18px!important;padding:0 4px!important;}
html body.travel-postcard .mapPanel .mapWrap{align-self:center!important;}
}
/* Only the compact landscape layout trades controls' height for a larger photo. */
@media (max-height:520px) and (orientation:landscape){
html body.travel-postcard .sidePanel{grid-template-rows:minmax(0,1fr) 36px 28px 66px!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeSpeech{height:36px!important;min-height:36px!important;max-height:36px!important;padding:3px 7px!important;line-height:15px!important;}
html body.travel-postcard .sidePanel .routeArea{height:66px!important;min-height:66px!important;max-height:66px!important;grid-template-rows:30px 30px!important;}
html.travel-advanced body.travel-postcard .sidePanel .dirGrid{grid-template-columns:repeat(8,minmax(0,1fr))!important;grid-template-rows:30px!important;height:30px!important;min-height:30px!important;}
html.travel-advanced body.travel-postcard .sidePanel .dirBtn{font-size:14px!important;}
html body.travel-postcard .mapPanel .mapFooter > .symbolHintSetting{position:static!important;display:flex!important;flex-direction:column!important;flex:0 0 46px!important;gap:2px!important;width:88px!important;height:46px!important;margin: auto 0 0!important;padding:0!important;}
html body.travel-postcard .mapPanel .mapFooter .symbolHintLabel{font-size:9px!important;line-height:12px!important;height:12px!important;white-space:nowrap!important;}
html body.travel-postcard .mapPanel .mapFooter .symbolHintSwitch{box-sizing:border-box!important;flex:none!important;width:88px!important;height:26px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;}
html body.travel-postcard .mapPanel .mapFooter .symbolHintToggle{width:100%!important;min-width:0!important;height:18px!important;min-height:18px!important;padding:0 3px!important;font-size:10px!important;}
html body.travel-postcard .mapPanel .mapFooter #resetBtn{margin-top:0!important;}
}
/* Portrait uses the same compact controls; hints remain below the instructions. */
@media (max-width:600px) and (orientation:portrait){
html body.travel-postcard .sidePanel{grid-template-rows:minmax(0,1fr) 36px 28px 66px 28px!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeSpeech{height:36px!important;min-height:36px!important;max-height:36px!important;padding:3px 7px!important;line-height:15px!important;}
html body.travel-postcard .sidePanel .routeArea{height:66px!important;min-height:66px!important;max-height:66px!important;grid-template-rows:30px 30px!important;}
html.travel-advanced body.travel-postcard .sidePanel .dirGrid{grid-template-columns:repeat(8,minmax(0,1fr))!important;grid-template-rows:30px!important;height:30px!important;min-height:30px!important;}
html.travel-advanced body.travel-postcard .sidePanel .dirBtn{font-size:14px!important;}
}
@media (min-width:601px) and (min-height:521px){
html body.travel-postcard .postcardTravelers .timeProgressRemain{box-sizing:border-box!important;width:160px!important;min-width:160px!important;height:34px!important;white-space:nowrap!important;}
}
/* Let the photo use the heading's height, keeping its label at the upper left. */
@media (max-width:600px) and (orientation:portrait), (max-height:520px) and (orientation:landscape){
html body.travel-postcard .sidePanel .postcardBox{position:relative!important;display:block!important;}
html body.travel-postcard .sidePanel .postcardBox .postcardCard{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;padding:3px!important;}
html body.travel-postcard .sidePanel .postcardBox .flipTitle{position:absolute!important;left:3px!important;top:3px!important;z-index:35!important;width:120px!important;max-width:50%!important;height:26px!important;min-height:26px!important;padding:2px 4px!important;background:rgba(255,235,180,.94)!important;border:0!important;border-radius:5px!important;}
html body.travel-postcard .postcardPhotoWithCaption .postcardPhoto{object-position:right center!important;}
html body.travel-postcard .postcardBox .flipTitle img{display:none!important;}
}
/* On portrait phones, directions are the first controls immediately below the map. */
@media (max-width:600px) and (orientation:portrait){
html body.travel-postcard .sidePanel{grid-template-rows:30px minmax(0,1fr) 36px 28px 30px 28px!important;}
html.travel-advanced body.travel-postcard .sidePanel > .dirGrid{display:grid!important;grid-column:1 / -1!important;grid-row:1!important;}
html body.travel-postcard .sidePanel .postcardBox{grid-row:2!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeSpeech{grid-row:3!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeWalker,
html body.travel-postcard .sidePanel .postcardTravelers .timeProgressRemain{grid-row:4!important;}
html body.travel-postcard .sidePanel .routeArea{grid-row:5!important;grid-template-rows:30px!important;height:30px!important;min-height:30px!important;max-height:30px!important;}
html body.travel-postcard .sidePanel > .symbolHintSetting{grid-row:6!important;}
}
/* Instructions are plain text; the travelers' speech keeps its visible tail. */
html body.travel-postcard .sidePanel .routeArea{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;}
html body.travel-postcard .sidePanel .routeArea .routeTitle{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeSpeech{overflow:visible!important;}
html body.travel-postcard .sidePanel .postcardTravelers .timeSpeech::before{
 content:""!important;display:block!important;position:absolute!important;left:28px!important;right:auto!important;top:100%!important;bottom:auto!important;
 width:0!important;height:0!important;border:6px solid transparent!important;border-top-color:rgba(255,255,255,.96)!important;transform:none!important;filter:none!important;pointer-events:none!important;
}
/* Portrait tablets: use the map's left margin for navigation and reclaim its bottom row. */
@media (orientation:portrait) and (min-width:601px) and (min-height:521px){
html body.travel-postcard .mapPanel{grid-template-columns:88px minmax(0,1fr)!important;grid-template-rows:112px minmax(0,1fr)!important;}
html body.travel-postcard .mapPanel .panelHead{grid-column:1 / -1!important;grid-row:1!important;}
html body.travel-postcard .mapPanel .mapBody{grid-column:2!important;grid-row:2!important;}
html body.travel-postcard .mapPanel .mapFooter{grid-column:1!important;grid-row:2!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;width:88px!important;height:100%!important;padding:6px 0!important;box-sizing:border-box!important;}
html body.travel-postcard .mapPanel .mapFooter > *{position:static!important;flex:0 0 40px!important;width:88px!important;min-width:88px!important;max-width:88px!important;height:40px!important;min-height:40px!important;box-sizing:border-box!important;margin:0!important;transform:none!important;}
html body.travel-postcard .mapPanel .mapFooter #resetBtn{margin-top:auto!important;padding:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;font-size:12px!important;}
html body.travel-postcard .mapPanel .mapFooter #resetBtn svg{width:16px!important;height:16px!important;flex:0 0 16px!important;}
html body.travel-postcard .mapPanel .mapFooter .floatIconText{font-size:12px!important;white-space:nowrap!important;}
html body.travel-postcard .mapPanel .mapFooter .postcardLangToggle{padding:4px!important;font-size:12px!important;}
}
@media (orientation:portrait) and (min-width:601px) and (min-height:521px){
html body.travel-postcard .mapPanel .mapFooter #resetBtn{display:grid!important;grid-template-columns:16px max-content!important;align-content:center!important;justify-content:center!important;}
html body.travel-postcard .mapPanel .mapFooter #resetBtn > .diceRestartIcon{position:static!important;display:block!important;margin:0!important;transform:none!important;min-width:16px!important;max-width:16px!important;}
html body.travel-postcard .mapPanel .mapFooter #resetBtn > .floatIconText{position:static!important;display:block!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0!important;transform:none!important;font-size:12px!important;line-height:1.2!important;}
}
/* Portrait tablets: reorder directions within the existing right-hand column. */
@media (orientation:portrait) and (min-width:601px) and (min-height:521px){
html.travel-advanced body.travel-postcard .sidePanel > div > .dirGrid{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;grid-template-rows:34px!important;gap:6px!important;width:100%!important;min-width:0!important;height:34px!important;min-height:34px!important;margin:0 0 8px!important;padding:0!important;flex:0 0 34px!important;}
}
/* Keep the tablet portrait right column inside its own width, including margins. */
@media (orientation:portrait) and (min-width:601px) and (min-height:521px){
html body.travel-postcard .sidePanel > div:nth-child(2){box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;padding-right:10px!important;}
html body.travel-postcard .sidePanel > div:nth-child(2) .postcardTravelers{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 6px!important;}
html body.travel-postcard .sidePanel > div:nth-child(2) > .dirGrid{box-sizing:border-box!important;max-width:100%!important;}
html body.travel-postcard .sidePanel > div:nth-child(2) .timeSpeech{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
}
/* Portrait phones center the complete photo within its frame. */
@media (orientation:portrait) and (max-width:600px){
html body.travel-postcard .postcardPhotoWithCaption .postcardPhoto{object-position:center center!important;}
}
