/* 手机 App 版：沿用季节主题与现有功能，调整为更适合单手操作的五栏布局。 */
.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bottom-nav .nav-icon{display:grid;place-items:center;width:36px;height:34px;border-radius:12px}.bottom-nav .tab-symbol{display:block;width:23px;height:23px;background:currentColor;mask:var(--tab-icon) center/contain no-repeat;-webkit-mask:var(--tab-icon) center/contain no-repeat}.bottom-nav .tab-symbol.compass{--tab-icon:url(tab-icons/compass.svg)}.bottom-nav .tab-symbol.river{--tab-icon:url(tab-icons/river.svg)}.bottom-nav .tab-symbol.balance{--tab-icon:url(tab-icons/balance.svg)}.bottom-nav .tab-symbol.thumb{--tab-icon:url(tab-icons/thumb.svg)}.bottom-nav .tab-symbol.yoga{--tab-icon:url(tab-icons/yoga.svg)}.bottom-nav button.active .nav-icon{background:var(--season-soft);color:var(--season-accent)}

@media(max-width:720px){
  html{scroll-padding-top:84px}
  body{background:var(--season-app)}
  .app{width:100%;min-height:100dvh;padding-bottom:calc(88px + env(safe-area-inset-bottom));box-shadow:none}
  .profile-head{height:72px;padding:8px 20px;gap:12px;background:color-mix(in srgb,var(--season-card) 94%,transparent);border-bottom:1px solid var(--season-line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .avatar{width:43px;height:43px;box-shadow:0 3px 12px color-mix(in srgb,var(--season-accent) 25%,transparent)}
  .profile-copy strong{font-family:Georgia,"Songti SC","STSong",serif;font-size:17px;letter-spacing:.02em}
  .profile-copy input{padding:2px 0;min-height:22px;font-size:11px;text-overflow:ellipsis}
  .profile-head>.icon-button{width:37px;height:37px;border-radius:50%;background:var(--season-soft-card);border:0}
  .page{padding:16px 18px 24px}
  .panel{margin-top:14px;padding:18px;border-radius:20px;border:1px solid color-mix(in srgb,var(--season-line) 75%,transparent);box-shadow:0 8px 24px color-mix(in srgb,var(--season-ink) 6%,transparent)}
  .panel h2{font-size:16px;font-weight:650;letter-spacing:.01em}
  .panel-title{min-height:30px}
  .hero-card{min-height:204px;padding:26px 22px;border-radius:24px;box-shadow:0 12px 30px color-mix(in srgb,var(--season-ink) 13%,transparent)}
  .hero-card small{font-size:12px;letter-spacing:.1em}
  .hero-card h2{max-width:290px;font-size:25px;line-height:1.48;margin:14px 0 7px;text-shadow:0 2px 10px #0005}
  .hero-card p{font-size:11px;letter-spacing:.08em}
  .home-grid{display:block}
  .home-card{min-height:125px}
  .home-line{padding:13px 0;font-size:13px}
  .home-line:last-child{border-bottom:0}
  .home-money span{padding:17px 15px;border-radius:15px}
  .home-money strong{font-size:21px}
  .latest-diary{padding:14px 2px 3px}
  .latest-diary strong{font-size:15px}

  .calendar-tools{display:grid;grid-template-columns:minmax(0,1fr) repeat(5,35px);gap:7px;align-items:center;margin:2px 0 14px}
  .calendar-tools strong{grid-column:1/-1;font-family:Georgia,"Songti SC","STSong",serif;font-size:25px;min-width:0;margin:0 0 3px}
  .calendar-tools .calendar-view-switch{grid-column:1;min-width:0;margin:0;gap:3px}
  .calendar-tools .calendar-view-switch button{flex:1;padding:7px 4px}
  .calendar-tools .plain-button{grid-column:3;grid-row:2;margin:0;padding:6px 0;font-size:12px}
  .calendar-tools #prevButton{grid-column:2;grid-row:2}
  .calendar-tools #nextButton{grid-column:4;grid-row:2}
  .calendar-tools #refreshButton{grid-column:5;grid-row:2}
  .calendar-tools #addShortcut{grid-column:6;grid-row:2}
  .calendar-tools .icon-button{width:35px;height:35px;border-radius:11px}
  .calendar-tools .add-shortcut{color:var(--season-accent-text)}
  .calendar{border-radius:18px;box-shadow:0 8px 24px color-mix(in srgb,var(--season-ink) 5%,transparent)}
  .day-cell{height:76px;padding:4px 3px}
  .day-head{display:block;text-align:center}
  .day-head .lunar{display:block;margin-top:2px;font-size:8px}
  .day-head .solar{margin:auto}
  .month-view .event{height:16px;padding:2px 3px;font-size:8px}
  .month-view .event .mini-icon{display:none}
  .time-grid.single{min-width:0;grid-template-columns:46px minmax(0,1fr)}
  .time-grid-holder{border-radius:18px}
  .composer-panel{margin-top:15px}
  .compose-row{display:grid;grid-template-columns:minmax(0,1fr) 39px 48px;align-items:end}
  .compose-row textarea{min-height:78px}
  .compose-row .outline-button{height:39px;padding:0 5px}
  .voice-button{width:39px;height:39px}
  .item-form,.ledger-form,.diary-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
  .item-form label,.ledger-form label,.diary-form label{min-width:0}
  input,textarea,select{min-height:42px;border-radius:12px;font-size:14px}
  textarea{min-height:unset}
  .primary,.outline-button,.plain-button{min-height:38px}
  .form-actions{flex-wrap:wrap}
  .item-form .form-actions .primary{margin-left:auto}

  .ledger-form #ledgerAmount{font-size:22px;font-weight:650}
  .ledger-form>.primary{min-height:45px;border-radius:13px;font-weight:650}
  .period-picker{gap:8px}
  .period-picker input{flex:1;min-width:0;width:auto}
  .money-summary{gap:7px}
  .money-summary div{padding:12px 9px;border-radius:12px}
  .money-summary strong{font-size:15px}
  .chart-row{grid-template-columns:70px 1fr 38px}

  .page-mode{margin:0 0 15px;padding:4px;background:var(--season-soft-card);border-radius:14px}
  .page-mode button{border:0;border-radius:10px;padding:10px 8px}
  .diary-form textarea{min-height:165px;line-height:1.7}
  .diary-form .form-actions{gap:8px}
  .diary-form .form-actions button{min-height:43px;border-radius:12px}
  .diary-head{align-items:center}
  .diary-card>p{font-size:14px}
  .goals-grid,.review-list{grid-template-columns:1fr}
  .search-row{flex-wrap:wrap}
  .search-row input:first-child{flex:1 1 100%}

  .bottom-nav{left:0;right:0;transform:none;width:100%;height:calc(72px + env(safe-area-inset-bottom));padding:5px 7px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--season-card) 96%,transparent);border-top:1px solid var(--season-line);box-shadow:0 -8px 24px color-mix(in srgb,var(--season-ink) 8%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:0;font-size:10px;letter-spacing:.02em}
  .bottom-nav .nav-icon{display:grid;place-items:center;width:36px;height:34px;border-radius:12px}
  .bottom-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .bottom-nav .tab-symbol{display:block;width:23px;height:23px;background:currentColor;mask:var(--tab-icon) center/contain no-repeat;-webkit-mask:var(--tab-icon) center/contain no-repeat}
  .bottom-nav .tab-symbol.compass{--tab-icon:url('tab-icons/compass.svg')}
  .bottom-nav .tab-symbol.river{--tab-icon:url('tab-icons/river.svg')}
  .bottom-nav .tab-symbol.balance{--tab-icon:url('tab-icons/balance.svg')}
  .bottom-nav .tab-symbol.thumb{--tab-icon:url('tab-icons/thumb.svg')}
  .bottom-nav .tab-symbol.yoga{--tab-icon:url('tab-icons/yoga.svg')}
  .bottom-nav button.active .nav-icon{background:var(--season-soft);color:var(--season-accent)}
  .bottom-nav button.active::after{display:none}
  .toast{top:78px;max-width:calc(100% - 36px);text-align:center}
}

@media(max-width:375px){
  .page{padding-left:13px;padding-right:13px}
  .calendar-tools{gap:4px;grid-template-columns:minmax(0,1fr) repeat(5,33px)}
  .calendar-tools .icon-button{width:33px;height:33px}
  .panel{padding:15px}
}
