/* 手机端紧凑首屏：减少顶栏与各页面首段留白，桌面端不受影响。 */
@media (max-width:560px){
 :root{--mobile-top-gap:0mm}
 .app-shell{min-height:100svh;padding-bottom:88px}
 .topbar{height:52px!important;padding:0 12px!important}
 .brand{gap:5px}.brand-leaf{width:32px!important;height:32px!important;border-radius:10px!important;font-size:24px!important}.brand strong{font-size:18px!important;letter-spacing:-.8px!important}.brand small{font-size:8px!important}.top-actions{gap:6px}.icon-btn{width:34px!important;height:34px!important;border-radius:11px!important;font-size:19px!important}
 .page{padding:var(--mobile-top-gap) 14px 104px!important}
 .bottom-nav{height:68px!important;bottom:4px!important;width:calc(100% - 10px)!important;border-radius:21px!important}.bottom-nav button{font-size:10px}.bottom-nav span{font-size:20px}

 #dashboard{top:0!important;margin-bottom:0!important}
 .home-plant-backdrop{height:270px!important;margin:calc(0px - var(--mobile-top-gap)) -14px -76px!important;border-radius:0 0 28px 28px!important}.home-intro{left:17px!important;top:var(--mobile-top-gap)!important}.home-intro h1{margin:5px 0 7px!important;font-size:29px!important}.home-intro p{margin:0}.giant-plant{right:-45px!important;bottom:8px!important;font-size:175px!important}
 #dashboard>.weather-card{margin-top:-82px!important;border-radius:20px!important;padding:8px!important}.weather-card .weather-tip{margin-top:5px;padding:8px 9px}.month-calendar{padding:6px}.calendar-title{margin-bottom:2px}.calendar-week span{padding-bottom:2px}.calendar-days span{height:18px}.calendar-days span.today{width:18px;height:18px}.calendar-days .adjacent-month{opacity:.32}.weather-detail-row{padding:3px 0}.dashboard-all-plants{margin-top:8px!important}.dashboard-all-head{margin-bottom:6px}.week-entry-card{margin-top:8px}

 .vision-hero{margin:calc(0px - var(--mobile-top-gap)) -14px 11px!important;padding:var(--mobile-top-gap) 17px 16px!important;border-radius:0 0 23px 23px!important}.vision-hero h1{margin:5px 0!important;font-size:24px!important}.vision-hero p{margin:5px 0;font-size:10px}.live-ai-status{margin-top:7px}.vision-progress{margin:10px 0 18px!important}.vision-progress span{width:28px;height:28px;flex-basis:28px}.vision-progress span b{display:none}.vision-progress i{margin-top:13px}.vision-step>h2,.vision-step-title h2,.vision-result-head h2{font-size:22px}.vision-step>p,.vision-step-title p{margin:5px 0}.vision-type-grid{gap:9px!important;margin-top:11px!important}.vision-type-grid button{min-height:140px!important;border-radius:19px!important;padding:15px 11px!important}.vision-type-grid span{font-size:43px!important}.vision-type-grid b{margin:9px 0 5px!important;font-size:17px!important}.vision-type-grid small{font-size:9px!important}.vision-capture{height:245px;margin:11px 0}.vision-back{padding:3px 0 8px}.confirm-groups{gap:10px;margin-top:10px}.confirm-group{padding:11px;border-radius:15px}.vision-result-head{margin-bottom:11px}.vision-result-cards{gap:9px}.result-card{padding:15px;border-radius:18px}

 #assets{padding:var(--mobile-top-gap) 12px 104px!important}.task-hub-head{padding:0 2px 8px}.task-hub-back{margin-bottom:8px;padding:6px 10px}.task-hub-head h1{font-size:24px}.task-hub-head p{font-size:11px}.task-hub-actions{margin:0 0 12px}.task-hub-group{margin-bottom:16px}.task-hub-title{margin-bottom:7px}

 #gallery .profile-head{margin:0 0 11px}.profile-avatar{width:48px;height:48px;border-radius:16px}.profile-head h1{font-size:21px}.profile-overview{min-height:205px;padding:17px;border-radius:22px}.overview-plant{font-size:125px}.overview-title h2{font-size:23px}.overview-stats{left:10px;right:10px;bottom:10px;padding:5px}.overview-stats button{padding:8px 3px}.overview-stats b{font-size:20px}.profile-section-title{margin:14px 0 9px!important}.profile-menu{gap:7px}.profile-menu>button{padding:11px;border-radius:15px}.profile-menu>button>span{width:38px;height:38px}

 .care-task-head{gap:10px;margin:0 0 12px}.care-task-head>button{width:38px;height:38px;border-radius:12px}.care-task-head h1{font-size:23px}.all-tasks-page,#careRecords,#costStats,#spaceManagement,.weekly-page{padding-top:var(--mobile-top-gap)!important}.sheet{max-height:96svh;padding-top:20px}.close-btn{width:40px;height:40px;font-size:24px}
}
@media (max-width:560px){
 html,body,.app-shell{width:100%;height:100svh;overflow:hidden}
 .topbar{height:48px!important;position:relative!important;top:0!important;transform:none!important}
 #appMain{height:calc(100svh - 48px);overflow:hidden}
 .page.active{height:100%;min-height:0;overflow:hidden;padding-bottom:70px!important}
 .bottom-nav{display:grid!important;visibility:visible!important;opacity:1!important;position:fixed!important;z-index:100!important;height:62px!important;bottom:max(4px,env(safe-area-inset-bottom))!important}
 .home-plant-backdrop{height:248px!important;margin-bottom:-78px!important}
 .home-intro h1{font-size:27px!important}
 .giant-plant{font-size:158px!important}
 #dashboard>.weather-card{margin-top:-91px!important}
 .weather-dashboard-layout{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 132px!important;gap:6px!important}
 .month-calendar,.weather-details{min-width:0}
 .weather-detail-row{grid-template-columns:20px minmax(0,1fr) auto!important;gap:3px!important}
 .weather-detail-row strong{font-size:10px!important}
 .weather-detail-row:nth-child(n+5){display:none}
 .weather-card .weather-tip{min-height:34px}
 .assistant-face{width:29px;height:29px}
 .week-entry-card>div{grid-template-columns:35px 1fr auto;padding:8px 10px}
 .week-entry-card>div>span{width:33px;height:33px}
 .week-entry-card b{font-size:13px}
 .dashboard-all-plants .category-results{max-height:106px;overflow:hidden}
 .dashboard-all-plants .category-photo{height:61px!important}
 .vision-hero{padding-top:7px!important;padding-bottom:9px!important;margin-bottom:6px!important}
 .vision-hero p{display:none}
 .vision-progress{margin:6px 0 12px!important}
 .vision-type-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}
 .vision-type-grid button{min-height:108px!important;padding:10px 8px!important}
 .vision-type-grid button.vision-type-wide,.vision-type-grid .vision-review-entry,.vision-type-grid .environment-diagnosis-entry,.vision-type-grid .separate-review-entry{grid-column:1/-1;min-height:88px!important}
 .vision-type-grid span{font-size:32px!important}
 .vision-type-grid b{font-size:14px!important;margin:5px 0 3px!important}
 .vision-type-grid small{line-height:1.35!important}
 .vision-review-entry{grid-template-columns:44px 1fr!important;padding:10px 13px!important}
 .vision-review-entry>span{width:42px!important;height:42px!important;font-size:25px!important}
 .confirm-groups{grid-template-columns:1fr 1fr;gap:6px}
 .confirm-group{padding:8px}
 .confirm-group h3{margin-bottom:7px}
 .room-question-intro,.room-preference,.auto-environment-card{grid-column:1/-1}
 .room-preference textarea{min-height:48px}
 .vision-capture{height:205px}
 .ai-scanning{padding:18px 7px}
 .scan-orbit{width:64px;height:64px}
 .vision-result-cards{grid-template-columns:repeat(3,minmax(82%,1fr));display:grid;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory}
 .result-card{scroll-snap-align:start;max-height:390px;overflow:auto}
 #assets .task-hub-head p{display:none}
 #assetTodayTasks .task-hub-card:nth-child(n+3),#assetFutureTasks .task-hub-card:nth-child(n+2){display:none}
 .task-hub-group{margin-bottom:10px}
 .task-hub-actions{margin-bottom:8px}
 .task-hub-card{padding-top:7px!important;padding-bottom:7px!important}
 .task-hub-group.completed{margin-top:2px}
 #gallery .profile-head{margin-bottom:7px}
 .profile-overview{min-height:175px}
 .overview-plant{font-size:105px}
 .profile-section-title{margin:8px 0 6px!important}
 .profile-menu>button{padding:8px}
 .profile-menu>button>span{width:33px;height:33px}
 .profile-menu small{margin-top:2px}
 .profile-panel.show{max-height:180px;overflow:auto}
 .all-task-list,.record-page-list,.expense-list,.space-record-list,.weekly-page .task-list{max-height:calc(100svh - 180px);overflow:auto}
 .care-task-head{margin-bottom:8px}
 .record-summary,.space-record-summary{margin-bottom:8px}
}
@media (max-width:560px) and (max-height:720px){
 .home-plant-backdrop{height:200px!important}
 .home-intro{top:18px!important}
 .home-intro h1{font-size:24px!important;margin:6px 0 8px!important}
 .giant-plant{font-size:120px!important;bottom:12px!important}
 .month-calendar{padding:4px!important}
 .calendar-title{margin-bottom:1px!important}
 .calendar-week span{padding-bottom:1px!important}
 .calendar-days span{height:15px!important;font-size:8px!important}
 .calendar-days span.today{width:15px!important;height:15px!important}
 .weather-detail-row{padding:2px 0!important}
 .weather-card .weather-tip{min-height:27px;margin-top:3px!important;padding:5px 7px!important}
 .assistant-face{width:24px;height:24px}
 #dashboard>.week-entry-card{margin:4px 0!important}
 .week-entry-card>div{padding:5px 8px!important}
 .week-entry-card>div>span{width:29px;height:29px}
 .dashboard-all-plants{margin-top:4px!important}
 .dashboard-all-head{margin-bottom:3px!important}
 .dashboard-all-plants .dashboard-empty-plants{min-height:46px;padding:4px 8px}
 .dashboard-empty-plus{width:30px;height:30px}
 #assetTodayTasks .task-hub-card:nth-child(n+2){display:none}
 .task-hub-card{padding-top:5px!important;padding-bottom:5px!important}
 #gallery .profile-overview{min-height:132px}
 #gallery .overview-plant{font-size:82px}
 #gallery .profile-menu>button{padding:5px 8px}
}
@media (max-width:380px){
 .page{padding-left:10px!important;padding-right:10px!important}.home-plant-backdrop{margin-left:-10px!important;margin-right:-10px!important}.vision-hero{margin-left:-10px!important;margin-right:-10px!important}.brand small{display:none!important}.home-intro h1{font-size:28px!important}.weather-dashboard-layout{grid-template-columns:minmax(0,1fr) 124px!important;gap:6px!important}
}
@media (max-width:380px) and (max-height:720px){.home-intro h1{font-size:24px!important}}
