/* Life4Moments UX 2. App-only: the public homepage is deliberately unchanged. */
.wow-result{color:#292331;background:linear-gradient(120deg,#f4e8ed,#eee7f5);padding:clamp(22px,4vw,36px)}
.wow-result .eyebrow,.wow-result .subtle{color:#62596a}
.wow-result .text-button{color:#432b50}
.wow-result .btn{background:#432b50;color:#fffdf8;border-color:#432b50}
.wow-result .btn.ghost{background:#fffdf8;color:#432b50;border-color:#84718e}
.wow-result h2{font-size:clamp(26px,4vw,38px);margin:8px 0 20px}
.wow-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:end;margin:0 0 18px}
.wow-grid strong{color:#432b50;font-size:clamp(44px,8vw,76px);line-height:1.05}
.wow-grid>div+div strong{font-size:clamp(26px,4vw,40px)}
.wow-grid span{display:block;color:#62596a;font-size:15px;margin-top:7px}
.wow-result #wow-next{font-weight:650;margin:18px 0 8px;font-size:18px}
.wow-result #wow-birthday{font-size:15px;color:#62596a;margin:8px 0 14px}
.wow-explanation,.wow-more{border-top:1px solid #c4b6cb;margin-top:12px;padding:4px 0}
.wow-result summary{font-size:15px;color:#432b50;font-weight:650}
.wow-result details p{font-size:15px;line-height:1.6}
.wow-result>.actions{margin:14px 0 8px}
.wow-result #wow-close{font-size:15px;margin-top:8px;min-height:44px}
.app-ready .intro{display:none}
.app-tabs{position:sticky;top:8px;z-index:30;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:16px 0 24px;padding:5px;background:#fffdfb;border:1px solid #b5a3bd;box-shadow:0 4px 18px #432b5015;gap:4px}
.app-tabs button{min-height:48px;padding:10px 6px;font-size:15px;font-weight:600;line-height:1.25;white-space:normal;border-radius:10px;border:2px solid transparent;color:#432b50}
.app-tabs button[aria-pressed=true]{background:#432b50;color:#fffdf8;border-color:#432b50;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.app-tabs button:focus-visible{outline:3px solid #432b50;outline-offset:3px;box-shadow:0 0 0 5px #fffdf8}
.save-preferences{font-size:14px;border-bottom:1px solid #ddd3e2;margin:12px 0;color:#62596a}
.save-preferences>summary{color:#62596a;font-size:14px;min-height:44px;padding:10px 0;cursor:pointer}
.save-preferences .save-strip{margin:8px 0 16px;padding:0;display:block}
.save-preferences .save-strip .subtle{max-width:none;font-size:14px;margin:8px 0}
#notice{font-size:14px;line-height:1.5;margin:12px 0;color:#355b41}
#notice:empty{display:none}
@media(max-width:760px){
 .app-tabs{position:fixed;top:auto;bottom:0;left:0;right:0;margin:0;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:16px 16px 0 0;border-bottom:0;box-shadow:0 -4px 20px #432b501c;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));gap:3px;z-index:100;background:#fffdfb}
 .app-tabs button{min-height:46px;font-size:14px;padding:7px 4px}
 body{padding-bottom:calc(124px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-top:18px;scroll-padding-bottom:calc(124px + env(safe-area-inset-bottom,0px))}
 .app-ready .app-header{margin-bottom:16px}
 .wow-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .wow-grid>div+div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
 .wow-grid>div+div strong{font-size:26px}
 .wow-grid>div+div span{font-size:14px;margin:0}
 .wow-grid>div:first-child strong{font-size:clamp(48px,13vw,68px)}
 .wow-result>.actions>.btn{width:100%}
 .wow-result #wow-next{font-size:17px}
}
@media print{.app-tabs,.save-preferences,.wow-more,.wow-explanation{display:none!important}body{padding-bottom:0}}

/* Connected life calendar */
.connected-dialog{width:min(700px,calc(100vw - 28px));max-height:85dvh;overflow:auto;padding:28px;border:1px solid #bdaac8;border-radius:20px;background:#fffdf8;color:#432b50;box-shadow:0 30px 100px #20152b40}.connected-dialog::backdrop{background:#261c32a8}.connected-close{float:right;margin:0 0 12px 20px}.connected-dialog h2{padding-top:12px}#time-visual{position:relative;isolation:isolate}.connected-entry{padding:22px 0;border-top:1px solid #d9cce1}.connected-entry h3{font-size:21px}.connected-list-link{display:block;width:100%;text-align:left;border:1px solid #d9cce1;background:#fffdf8;color:#432b50;border-radius:10px;padding:12px 15px;min-height:46px;margin:10px 0}.timeline-preview{position:fixed;z-index:30;max-width:280px;padding:13px 16px;border:1px solid #bdaac8;border-radius:12px;background:#432b50;color:white;font:14px/1.5 system-ui;box-shadow:0 10px 35px #20152b30;pointer-events:none}.timeline-preview span{display:block;margin-top:5px}.timeline-preview strong{display:block}.range-marker.connected-marker{min-width:44px;min-height:44px;width:44px;height:44px;top:-17px;z-index:2;transform:translateX(-50%)}.range-marker.connected-marker:hover{transform:translateX(-50%) scale(1.1)}.range-marker.connected-marker:focus-visible{z-index:6}.time-grid{grid-template-columns:repeat(auto-fill,minmax(24px,1fr))}.range-today-label{pointer-events:none}.time-grid button.time-cell{display:block;min-width:0;min-height:24px;border:0;padding:0;cursor:pointer}.time-grid button.time-cell:hover{outline:2px solid #684c76;outline-offset:1px}.time-grid button.time-cell:focus-visible{outline:3px solid #c34408;outline-offset:2px}.connected-month{border:1px solid #d9cce1;color:#432b50;cursor:pointer}.connected-month small{display:block;font-size:10px;line-height:1.4}.connected-review{margin-top:25px}.review-context{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.connected-journal-control{margin:14px 0}.connected-journal-control input{width:20px;min-height:20px}.perspective button:disabled{opacity:.55}.connected-dialog .moment-note{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){.connected-dialog{padding:20px}.connected-dialog h2{font-size:28px}.connected-month small{font-size:9px}}

/* Visible, optional birth invitation. No flashing or forced keyboard focus. */
#birth-settings.needs-birth{background:linear-gradient(115deg,#f1e8f5 0%,#fff4e7 100%);border:2px solid #80638d;border-left:7px solid #684c76;box-shadow:0 6px 28px #684c761a}#birth-settings.needs-birth>summary{font-size:clamp(21px,2.6vw,28px);line-height:1.3;color:#432b50;font-weight:750}#birth-settings.needs-birth>summary::marker{color:#684c76}#birth-settings.needs-birth #birth-summary{display:block;font-size:14px;line-height:1.6;margin-top:5px;color:#5d4867}.birth-invitation{max-width:700px;margin:14px 0 0;font-size:17px;line-height:1.6;color:#4f3b59}.profile-fields.birth-entry-row{grid-template-columns:minmax(220px,1fr) auto;max-width:760px;align-items:end;gap:18px}.birth-entry-row #birth{font-size:20px;min-height:56px;border:2px solid #80638d;background:#fffdf8}.birth-entry-row .btn{min-height:56px}.birth-extra{margin-top:16px}.birth-extra>summary{font-size:14px;font-weight:500}.birth-extra .subtle{max-width:760px}#birth-settings:not(.needs-birth) .birth-invitation{display:none}@media(max-width:600px){.profile-fields.birth-entry-row{grid-template-columns:1fr;gap:12px}#birth-settings.needs-birth{padding:20px}.birth-entry-row .btn{width:100%}.birth-invitation{font-size:16px}}
