/* Growth photo library only; retain the existing warm V3 design elsewhere. */
.growth-preview{cursor:pointer}.growth-preview-note{font-size:12px;color:#79664f;margin:8px 0}.growth-preview-list{grid-template-columns:repeat(var(--growth-count,3),minmax(0,1fr));position:relative;gap:10px;padding-bottom:6px}.growth-preview-list:before{content:'';position:absolute;left:6%;right:6%;top:54px;border-top:2px dashed #c6ab82}.growth-preview-item{position:relative;z-index:1}.growth-preview-item:nth-child(even){padding-top:12px}.growth-preview-item img{height:92px;object-fit:cover;border:4px solid #fff8ee!important;border-radius:8px!important;box-shadow:0 3px 12px #73552815}.growth-preview-item small{font-size:11px;color:#9d693e}.growth-preview-item b{font-size:10px;white-space:nowrap}.growth-preview>.row-between a{font-size:12px}.growth-preview>.row-between button{font-size:11px}.growth-years{display:flex;flex-wrap:wrap;gap:7px;padding:14px 0;border-bottom:1px solid #e4d5bc}.growth-years button{border:1px solid #dfcfb3;background:#fff9ec;color:#76523a;border-radius:20px;padding:7px 12px;font-size:12px}.growth-years button:hover{background:#f6e5c7}.growth-count{font-size:12px;color:#8d7760;margin-top:15px}.monthly-timeline{max-width:1020px;margin-top:20px}.growth-year-group{position:relative;scroll-margin-top:155px;padding-bottom:20px}.growth-year-group:before{content:'';position:absolute;left:50%;top:45px;bottom:0;border-left:2px dashed #d8bea0}.growth-year-title{position:relative;background:#f5dfb5;color:#795235;width:100px;margin:0 auto 32px;padding:12px;border-radius:24px;text-align:center;font-size:23px;z-index:1;box-shadow:0 4px 0 #fff7e9}.growth-year-title small{font-size:11px;margin-left:5px}.monthly-timeline .growth-node{display:block;width:44%;margin-right:auto;position:relative;padding-bottom:30px}.monthly-timeline .growth-node:nth-of-type(even){margin-left:56%;margin-right:0}.monthly-timeline .growth-node:before{border:0;width:10px;height:10px;border-radius:50%;background:#cd9563;top:23px;left:calc(113.636% - 4px);bottom:auto;box-shadow:0 0 0 5px #fff5e5}.monthly-timeline .growth-node:nth-of-type(even):before{left:calc(-13.636% - 4px)}.monthly-timeline .growth-date{position:absolute;left:calc(100% + 8px);width:100px;text-align:center;top:38px;padding:0}.monthly-timeline .growth-date span{display:none}.monthly-timeline .growth-date b{font-size:11px;color:#a16d43}.monthly-timeline .growth-node:nth-of-type(even) .growth-date{left:auto;right:calc(100% + 8px)}.monthly-timeline .growth-node-card{display:block;padding:12px!important;border:1px solid #e8d7bf;border-radius:17px;background:#fffcf6;box-shadow:0 9px 25px #82623c0a}.monthly-timeline .growth-cover{width:100%;display:block;border-radius:9px;overflow:hidden;background:#f4ecde}.monthly-timeline .growth-cover img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;border-radius:8px}.monthly-timeline .growth-node-content{padding:14px 8px 5px}.growth-node-content h3{font-size:18px;line-height:1.5;margin:8px 0}.monthly-timeline .growth-node-content small{font-size:11px;color:#9a7652}.monthly-timeline .growth-node-content .stack{gap:14px}.growth-album{background:#f4eddf;border-radius:12px;overflow:auto;max-height:63dvh;text-align:center}.growth-album-image{display:block;background:none;padding:0;border:0;width:100%;cursor:zoom-in}.growth-album img{display:block;margin:auto;max-width:100%;width:auto;max-height:60dvh;height:auto;object-fit:contain}.growth-album.zoomed img{max-height:none;max-width:none;width:1400px}.growth-album.zoomed .growth-album-image{width:max-content;cursor:zoom-out}.growth-album-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin:16px 0}.growth-album-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:7px;max-height:210px;overflow:auto;padding:5px}.growth-album-thumbs button{padding:3px;background:#fff7e9;border:2px solid transparent;border-radius:8px}.growth-album-thumbs button[aria-pressed=true]{border-color:#ba824d}.growth-album-thumbs img{width:100%;height:65px;object-fit:cover;border-radius:5px}.growth-feature-editor{padding:15px;border-radius:13px;background:#fbefdb;margin:16px 0}.growth-feature-editor p{font-size:12px;line-height:1.9}.growth-check{display:flex;align-items:center;gap:8px}.growth-check input{width:auto}.growth-manage-list .record-row{gap:15px;align-items:center}.growth-edit-photo small{font-size:10px;display:block;line-height:1.7;color:#796d60}.growth-edit-photo img{height:120px;object-fit:contain;background:#f4eddf}.growth-pending-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.growth-pending-card{min-width:0;padding:15px!important}.growth-pending-photo{border:0;padding:0;background:#f2eadd;width:100%;border-radius:10px;overflow:hidden}.growth-pending-photo img{width:100%;height:200px;object-fit:contain;display:block}.growth-pending-card h3{font-size:12px;overflow-wrap:anywhere;line-height:1.7}.growth-pending-card p{font-size:12px;line-height:1.8}.growth-pending-card .tag{font-size:10px}.growth-confirm-photo{width:100%;height:230px;object-fit:contain;background:#f4eddf;border-radius:12px}.growth-form .growth-form-actions{bottom:0;padding:12px 0}.growth-form input[type=month]{min-width:0}.growth-pending-card button.secondary{font-size:12px}.growth-year-title:focus{outline:2px solid #af7848}
@media(max-width:900px){.growth-pending-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-timeline .growth-node{width:43%}.monthly-timeline .growth-node:nth-of-type(even){margin-left:57%}.monthly-timeline .growth-node:before{left:calc(116.279% - 4px)}.monthly-timeline .growth-node:nth-of-type(even):before{left:calc(-16.279% - 4px)}.monthly-timeline .growth-date{width:74px}.growth-preview-item img{height:100px}}
@media(max-width:670px){.growth-preview-list{gap:7px}.growth-preview-item img{height:87px;border-width:3px!important}.growth-preview-item b{font-size:9px}.monthly-timeline .growth-year-group:before{left:15px}.growth-year-title{margin:0 0 25px 0;width:90px}.monthly-timeline .growth-node,.monthly-timeline .growth-node:nth-of-type(even){width:calc(100% - 42px);margin:0 0 0 42px;padding-bottom:26px}.monthly-timeline .growth-node:before,.monthly-timeline .growth-node:nth-of-type(even):before{left:-31px;top:22px}.monthly-timeline .growth-date,.monthly-timeline .growth-node:nth-of-type(even) .growth-date{position:static;width:auto;text-align:left;margin:0 0 8px}.monthly-timeline .growth-date b{font-size:13px}.monthly-timeline .growth-cover img{max-height:360px}.growth-node-content h3{font-size:17px}.growth-years{gap:6px}.growth-years button{padding:6px 10px}.growth-toolbar{gap:9px}.growth-toolbar button,.growth-toolbar a{font-size:12px}.growth-pending-grid{grid-template-columns:1fr}.growth-pending-photo img{height:240px}.growth-form-grid{grid-template-columns:1fr}.growth-album-controls{gap:8px;font-size:12px}.growth-album-controls button{font-size:12px;padding:8px}.growth-preview .row-between{gap:8px;flex-wrap:wrap}}
.growth-form input[type=radio],.growth-form input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;margin:0;flex:0 0 18px}.growth-form .growth-edit-photo label{font-size:11px;line-height:1.5;white-space:nowrap}.growth-preview .empty{grid-column:1/-1}.monthly-timeline .growth-node-card{background:#fffcf6!important}
.growth-node-content .text-btn{min-height:40px}.growth-album-controls button{min-height:44px}.growth-feature-editor button.text-btn{min-width:36px;min-height:36px}
/* Explicit row layout: the admin stylesheet's generic nav defaults to a column. */
.family-space .growth-years{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 0;margin:12px 0 0;overflow:visible}.family-space .growth-years label{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#79664e}.family-space .growth-years select{width:126px;min-width:0;height:36px;margin:0;padding:5px 10px;border:1px solid #dfcfb3;border-radius:9px;background:#fffaf0;color:#76523a}.family-space .growth-years button{display:inline-flex;align-items:center;flex:0 0 auto;width:auto;min-height:36px;padding:5px 12px;font-size:12px;white-space:nowrap}.family-space .growth-section-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid #e4d5bc;overflow:visible}.growth-section-nav a{display:inline-flex;align-items:center;padding:8px 16px;border-radius:11px;background:#fff8e9;border:1px solid #e0cfb3;color:#7b674f;font-size:13px}.growth-section-nav a[aria-current]{background:#e5eed9;border-color:#baccac;color:#32694e;font-weight:600}.growth-form-actions{flex-wrap:wrap;align-items:center;z-index:2;box-shadow:0 -8px 12px #fffdf9e6}.growth-form-actions #growth-error{flex:1 0 100%;font-size:12px;line-height:1.65;overflow-wrap:anywhere;margin:0 0 6px;color:#786449}.growth-form-actions #growth-error:empty{display:none}.growth-form-actions #growth-error[data-state=error]{padding:9px 12px;border:1px solid #e2b9a7;border-radius:9px;background:#fff0e7;color:#984b35}.growth-page-error{padding:12px 16px;margin:12px 0;background:#fff0e7;border:1px solid #e2b9a7;border-radius:10px;color:#984b35;font-size:13px}
@media(max-width:670px){.growth-section-nav a{padding:7px 12px;font-size:12px}.family-space .growth-section-nav{margin-bottom:14px}.family-space .growth-years{gap:8px}.family-space .growth-years select{width:116px}.growth-form-actions #growth-error{font-size:12px}}
.family-space .growth-toolbar{gap:8px;padding:10px 12px;margin:12px 0}.family-space .growth-toolbar a{font-size:12px}.family-space .growth-toolbar button{min-height:40px;padding:7px 11px;font-size:12px}

/* Photo journey: chronological rows alternate direction; SVG follows the date markers. */
.family-space .growth-journey{max-width:1140px;margin:22px auto 30px}
.growth-journey .growth-year-group{padding-bottom:22px;scroll-margin-top:155px}
.growth-journey .growth-year-group:before,.growth-journey .growth-node:before{display:none}
.growth-journey .growth-year-heading{display:flex;align-items:center;gap:12px;margin:0 30px 4px}
.growth-journey .growth-year-title{width:auto;margin:0;padding:7px 17px;font:600 22px/1.3 Georgia,serif;border-radius:11px;box-shadow:none;background:#eddfbd}
.growth-journey .growth-year-title small{font:11px system-ui;margin-left:4px}
.growth-year-heading>span{font-size:11px;color:#9a8061}
.growth-months{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px;padding:36px 30px 12px}
.growth-wave{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.growth-wave path{fill:none;stroke:#c7a775;stroke-width:2;stroke-dasharray:3 6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.growth-journey .growth-node,.growth-journey .growth-node:nth-of-type(even){position:relative;z-index:1;grid-column:var(--journey-col);grid-row:var(--journey-row);display:block;width:auto;margin:0;padding:0;min-width:0;scroll-margin-top:155px;outline:none}
.growth-journey .growth-date,.growth-journey .growth-node:nth-of-type(even) .growth-date{display:flex;align-items:center;justify-content:center;gap:8px;position:absolute;left:50%;right:auto;top:-27px;transform:translateX(-50%);width:auto;margin:0;padding:2px 11px;border-radius:18px;background:#fbf4e5;white-space:nowrap}
.growth-journey .growth-date b{font-size:12px;line-height:20px;font-weight:600;color:#876444}
.growth-journey .growth-date span{display:block;font-size:7px;line-height:1;margin:0;color:#c28c55}
.family-space .growth-journey .growth-node-card{height:100%;display:flex;flex-direction:column;gap:0;padding:8px!important;margin:0;border:1px solid #e5d6bd;border-radius:13px!important;background:#fffaf0!important;box-shadow:0 3px 0 #e6dbc755,0 5px 16px #76502908!important;overflow:hidden}
.family-space .growth-journey .growth-node:nth-of-type(3n+2) .growth-node-card{background:#edf1e5!important}
.family-space .growth-journey .growth-node:nth-of-type(3n) .growth-node-card{background:#faeae0!important}
.growth-journey .growth-cover{height:166px;min-height:0;background:#f1ebdf;border-radius:8px;padding:0}
.growth-journey .growth-cover img{height:100%;width:100%;max-height:none;object-fit:contain;border:0;box-shadow:none;border-radius:6px;transform:none}
.growth-journey .growth-cover-placeholder{height:166px;min-height:0;font-size:38px}
.growth-journey .growth-node-content{padding:9px 5px 0;display:flex;flex:1;flex-direction:column;min-width:0}
.growth-journey .growth-node-content small{font-size:10px;line-height:1.6}
.growth-journey .growth-node-content h3{font-size:15px;line-height:1.5;margin:4px 0 3px;font-weight:600;overflow-wrap:anywhere}
.growth-journey .growth-node-content p{font-size:12px;line-height:1.65;margin:2px 0 5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.growth-journey .growth-node-content .stack{gap:14px;margin-top:auto;flex-wrap:wrap}
.growth-journey .growth-node-content button{font-size:11px;min-height:36px;padding:5px 0}
.growth-journey .growth-just-saved .growth-node-card{outline:2px solid #6e9875;outline-offset:3px}
.growth-save-success{padding:10px 14px;background:#eaf2e3;border:1px solid #bdd0ae;border-radius:10px;color:#365f43;font-size:12px;line-height:1.8}
.family-space .growth-years .growth-count{margin:0 0 0 auto;font-size:11px;color:#977f60}
.growth-form{width:100%}.growth-form label{margin-bottom:11px}.growth-form .growth-form-grid{gap:12px}.growth-form>.muted{font-size:11px;line-height:1.7;margin:5px 0 12px!important}.growth-form input,.growth-form select,.growth-form textarea{padding:9px 11px;font-size:12px;margin-top:5px}.growth-form textarea{min-height:68px}.growth-form .growth-edit-photos{margin:12px 0;gap:9px}.growth-form .growth-edit-photo{padding:7px}.growth-form .growth-edit-photo img{height:95px}
@media(min-width:671px) and (max-width:1050px){
 .growth-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 22px;padding:36px 26px 12px}
 .growth-journey .growth-node,.growth-journey .growth-node:nth-of-type(even){grid-column:var(--tablet-col);grid-row:var(--tablet-row)}
 .growth-journey .growth-cover,.growth-journey .growth-cover-placeholder{height:168px}
}
@media(max-width:670px){
 .family-space .growth-journey{margin-top:18px}.growth-journey .growth-year-heading{margin-left:16px}.growth-journey .growth-year-title{font-size:20px;padding:6px 13px}
 .growth-months{grid-template-columns:minmax(0,1fr);gap:36px;padding:33px 3px 10px 18px}
 .growth-journey .growth-node,.growth-journey .growth-node:nth-of-type(even){grid-column:1;grid-row:auto;width:auto;margin:0;padding:0}
 .growth-journey .growth-date,.growth-journey .growth-node:nth-of-type(even) .growth-date{left:7px;right:auto;top:-25px;transform:none;padding:1px 9px}
 .family-space .growth-journey .growth-node-card{display:grid;grid-template-columns:107px minmax(0,1fr);gap:8px;padding:6px!important;border-radius:10px!important}
 .growth-journey .growth-cover,.growth-journey .growth-cover-placeholder{height:128px}
 .growth-journey .growth-node-content{padding:3px 2px 0}.growth-journey .growth-node-content h3{font-size:13px;margin-top:3px}.growth-journey .growth-node-content small{font-size:9px}.growth-journey .growth-node-content p{font-size:11px;margin:2px 0}
 .growth-journey .growth-node-content .stack{gap:0 12px}.growth-journey .growth-node-content button{font-size:10px;min-height:32px;padding:3px 0}
 .family-space .growth-years .growth-count{margin-left:0;font-size:10px}.growth-year-heading>span{font-size:10px}
}

.growth-journey .growth-year-start .growth-date{background:#e5ecd9}.growth-journey .growth-year-start .growth-date b{color:#45664e}
