/* iPhone-first refinements. Display lettering is bundled under SIL OFL 1.1. */
@font-face{font-family:Kuaile;src:url('/static/fonts/ZCOOLKuaiLe-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--playful:Kuaile,"PingFang SC",sans-serif}
.serif,.brand strong,.hero h1,.baby-card h3,.baby-card .avatar,.section-head h2,.page-title h1,.empty h3,.card-title,.prompt-card h3,.dialog-head h2,.auth-card h2,.primary,.panel h2{font-family:var(--playful);font-weight:400}
.primary{font-size:17px;letter-spacing:.5px}.brand strong{font-size:25px;letter-spacing:1px}.hero h1{font-size:38px;letter-spacing:2px}.baby-card h3{font-size:21px}.baby-card .avatar{font-size:26px}.section-head h2{font-size:26px}.card-title{font-size:23px}.empty h3{font-size:24px}.auth-story h1{font-size:42px}.auth-card h2{font-size:28px}.dialog-head h2{font-size:28px}.panel h2{font-size:23px}.brand small{white-space:nowrap;letter-spacing:1px;font-size:9px}.nav a>span:first-of-type{white-space:nowrap}.nav-count{flex-shrink:0}.mobile-favorites{display:none}.skip-link{position:fixed;top:-80px;left:20px;background:var(--green);color:white;padding:14px;z-index:200}.skip-link:focus{top:12px}.hero-art{aspect-ratio:430/290}.auth-art{aspect-ratio:430/290}.baby-card h3{margin:0}.nav a.active{box-shadow:inset 3px 0 #6f8963}
@media(max-width:980px) and (min-width:701px){.nav .nav-count{display:none}.nav a{font-size:13px;padding-left:10px;padding-right:10px}.hero h1{font-size:32px}}
@media(max-width:700px){
  html{-webkit-text-size-adjust:100%;scroll-padding-top:88px;scroll-padding-bottom:100px}
  body{overflow-wrap:anywhere}.main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(110px + env(safe-area-inset-bottom))}
  .topbar{position:sticky;top:0;background:#f6f5eff5;z-index:8;padding-top:env(safe-area-inset-top);height:calc(76px + env(safe-area-inset-top));backdrop-filter:blur(10px)}
  .brand{gap:9px;min-width:0}.brand strong{font-size:25px;letter-spacing:0}.brand small{font-size:8px;letter-spacing:.6px}.brand>img{width:35px;height:35px}.mobile-brand{min-width:0;max-width:65%}.mobile-brand .brand span{min-width:0}.mobile-brand strong{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top-actions .primary{font-size:16px;min-height:46px;padding:11px 14px;border-radius:14px;white-space:nowrap}.top-actions .ico{width:18px}
  .sidebar{height:calc(73px + env(safe-area-inset-bottom));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.nav{gap:2px}.nav a{flex:1;min-width:0;min-height:55px;font-size:11px;gap:6px}.nav a[href="#favorites"]{display:none}.nav a.active{box-shadow:none}.nav .ico{width:22px;height:22px}.mobile-favorites{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:14px;text-decoration:none;margin-top:13px;padding:8px 13px;background:#ecebdf;border-radius:22px}
  .hero{padding:25px 23px;min-height:280px;border-radius:23px}.hero-copy{max-width:100%}.hero h1{font-size:33px;line-height:1.55;letter-spacing:1px;margin:14px 0}.hero p{font-size:13px;max-width:210px;line-height:1.9}.hero-art{width:142px;right:-16px;bottom:4px;opacity:.86}.hero .text-button{font-size:14px;position:relative;z-index:2;max-width:220px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}
  .baby-row{gap:12px}.baby-card{padding:16px 12px;border-radius:18px;gap:10px}.baby-card h3{font-size:22px}.baby-card .avatar{font-size:23px;width:38px;height:38px}.baby-card p{font-size:10px}.baby-card .age{margin-left:48px;font-size:22px}.baby-card .age small{font-size:12px;margin-left:6px}
  .section-head h2{font-size:25px}.section-head p{font-size:12px;line-height:1.7}.section-head .text-button{font-size:12px;white-space:nowrap;flex-shrink:0}.chip{min-height:44px;font-size:13px;padding:10px 15px}.tabs{gap:8px}.search input{min-height:48px;font-size:16px;padding-left:40px;border-radius:13px}.filters{gap:14px}
  .empty{padding:32px 22px;border-radius:20px}.empty h3{font-size:24px;line-height:1.6}.empty p{font-size:15px;line-height:1.9}.empty .primary{font-size:17px;min-height:48px}.empty .text-button{font-size:13px;min-height:44px}.primary{min-height:48px;border-radius:13px;font-size:17px}.card-body{font-size:16px;line-height:1.9}.card-title{font-size:23px}.memory-meta{font-size:12px;flex-wrap:wrap;line-height:1.5}.badge{font-size:11px}.memory-card{border-radius:19px;padding:20px}.card-footer{font-size:12px}.card-footer .icon-button{width:44px;height:44px}.month-heading{font-size:13px}.photo-tile strong{font-size:14px;line-height:1.7}.photo-tile small{font-size:12px;line-height:1.7}.page-title h1{font-size:29px;line-height:1.6}.page-title p{font-size:14px;line-height:1.9}
  input,textarea,select{font-size:16px!important;min-height:48px;border-radius:12px}input[type=checkbox]{width:22px;height:22px;min-height:22px}label.field{font-size:14px;min-width:0}.field input{min-width:0;max-width:100%}.field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.field-row input[type=date]{padding:10px 7px}.check-row label{font-size:15px;min-height:48px}.form-help{font-size:12px}.form-error{font-size:14px}.save-row{flex-wrap:wrap}.save-row .primary{font-size:17px;min-height:48px}.save-row .form-help{flex:1;min-width:120px;margin:0}.form-help{line-height:1.8}.settings-grid{gap:18px}.panel p{font-size:14px}.panel{border-radius:20px}
  dialog{padding:22px 20px;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:23px}.dialog-head h2{font-size:26px}.dialog-head .icon-button{flex-shrink:0}.photo-picker input{font-size:12px!important}.detail-copy{font-size:16px;line-height:1.95}.detail-date{font-size:13px}.detail-photos img{border-radius:14px}.photo-picker{font-size:13px}.dialog-head{margin-bottom:22px}.auth-page{padding:calc(28px + env(safe-area-inset-top)) 24px 40px}.auth-story h1{font-size:32px;letter-spacing:0}.auth-story>p{font-size:14px}.auth-card h2{font-size:27px;line-height:1.6}.auth-card>p{font-size:14px}.auth-card{padding:26px 22px}.milestone-intro{flex-wrap:wrap;gap:14px}.milestone-intro p{font-size:14px;flex:1}.milestone-intro .primary{font-size:16px;min-height:44px;margin-left:auto}.photo-preview{gap:10px}.preview-item button{width:36px;height:36px}.footer-note{font-size:12px;line-height:1.8}
}
@media(max-width:380px){.hero h1{font-size:31px}.hero-art{width:125px;right:-19px}.hero p{max-width:195px;font-size:12px}.baby-card{padding-left:10px;padding-right:10px;gap:8px}.baby-card .age{margin-left:44px}.chip{padding:10px 12px}.section-head{flex-wrap:wrap}.section-head .text-button{margin-left:auto}.hero .text-button{font-size:13px}.top-actions .primary{padding:11px;font-size:15px}}
@media(max-width:430px){#editor .field-row,.settings-grid .field-row{grid-template-columns:minmax(0,1fr);gap:0}.field-row input[type=date]{padding:11px 13px}#editor .save-row{flex-direction:column;align-items:stretch}#editor .save-row .form-help{min-width:0}#editor .save-row .primary{width:100%}.check-row{margin-bottom:22px}}
