.child-only{display:none}.child-mode .child-only{display:block}.child-mode .view.child-only{display:none}.child-mode .view.child-only.active-view{display:block}
.nav-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-transform:uppercase;text-align:left}.nav-icon{flex:0 0 auto;font-size:clamp(1.65rem,2.25vw,2.15rem);line-height:1}.nav-label{display:block;line-height:1.05}
body:not(.child-mode) .topbar .nav-button{font-size:.7rem;transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}body:not(.child-mode) .topbar .nav-button.child-only{display:none}body:not(.child-mode) .topbar .nav-icon{transition:transform .18s ease}@media(hover:hover){body:not(.child-mode) .topbar .nav-button:not(.active):hover{transform:translateY(-3px);background:color-mix(in srgb,var(--yellow) 24%,var(--paper));color:var(--red-dark);box-shadow:0 5px 0 color-mix(in srgb,var(--red-dark) 28%,transparent)}body:not(.child-mode) .topbar .nav-button:not(.active):hover .nav-icon{transform:scale(1.12)}}body:not(.child-mode) .topbar .nav-button:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 60%,#fff);outline-offset:3px}body:not(.child-mode) .topbar .nav-button:active{transform:translateY(1px)}
.app-loader{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;background:var(--cream,#f5efe5);color:var(--ink,#2e2924);font-family:"Nunito Sans",Arial,sans-serif;font-size:clamp(2.4rem,8vw,6rem);font-weight:900;letter-spacing:.08em;text-align:center}.app-loading{overflow:hidden}.app-loading>.app-loader{display:flex}.app-loading>.topbar,.app-loading>main,.app-loading>#toast{visibility:hidden}
.child-note{background:#f1dfae;border:1px solid #d5bd88;border-radius:20px;padding:22px;align-self:start}
.child-note h2{font-family:"DM Serif Display";font-weight:400;font-size:30px;margin:0}
.child-note p{color:#5f553f;line-height:1.5}.child-note textarea{width:100%;border:1px solid #cbb780;border-radius:10px;padding:11px;margin:8px 0 15px}
.child-note small{display:block;margin-top:16px;color:#6d6045}
.moment-admin{display:flex;gap:8px;margin:12px 0}.moment-admin button{border:1px solid var(--line);background:#f6efe3;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:900}.moment-admin button.danger{color:#a12e20;border-color:#e5b0a8;background:#fff4f1}
.reaction-row{display:flex;align-items:center;gap:9px;margin:10px 0}.reaction-row small{color:var(--muted);font-size:10px}.heart-button{border:1px solid #e8c1c7;background:#fff8f8;border-radius:22px;padding:7px 11px;font-size:17px;transition:.18s}.heart-button:hover{transform:scale(1.06)}.heart-button.liked{background:#f8dbe1;border-color:#d96b80;box-shadow:0 0 0 3px rgba(217,107,128,.12)}.heart-button span{font-size:11px;font-weight:900;color:#96394c}
.comment-form{position:relative}.comment-form .emoji-trigger{background:#f0e7d9;color:#664f38;font-size:18px;padding:7px 10px}.emoji-picker{position:absolute;z-index:40;left:0;bottom:48px;width:min(360px,90vw);height:380px;background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 60px rgba(30,25,20,.22);overflow:hidden}.emoji-search{display:flex;gap:6px;padding:10px;border-bottom:1px solid var(--line)}.emoji-search input{flex:1;border:1px solid var(--line);border-radius:8px;padding:8px}.emoji-search button{border:0;background:#eee3d4;border-radius:8px;width:35px;font-size:20px}.emoji-scroll{height:326px;overflow-y:auto;padding:10px}.emoji-scroll h4{position:sticky;top:-10px;background:var(--paper);margin:0;padding:10px 2px 6px;font-size:11px;color:var(--muted);text-transform:uppercase}.emoji-scroll section>div{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.emoji-scroll [data-emoji]{border:0;background:transparent;font-size:23px;padding:5px;border-radius:7px}.emoji-scroll [data-emoji]:hover{background:#eee3d4}
.emoji-picker-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:rgba(20,18,16,.4);backdrop-filter:blur(3px)}
.child-mode .story-layout{grid-template-columns:1fr}
.parent-channel{width:min(100%,42rem);margin:1.5rem auto;padding:clamp(1.5rem,4vw,2.5rem)}.parent-channel form{display:grid;gap:1rem}.parent-channel textarea{resize:vertical;min-height:8rem}.parent-channel .primary{justify-self:start}
@media(max-width:900px){.child-mode .story-layout{grid-template-columns:1fr}}
.theme-studio{margin-top:28px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:28px;display:grid;grid-template-columns:.7fr 1.3fr;gap:30px}.theme-studio h2{font-family:"DM Serif Display";font-size:34px;font-weight:400;margin:0}.theme-studio p{color:var(--muted)}.theme-controls{display:grid;gap:12px}.theme-controls article{border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;justify-content:space-between;gap:15px;align-items:center}.theme-controls article small{display:block;color:var(--muted);text-transform:capitalize}.theme-options{display:flex;gap:7px}.theme-choice{border:2px solid transparent;background:#eee4d6;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:900}.theme-choice span{display:block;font-size:20px}.theme-choice.selected{border-color:var(--red);background:#fff}.game-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.game-hud>div{background:rgba(255,255,255,.72);border:1px solid rgba(36,34,31,.12);border-radius:11px;padding:10px}.game-hud span{display:block;font-size:8px;font-weight:900;letter-spacing:.1em;color:var(--muted)}.game-hud strong{font-size:21px}.xp-track{height:11px;background:rgba(36,34,31,.12);border-radius:10px;overflow:hidden;margin:8px 0 4px}.xp-track i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--yellow));border-radius:10px;transition:width .6s ease}.quest-flag{display:inline-block;background:var(--red);color:white;border-radius:7px;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.1em;margin-bottom:8px}
.theme-azul{--red:#176a91;--red-dark:#0e405e;--yellow:#52c9dc;--blue:#175d91;--sage:#69a8b7;--alice:#3e91ba;--kevin:#176a91;--cream:#e9f4f7;--paper:#fafdff;--line:#c6dce4;background-image:radial-gradient(#b9d7e2 1px,transparent 1px)}.theme-azul .hero{background:linear-gradient(135deg,#fafdff,#dceff5)}.theme-azul .coach-card{background:#14567a;box-shadow:12px 14px 0 #0b354e}.theme-azul .child-growth{background:linear-gradient(120deg,#ccecf4,#eaf7fa)}
.theme-lilas{--red:#8053a2;--red-dark:#533269;--yellow:#e7b95f;--blue:#75558e;--sage:#aa8ebc;--alice:#a66bb0;--kevin:#7964b0;--cream:#f2edf5;--paper:#fffaff;--line:#dacde1;background-image:radial-gradient(#d7c8df 1px,transparent 1px)}.theme-lilas .hero{background:linear-gradient(135deg,#fffaff,#eee2f4)}.theme-lilas .coach-card{background:#68477c;box-shadow:12px 14px 0 #422c50}.theme-lilas .child-growth{background:linear-gradient(120deg,#e9daf0,#faf0f4)}
@media(max-width:850px){.theme-studio{grid-template-columns:1fr}.theme-controls article{align-items:flex-start;flex-direction:column}.theme-options{width:100%}.theme-choice{flex:1}}

/* Avatares individuais e reacao sobre as fotografias do album. */
.moment-visual{position:relative}.moment-visual .moment-media{display:block}.heart-overlay{position:absolute;left:4%;bottom:5%;z-index:2;font-size:25.5px;padding:8px 13px;background:rgba(255,248,248,.9);box-shadow:0 5px 18px rgba(74,26,39,.2);backdrop-filter:blur(8px)}.heart-overlay span{font-size:12px}
.avatar-editor{display:flex;align-items:center;gap:12px;min-width:155px}.avatar-preview,.journey-avatar,.brand-avatar,.avatar-fallback{display:grid;place-items:center;border-radius:50%;object-fit:cover;aspect-ratio:1;background:linear-gradient(135deg,var(--yellow),var(--red));color:#fff;font-weight:900;border:3px solid rgba(255,255,255,.9);box-shadow:0 5px 16px rgba(40,30,24,.18)}.avatar-preview{width:58px;height:58px;font-size:24px}.avatar-upload{display:inline-block;margin-top:7px;border:1px solid var(--line);border-radius:8px;padding:6px 9px;background:#fff;font-size:10px;font-weight:900;cursor:pointer;text-transform:none}.avatar-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.brand-mark.has-avatar{padding:0;overflow:hidden;transform:none;background:transparent}.brand-avatar{width:100%;height:100%;border-width:2px}.journey-heading{display:flex;align-items:center;gap:12px}.journey-heading .eyebrow{margin:0}.journey-heading .eyebrow strong{font-size:18px;color:var(--ink);letter-spacing:0}.journey-avatar{width:72px;height:72px;font-size:30px;flex:none}
.google-photos-button{border:1px solid #4285f4;border-radius:9px;padding:8px 11px;background:#fff;color:#174ea6;font-size:11px;font-weight:900;cursor:pointer}.avatar-editor .google-photos-button{display:block;margin-top:6px}.memory-composer .google-photos-button{width:100%;min-height:2.8rem}
#upload-progress:not(:empty){position:relative;top:10px}
.profile-header .topbar{min-height:3.75rem;padding-top:.5rem;padding-bottom:.5rem;overflow:visible}.top-child-identity{display:none;margin-left:auto;min-width:6.75rem;text-align:center;align-items:center;justify-items:center;line-height:1;transform:translateY(-32.5px)}.top-child-identity.visible{display:grid}.top-child-avatar{width:100px;height:100px;object-fit:cover;border-radius:50%;border:4px solid rgba(255,255,255,.98);background:linear-gradient(135deg,var(--yellow),var(--red));color:#fff;display:grid;place-items:center;font-size:2.2rem;font-weight:900;box-shadow:0 7px 22px rgba(40,30,24,.26)}.top-child-identity strong{display:block;margin-top:.45rem;font-size:1.05rem;color:var(--ink);letter-spacing:.02em;text-transform:none}
.profile-header:not(.child-mode) .top-child-identity{transform:translateY(-60px)}
.child-mode.profile-header .topbar{height:195px;min-height:195px;padding-top:.5rem;padding-bottom:.5rem}
.child-mode.profile-header .topbar>.brand{position:absolute;top:16px;left:var(--page-gutter);z-index:2;margin:0;color:#2e2924;font-family:"Nunito Sans",sans-serif;font-size:13px;font-weight:400;line-height:.9;letter-spacing:.03em;text-shadow:none;transform:none}
.child-mode.profile-header .topbar>.brand .brand-mark{width:44px;height:44px;border-radius:50% 50% 45% 55%;background:#c6402d;color:#fff;font-family:"DM Serif Display",serif;font-size:18px;font-weight:400;line-height:1;letter-spacing:normal;text-shadow:none;transform:rotate(-5deg)}
.child-mode.profile-header .topbar>.brand strong{font-family:"Nunito Sans",sans-serif;font-weight:900;letter-spacing:.03em;text-shadow:none}
.child-mode .topbar nav{align-items:stretch;gap:clamp(8px,1vw,14px)}
.child-mode .topbar .nav-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 18px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 88%,#fff);color:var(--ink);box-shadow:0 3px 0 color-mix(in srgb,var(--line) 45%,transparent);line-height:1.2;text-align:center;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
.child-mode .topbar .nav-button.active{background:color-mix(in srgb,var(--red) 16%,var(--paper));border-color:color-mix(in srgb,var(--red) 55%,var(--line));color:var(--red-dark);box-shadow:0 3px 0 color-mix(in srgb,var(--red-dark) 45%,transparent)}
@media(hover:hover){.child-mode .topbar .nav-button:hover{transform:translateY(-3px);background:color-mix(in srgb,var(--yellow) 22%,var(--paper));border-color:var(--red);color:var(--red-dark);box-shadow:0 6px 0 color-mix(in srgb,var(--red-dark) 38%,transparent)}}
.child-mode .topbar .nav-button:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 60%,#fff);outline-offset:3px}
.child-mode .topbar .nav-button:active{transform:translateY(1px);box-shadow:0 1px 0 color-mix(in srgb,var(--red-dark) 38%,transparent)}
@media(max-width:42rem){.profile-header .topbar{min-height:3.75rem;padding-top:.5rem;padding-bottom:.5rem;align-items:center}.top-child-avatar{width:100px;height:100px}.top-child-identity{min-width:6.75rem;transform:translateY(-32.5px)}.top-child-identity strong{font-size:1rem}}
.home-story-media{display:block;width:100%;height:auto;max-height:none;margin:.8rem 0 1rem;border-radius:12px;object-fit:contain;background:#1f2526}.child-mode #home-title{font-size:clamp(1.3rem,3.25vw,2.6rem);line-height:1.08}.child-mode #home-copy{font-size:clamp(.95rem,1.35vw,1.1rem)}
.actual-child-only{display:none!important}.actual-child .actual-child-only{display:block!important}.actual-child .view.actual-child-only{display:none!important}.actual-child .view.actual-child-only.active-view{display:block!important}.actual-child .nav-button.actual-child-only{display:inline-flex!important}.ai-chat-card{max-width:52rem;margin:auto;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:clamp(1rem,3vw,2rem);box-shadow:var(--shadow)}.ai-transparency{padding:1rem;border-radius:13px;background:#fff3cd;border:1px solid #e4c568;font-size:.82rem;line-height:1.5}.ai-chat-messages{display:flex;flex-direction:column;gap:.75rem;min-height:12rem;max-height:34rem;overflow-y:auto;padding:1.2rem 0}.ai-bubble{max-width:82%;padding:.8rem 1rem;border-radius:16px;line-height:1.45;white-space:pre-wrap}.ai-bubble.user{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:4px}.ai-bubble.assistant{align-self:flex-start;background:#efe7da;border-bottom-left-radius:4px}.ai-bubble.risk{outline:3px solid #d33;background:#fff0ed;color:#7b1711}.ai-bubble small{display:block;margin-top:.35rem;font-size:.62rem;opacity:.7}.ai-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end}.ai-chat-form textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:.85rem;font:inherit}.ai-service-status{padding:1rem;border-radius:13px;background:#eee7dc;font-weight:800}.ai-service-status.online{background:#dff2df;color:#245b2c}.ai-service-status.offline{background:#ffe1dc;color:#8a2218}.ai-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1rem 0}.ai-parent-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);gap:1.5rem}.ai-report{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.2rem;margin-bottom:1rem}.ai-report header{display:flex;justify-content:space-between;gap:1rem}.ai-report h3{margin:0}.ai-report textarea{display:block;width:100%;margin:.45rem 0 1rem;padding:.75rem;border:1px solid var(--line);border-radius:10px}.ai-report-actions{display:flex;gap:.6rem;flex-wrap:wrap}.ai-report .risk-list{background:#fff0ed;border:1px solid #e7a59e;border-radius:10px;padding:.8rem}.ai-report-status{font-size:.7rem;font-weight:900;text-transform:uppercase}.ai-transcript-tabs{display:flex;gap:.5rem}.ai-transcript-tabs button{border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:.6rem 1rem;font-weight:900}.parent-transcript{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1rem;margin-top:.8rem}.parent-transcript .ai-bubble{font-size:.82rem}@media(max-width:55rem){.ai-parent-grid{grid-template-columns:1fr}.ai-chat-form{grid-template-columns:1fr}.ai-chat-form button{width:100%}}
