/* Cross-platform layout: touch targets, safe areas, portrait and landscape. */
.platform-tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.platform-tools button{font-size:13px}.transfer-note{font-size:13px;color:#786675}.platform-notice{position:fixed;z-index:200;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;padding:12px 20px;background:#244b43;color:white;border-radius:16px;box-shadow:0 8px 30px #0005}
@media(max-width:1023px){
 body.story-mode>header h1{color:#f4e7c9}.estate-stage__caption{display:none}
 body>.dialog-backdrop,body>.guide-backdrop,body>.reward-backdrop{display:grid!important}
 body>.desktop-gate,body.story-mode>footer{display:none!important}body>header{display:flex!important;padding:16px}body>main{display:block!important;margin:12px auto;padding:0 12px}body>footer{font-size:12px}body{overflow-x:hidden}button{touch-action:manipulation;min-height:44px}input,select,textarea{font-size:16px!important}.layout{display:block}.layout>aside{position:static;width:auto}.layout>aside>.card:first-child{padding:12px}.layout>aside>.card:first-child p{display:inline;margin-right:10px}.layout>aside nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:12px}.layout>aside nav button{margin:0;padding:9px 4px;text-align:center;font-size:12px}.layout>aside>.card:last-child{padding:12px}.card{padding:16px;border-radius:18px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(n+3){display:block}.stat{padding:10px}.stat strong{font-size:17px}.career-grid,.backyard-grid,.upgrade-grid,.match-grid,.risk-list,.columns{grid-template-columns:1fr}.growth-row{flex-wrap:wrap}.opening-art{width:calc(100% + 32px);margin:-16px -16px 16px}.intro{margin:12px auto}.campaign-tasks{grid-template-columns:1fr}.campaign-title{gap:8px}.campaign-title h2{font-size:23px}
 body.story-mode>header{position:absolute;padding:12px 16px;top:env(safe-area-inset-top)}body.story-mode>header h1{font-size:21px}body.story-mode>header small{display:none}body.story-mode>header span{display:block;font-size:10px}body.story-mode>main{margin:0!important;padding:0!important}body.story-mode aside{position:fixed;left:8px;right:8px;top:auto;bottom:calc(8px + env(safe-area-inset-bottom));z-index:25;width:auto;overflow:visible}body.story-mode aside>.card{display:none}body.story-mode aside nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;gap:3px;margin:0;padding:5px;border-radius:19px;background:#16372fec}body.story-mode aside nav button{font-size:11px;padding:5px 2px;min-height:36px;white-space:nowrap}body.story-mode section>.stats{top:60px;left:12px;right:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:visible}body.story-mode .stat{min-width:0;padding:6px;font-size:9px}body.story-mode .stat strong{font-size:11px}
 .estate-stage{min-height:max(740px,100svh)}.estate-stage__backdrop{object-position:60% center}.month-objective{top:128px;left:16px;width:calc(100% - 32px);padding:12px 14px}.month-objective h3{font-size:17px}.month-objective p{font-size:12px;margin-bottom:5px}.month-objective button{min-height:36px}.month-objective::before{width:24px;height:24px;left:-8px;top:-8px}.campaign-hud{top:304px;left:16px;width:calc(100% - 32px);padding:10px 12px}.campaign-hud p{font-size:11px}.campaign-hud button{min-height:32px}.household-pulse{top:440px;left:auto;right:16px;min-width:0;padding:8px 12px}.household-pulse::before{display:none}.household-pulse strong{font-size:11px}.household-drawer,body.story-mode .household-drawer{top:495px!important;left:16px!important;right:16px!important;width:auto}.estate-stage__caption{left:16px;bottom:276px;padding-left:10px}.estate-stage__caption h2{font-size:25px}.estate-stage__caption p{display:none}.estate-stage__caption .eyebrow{font-size:10px}
 .family-hotspots{left:12px;right:12px;bottom:180px;transform:none;max-width:none;min-width:0;width:auto;min-height:104px;justify-content:flex-start;overflow-x:auto;gap:12px;padding:26px 14px 8px}.family-chip:nth-child(n+6){display:grid}.family-chip{flex-shrink:0;min-width:62px}.family-chip>.game-portrait,.family-chip.is-spouse>.game-portrait{width:52px;height:58px;border-radius:14px}.family-chip small{font-size:9px}.request-badge{top:4px}.event-seal{bottom:112px;left:16px;right:16px;width:calc(100% - 32px);height:52px;min-height:52px;padding:5px 18px;border-radius:16px}.event-seal strong{font-size:14px}.event-seal::before{width:24px;height:24px;left:-7px;top:-7px}
 body.story-mode article.card{position:fixed;top:124px;bottom:180px;max-height:none;width:calc(100% - 24px);padding:22px 16px;border-radius:20px}body.story-mode article.card h2{font-size:24px;letter-spacing:1px}body.story-mode article.card>p{font-size:14px;line-height:1.75}body.story-mode article.card .choices button{padding:12px;font-size:14px;border-radius:15px}.event-open .family-hotspots{transform:none}
 .dialog-backdrop,.guide-backdrop,.reward-backdrop{padding:8px}.character-dialog{width:100%;max-height:calc(100dvh - 16px);border-radius:20px}.character-dialog__top{grid-template-columns:68px 1fr;gap:12px;padding:22px 14px 14px}.character-dialog__portrait{width:64px;height:80px}.character-dialog__top h2{font-size:24px}.character-dialog__top .eyebrow{font-size:10px;letter-spacing:0;padding-right:20px}.character-dialog__top p{font-size:11px}.relation-bars{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:8px}.relation-bars span{font-size:10px;padding:5px 4px 9px}.dialog-close{right:8px;top:6px;width:32px;height:32px;min-height:32px}.character-dialog__body{padding:12px}.character-line{font-size:15px;padding:12px;line-height:1.7}.character-context span{font-size:10px}.dialogue-topics{padding:10px}.dialogue-topics>div{grid-template-columns:1fr 1fr;gap:6px}.dialogue-topics button{font-size:12px;padding:8px}.dialogue-message{grid-template-columns:38px 1fr;gap:5px}.dialogue-history{padding:10px}.free-dialogue-form{padding:10px}.free-dialogue-form>div{grid-template-columns:1fr}.free-dialogue-form button{min-height:44px}.dialog-actions{gap:6px}.dialog-actions button{flex:1;min-width:100px;font-size:12px}.month-guide{width:100%;max-height:90dvh;overflow:auto;padding:22px}.month-guide h2{font-size:23px}.guide-steps{grid-template-columns:1fr;gap:8px}.guide-steps>div{padding:12px}.guide-steps b{float:left;margin:0 12px 8px 0}.guide-steps p{margin:3px 0}.guide-actions{flex-wrap:wrap}.api-panel form{grid-template-columns:1fr}.api-panel form label:nth-child(2),.api-panel .toolbar{grid-column:auto}.chapter-reward{padding:24px}.chapter-reward h2{font-size:24px}
}
