.child-growth{margin-top:18px;background:linear-gradient(120deg,#dcebed,#f7f0df);border:1px solid #bfd4d8;border-radius:20px;padding:28px;display:none}
.child-growth.visible{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px}
.growth-score{font-family:"DM Serif Display";font-size:54px;color:var(--blue)}
.growth-message{background:rgba(255,255,255,.72);border-radius:14px;padding:18px}
.growth-message h3{margin-top:0}.growth-message blockquote{margin:0 0 15px;font-family:"DM Serif Display";font-size:22px}
.read-status{font-size:10px;font-weight:900;color:var(--muted);padding-top:7px}
.feedback-box{background:#f3eadb;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:22px}
.feedback-box label{display:block;font-weight:900;margin:12px 0}.child-mode .parent-only{display:none!important}
.notes-nav-button{position:relative;display:inline-flex;align-items:center;gap:.4rem}.notes-nav-button>.nav-icon{font-size:clamp(1.65rem,2.25vw,2.15rem)}.notes-badge{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;border:2px solid #fff;border-radius:999px;background:#c6402d;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900;line-height:1;box-shadow:0 3px 8px rgba(80,25,18,.3)}.notes-badge[hidden]{display:none}.parent-notes{display:grid;gap:14px;max-width:900px}.parent-note-card{background:var(--paper);border:1px solid var(--line);border-left:6px solid var(--blue);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.parent-note-card.unread{border-left-color:var(--red);background:color-mix(in srgb,var(--paper) 92%,var(--yellow))}.parent-note-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.parent-note-head strong{font-size:18px}.parent-note-head time{font-size:12px;color:var(--muted);font-weight:800}.parent-note-card p{margin:0;white-space:pre-wrap;line-height:1.6}.unread-label{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:999px;background:var(--red);color:#fff;font-size:10px;font-weight:900;text-transform:uppercase}
.child-task-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.task-done-button,.task-justify-button{min-height:42px;border:1px solid var(--line);border-radius:10px;font-weight:900}.task-done-button{background:#2f7d45;color:#fff}.task-justify-button{background:var(--paper);color:var(--ink)}.task-done-button:hover,.task-justify-button:hover{transform:translateY(-2px);box-shadow:0 4px 0 color-mix(in srgb,var(--line) 50%,transparent)}.task-justification-form{grid-column:1/-1;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 92%,var(--yellow))}.task-justification-form[hidden]{display:none}.task-justification-form label{display:block;font-size:12px;font-weight:900}.task-justification-form textarea{display:block;width:100%;margin:7px 0 9px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;resize:vertical}.task-justification-form>div{display:flex;gap:7px}.task-justification-form button{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:11px;font-weight:900}.child-submission-state,.parent-task-review{margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:10px;font-size:12px;line-height:1.45}.child-submission-state strong,.parent-task-review strong{display:block}.child-submission-state small{display:block;margin-top:5px;color:var(--muted)}.child-submission-state.pending,.parent-task-review.pending{background:#fff5cf;border-color:#d7b852}.child-submission-state.approved,.parent-task-review.approved{background:#e0f2e4;border-color:#72aa7d}.child-submission-state.rejected,.parent-task-review.rejected{background:#fde3df;border-color:#d98b7e}.task-submission-note{margin:7px 0 0;padding:8px;border-radius:8px;background:rgba(255,255,255,.72);white-space:pre-wrap}.parent-task-review>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.review-approve,.review-reject{min-height:38px;border-radius:8px;font-weight:900}.review-approve{border:1px solid #2f7d45;background:#2f7d45;color:#fff}.review-reject{border:1px solid #a83a2a;background:#fff;color:#a83a2a}@media(max-width:42rem){.child-task-actions{grid-template-columns:1fr}.task-justification-form{grid-column:1}.parent-task-review>div{grid-template-columns:1fr}}
@media(max-width:700px){.child-growth.visible{grid-template-columns:1fr}}
.locked-profile{display:none!important}.story-title{background:#173f48;color:white;padding:24px 32px;border-radius:24px;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}.story-title>div:first-child{min-width:0}.story-title .eyebrow{color:#f0bd4b;margin:0 0 8px}.story-title h1{font-size:clamp(42px,5vw,72px);line-height:.92;margin:0 0 10px}.story-title p:not(.eyebrow){color:#d9edef;margin:0;max-width:760px;line-height:1.35}.story-symbol{font-family:"DM Serif Display";font-size:clamp(78px,9vw,118px);color:#efb63e;line-height:.7;transform:rotate(-8deg);justify-self:end}
.story-layout{display:grid;grid-template-columns:340px 1fr;gap:26px;align-items:start}.memory-composer{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px;position:sticky;top:108px;box-shadow:var(--shadow)}.memory-composer h2{font-family:"DM Serif Display";font-size:32px;font-weight:400;margin:0 0 18px}.memory-composer label{display:block;font-weight:900;font-size:13px;margin:14px 0}.memory-composer select,.memory-composer textarea{width:100%;display:block;margin-top:7px;border:1px solid var(--line);border-radius:10px;padding:11px;background:white}.upload-zone{border:2px dashed #c9bca9;border-radius:14px;padding:18px!important;text-align:center;background:#f8f3e9}.upload-zone input{width:100%;margin-bottom:8px}.upload-zone span{font-size:11px;color:var(--muted)}.memory-prompt{margin-top:24px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:13px}.memory-prompt strong{color:var(--red)}.feed-intro{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:14px;color:var(--muted)}.feed-intro span{font-weight:900;color:var(--ink)}
.memory-composer>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;color:var(--red);font-size:.78rem;font-weight:900;letter-spacing:.18em;cursor:pointer;user-select:none}.memory-composer>summary::-webkit-details-marker{display:none}.accordion-arrow{font-size:1.35rem;line-height:1;transition:transform .2s ease}.memory-composer[open] .accordion-arrow{transform:rotate(180deg)}.memory-composer-body{padding-top:1.25rem}
.moments-feed{columns:2;column-gap:18px}.moment-card{break-inside:avoid;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:18px;box-shadow:0 9px 25px rgba(55,43,30,.08)}.moment-media{width:100%;height:auto;display:block;max-height:none;object-fit:contain;background:#1f2526}.moment-body{padding:18px}.moment-meta{display:flex;justify-content:space-between;font-size:11px;font-weight:900;color:var(--muted)}.moment-body>p{line-height:1.55;white-space:pre-wrap}.audience-tag{background:#e8dece;padding:5px 8px;border-radius:20px}.comments{border-top:1px solid var(--line);padding-top:10px}.comment{font-size:12px;margin:8px 0}.comment strong{color:var(--blue)}.comment-form{display:flex;gap:7px;margin-top:10px}.comment-form input{min-width:0;flex:1;border:1px solid var(--line);border-radius:9px;padding:9px}.comment-form button{border:0;background:var(--blue);color:white;border-radius:9px;padding:8px 11px;font-weight:900}.badge-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 0 12px}.badge-card{min-width:145px;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:14px}.badge-icon{font-size:28px}.badge-card.locked{opacity:.45;filter:grayscale(1)}.badge-card strong{display:block;font-size:12px}.badge-card small{color:var(--muted)}
.comment{display:flex;align-items:flex-start;gap:9px;margin:10px 0}.comment-avatar{width:34px;height:34px;flex:0 0 34px;object-fit:cover;border-radius:50%;border:2px solid rgba(255,255,255,.95);background:linear-gradient(135deg,var(--yellow),var(--red));color:#fff;display:grid;place-items:center;font-size:13px;font-weight:900;box-shadow:0 3px 9px rgba(40,30,24,.16)}.comment>div{min-width:0;padding-top:2px}.comment strong{display:block}.comment p{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:900px){.story-layout{grid-template-columns:1fr}.memory-composer{position:static}.moments-feed{columns:1}}
.reports-layout{display:grid;grid-template-columns:minmax(18rem,.65fr) minmax(0,1.35fr);gap:1.5rem;align-items:start}.parent-report-form{display:grid;gap:1rem;position:sticky;top:7rem}.parent-report-form label{display:grid;gap:.45rem;font-weight:900}.parent-report-form select,.parent-report-form textarea,.climate-parent-card textarea{width:100%;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:#fff}.parent-report-form fieldset{border:1px solid var(--line);border-radius:12px;padding:.8rem}.parent-report-form legend{font-weight:900;padding:0 .35rem}.feeling-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.feeling-button{display:flex;min-height:4.2rem;align-items:center;justify-content:center;flex-direction:column;gap:.15rem;border:2px solid var(--line);border-radius:12px;background:#fff;font-size:1.45rem;transition:.18s}.feeling-button small{font-size:.58rem;font-weight:900;color:var(--muted)}.feeling-button:hover{transform:translateY(-2px);border-color:var(--red);box-shadow:0 5px 0 #ead8c8}.feeling-button.selected{border-color:var(--red);background:#fff0e9;box-shadow:0 0 0 2px var(--red)}.note-feelings{border-top:1px solid var(--line);padding-top:.8rem;margin-top:.8rem}.note-feelings>strong{display:block;margin-bottom:.45rem}.note-feelings .feeling-picker{grid-template-columns:repeat(7,minmax(3.8rem,1fr))}.reaction-progress{display:block;margin-top:.5rem;color:var(--muted);font-size:.75rem}.parent-report-card{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1rem;margin-bottom:.75rem;background:var(--paper);border:1px solid var(--line);border-radius:14px}.parent-report-card .report-emoji{font-size:2rem}.parent-report-card time{display:block;font-size:.7rem;color:var(--muted)}.parent-report-card p{white-space:pre-wrap;margin:.5rem 0}.climate-parent-grid{display:grid;gap:1rem}.climate-parent-card{background:var(--paper);border:1px solid var(--line);border-left:8px solid var(--sage);border-radius:18px;padding:1.2rem}.climate-parent-card.severity-2{border-left-color:#e6a23c}.climate-parent-card.severity-3{border-left-color:#df7047}.climate-parent-card.severity-4,.climate-parent-card.severity-5{border-left-color:#b42b24}.climate-parent-card header{display:flex;gap:1rem;align-items:center}.climate-parent-card h3{margin:0}.climate-drawing{font-size:3.5rem;line-height:1}.severity-track{height:.8rem;margin:1rem 0;border-radius:1rem;background:#e8e0d4;overflow:hidden}.severity-track i{display:block;height:100%;background:linear-gradient(90deg,#58a96f,#efbd42,#c43e32);border-radius:inherit}.climate-parent-card label{display:grid;gap:.35rem;font-weight:900}.climate-publish{margin-top:.7rem}.publish-status{display:block;margin-top:.75rem;color:var(--muted)}.child-climate-card{grid-column:1/-1;display:flex;gap:1.1rem;align-items:center;padding:1.2rem;background:linear-gradient(135deg,#fff9da,#e4f4ff);border:2px solid rgba(57,127,145,.25);border-radius:18px}.child-climate-card h3,.child-climate-card p{margin:.2rem 0}.child-climate-card small{color:var(--muted)}
.home-side-stack{display:grid;gap:1rem;position:relative;z-index:1;min-width:0}.home-side-stack .coach-card{width:100%}.home-side-stack #child-climate-home:empty{display:none}.home-side-stack .child-climate-card{grid-column:auto;width:100%;padding:1rem}.home-side-stack .climate-drawing{font-size:3rem}
@media(max-width:55rem){.reports-layout{grid-template-columns:1fr}.parent-report-form{position:static}.note-feelings .feeling-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}
.phase-line .phase{border:2px solid transparent;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}.phase-line .phase:hover{transform:translateY(-2px);background:#ead0cb;box-shadow:0 4px 0 #c9ada7}.phase-line .phase.current{background:var(--red);color:#fff}.phase-line .phase.selected{border-color:var(--red-dark);box-shadow:0 0 0 2px rgba(135,39,28,.18)}.phase-line .phase small{display:block;margin-top:.3rem;font-size:.55rem;letter-spacing:.12em}.phase-details{display:grid;grid-template-columns:minmax(15rem,.75fr) minmax(18rem,1.25fr);gap:1.5rem;margin:-.8rem 0 2rem;padding:1.5rem;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.phase-details h2{font-family:"DM Serif Display";font-size:2rem;font-weight:400;margin:0 0 .5rem}.phase-details p{line-height:1.55}.phase-details ol{margin:0;padding-left:1.35rem;line-height:1.65}.phase-date{display:inline-block;padding:.45rem .7rem;border-radius:999px;background:#efe4d4;color:var(--red-dark);font-size:.75rem;font-weight:900}.phase-avoid{grid-column:1/-1;margin:0;padding:.9rem;border-radius:10px;background:#fff1dd;border-left:4px solid var(--yellow)}
@media(max-width:42rem){.phase-details{grid-template-columns:1fr}.phase-avoid{grid-column:1}.phase-line .phase{min-width:12rem}}
