/* Home: sistema editorial responsivo. As ações e a ordem móvel são preservadas. */
.app-shell-home {
    --h-bg:#19161d; --h-surface:#231f28; --h-raised:#2c2631; --h-border:#3c3342;
    --h-text:#f4eee8; --h-muted:#b8abbc; --h-accent:#ddb8d5; --h-soft:#342a38;
    --h-gold:#d0b99b; --h-rose:#d7a7ba; --h-shadow:0 12px 32px #09060c1c;
    --h-serif:Georgia,'Times New Roman',serif;
    --HomeBackgroundDark:var(--h-bg); --HomeSurfaceDark:var(--h-surface);
    --HomeSurfaceElevatedDark:var(--h-raised); --HomeBorderDark:var(--h-border);
    --HomeTextPrimaryDark:var(--h-text); --HomeTextSecondaryDark:var(--h-muted);
    --HomeAccentDark:var(--h-accent); --HomeAccentSoftDark:var(--h-accent);
    --HomeRoseDark:var(--h-rose); --HomeGoldDark:var(--h-gold);
    color:var(--h-text); background:var(--h-bg);
}
[data-theme="light"] .app-shell-home {
    --h-bg:#f5f2ed; --h-surface:#fffdf9; --h-raised:#eee8e5; --h-border:#e3dbd6;
    --h-text:#342d38; --h-muted:#746873; --h-accent:#825d7b; --h-soft:#f0e6ed;
    --h-gold:#8d7352; --h-rose:#9b657c; --h-shadow:0 12px 32px #4b343509;
    --HomeBackgroundLight:var(--h-bg); --HomeSurfaceLight:var(--h-surface);
    --HomeSurfaceElevatedLight:var(--h-raised); --HomeBorderLight:var(--h-border);
    --HomeTextPrimaryLight:var(--h-text); --HomeTextSecondaryLight:var(--h-muted);
    --HomeAccentLight:var(--h-accent); --HomeAccentSoftLight:var(--h-soft);
}
body:has(.app-shell-home) { background:#19161d; }
html[data-theme="light"] body:has(.app-shell-home) { background:#f5f2ed; }
.app-shell.app-shell-home { width:100%; max-width:none; margin:0; box-shadow:none; }
.home-page { max-width:1360px; margin:auto; padding:0 40px 52px; color:var(--h-text); }
.home-page *, .home-detail * { box-sizing:border-box; }
.home-page button { appearance:none; -webkit-appearance:none; font-family:var(--font-inter); color:inherit; text-align:left; -webkit-tap-highlight-color:transparent; }
.home-page button:focus-visible,.home-page [role="button"]:focus-visible,.app-shell-home .tabbar a:focus-visible { outline:2px solid var(--h-accent); outline-offset:4px; }
.home-page button:disabled { cursor:wait; opacity:.55; }
.home-masthead { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 0 22px; border-bottom:1px solid var(--h-border); }
.home-wordmark { display:flex; align-items:center; gap:10px; font-family:var(--h-serif); font-size:26px; letter-spacing:-1px; }
.home-wordmark > span { color:var(--h-accent); font-family:var(--font-inter); font-size:29px; }
.home-brand-note { font-size:10px; letter-spacing:2.1px; color:var(--h-muted); }
.home-page .ident { max-width:none; padding:30px 0 28px; grid-template-columns:minmax(0,1fr) auto; gap:0 24px; align-items:center; }
.home-page .ident-nome { margin:0; font-family:var(--h-serif); font-size:42px; font-weight:400; letter-spacing:-1.3px; line-height:1.1; white-space:normal; color:var(--h-text); }
.home-page .ident-nome button { font:inherit; color:inherit; background:none; padding:0; border:0; cursor:pointer; }
.home-page .ident-intro { margin:9px 0 0; color:var(--h-muted); font-size:14px; }
.home-page .ident-pair { min-height:32px; padding:4px 0; border:0; background:none; gap:7px; color:var(--h-muted); font-size:11px; }
.home-page .ident-right { display:flex; align-items:center; gap:16px; width:auto; height:60px; }
.home-page .ident-avatar-button { display:block; width:54px; height:54px; padding:0; background:none; border:0; border-radius:50%; cursor:pointer; }
.home-page .ident-avatar { display:block; width:54px; height:54px; border:2px solid var(--h-border); background:var(--h-raised); }
.home-page .ident-menu { position:static; width:44px; height:44px; border-radius:50%; background:var(--h-surface); border:1px solid var(--h-border); color:var(--h-text); }
.home-page .ident-status { top:0; right:60px; width:10px; height:10px; border:3px solid var(--h-bg); }
.home-page .ident-chips:empty { display:none; }
.home-page .ident-chip-entrar { margin-top:12px; min-height:44px; padding:0 20px; background:var(--h-soft); color:var(--h-accent); border:1px solid var(--h-border); font-size:13px; }
.home-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); align-items:start; gap:26px 36px; width:100%; margin:0; padding:0; }
.home-primary { grid-area:primary; }
.home-secondary { grid-area:secondary; }
.home-daily { grid-area:daily; display:flex; flex-direction:column; gap:26px; min-width:0; width:100%; }
.home-solo .home-layout { grid-template-areas:"daily editorial"; grid-template-rows:auto; }
.home-solo .home-lower { grid-area:editorial; min-width:0; }


.home-paired .home-layout { display:flex; flex-direction:column; }
.home-paired .home-daily { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); grid-template-areas:"primary secondary" "explore explore"; gap:32px; align-items:start; }
.home-paired .explore { grid-area:explore; }
.home-paired .home-lower { width:100%; display:flex; flex-direction:column; gap:36px; }
.home-column { display:flex; flex-direction:column; gap:24px; min-width:0; }
.home-secondary:empty { display:none; }
.home-page .hte { padding:0; display:flex; flex-direction:column; gap:26px; }
.home-page .kicker { color:var(--h-rose); font-size:10px; line-height:1.4; letter-spacing:1.9px; font-weight:600; }
.home-page :is(.agora-title,.explore-title,.editorial-title) { margin:6px 0 0; font-family:var(--h-serif); font-size:28px; font-weight:400; letter-spacing:-.55px; line-height:1.15; color:var(--h-text); }
.home-page :is(.explore-sub,.editorial-sub) { margin-top:9px; font-size:13px; line-height:1.55; color:var(--h-muted); }
.home-page .agora { gap:16px; }
.home-page .agora-head { align-items:center; gap:14px; }
.home-page .agora-nav { gap:8px; }
.home-page .agora-nav button { display:grid; place-items:center; width:44px; height:44px; background:transparent; border:1px solid var(--h-border); color:var(--h-muted); border-radius:50%; font-size:11px; }
.home-page :is(.dica-card,.bem-estar,.qa-card,.mood-card,.sem-card,.explore-card,.cal-card,.home-events,.mapa-card,.activation-card,.partner-tip,.travel-task,.couple-invite,.memo-cta,.stk-cta) { color:var(--h-text); background:var(--h-surface); border:1px solid var(--h-border); box-shadow:var(--h-shadow); border-radius:20px; }
.home-page .dica-card { grid-template-columns:48px minmax(0,1fr) 44px; gap:16px; padding:24px; min-height:132px; border-left:3px solid var(--h-accent); }
.home-page :is(.dica-icon,.qa-icon,.cal-icon,.mapa-icon,.explore-icon,.invite-icon,.travel-icon,.partner-tip-icon) { display:grid; place-items:center; background:var(--h-soft); color:var(--h-accent); border-radius:14px; }
.home-page .dica-icon { width:48px; height:48px; font-size:18px; }
.home-page .dica-cat { color:var(--h-rose); font-size:10px; letter-spacing:1.5px; }
.home-page .dica-titulo { font-size:20px; line-height:1.25; margin-top:6px; font-weight:600; color:var(--h-text); }
.home-page .dica-desc { font-size:14px; line-height:1.6; margin-top:6px; color:var(--h-muted); }
.home-page .dica-go { width:44px; height:44px; border-radius:50%; background:var(--h-accent); color:var(--h-bg); }
.home-page .hte-guest { padding:28px; min-height:238px; gap:12px; background:var(--h-surface); border-color:var(--h-border); border-radius:24px; }
.home-page .hte-guest-title { font-family:var(--h-serif); font-size:34px; line-height:1.1; letter-spacing:-.7px; color:var(--h-text); }
.home-page .hte-guest-sub { font-size:14px; line-height:1.7; color:var(--h-muted); }
.home-page .hte-guest-arrow { background:var(--h-accent); color:var(--h-bg); border-radius:50%; }
.home-page .bem-estar { padding:24px; }
.home-page .bem-estar .t { font-size:18px; color:var(--h-text); }
.home-page .bem-estar .d { font-size:14px; color:var(--h-muted); }
.home-page .quick { gap:14px; }
.home-page .quick-head .t { font-size:17px; font-weight:600; color:var(--h-text); }
.home-page .quick-head .note { color:var(--h-muted); font-size:9px; letter-spacing:1.3px; }
.home-page .quick-scroll { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; height:auto; overflow:visible; }
.home-page .qa-card { width:auto; min-width:0; min-height:152px; padding:16px 13px; grid-template-rows:38px auto 1fr; gap:12px; align-content:start; box-shadow:none; border-radius:17px; }
.home-page .qa-icon { width:38px; height:38px; border-radius:12px; }
.home-page .qa-icon .icon { width:18px; height:18px; background:var(--h-accent); }
.home-page .qa-t { font-size:13px; line-height:1.4; color:var(--h-text); }
.home-page .qa-s { font-size:11px; line-height:1.55; color:var(--h-muted); }
.home-page .mood-card { padding:22px; gap:18px; }
.home-page .mood-head { gap:10px; grid-template-columns:minmax(0,1fr) auto auto; }
.home-page .mood-head .t { font-size:18px; font-weight:600; color:var(--h-text); }
.home-page .mood-head .s { font-size:13px; line-height:1.5; margin-top:5px; color:var(--h-muted); }
.home-page :is(.mood-chip-btn,.mood-ver) { min-width:44px; min-height:44px; border:1px solid var(--h-border); background:var(--h-raised); color:var(--h-text); border-radius:14px; }
.home-page .mood-ver { font-size:12px; gap:7px; padding:8px 13px; }
.home-page .mood-ver .fa { color:var(--h-accent); }
.home-page .mood-opts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); height:auto; gap:8px; }
.home-page .mood-opt { width:auto; min-width:0; min-height:65px; padding:10px; background:var(--h-bg); border:1px solid var(--h-border); border-radius:13px; text-align:left; }
.home-page .mood-opt.selected { background:var(--h-soft); border-color:var(--h-accent); box-shadow:0 0 0 1px var(--h-accent); }
.home-page .mood-opt .t { font-size:12px; color:var(--h-text); }
.home-page .mood-opt .d { font-size:11px; color:var(--h-muted); }
.home-page .mood-opt .bar { width:3px; height:31px; }
.home-page .mood-foot { gap:14px; }
.home-page .mood-foot .txt { font-size:12px; color:var(--h-muted); }
.home-page .mood-save { width:auto; min-width:124px; min-height:44px; height:auto; padding:10px 20px; font-size:13px; border-radius:13px; background:var(--h-accent); color:var(--h-bg); text-align:center; }
.home-page .couple-invite { display:grid; grid-template-columns:46px minmax(0,1fr) 36px; gap:16px; padding:22px; text-align:left; border-color:var(--h-border); }
.home-page .invite-icon { width:46px; height:46px; font-size:20px; }
.home-page .couple-invite > span:nth-child(2) { display:flex; flex-direction:column; gap:7px; }
.home-page .couple-invite strong { font-size:17px; font-weight:600; color:var(--h-text); }
.home-page .couple-invite small { font-size:13px; line-height:1.6; color:var(--h-muted); }
.home-page .invite-go { display:grid; place-items:center; width:36px; height:44px; background:transparent; color:var(--h-accent); }
.home-page .explore { display:flex; flex-direction:column; gap:16px; }
.home-page .explore-grid { gap:12px; }
.home-page .explore-card { min-width:0; padding:20px 16px; grid-template-columns:40px minmax(0,1fr); gap:12px; }
.home-page .explore-icon { width:40px; height:40px; font-size:16px; }
.home-page .explore-icon.rose { background:var(--h-soft); color:var(--h-rose); }
.home-page :is(.explore-t,.explore-d,.cal-t,.cal-d,.memo-cta .t,.memo-cta .d,.stk-cta .t,.stk-cta .d) { display:block; }
.home-page .explore-t { font-size:14px; color:var(--h-text); line-height:1.5; }
.home-page .explore-d { margin-top:4px; font-size:11px; line-height:1.55; color:var(--h-muted); }
.home-editorial { display:flex; flex-direction:column; gap:18px; min-width:0; }
.editorial-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.home-page .editorial-explore { display:inline-flex; flex-shrink:0; align-items:center; gap:10px; min-height:44px; padding:10px 15px; font-size:12px; background:transparent; color:var(--h-accent); border:1px solid var(--h-border); border-radius:24px; cursor:pointer; }
.home-page .article-feature { position:relative; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-end; gap:22px; width:100%; min-height:370px; overflow:hidden; padding:28px; border:1px solid #594953; border-radius:24px; text-align:left; color:#fbf4ec; background:#39303b; cursor:pointer; }
.article-feature-label { position:relative; z-index:1; align-self:flex-start; margin-bottom:auto; font-size:9px; letter-spacing:1.8px; color:#d9c3d1; }
.editorial-art { position:absolute; top:8px; right:0; width:210px; height:135px; color:#d6b9a5; pointer-events:none; }
.article-feature-content { position:relative; z-index:1; display:flex; flex-direction:column; gap:12px; padding-top:48px; }
.home-page .article-feature-content small { font-size:11px; line-height:1.5; color:#dcc7d5; }
.home-page .article-feature-content strong { font-family:var(--h-serif); font-weight:400; font-size:27px; letter-spacing:-.35px; line-height:1.2; }
.home-page .article-feature-content > span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; line-height:1.6; color:#cabbc9; }
.article-feature-footer { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:16px; border-top:1px solid #a38b9a40; color:#dcc7d5; font-size:11px; }
.article-feature-footer > span { font-size:24px; line-height:1; }
.home-page .article-scroll { display:flex; flex-direction:column; gap:0; overflow:visible; }
.home-page .article-card { display:grid; grid-template-columns:40px minmax(0,1fr) 18px; align-items:center; gap:14px; flex:none; width:100%; min-height:106px; padding:18px 4px; border:0; border-bottom:1px solid var(--h-border); border-radius:0; background:transparent; text-align:left; color:var(--h-text); cursor:pointer; }
.article-index { font-family:var(--h-serif); font-size:25px; font-style:italic; color:var(--h-gold); opacity:.85; }
.article-copy { display:flex; flex-direction:column; gap:7px; min-width:0; }
.home-page .article-copy small { font-size:10px; line-height:1.4; color:var(--h-muted); }
.home-page .article-copy strong { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:14px; font-weight:600; line-height:1.5; color:var(--h-text); }
.article-card-arrow { color:var(--h-muted); font-size:17px; }
.home-page .cal-card { padding:18px; gap:14px; grid-template-columns:40px minmax(0,1fr) 28px; }
.home-page .cal-icon { width:40px; height:40px; font-size:15px; }
.home-page .cal-t { font-size:15px; line-height:1.4; color:var(--h-text); }
.home-page .cal-d { font-size:12px; margin-top:4px; line-height:1.5; color:var(--h-muted); }
.home-page .cal-go { color:var(--h-accent); }
.home-events { display:flex; flex-direction:column; gap:16px; }
.home-page .home-events { padding:20px; }
.home-section-heading { display:grid; grid-template-columns:40px minmax(0,1fr) 44px; align-items:center; gap:12px; }
.home-section-heading .t { color:var(--h-text); font-size:17px; font-weight:600; }
.home-section-heading .s { color:var(--h-muted); font-size:12px; margin-top:4px; }
.icon-action { display:grid; place-items:center; width:44px; height:44px; background:none; border:0; color:var(--h-accent); cursor:pointer; }
.home-page .ev-scroll { height:auto; gap:10px; }
.home-page .ev-card { flex:0 0 220px; width:220px; min-height:154px; display:flex; flex-direction:column; gap:8px; padding:16px; border:1px solid var(--h-border); border-radius:15px; background:var(--h-bg); text-align:left; }
.home-page .ev-card .t { font-size:15px; color:var(--h-text); }
.home-page .ev-card :is(.d,.local,.footer) { font-size:12px; color:var(--h-muted); }
.home-page .ev-card .when { font-size:12px; color:var(--h-accent); }
.home-page .home-featured-memory { position:relative; display:block; width:100%; aspect-ratio:1.65; min-height:230px; padding:0; overflow:hidden; isolation:isolate; color:white; border:1px solid var(--h-border); border-radius:22px; background:var(--h-raised); cursor:pointer; }
.home-featured-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.featured-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(transparent 35%,#160f1bd9); }
.featured-tag { position:absolute; top:16px; left:16px; display:flex; gap:8px; padding:8px 12px; border-radius:20px; background:#21182480; font-size:10px; letter-spacing:1px; }
.featured-pin,.featured-next { position:absolute; bottom:20px; display:grid; place-items:center; width:36px; height:36px; border-radius:12px; background:#21182480; }
.featured-pin { left:16px; } .featured-next { right:16px; }
.featured-copy { position:absolute; left:66px; right:65px; bottom:20px; display:flex; flex-direction:column; gap:4px; }
.featured-copy strong { font-size:18px; } .featured-copy span { font-size:13px; } .featured-copy small { font-size:11px; color:#e1c7dd; }
.home-page .mapa-card { display:flex; flex-direction:column; gap:16px; padding:22px; }
.mapa-head { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:12px; align-items:center; }
.home-page .mapa-icon { width:40px; height:40px; }
.mapa-title { font-size:16px; font-weight:600; color:var(--h-text); }
.mapa-sub { margin-top:5px; font-size:12px; line-height:1.5; color:var(--h-muted); }
.mapa-completo { min-height:44px; padding:8px 12px; border:1px solid var(--h-border); border-radius:12px; background:none; color:var(--h-accent); font-size:12px; cursor:pointer; }
.mapa-progress-row { display:flex; justify-content:space-between; gap:14px; font-size:11px; color:var(--h-muted); }
.mapa-progress { height:4px; border-radius:2px; overflow:hidden; background:var(--h-raised); }
.mapa-progress > span { display:block; height:100%; background:var(--h-accent); }
.mapa-question { display:flex; flex-direction:column; gap:7px; }
.mapa-question strong { font-size:17px; line-height:1.5; color:var(--h-text); }
.mapa-question span { font-size:13px; line-height:1.5; color:var(--h-muted); }
.mapa-answers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.mapa-answers button { min-height:48px; padding:10px 8px; font-size:12px; font-weight:600; text-align:center; border:1px solid var(--h-border); border-radius:13px; background:var(--h-soft); color:var(--h-accent); }
.mapa-saving { font-size:12px; color:var(--h-muted); }
.home-page .activation-card { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:12px; padding:20px; }
.activation-icon { font-size:20px; color:var(--h-accent); }
.activation-copy { display:flex; flex-direction:column; gap:7px; }
.activation-copy strong { font-size:16px; }.activation-copy > span { font-size:13px; line-height:1.5; color:var(--h-muted); }
.activation-action { display:flex; gap:8px; color:var(--h-accent); font-size:12px; }
.home-page .mood-banner { padding:20px; background:var(--h-soft); border-color:var(--h-border); border-radius:20px; }
.home-page .mood-banner .tile { background:var(--h-surface); }
.home-page .mood-banner .t { color:var(--h-text); font-size:17px; }
.home-page .mood-banner :is(.s,.d) { color:var(--h-muted); font-size:13px; margin-top:5px; }
.home-page .mood-banner .chart { min-width:44px; min-height:44px; background:var(--h-surface); border-color:var(--h-border); }
.home-sticker-section { display:flex; flex-direction:column; gap:16px; }
.home-page .stk-title-row .t { font-size:20px; font-weight:600; color:var(--h-text); }
.home-page .stk-title-row .fa { color:var(--h-rose); }
.home-page :is(.stk-cta,.memo-cta) { padding:22px; grid-template-columns:48px minmax(0,1fr) 36px; gap:16px; }
.home-page :is(.stk-cta,.memo-cta) .tile { width:48px; height:48px; background:var(--h-soft); color:var(--h-rose); border-radius:16px; font-size:21px; }
.home-page :is(.stk-cta,.memo-cta) .t { font-size:17px; color:var(--h-text); }
.home-page :is(.stk-cta,.memo-cta) .d { margin-top:6px; font-size:13px; line-height:1.6; color:var(--h-muted); }
.home-page :is(.stk-cta,.memo-cta) .go { width:36px; height:44px; background:none; color:var(--h-accent); }
.home-page .stk-polaroid { background:var(--h-surface); margin:10px 8px 0; padding:12px; }
.home-page .stk-polaroid .desc { font-size:12px; color:var(--h-muted); }
.home-page .semana { gap:16px; }
.home-page .semana .t { font-family:var(--h-serif); font-size:27px; font-weight:400; color:var(--h-text); }
.home-page .semana .kicker { color:var(--h-gold); }
.home-page .sem-card { padding:20px 16px; gap:12px; min-height:126px; box-shadow:none; }
.home-page .sem-card .head .l { color:var(--h-text); font-size:14px; }
.home-page .sem-card .head .fa { color:var(--h-accent); font-size:14px; }
.home-page .sem-card .s { font-size:12px; color:var(--h-muted); }
.home-page .sem-card .underline { background:var(--h-accent); opacity:.6; height:3px; }
.home-page .partner-tip { display:grid; grid-template-columns:40px minmax(0,1fr) 32px; gap:14px; align-items:center; padding:20px; }
.partner-tip-icon { width:40px; height:40px; }
.partner-tip-copy { display:flex; flex-direction:column; gap:7px; }
.partner-tip-copy small { color:var(--h-accent); font-size:11px; }
.partner-tip-copy strong { font-size:16px; color:var(--h-text); }
.partner-tip-copy > span { font-size:13px; line-height:1.6; color:var(--h-muted); }
.partner-tip-go { color:var(--h-accent); }
.travel-home { display:flex; flex-direction:column; gap:12px; }
.travel-heading { display:flex; align-items:center; gap:10px; font-size:20px; color:var(--h-text); }
.travel-heading i { color:var(--h-accent); }
.home-page .travel-task { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:12px; padding:18px; }
.travel-icon { width:40px; height:40px; }
.travel-copy { display:flex; flex-direction:column; gap:6px; }
.travel-copy strong { font-size:15px; }.travel-copy small { font-size:12px; color:var(--h-muted); }.travel-deadline { font-size:12px; color:var(--h-accent); }
.home-page .fortalecer .head .t { font-family:var(--h-serif); font-size:27px; font-weight:400; color:var(--h-text); }
.home-page .fortalecer .head .fa { color:var(--h-accent); }
.home-page .bubble-col .who { font-size:13px; color:var(--h-muted); }
.home-page .bubble { padding:18px; background:var(--h-surface); border-color:var(--h-border); }
.home-page .bubble::before { border-color:var(--h-border); }
.home-page .bubble .msg { font-size:15px; line-height:1.65; color:var(--h-text); }
.home-page .bubble :is(.when,.detalhe) { font-size:12px; color:var(--h-muted); opacity:1; }
.home-page .bubble-reacao { min-width:44px; min-height:44px; background:var(--h-surface); border-color:var(--h-border); }
.home-page .vacilo-cta { padding:18px; gap:6px 12px; background:var(--h-surface); border-color:var(--h-border); border-radius:18px; }
.home-page .vacilo-t { font-size:15px; color:var(--h-text); }.home-page .vacilo-d { font-size:12px; color:var(--h-muted); opacity:1; }.home-page .vacilo-go { background:var(--h-soft); color:var(--h-accent); }
.app-shell-home .tabbar { left:50%; right:auto; transform:translateX(-50%); bottom:16px; width:min(calc(100% - 40px),650px); max-width:650px; min-height:74px; height:auto; padding:7px 10px; background:var(--h-surface); border:1px solid var(--h-border); border-radius:24px; box-shadow:0 10px 40px #0004; }
.app-shell-home .tabbar a { max-width:110px; min-height:56px; padding:7px 10px; gap:5px; color:var(--h-muted); font-size:11px; border-radius:16px; }
.app-shell-home .tabbar a.active { background:var(--h-soft); color:var(--h-accent); }
.app-shell-home .tabbar a img { width:23px; height:23px; filter:brightness(0) invert(.8); opacity:.65; }
.app-shell-home .tabbar a.active img { opacity:1; }
[data-theme="light"] .app-shell-home .tabbar a img { filter:brightness(0) invert(.4); }
.home-detail-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:#100c16b3; backdrop-filter:blur(8px); }
.home-detail { position:relative; box-sizing:border-box; width:min(100%,520px); max-height:85dvh; overflow:auto; padding:32px; color:var(--h-text); background:var(--h-surface); border:1px solid var(--h-border); border-radius:26px; }
.home-detail-close { position:absolute; top:14px; right:14px; width:44px; height:44px; border:1px solid var(--h-border); border-radius:50%; background:var(--h-raised); color:var(--h-text); cursor:pointer; }
.home-detail-memory { width:100%; border-radius:16px; max-height:300px; object-fit:contain; }
.home-detail-kicker { color:var(--h-rose); font-size:10px; letter-spacing:1.5px; margin-top:16px; }
.home-detail h2 { font-family:Georgia,serif; font-size:29px; font-weight:400; line-height:1.2; margin:10px 20px 16px 0; }
.home-detail p { font-size:15px; line-height:1.7; color:var(--h-muted); }.home-detail-meta { font-size:13px; line-height:1.6; color:var(--h-muted); margin-top:10px; }
.home-detail-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:16px; background:var(--h-soft); color:var(--h-accent); }
.home-detail-confirm { min-height:48px; width:100%; margin-top:24px; border:0; border-radius:14px; background:var(--h-accent); color:var(--h-bg); font-weight:600; cursor:pointer; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .home-page :is(.qa-card,.sem-card,.explore-card,.dica-card,.couple-invite,.memo-cta,.article-card) { transition:border-color .18s,transform .18s; }
    .home-page :is(.qa-card,.sem-card,.explore-card,.dica-card,.couple-invite,.memo-cta):hover { border-color:var(--h-accent); transform:translateY(-2px); }
    .home-page .article-card:hover { background:var(--h-surface); }
}
@media (max-width:1099px) {
    .home-page { padding:0 28px 40px; }
    .home-layout { column-gap:24px; }
    .home-page .quick-scroll { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-page .qa-card { min-height:124px; grid-template-columns:38px 1fr; grid-template-rows:auto auto; gap:5px 12px; }
    .home-page .qa-icon { grid-row:1/3; align-self:center; }
    .home-page .qa-t { align-self:end; }
    .home-page .explore-grid { grid-template-columns:1fr; }
}
@media (max-width:819px) {
    .home-page { padding:0 20px 30px; }
    .home-masthead { padding:19px 0 16px; }
    .home-wordmark { font-size:23px; }.home-wordmark > span { font-size:25px; }
    .home-brand-note { font-size:8px; letter-spacing:1.1px; }
    .home-page .ident { padding:24px 0; column-gap:12px; }
    .home-page .ident-nome { font-size:33px; letter-spacing:-.8px; }
    .home-page .ident-intro { font-size:12px; }
    .home-page .ident-right { gap:8px; }
    .home-page .ident-avatar-button,.home-page .ident-avatar { width:46px; height:46px; }
    .home-page .ident-status { right:48px; }
    .home-layout,.home-solo .home-layout,.home-paired .home-layout { display:flex; flex-direction:column; gap:24px; }
    .home-daily,.home-paired .home-daily { display:flex; flex-direction:column; gap:24px; }
    .home-column { width:100%; gap:22px; }
    .home-lower,.home-solo .home-lower,.home-paired .home-lower { display:flex; flex-direction:column; gap:30px; width:100%; }
    .home-page .hte { gap:24px; }
    .home-page :is(.agora-title,.explore-title,.editorial-title) { font-size:25px; }
    .home-page .agora { gap:14px; }
    .home-page .dica-card { padding:20px 16px; gap:12px; grid-template-columns:38px minmax(0,1fr) 34px; min-height:128px; }
    .home-page .dica-icon { width:38px; height:38px; font-size:16px; border-radius:12px; }
    .home-page .dica-go { width:34px; height:34px; }
    .home-page .dica-titulo { font-size:17px; }.home-page .dica-desc { font-size:13px; }
    .home-page .quick-scroll { display:flex; height:auto; gap:10px; overflow-x:auto; padding:2px 0 6px; scroll-snap-type:x proximity; scrollbar-width:none; }
    .home-page .qa-card { flex:0 0 140px; width:140px; min-height:155px; display:grid; grid-template-columns:1fr; grid-template-rows:38px auto 1fr; padding:16px; gap:10px; scroll-snap-align:start; }
    .home-page .qa-icon { grid-row:auto; }.home-page .qa-t { align-self:start; }
    .home-page .quick-head .note { font-size:8px; letter-spacing:1px; }
    .home-page .mood-card { padding:18px; gap:15px; }
    .home-page .mood-opts { display:flex; overflow-x:auto; gap:8px; padding:2px 0; }
    .home-page .mood-opt { flex:0 0 118px; min-height:66px; }
    .home-page .mood-foot .txt { font-size:11px; }
    .home-page .mood-save { min-width:108px; padding:10px 14px; }
    .home-page .couple-invite { padding:18px; gap:12px; grid-template-columns:40px minmax(0,1fr) 24px; }
    .home-page .invite-icon { width:40px; height:40px; }
    .home-page .couple-invite strong { font-size:16px; }.home-page .couple-invite small { font-size:12px; }
    .home-page .explore-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-page .explore-card { grid-template-columns:1fr; padding:18px; gap:12px; }
    .home-page .explore-t { font-size:14px; }.home-page .explore-d { font-size:12px; }
    .editorial-heading { align-items:start; }.home-page .editorial-explore { padding:10px 12px; }
    .home-page .article-feature { min-height:350px; padding:24px; gap:20px; }
    .home-page .article-feature-content strong { font-size:27px; }
    .home-page .article-scroll { display:flex; flex-direction:row; gap:12px; overflow-x:auto; scroll-snap-type:x proximity; padding:2px 0 10px; }
    .home-page .article-card { flex:0 0 264px; grid-template-columns:28px minmax(0,1fr); align-items:start; width:264px; min-height:150px; padding:18px; border:1px solid var(--h-border); border-radius:18px; background:var(--h-surface); gap:10px; scroll-snap-align:start; }
    .home-page .article-copy strong { -webkit-line-clamp:3; font-size:14px; }.article-index { font-size:22px; }.article-card-arrow { display:none; }
    .home-page .hte-guest { padding:24px; min-height:225px; }.home-page .hte-guest-title { font-size:29px; }
    .home-page .sem-card { padding:17px 12px; min-height:115px; }.home-page .sem-card .head .l { font-size:12px; }.home-page .sem-card .s { font-size:11px; }
    .home-page .mapa-card { padding:18px; }.mapa-head { grid-template-columns:32px minmax(0,1fr) auto; gap:8px; }.home-page .mapa-icon { width:32px; height:32px; }.mapa-title { font-size:15px; }.mapa-completo { padding:8px; font-size:11px; }.mapa-question strong { font-size:16px; }
    .home-page :is(.memo-cta,.stk-cta) { padding:18px; grid-template-columns:40px minmax(0,1fr) 24px; gap:12px; }.home-page :is(.memo-cta,.stk-cta) .tile { width:40px; height:40px; }.home-page :is(.memo-cta,.stk-cta) .t { font-size:16px; }.home-page :is(.memo-cta,.stk-cta) .d { font-size:12px; }
    .activation-card .activation-action { grid-column:2/-1; }.home-page .activation-card { grid-template-columns:32px 1fr; }
    .app-shell-home .tabbar { left:0; right:0; bottom:0; width:100%; max-width:none; transform:none; border-radius:20px 20px 0 0; min-height:76px; padding:6px 8px calc(6px + env(safe-area-inset-bottom)); }
    .app-shell-home .tabbar a { min-height:56px; padding:6px 2px; font-size:10px; }
    .app-shell-home .tabbar a img { width:23px; height:23px; }
    .home-detail { padding:24px; border-radius:22px; }
}
@media (max-width:374px) {
    .home-page { padding-left:16px; padding-right:16px; }
    .home-brand-note { display:none; }
    .home-page .ident-intro { max-width:180px; line-height:1.5; }
    .home-page .ident-right { gap:4px; }.home-page .ident-avatar-button,.home-page .ident-avatar { width:38px; height:38px; }
    .home-page .agora-title { font-size:23px; }.home-page .agora-nav { gap:5px; }
    .home-page .dica-card { grid-template-columns:minmax(0,1fr) 34px; }.home-page .dica-icon { display:none; }
    .home-page .editorial-explore { font-size:11px; padding:8px 10px; }
    .home-page .article-feature { padding:22px; }
}

/* Telas de calendário e curadoria continuam utilizando os estilos próprios. */
.editorial-page,.calendar-page { display:flex; flex-direction:column; gap:12px; width:min(calc(100% - 40px),760px); margin:0 auto; padding:24px 0 36px; }
.editorial-page h1,.calendar-intro h1 { margin:0; color:var(--HomeTextPrimaryDark); font-size:23px; }
.editorial-page > p,.calendar-intro p { margin:-8px 0 4px; color:var(--HomeTextSecondaryDark); font-size:12px; }
.editorial-list-card { display:grid; grid-template-columns:80px minmax(0,1fr) 20px; gap:12px; align-items:center; padding:10px; text-align:left; color:var(--HomeTextPrimaryDark); background:var(--HomeSurfaceDark); border:1px solid var(--HomeBorderDark); border-radius:16px; cursor:pointer; }
.editorial-list-card > img,.editorial-list-card > .article-fallback { width:80px; height:72px; object-fit:cover; border-radius:11px; }
.editorial-list-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.editorial-list-copy small { color:#DDB7F0; font-size:9px; }
.editorial-list-copy strong { font-size:13px; }
.editorial-list-copy > span { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; color:var(--HomeTextSecondaryDark); font-size:10px; }
.calendar-intro { display:flex; align-items:center; gap:12px; margin-bottom:5px; }
.calendar-intro .cal-icon { flex:0 0 42px; width:42px; height:42px; font-size:16px; }
.calendar-intro h1 { font-size:19px; }
.calendar-intro p { margin:2px 0 0; }
.calendar-event-row { display:grid; grid-template-columns:56px minmax(0,1fr); gap:12px; padding:14px; border:1px solid var(--HomeBorderDark); border-radius:17px; background:var(--HomeSurfaceDark); }
.calendar-event-date { display:flex; flex-direction:column; align-items:center; justify-content:center; width:52px; height:58px; border-radius:14px; color:#E9D5F3; background:#3A1A47; }
.calendar-event-date strong { font-size:21px; line-height:1; }
.calendar-event-date span { margin-top:4px; font-size:10px; text-transform:capitalize; }
.calendar-event-copy { display:flex; flex-direction:column; gap:4px; }
.calendar-event-copy strong { color:var(--HomeTextPrimaryDark); font-size:14px; }
.calendar-event-copy span,.calendar-event-copy small { color:var(--HomeTextSecondaryDark); font-size:10px; }


/* Menu e carregamento acompanham a mesma paleta da Home. */
.app-shell-home .drawer,.app-shell-home .drawer-header { background:var(--h-bg); color:var(--h-text); }
.app-shell-home .drawer-user { border-color:var(--h-border); }
.app-shell-home .drawer-menu button { color:var(--h-text); min-height:48px; font-size:14px; }
.app-shell-home .drawer-user .sub { color:var(--h-muted); }
.app-shell-home .drawer-menu button:hover { background:var(--h-soft); }
[data-theme="light"] #splash { background:#f5f2ed !important; }
[data-theme="light"] #splash > div { color:#825d7b !important; }
[data-theme="light"] #splash svg { fill:#825d7b; }
@media (prefers-reduced-motion:reduce) { #splash svg { animation:none !important; } }
