/* Photo-led mobile redesign, 2026-10-18. */
:root{--paper:#fcfaf6;--card:#fff;--ink:#302b27;--muted:#988f85;--line:#f0eae1;--peach:#e9a181;--sage:#a3b693;--shadow:0 3px 13px #785c3510;--radius:18px}
body{background:#eee8df;font-size:14px;line-height:1.5;color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.shell{display:block;max-width:480px;margin:0 auto;min-height:100vh;background:radial-gradient(ellipse at 95% 5%,#f8f1e7 0,transparent 50%),#fcfaf6;position:relative;box-shadow:0 0 55px #5b463418}.sidebar{display:none}.main{display:block;padding:0 20px 92px;max-width:none;margin:0;min-height:100vh}.topbar{height:65px;display:flex;align-items:center;justify-content:center;position:relative;margin:0 0 10px}.topbar h1{font-size:18px;font-weight:650;letter-spacing:.5px}.header-actions{position:absolute;right:-5px;top:17px;display:flex;gap:3px}.header-actions .icon-btn{color:#5e5145}.header-actions .icon-btn .icon{width:21px;height:21px}.round-add{border:1.5px solid #71665c;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;padding:0;margin:6px 6px}.round-add .icon{width:17px;height:17px}.page-home .topbar{height:48px;justify-content:flex-start;margin-bottom:3px}.page-home .topbar h1{font-size:13px;font-weight:500;letter-spacing:1px;color:#a6917a}.page-home .header-actions{top:9px}.baby-profile{display:flex;align-items:center;gap:15px;padding:6px 0 20px}.baby-avatar-wrap{position:relative;flex-shrink:0}.baby-avatar{width:83px;height:83px;border-radius:50%;object-fit:cover;border:3px solid #ffefe2;box-shadow:0 0 0 1px #e7c9af}.avatar-flower{position:absolute;right:-1px;bottom:1px;font-size:23px;line-height:1;color:#f4c4ab;text-shadow:0 1px 0 #dcaa8b}.baby-info h2{font-size:20px;font-weight:650;letter-spacing:1px;line-height:1.5}.tiny-heart{font-size:12px;color:#e7a083;vertical-align:middle}.baby-age{font-size:13px;font-weight:600;margin:3px 0;color:#4d4138}.tiny-sun{font-size:11px;color:#e1b37c}.baby-birthday{font-size:10px;color:#8f8377;line-height:1.5}.demo-label{font-size:9px;color:#b6a89b}.baby-profile select{max-width:70px;font-size:11px;border:0;background:#f5ece1;border-radius:15px;color:#96826e;padding:5px;margin-left:auto}.today-banner{background:linear-gradient(105deg,#fff4d9,#fff0d5 65%,#f9e4c4);border:1px solid #f9e9ca;border-radius:14px;min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:10px 15px;margin-bottom:14px;overflow:hidden;position:relative;box-shadow:0 2px 8px #a68a3810}.today-banner strong{font-size:13px;font-weight:500;color:#765d37}.today-banner strong span{color:#edb848;margin-left:6px;font-size:17px}.today-banner p{font-size:11px;color:#958167;margin-top:4px}.today-banner img{width:58px;height:58px;border-radius:50%;mix-blend-mode:multiply;margin-bottom:-13px;margin-right:-2px;transform:rotate(8deg)}.quick{grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 23px}.quick button{padding:10px 2px 8px;gap:5px;border:0;border-radius:16px;box-shadow:0 3px 10px #84735c10;background:#fffefc}.quick button:hover{transform:translateY(-1px)}.quick button>span{width:45px;height:44px;border-radius:14px;background:linear-gradient(145deg,#ffded7,#ffece5);color:#cb8b70}.quick button:nth-child(2)>span{background:linear-gradient(145deg,#e5e0ff,#f0edff)}.quick button:nth-child(3)>span{background:linear-gradient(145deg,#d8edfc,#eef7fe)}.quick button:nth-child(4)>span{background:linear-gradient(145deg,#e6eccd,#f0f4e3)}.cute-icon{width:39px;height:39px;display:block;filter:drop-shadow(0 2px 1px #73532114)}.quick strong{font-size:12px;font-weight:500;line-height:1.5}.quick small{display:none}.section-head{margin-bottom:9px;min-height:27px}.section-head h2{font-size:16px;letter-spacing:.2px;font-weight:650;color:#383029}.section-head .link{font-size:11px;color:#9b8a79;display:flex;align-items:center;gap:1px;padding:4px 0 4px 4px}.section-head .link .icon{width:14px;height:14px}.daily-section{padding:0 1px}.daily-list{position:relative}.daily-list:before{content:'';position:absolute;left:48px;top:17px;bottom:40px;width:1px;background:#eee0d3}.timeline-item{display:grid;grid-template-columns:39px 7px 28px minmax(0,1fr) 14px;gap:7px;min-height:84px;padding:13px 0 12px;border:0;align-items:start}.timeline-time{font-size:10px;color:#9e8d7b;padding-top:4px;width:39px}.event-dot{width:7px;height:7px;border:2px solid #e8ac95;border-radius:50%;background:#fffaf4;margin-top:8px;z-index:1}.event-symbol{width:28px;height:32px;margin-top:0;display:grid;place-items:center;color:#b3a383}.event-symbol .cute-icon{width:29px;height:29px}.event-symbol .icon{width:21px;height:21px}.event-copy{min-width:0}.timeline-item strong{font-size:13px;font-weight:600;color:#473a31;line-height:1.6}.timeline-item p{font-size:11px;color:#7c7065;line-height:1.65;margin-top:2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.timeline-item .meta{font-size:9px;color:#b1a498;display:block;margin-top:4px}.event-amount{font-size:10px;color:#ad8f72;background:#fbefdf;border-radius:6px;padding:2px 5px;margin-left:6px;white-space:nowrap}.edit-event{padding:5px 0;margin-top:0;color:#b5a48f}.edit-event .icon{width:13px;height:13px}.home-summary{display:flex;gap:6px;justify-content:space-around;background:#f5f0e8;border-radius:11px;padding:10px 5px;margin:4px 0 22px;font-size:9px;color:#94816d}.home-summary b{font-weight:500;color:#7c6857}.mini-dot{width:5px;height:5px;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:4px}.coral{background:#eab4a0}.purple{background:#c3b8e3}.sky{background:#a6c9df}.memory-strip{margin:0 0 20px}.memory-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.memory-card{position:relative;border:0;border-radius:15px;overflow:hidden;box-shadow:0 3px 10px #75634d10;background:#eee5d6;min-height:175px}.memory-picture{height:100%;min-height:175px}.memory-picture img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.memory-card.has-photo:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#30271c82);pointer-events:none}.memory-text{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:13px;color:#fffaf2;text-shadow:0 1px 4px #0002;display:flex;flex-direction:column;gap:1px}.memory-text strong{font-size:12px;font-weight:500;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.memory-date{font-size:10px;color:#fff8e9;opacity:.95}.memory-text p{display:none}.no-photo span{padding:0 14px;font-size:12px;line-height:1.8;max-height:76px;overflow:hidden}.text-memory .memory-text{color:#947652;text-shadow:none;background:linear-gradient(transparent,#efe4d1)}.text-memory .memory-date{color:#ac9578}.private-dot{font-size:9px;opacity:.85}.video-play{position:absolute;top:11px;right:10px;z-index:2;font-size:9px;color:white;border:1px solid #fff9;border-radius:50%;padding:0 4px;line-height:16px}.memory-strip .memory-card:last-child{display:block}.home-room-link{display:flex;width:100%;align-items:center;gap:14px;padding:10px;background:#f1e8d7;border-radius:16px;text-align:left}.home-room-link img{width:66px;height:58px;object-fit:cover;border-radius:11px}.home-room-link span{flex:1}.home-room-link strong{font-size:14px;font-weight:550;display:block;color:#6a553d}.home-room-link small{display:block;font-size:10px;color:#9d876d;margin-top:4px}.home-room-link .icon{width:17px;color:#a68e6d}.demo-footnote{font-size:9px;color:#b6a997;text-align:center;margin:14px 0 5px}.bottom-nav{display:flex;position:fixed;left:50%;transform:translateX(-50%);right:auto;width:min(480px,100%);bottom:0;justify-content:space-around;background:#fffdf8f5;border-top:1px solid #eee2d1;padding:9px 5px calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(14px);z-index:30}.bottom-nav button{display:flex;flex-direction:column;gap:3px;align-items:center;color:#b39d88;font-size:10px;min-width:48px;padding:0}.bottom-nav .icon{width:22px;height:22px;stroke-width:1.5}.bottom-nav button.active{color:#cb9271}.bottom-nav button.active .icon{fill:#f5dcc8;stroke:#b88465}.floating-add{display:none}.page-intro{font-size:11px;line-height:1.8;margin-bottom:17px}.panel{padding:18px;border-radius:17px;box-shadow:0 3px 12px #8e76500a}.toolbar{margin:0 0 17px;gap:9px}.tabs{width:100%;background:none;padding:0;border-radius:0;justify-content:space-between;gap:4px}.tabs button{padding:7px 12px;border-radius:15px;font-size:12px;color:#9b8978;position:relative}.tabs button.active{background:#fff;color:#4c3c2c;box-shadow:0 2px 9px #9f896416}.tabs button.active:after{content:'';position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);width:17px;height:2px;background:#e3a08a;border-radius:1px}.album-toolbar .tabs{margin-bottom:11px}.album-search{width:100%;display:flex;align-items:center;border-radius:12px;background:#f1ece4;padding:0 11px;color:#baa997}.album-search .icon{width:16px;height:16px;flex-shrink:0}.album-search .search{background:none;border:0;font-size:11px;padding:10px 8px;min-width:0;width:100%}.album-heading{font-size:14px;font-weight:550;color:#7b604c;margin:18px 0 12px}.album-heading span{font-weight:400;color:#a28b72;font-size:11px}.album-grid .memory-card:first-child{grid-column:1/-1;min-height:230px}.album-grid .memory-card:first-child .memory-picture{min-height:230px}.album-grid .memory-card:first-child img{object-position:50% 43%}.album-grid .memory-card{min-height:200px}.album-grid .memory-picture{min-height:200px}.album-grid .memory-text strong{font-size:13px}.album-grid .memory-date{font-size:11px}.growth-chart-section{position:relative;padding:8px 0 15px;margin-bottom:12px}.chart-unit{font-size:10px;color:#a99b8d}.latest-measure{display:flex;align-items:flex-end;flex-direction:column;padding-right:21px;margin:10px 0 -9px}.latest-measure span{background:#fff1ed;border:1px solid #f7d6cc;color:#e79c88;border-radius:10px 10px 0 0;padding:5px 10px 0;font-size:13px}.latest-measure small{font-size:9px;padding:0 10px 5px;background:#fff1ed;border:1px solid #f7d6cc;border-top:0;color:#dca08b;border-radius:0 0 10px 10px}.chart{height:205px}.chart text{font-size:11px;fill:#ab9d8e}.chart .curve{stroke:#ecaa9b;stroke-width:2.2}.chart .area{fill:#f9e7e1}.chart circle{fill:#eeb0a1;stroke:#fff;stroke-width:1.2}.chart .grid{stroke:#eee8e0;stroke-dasharray:2 4}.chart-note{font-size:10px;color:#b8aa98;text-align:center;margin-top:-5px}.milestones-section{margin-bottom:24px}.milestone{padding:11px 10px;gap:10px;background:#fff;border-radius:14px;margin:9px 0;align-items:center;box-shadow:0 2px 9px #8571540c;cursor:pointer}.milestone-photo{width:47px;height:47px;object-fit:cover;border-radius:50%;border:3px solid #f4e8da;flex-shrink:0}.milestone-info{flex:1;min-width:0}.milestone strong{font-size:14px;font-weight:550}.milestone p{font-size:10px;color:#978777;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;margin-top:2px}.milestone>.caption{font-size:9px;color:#a79786;white-space:nowrap}.milestone>.icon{width:12px;height:12px;color:#a48d77;flex-shrink:0}.growth-records .timeline-item{border-bottom:1px solid #f2ece3;min-height:76px}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:22px}.member-card{padding:17px 5px;background:transparent;box-shadow:none;border:0}.member-card .avatar{width:52px;height:52px;margin-bottom:9px;background:#eadfce;font-size:21px;color:#ac8c68}.member-card:nth-child(2) .avatar{background:#f5ddd4;color:#bf8e78}.member-card:nth-child(3) .avatar{background:#e9e6d9;color:#9a9679}.member-card h3{font-size:13px;font-weight:600}.member-card .caption{font-size:10px}.member-card .pill{font-size:8px;padding:3px 5px;background:#f4ede3;color:#a38d72;margin-top:6px}.member-card .button{font-size:9px;padding:4px 8px;margin-top:9px}.profile-card{padding:20px 17px;gap:17px;border:0;background:#fbf2e4}.about-bear{width:70px;border-radius:50%}.profile-card h2{font-size:19px}.profile-card p{font-size:12px;margin:3px 0 7px}.profile-actions{padding:4px 17px}.profile-actions button,.profile-actions a{padding:17px 0;font-size:13px;color:#715e4a}.profile-actions .icon{width:19px;height:19px;margin-right:8px;color:#b4977c}.profile-actions>.icon{width:13px}.quote{border-radius:16px;padding:20px 23px;background:#f2f0e5;color:#9b987d}.quote p{font-size:12px}.quote small{font-size:8px;letter-spacing:1px}.room-stage{border-radius:19px;box-shadow:none;min-height:620px}.room-stage>img{height:680px;width:100%;object-fit:cover;object-position:62%}.room-stage .spot{border-radius:18px;padding:13px 15px;font-size:12px;color:#564330;box-shadow:0 3px 14px #71552820;border:1px solid #fffcf2;background:#fffdf6ee}.spot .icon{width:18px;height:18px}.spot small{margin-top:3px;font-size:9px;color:#a18b70}.spot-photos{left:5%;top:15%}.spot-growth{right:4%;top:36%}.spot-sound{left:5%;top:56%}.spot-letter{right:4%;bottom:10%}.room-footer{font-size:9px;margin-top:12px}.button{border-radius:12px;background:#bca28c;font-size:13px;padding:11px 17px}.button.soft{background:#fae6d8;color:#b4825e}.form{gap:14px}.form label{color:#8d7964;font-size:12px}.form input,.form select,.form textarea{border:1px solid #eee6dd;background:#faf7f2;border-radius:10px;color:#584737;padding:10px 12px;font-size:13px}.form textarea{min-height:100px}.modal-backdrop{padding:0;align-items:end;background:#30271e66;backdrop-filter:blur(3px)}.modal{max-width:480px;width:100%;border-radius:24px 24px 0 0;max-height:92vh;padding:22px 23px 30px;background:#fffdf9}.modal-head{margin-bottom:20px}.modal-head h2{font-size:17px}.modal-head .icon-btn .icon{width:19px;height:19px}.modal.wide{max-width:480px}.modal .notice{font-size:11px}.form .two{gap:10px}.form .check{font-size:11px}.detail-note{font-size:13px;color:#786452;line-height:1.9}.detail-media img{border-radius:13px}.chat-layout{display:flex;flex-direction:column;gap:16px}.chat-panel{padding:0;background:transparent;border:0;box-shadow:none;min-height:490px}.chat-panel .section-head{padding:10px 0 15px}.chat-panel h2{font-size:15px}.chat-panel .caption{font-size:10px}.chat-panel .pill{font-size:10px}.chat-log{max-height:450px}.bubble{background:#eaf0fc;color:#56637a;font-size:12px;border-radius:16px;padding:14px;line-height:1.8}.user .bubble{background:#f7e8db;color:#9c785b}.chat-message{margin:10px 0}.suggestions{margin:12px 0;gap:8px}.suggestions button{font-size:12px;padding:11px 13px;background:#fff;border:1px solid #f0e7dc;border-radius:12px;color:#6e5b49;box-shadow:0 2px 7px #94755308}.chat-compose{border-top:0;background:#fff;border-radius:17px;padding:12px;margin-top:13px;box-shadow:0 3px 15px #9475530c}.chat-compose textarea{background:#faf9f5;border:0;font-size:12px;min-height:65px;padding:10px}.chat-compose .caption{font-size:9px;max-width:200px}.chat-options{font-size:10px;gap:8px}.chat-compose .button{background:#8cb2ce;border-radius:22px;padding:8px 14px;font-size:11px}.chat-compose .button .icon{width:16px}.notice{padding:12px 13px;font-size:11px;line-height:1.8;border-radius:12px}.admin-grid{grid-template-columns:1fr;gap:16px}.admin-stats{gap:9px;margin-bottom:17px}.admin-stat{padding:14px 10px}.admin-stat strong{font-size:27px}.admin-stat .caption{font-size:10px}.setting{padding:15px 0}.setting h3{font-size:13px}.setting p{font-size:11px}.switch{width:41px;height:24px;padding:3px}.switch:after{width:18px;height:18px}.switch.on:after{transform:translateX(17px)}.page-admin .panel h2{font-size:16px}.page-admin .pill{font-size:8px}.page-admin .page-intro{font-size:12px}.empty{padding:35px 10px}.empty h3{font-size:14px}.empty p{font-size:11px}.empty img{width:55px}.caption{font-size:11px}.small{font-size:12px}.privacy{margin:0 auto;background:#fcfaf6;max-width:480px;padding:30px 23px 80px;min-height:100vh}.privacy h1{font-size:23px}.privacy h2{font-size:16px}.privacy p{font-size:12px;color:#8d7964;line-height:1.9}.login{max-width:480px;margin:0 auto;display:block;background:#fcfaf6;min-height:100vh;box-shadow:0 0 50px #65452c15}.login-art{height:230px;min-height:0}.login-copy{left:23px;bottom:25px}.login-copy h1{font-size:23px;line-height:1.5}.login-copy .eyebrow{display:none}.login-copy p{display:none}.login-form{padding:28px 25px;max-width:420px}.login-form>img{width:52px;border-radius:50%;margin-bottom:15px}.login-form h2{font-size:22px}.login-form .form{margin-top:23px}.login-form .button{background:#bb977d}.login-privacy{font-size:10px}.demo-actions{margin-top:20px;padding-top:16px}.demo-actions .caption{font-size:10px}.demo-actions .button{background:#f2e7da;color:#a3866e}#toast{bottom:85px;background:#7c6856;color:#fffaf2;font-size:12px;border-radius:20px;padding:10px 18px;max-width:360px}
@media(min-width:800px){body{padding:24px 0;background:radial-gradient(ellipse at 20% 20%,#f7f2e9,#e9dfd1 90%)}.shell,.login{border-radius:25px;overflow:hidden;min-height:calc(100vh - 48px);border:1px solid #dfd1bd;box-shadow:0 12px 60px #694c2920}.bottom-nav{border-radius:0 0 24px 24px;bottom:24px;border-left:1px solid #dfd1bd;border-right:1px solid #dfd1bd;border-bottom:1px solid #dfd1bd;width:480px}.main{padding-bottom:100px}.page-admin{max-width:1060px}.page-admin .main{padding:0 32px 95px}.page-admin .admin-grid{grid-template-columns:1.2fr 1fr;gap:22px}.page-admin .bottom-nav{width:1060px;max-width:calc(100% - 40px)}.modal-backdrop{align-items:center;padding:20px}.modal{border-radius:23px;max-height:88vh}.privacy{border-radius:24px}.topbar h1{font-size:18px}}
@media(max-width:360px){.main{padding-left:15px;padding-right:15px}.baby-avatar{width:75px;height:75px}.baby-profile{gap:12px}.quick{gap:8px}.timeline-item{grid-template-columns:34px 6px 23px minmax(0,1fr) 11px;gap:6px}.daily-list:before{left:43px}.timeline-time{width:34px;font-size:9px}.event-symbol{width:23px}.event-symbol .cute-icon{width:25px;height:25px}.event-copy strong{font-size:12px}.event-amount{font-size:9px;padding:1px 3px}.home-summary{font-size:8px}.milestone>.caption{font-size:8px}.baby-birthday{font-size:9px}}
