/* Approved Mognu identity, shared rhythm and touch-first partner hub. */
:root{--hub-purple:#7d4fdd;--hub-line:#e9e4ef;--hub-muted:#77707f}
body[data-view=today] .app main{max-width:1040px!important;margin-inline:auto!important}
.mognu-intro{grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:56px;padding:0;align-items:center}
body .partners-home{max-width:480px;padding:28px;min-height:0;display:block}
.partners-home>:not(.welcome-top):not(.partners-hub){display:none!important}
.partners-home .welcome-top{margin-bottom:30px;gap:12px}
.partners-home #choosePartner{font-size:12px;white-space:normal;max-width:150px;text-align:right}
.hub-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.hub-kicker{margin:0 0 8px;color:var(--hub-muted);font-size:12px;line-height:1.4;letter-spacing:.02em}
body .hub-heading h1{font-size:36px;line-height:1.1;margin:0;letter-spacing:-.055em}
.hub-add{background:#222126;color:#fff;border:0;border-radius:24px;min-height:46px;padding:10px 17px;white-space:nowrap;font:inherit;font-size:14px}
.hub-lead{font-size:15px;line-height:1.55;color:var(--hub-muted);margin:16px 0 24px}
.partner-rows{display:grid;gap:10px}
.partner-row{width:100%;display:grid;grid-template-columns:56px minmax(0,1fr) 64px;gap:12px;align-items:center;text-align:left;border:1px solid var(--hub-line);border-radius:23px;background:white;padding:16px 14px;color:#252129;font:inherit}
.partner-row-copy{min-width:0;display:grid;gap:5px}.partner-row-copy strong{font-size:18px;font-weight:600;overflow-wrap:anywhere;line-height:1.25}.partner-row-copy>span{font-size:12px;color:var(--hub-muted);line-height:1.4}
.partner-avatar{width:56px;height:56px;border-radius:50%;background-color:#eee6fb;display:block;flex-shrink:0;overflow:hidden}.partner-avatar img{width:100%;height:100%;object-fit:cover}.partner-avatar-art{background-size:400% 200%;background-position:33.333% 0}
.partner-score{text-align:right;display:grid;gap:4px}.partner-score strong{font-size:26px;line-height:1;font-weight:600;color:var(--hub-purple);letter-spacing:-.06em}.partner-score small{font-size:10px;color:var(--hub-muted)}
.partner-progress-parts{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 16px;font-size:12px;line-height:1.5;color:var(--hub-muted)}
body #care #deckPlan .deck-choice{margin:20px 0 0}
.partner-score .score-increased{animation:score-increase 320ms ease-out}
@keyframes score-increase{0%{transform:scale(1)}45%{transform:scale(1.12)}100%{transform:scale(1)}}
.hub-explain{display:flex;align-items:flex-start;gap:10px;margin:20px 0}.hub-explain p{font-size:12px;line-height:1.5;color:var(--hub-muted);margin:0}.hub-explain strong{font-weight:500;color:#504759}.hub-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--hub-purple);margin-top:6px}
.hub-help{border:0;border-top:1px solid var(--hub-line);padding:10px 0;margin:0;background:transparent}.hub-help summary{font-size:13px;line-height:1.5;min-height:44px;cursor:pointer;align-content:center;color:#62566f}.hub-help p,.hub-help li{font-size:13px;line-height:1.6;color:var(--hub-muted)}.hub-help ol{padding-left:20px}
.hub-nav{display:flex;border-top:1px solid var(--hub-line);margin-top:8px;padding-top:18px;gap:12px}.hub-nav button{flex:1;display:flex;justify-content:space-between;align-items:center;gap:8px;border:0;border-radius:16px;background:#eee8f7;color:#51445e;font:inherit;font-size:13px;min-height:48px;padding:12px}
body .partner-sheet{box-sizing:border-box;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:24px;border-radius:28px;overflow-y:auto;overscroll-behavior:contain;text-align:left}
.partner-sheet-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.partner-sheet-top .hub-kicker{margin:0}.partner-sheet h2{margin:0 0 8px;font-size:30px;line-height:1.15;overflow-wrap:anywhere}.partner-sheet h3{font-size:20px;margin:24px 0 10px;line-height:1.25}.partner-sheet p{line-height:1.55}.partner-sheet button{font-family:inherit;cursor:pointer}.partner-sheet button:disabled{opacity:.45;cursor:default}
#partnerIdentity{display:flex;gap:16px;align-items:center;min-width:0;margin-bottom:24px}#partnerIdentity>div{min-width:0}#partnerIdentity p{margin:0;font-size:13px;color:var(--hub-muted)}#partnerIdentity .partner-avatar{width:64px;height:64px}
.partner-tabs{display:flex;background:#eee8f5;padding:4px;border-radius:18px;gap:4px;margin-bottom:24px}.partner-tabs button{flex:1;min-height:44px;border:0;border-radius:14px;background:transparent;color:#74637e;font:inherit;font-size:14px}.partner-tabs button[aria-selected=true]{background:#fff;color:#29232f;box-shadow:0 2px 6px #30203909}
.initiative-meter{display:flex;align-items:baseline;justify-content:space-between;font-size:14px;color:#62566f}.initiative-meter strong{font-size:42px;font-weight:550;line-height:1.1;color:var(--hub-purple);letter-spacing:-.06em}.initiative-track{height:5px;background:#e9e2f3;border-radius:8px;margin:14px 0;overflow:hidden}.initiative-track span{display:block;height:100%;background:var(--hub-purple);border-radius:8px}.hub-small{font-size:13px;color:var(--hub-muted);line-height:1.55;margin:10px 0 16px}
.partner-facts{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.partner-facts>div{padding:8px 12px;background:#efe9f7;border-radius:12px;font-size:12px;line-height:1.4;color:#655177}
.partner-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.partner-actions button{font-size:14px;padding:12px;white-space:normal;min-height:52px}.partner-actions button:first-child{background:#242127;color:#fff}.partner-cycle{width:100%;margin:12px 0 0;min-height:52px;border:1px solid #daccf0;border-radius:18px;background:transparent;color:#6947a4;font:inherit;font-size:14px;padding:12px;line-height:1.4}.partner-links{display:flex;gap:8px;justify-content:space-between;margin:10px 0}.partner-links button{font-size:12px}
.partner-done{border-top:1px solid var(--hub-line);margin-top:12px}.partner-action-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.partner-action-chips button{padding:10px 14px;min-height:44px;font-size:12px}
.intimacy-choices{border:0;padding:0;margin:20px 0;display:flex;gap:8px;flex-wrap:wrap}.intimacy-choices legend{font-size:14px;font-weight:600;padding:0;margin-bottom:12px;color:#52445f}.intimacy-choices button{background:#fff;border:1px solid #e1d6ed;color:#675973;border-radius:15px;min-height:44px;font-size:13px;padding:10px 13px;line-height:1.3}.intimacy-choices button[aria-pressed=true]{background:#7d4fdd;border-color:#7d4fdd;color:white}
.partner-sheet .intimacy-notes{font-size:14px;line-height:1.5;margin:24px 0 10px;font-weight:600}.partner-sheet textarea{box-sizing:border-box;display:block;width:100%;padding:14px;font-size:16px;line-height:1.5;margin:0 0 14px}.partner-sheet textarea+.button{font-size:13px;padding:12px 18px}.intimacy-history{border-top:1px solid var(--hub-line);margin-top:24px}.intimacy-month{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.intimacy-month button{border:0;background:transparent;min-width:44px;min-height:44px;font-size:24px}.intimacy-week,#intimacyDays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.intimacy-week span{text-align:center;font-size:11px;color:var(--hub-muted);padding:12px 0}#intimacyDays .intimacy-day{min-width:0;min-height:40px;border:0;border-radius:50%;background:transparent;color:#544560;font-size:14px;padding:0}#intimacyDays .intimacy-day[aria-pressed=true]{background:var(--hub-purple);color:white}#intimacyEventForm>.primary{width:100%;font-size:14px;padding:12px;margin-top:12px}.intimacy-events>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--hub-line);font-size:13px;padding:8px 0}.intimacy-events button{font-size:12px}
#hubAddForm label{font-size:14px;font-weight:600;line-height:1.5}#hubAddForm input{box-sizing:border-box;width:100%;min-height:52px;padding:14px}#hubAddForm>.primary{width:100%;margin-top:12px;font-size:15px}#hubAddError:empty,#intimacyEventStatus:empty{display:none}#hubAddError{color:#a1374d;font-size:13px}
/* Checkbox art is compact; its label remains a generous tap target. */
body input[type=checkbox]{box-sizing:border-box!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;padding:0!important;flex:0 0 18px!important;margin:3px 0 0!important;border-radius:4px}
body label:has(>input[type=checkbox]){display:flex!important;align-items:flex-start!important;gap:12px!important;min-height:44px;line-height:1.5!important;font-size:14px;font-weight:400;text-align:left;width:100%;box-sizing:border-box}
.experience-wizard p{font-size:14px}.experience-wizard .field-help{font-size:12px}.experience-wizard .experience-top{align-items:center}.experience-wizard .experience-actions{display:grid;grid-template-columns:auto auto minmax(110px,1fr);gap:8px}.experience-wizard #setupNext{margin-left:0;justify-self:stretch;grid-column:3;font-size:14px;padding:12px}.experience-wizard #setupBack,.experience-wizard #setupSkip{font-size:13px;padding:10px}.experience-wizard #setupBody h2{font-size:30px}
@media(max-width:760px){body .partners-home{padding:8px 0 20px;max-width:480px;margin-inline:auto;min-height:0}.partners-home .welcome-top{margin-bottom:26px}.mognu-intro{display:block}.hub-heading{gap:10px}.hub-add{padding:10px 14px}.hub-heading h1{font-size:34px}.hub-lead{margin:14px 0 22px}.partner-row{padding:14px 12px}.partner-sheet{padding:22px!important}}
@media(max-width:360px){.partner-row{grid-template-columns:44px minmax(0,1fr) 56px;gap:10px}.partner-row .partner-avatar{width:44px;height:44px}.partner-score strong{font-size:24px}.partner-row-copy strong{font-size:16px}.hub-add{font-size:12px;padding:10px 12px}.partner-sheet{padding:18px!important}.experience-wizard .experience-actions{grid-template-columns:auto auto minmax(98px,1fr)}.experience-wizard #setupNext{min-width:0}.partner-links{flex-wrap:wrap}body .hub-heading h1{font-size:32px}.partner-sheet .partner-actions button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.partner-sheet *,.partners-hub *{animation:none!important;transition:none!important}}

.mognu-intro>*{min-width:0}
@media(max-width:960px){.mognu-intro{display:block;min-height:0}.mognu-story{display:none}body .partners-home{margin-inline:auto}}

.partners-home #choosePartner{display:none!important}.partners-home .welcome-top>.text-button{font-size:12px;padding:8px 0}.partner-sheet input,.partner-sheet textarea{scroll-margin-block:24px}
/* The card answers what to do now before showing game statistics. */
.partner-phase{padding:20px;background:#eee6ff;border-radius:22px;margin:18px 0 20px}
.partner-phase h3{margin:4px 0 10px;font-size:25px;line-height:1.18;letter-spacing:-.035em}
.partner-phase .phase-date{font-size:13px;color:#645471;margin:8px 0 16px}
.partner-phase .phase-action-label{font-size:12px;color:#645471;margin:18px 0 5px}
.partner-phase .phase-action{font-size:16px;color:#29212f;margin:0 0 18px}
.phase-links{display:grid;gap:4px}.phase-links .button{font-size:14px;padding:13px;min-height:48px;width:100%}
.partner-current-status{display:block;text-align:left;font-size:14px;margin:12px 0}
.partner-setup-actions{display:grid;gap:6px}.partner-setup-actions button{text-align:left;min-height:44px;line-height:1.45}
.intimacy-history>summary{min-height:48px}.partner-sheet .initiative-meter{margin-top:22px}
@media(max-width:360px){.partner-phase{padding:16px}.partner-phase h3{font-size:23px}}
