.stack-form,.join-form{display:grid;gap:16px}.relation-options{display:grid;gap:10px}.relation-option{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;gap:1px 10px;text-align:left;border:1px solid var(--line);border-radius:18px;padding:14px;background:#ffffff8c;color:var(--text)}.relation-option span{grid-row:1/span 2;align-self:center;font-size:1.7rem}.relation-option small{color:var(--muted)}.relation-option.is-selected{border-color:var(--coral);background:#fff0ed;box-shadow:0 0 0 3px #ff706d1f}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);margin:4px 0}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.tip-card{display:flex;align-items:flex-start;gap:10px;font-size:.85rem}.tip-card p{margin:0}.welcome-page{min-height:100dvh;display:grid;place-items:center;padding:28px 22px calc(28px + env(safe-area-inset-bottom));position:relative;overflow:hidden}.welcome-page__content{width:min(100%,470px);position:relative;z-index:1;display:grid;gap:19px;text-align:center}.welcome-page h1{font-size:clamp(2.2rem,10vw,3.6rem)}.welcome-page__lead{font-size:1.02rem}.welcome-page__card{text-align:left}.welcome-page__card-emoji{float:right;font-size:2.4rem}.welcome-page__card strong{display:block;margin:3px 0 6px}.welcome-page__card p{margin:0}.welcome-page small{color:var(--muted);font-size:.7rem;line-height:1.4}.welcome-page__orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.7}.welcome-page__orb--one{width:230px;height:230px;background:var(--pink);top:-80px;right:-70px}.welcome-page__orb--two{width:180px;height:180px;background:var(--blue);bottom:-60px;left:-70px}.dev-login{display:grid;gap:8px;text-align:left;padding:14px;border:1px dashed rgba(53,24,47,.18);border-radius:18px}.dev-login__row{display:flex;gap:8px}.dev-login__row input{min-width:0}.onboarding-page{width:min(100%,520px);margin:auto;padding:24px 18px calc(40px + env(safe-area-inset-bottom))}.onboarding-page__progress{display:flex;gap:7px;margin-bottom:34px}.onboarding-page__progress span{height:5px;flex:1;border-radius:5px;background:var(--line)}.onboarding-page__progress span.is-current{background:var(--coral)}.avatar-picker{display:flex;align-items:center;gap:16px}.avatar-picker__button{position:relative;overflow:hidden;min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:14px;padding:0 13px;color:var(--coral);background:#fff;cursor:pointer}.avatar-picker__button input{position:absolute;inset:0;opacity:0;cursor:pointer}.telegram-username{display:grid;gap:5px}.telegram-username small{font-size:.72rem}.success-orb{width:84px;height:84px;display:grid;place-items:center;margin:0 auto 20px;border-radius:50%;font-size:2.6rem;background:var(--pink);box-shadow:0 12px 28px #ffb7d273}.invite-card{display:grid;justify-items:center;gap:8px;margin:20px 0;text-align:center}.invite-card__code{font-size:clamp(1.5rem,7vw,2rem);letter-spacing:.08em}.invite-card span{color:var(--muted)}.qr-code{width:200px;height:200px;display:grid;place-items:center;margin:0 auto 18px;border-radius:22px;background:#fff9f1;box-shadow:var(--shadow)}.helper-text{text-align:center;font-size:.8rem}.home-page{display:grid;gap:22px}.home-greeting,.home-section-heading,.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-greeting h1{margin:4px 0 0;font-size:clamp(1.65rem,7vw,2.2rem)}.eyebrow{color:var(--coral);text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:900}.home-avatars{display:flex;align-items:center;gap:4px}.home-avatars>span{color:var(--coral)}.hero-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px;min-height:210px;position:relative;overflow:hidden}.hero-card h2{max-width:300px;margin:8px 0;font-size:clamp(1.35rem,6vw,1.8rem)}.hero-card p{margin-bottom:0;font-size:.86rem}.hero-card__spark{position:absolute;top:12px;right:22px;color:var(--coral);font-size:1.7rem}.quick-actions{display:flex;justify-content:space-between;gap:7px}.quick-actions button{flex:1;display:grid;place-items:center;gap:5px;min-height:72px;padding:8px 2px;border:1px solid var(--line);border-radius:18px;background:#ffffff8c;color:var(--text);font-size:.66rem;font-weight:800}.quick-actions button span{font-size:1.4rem}.home-section-heading h2{margin:0}.home-section-heading button{border:0;background:transparent;color:var(--coral);font-size:.76rem;font-weight:800}.stat-grid,.today-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{display:grid;gap:5px;min-height:118px}.stat-card>span{font-size:1.35rem}.stat-card strong{font-size:1.35rem}.stat-card small{color:var(--muted);font-size:.74rem;font-weight:700}.today-grid .duo-card{display:grid;gap:7px}.card-icon{font-size:1.55rem}.today-grid h3{margin:0}.today-grid p{margin:0;font-size:.8rem}.today-grid button{width:fit-content;border:0;padding:0;color:var(--coral);background:transparent;font-size:.78rem;font-weight:800}.empty-pair-card{display:grid;justify-items:center;gap:10px;text-align:center;padding:36px 22px}.empty-pair-card__emoji{font-size:3rem}.empty-pair-card h2{margin:0}.empty-pair-card p{margin:0 0 6px}.placeholder-page{display:grid;gap:24px;min-height:60vh;align-content:center;text-align:center}.placeholder-page .page-header{text-align:left}.placeholder-illustration{font-size:4rem;color:var(--purple)}.placeholder-page p{max-width:300px;justify-self:center}@media(min-width:640px){.app-content{padding-inline:28px}.stat-grid{grid-template-columns:repeat(4,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#35182f;background:#fff9f1;font-synthesis:none;--text:#35182f;--muted:#8c7887;--coral:#ff706d;--pink:#ffb7d2;--purple:#a48aff;--blue:#bbdfff;--mint:#bceedb;--yellow:#ffe6a8;--line:rgba(53,24,47,.09);--shadow:0 14px 36px rgba(53,24,47,.08)}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;min-height:100%;margin:0}html{scrollbar-gutter:stable}body{min-width:320px;background:#fff9f1;overflow-x:hidden}img,svg,video,canvas{max-width:100%}.duo-card,.page-stack,.duo-section,.app-content{min-width:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}input,textarea{width:100%;min-height:48px;border:1px solid var(--line);border-radius:16px;padding:13px 15px;color:var(--text);background:#ffffffb8;outline:none;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--coral);box-shadow:0 0 0 4px #ff706d1f}textarea{resize:vertical}label{display:grid;gap:8px;color:var(--text);font-size:.86rem;font-weight:700}label small,.label-hint{color:var(--muted);font-weight:500}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.85rem,7vw,2.45rem);line-height:1.08;letter-spacing:-.045em}h2{font-size:1.25rem;letter-spacing:-.02em}p{color:var(--muted);line-height:1.55}.page-subtitle{margin-bottom:24px}.app-shell{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;max-width:760px;margin:auto;padding:0 18px}.brand,.brand-mark{border:0;background:transparent;color:var(--text);font-weight:900;letter-spacing:-.07em;font-size:1.4rem;padding:8px 0}.brand span,.brand-mark span,h1 span{color:var(--coral)}.topbar__actions{display:flex;align-items:center;gap:10px}.icon-button,.profile-avatar-button{border:0;background:transparent;padding:4px;min-width:44px;min-height:44px;border-radius:14px}.icon-button{font-size:1.6rem}.app-content{width:min(100%,760px);margin:auto;padding:8px 18px 30px}.page-enter{animation:page-in .35s ease both}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;transform:translate(-50%);width:min(100%,760px);display:flex;justify-content:space-around;gap:2px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fff9f1eb;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav__item{flex:1;min-width:44px;min-height:54px;display:grid;place-items:center;gap:2px;border:0;border-radius:15px;background:transparent;color:var(--muted);font-size:.62rem;font-weight:700;text-decoration:none}.bottom-nav__item.is-active{color:var(--coral);background:#ffb7d24d}.bottom-nav__icon{font-size:1.25rem;line-height:1}.duo-button{min-height:48px;border:0;border-radius:16px;padding:0 18px;color:var(--text);font-weight:800;transition:transform .15s,box-shadow .2s}.duo-button:active{transform:scale(.97)}.duo-button--primary{background:var(--coral);box-shadow:0 8px 18px #ff706d3d}.duo-button--secondary{background:var(--pink)}.duo-button--ghost{background:transparent;color:var(--muted)}.duo-button--danger{background:#ffd8d8}.duo-card{border:1px solid var(--line);border-radius:24px;padding:20px;background:#fff9;box-shadow:var(--shadow)}.duo-card--coral{background:linear-gradient(135deg,#ffd4c8,#ffeae0)}.duo-card--pink{background:linear-gradient(135deg,#ffd8e7,#fff0f5)}.duo-card--blue{background:linear-gradient(135deg,#d9f0ff,#f0faff)}.duo-card--mint{background:linear-gradient(135deg,#d8f8e9,#f0fff6)}.duo-card--yellow{background:linear-gradient(135deg,#fff0bb,#fff9e4)}.duo-card--purple{background:linear-gradient(135deg,#e5dcff,#f7f3ff)}.duo-avatar{display:inline-grid;place-items:center;flex:0 0 auto;border:3px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px #35182f1f}.duo-avatar--sm{width:34px;height:34px;font-size:.8rem}.duo-avatar--lg{width:92px;height:92px;font-size:2rem}.duo-avatar--fallback{background:var(--purple);color:#fff;font-weight:900}.state{min-height:260px;display:grid;place-items:center;align-content:center;gap:14px;text-align:center;padding:24px}.state__emoji{font-size:2.8rem}.state p{max-width:340px;margin:0}.state--error{color:var(--coral)}.spinner{width:30px;height:30px;border:4px solid var(--pink);border-top-color:var(--coral);border-radius:50%;animation:spin .8s linear infinite}.form-error{color:#c64d58;background:#fff0f1;border-radius:12px;padding:10px 12px;font-size:.85rem}.widget-card{display:grid;gap:10px;min-width:0}.widget-card--clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.widget-card--clickable:active{transform:scale(.985)}.widget-card__heading{display:flex;align-items:center;gap:8px}.widget-card__heading>span{font-size:1.25rem}.widget-card__heading h3{margin:0;font-size:1rem}.widget-card strong{font-size:1.15rem}.widget-card small,.widget-card span{color:var(--muted);font-size:.85rem}.mood-buttons{display:flex;gap:8px;flex-wrap:wrap}.mood-buttons button{width:44px;height:44px;border:0;border-radius:15px;background:#ffffffad;font-size:1.35rem}.task-row{display:flex;align-items:center;gap:9px;min-width:0}.task-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-check{width:28px;height:28px;flex:0 0 28px;border:0;border-radius:50%;background:#ffffffbf;color:var(--coral);font-weight:900}.task-check:hover{background:var(--pink)}.moment-form{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:22px;background:#ffffff94}.photo-strip{display:flex;gap:8px;overflow:hidden}.photo-strip img{width:72px;height:72px;object-fit:cover;border-radius:16px}.page-stack{display:grid;gap:16px;padding-bottom:20px}.task-page-card{display:flex;justify-content:space-between;align-items:center}.task-page-card h3{margin:5px 0}.task-page-card>span{font-size:1.5rem;color:var(--coral)}.checkbox-label{display:flex;align-items:center;grid-template-columns:auto 1fr;gap:10px}.checkbox-label input{width:20px;min-height:20px}.habit-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.habit-day{aspect-ratio:1;border-radius:12px;background:#35182f0d;display:grid;place-items:center;font-size:.75rem}.habit-day small{font-size:1rem}.habit-day--completed{background:var(--mint)}.habit-day--partial{background:var(--yellow)}.habit-day--skipped{background:#eee}.habit-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.habit-entry:last-child{border-bottom:0}.habit-entry small{display:block;margin-top:3px}.habit-entry img{width:48px;height:48px;object-fit:cover;border-radius:12px}.album-cover{position:relative;border-radius:24px;overflow:hidden;background:#35182f0f}.album-cover img{width:100%;height:min(52vw,240px);object-fit:cover;display:block}.album-cover__meta{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(transparent,#35182fad);color:#fff;display:grid;gap:2px}.album-cover__meta small{opacity:.85}.segmented{display:flex;gap:6px;padding:5px;border-radius:18px;background:#35182f0f}.segmented button{flex:1;border:0;border-radius:14px;padding:10px 12px;background:transparent;color:var(--muted);font-weight:700}.segmented button.is-active{background:#fff;color:var(--text);box-shadow:0 6px 16px #35182f14}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}@media(min-width:520px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.photo-grid__item{position:relative;padding:0;border:0;background:#35182f0f;border-radius:18px;overflow:hidden;aspect-ratio:1}.photo-grid__item img{width:100%;height:100%;object-fit:cover;display:block}.photo-grid__badge{position:absolute;top:6px;right:6px;font-size:.9rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.photo-strip__button{padding:0;border:0;background:transparent;border-radius:16px;overflow:hidden}.viewer{position:fixed;inset:0;z-index:60;display:grid;grid-template-rows:1fr auto auto;gap:10px;background:#140812f0;padding:calc(env(safe-area-inset-top) + 12px) 12px calc(env(safe-area-inset-bottom) + 12px)}.viewer__image{width:100%;height:100%;max-height:72dvh;object-fit:contain;background:#000;border-radius:18px}.viewer__close{position:absolute;top:calc(env(safe-area-inset-top) + 8px);right:12px;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff29;color:#fff;font-size:1.1rem}.viewer__meta{color:#fff;display:grid;gap:2px;text-align:center}.viewer__meta small{color:#ffffffb8}.viewer__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.inline-notice{display:grid;gap:8px;padding:12px 14px;border-radius:18px;background:#ff706d1f;border:1px solid rgba(255,112,109,.28)}.inline-notice p{margin:0;color:var(--text);font-weight:600}.quick-actions{display:flex;flex-wrap:wrap;gap:8px}.quick-actions button{flex:0 1 auto}.sleep-hero{display:grid;gap:12px;justify-items:center;text-align:center}.sleep-hero__icon{font-size:3.4rem;line-height:1}.status-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.status-row small{color:var(--muted)}.root-error-boundary{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:14px;text-align:center;padding:24px}.qr-code--empty{min-height:168px;display:grid;place-items:center;padding:24px;border:1px dashed var(--line);border-radius:20px;background:#ffffff80;color:var(--muted);text-align:center}.ui-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;line-height:1;font-size:1.15rem;vertical-align:middle;white-space:nowrap}.ui-icon--sm{width:20px;height:20px;font-size:1rem}.ui-icon--lg{width:34px;height:34px;font-size:1.8rem}.ui-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:18px;background:#ffb7d247}.ui-icon-badge--coral{background:#ff706d26;color:var(--coral)}.ui-icon-badge--pink{background:#ffb7d247;color:#c95b89}.ui-icon-badge--blue{background:#bbdfff6b;color:#4d8eb4}.ui-icon-badge--mint{background:#bceedb75;color:#398b6c}.ui-icon-badge--yellow{background:#ffe6a880;color:#9b7617}.photo-image-fallback{display:grid;place-items:center;align-content:center;gap:2px;min-width:0;min-height:0;background:linear-gradient(135deg,#ffb7d242,#bbdfff52);color:var(--muted);font-size:.72rem;text-align:center}.photo-image-fallback>span{font-size:1.5rem;line-height:1}.photo-grid__item .photo-image-fallback,.photo-strip__button .photo-image-fallback{width:100%;height:100%}.album-cover .photo-image-fallback{width:100%;height:min(52vw,240px)}.viewer__image.photo-image-fallback{display:grid;width:100%;height:100%;min-height:240px;max-height:72dvh}.mood-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.mood-option{min-height:88px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:18px;background:#ffffff9e;color:var(--text);font-weight:700;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}.mood-option:active{transform:scale(.98)}.mood-option.is-selected{border-color:var(--coral);background:#fff0ed;box-shadow:0 0 0 3px #ff706d1f}.mood-option .ui-icon{justify-self:center}.page-hint{font-size:.86rem;margin:-4px 0 4px}.partner-mood>div{display:grid;gap:2px}.partner-mood small{color:var(--muted)}.mood-history{display:grid;gap:8px;margin-top:14px}.mood-history__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#ffffff8c;font-size:.86rem}.mood-history__row>span:last-child{display:inline-flex;align-items:center;gap:6px;font-weight:700}.album-cover{background:linear-gradient(135deg,#ffb7d252,#bbdfff4d)}.photo-grid__item{background:linear-gradient(135deg,#ffb7d233,#bbdfff38)}@media(min-width:520px){.mood-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:350px){.mood-grid{grid-template-columns:1fr}.bottom-nav__item{font-size:.66rem}.mood-option{min-height:72px}}.games-grid{display:grid;gap:12px}.game-card{padding:0;overflow:hidden}.game-card__hit{width:100%;display:flex;align-items:center;gap:14px;padding:16px;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .14s ease}.game-card__hit:active{transform:scale(.985)}.game-card__icon{flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(140deg,#ffe3ec,#e6e2ff);color:var(--coral)}.game-card__body{display:grid;gap:5px;min-width:0;flex:1}.game-card__title{font-size:1.02rem;line-height:1.3}.game-card__desc{color:var(--muted);font-size:.82rem;line-height:1.4}.game-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.game-card__badge{padding:3px 9px;border-radius:999px;background:#35182f0f;color:#7d6376;font-size:.66rem;font-weight:800;letter-spacing:.02em}.game-card__badge--adult{background:#ff7a8a29;color:#c2415a}.game-card__badge--live{background:#58c49633;color:#1f7a56}.game-card__chevron{flex:0 0 auto;color:var(--muted)}.cringe-lobby{text-align:center;display:grid;gap:11px;justify-items:center}.cringe-lobby__mark{font-size:2.8rem;line-height:1}.cringe-lobby h3{margin:0}.cringe-lobby p{margin:0;color:var(--muted)}.cringe-waiting{text-align:center;display:grid;gap:6px}.cringe-waiting h3{margin:0}.cringe-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cringe-mode{min-height:78px;display:grid;gap:4px;align-content:center;justify-items:center;text-align:center;padding:12px;border:1px solid rgba(53,24,47,.1);border-radius:18px;background:#ffffffc7;font:inherit;color:inherit;cursor:pointer;transition:transform .14s ease,border-color .14s ease}.cringe-mode strong{font-size:.95rem}.cringe-mode span{color:var(--muted);font-size:.7rem}.cringe-mode:active:not(:disabled){transform:scale(.97)}.cringe-mode--adult{background:linear-gradient(135deg,#ff7a8a24,#a078ff24)}.cringe-score{display:grid;gap:9px}.cringe-score__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cringe-score__player{display:grid;gap:2px;justify-items:center;padding:10px;border-radius:16px;background:#ffffffb3}.cringe-score__player.is-turn{background:linear-gradient(135deg,#ffe2ece6,#e6e2ffe6)}.cringe-score__player strong{font-size:.8rem}.cringe-score__value{font-size:1.5rem;font-weight:800}.cringe-meter{height:9px;border-radius:99px;overflow:hidden;background:#35182f14}.cringe-meter__fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#ffd36e,#ff7a8a);transition:width .35s var(--ease)}.cringe-event{display:grid;gap:4px;text-align:center}.cringe-event p{margin:0;color:var(--muted);font-size:.82rem}.cringe-draw{display:grid;gap:10px;justify-items:stretch}.cringe-card{display:grid;gap:11px}.cringe-card__type{justify-self:start;padding:4px 11px;border-radius:999px;background:#fffc;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.cringe-card__text{margin:0;font-size:1.1rem;line-height:1.5}.cringe-card__secret{margin:0;font-size:1.1rem;font-weight:800;text-align:center;padding:14px 0}.cringe-bets{display:flex;flex-wrap:wrap;gap:8px}.cringe-result{display:grid;gap:9px;text-align:center}.cringe-result h3{margin:0}.cringe-result__score{margin:0;font-weight:700}.cringe-result__title{margin:0;color:var(--coral);font-weight:800}.cringe-rep{display:grid;gap:4px;font-size:.76rem;color:var(--muted);font-family:ui-monospace,monospace}@media(max-width:340px){.cringe-modes{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.cringe-meter__fill,.game-card__hit,.cringe-mode{transition:none}.duo-gate__orb{animation:none}}.today-filters{display:flex;gap:8px;flex-wrap:wrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.today-filters button{flex:0 0 auto;min-height:40px;padding:0 14px;border:1px solid rgba(53,24,47,.1);border-radius:999px;background:#ffffffb8;color:var(--muted);font:inherit;font-size:.78rem;font-weight:700;transition:background .18s ease,color .18s ease,border-color .18s ease}.today-filters button.is-active{background:linear-gradient(135deg,var(--coral),#ff9ec4);border-color:transparent;color:#fff;box-shadow:var(--shadow-soft)}.today-intro{text-align:center;display:grid;gap:10px;justify-items:center}.today-intro__mark{font-size:2.6rem;line-height:1}.today-intro h3{margin:0}.today-intro p{margin:0;color:var(--muted)}.today-idea{display:grid;gap:12px;padding:22px 20px;border-radius:26px;background:linear-gradient(150deg,#fff4f6,#f3f0ff 55%,#e9f6ff);box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.75)}.today-idea__category{justify-self:start;padding:4px 11px;border-radius:999px;background:#fffc;color:var(--coral);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.today-idea__title{margin:0;font-size:clamp(1.25rem,5.4vw,1.6rem);line-height:1.25}.today-idea__description{margin:0;color:#6d5668;line-height:1.6}.today-idea__meta,.today-plan__meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.78rem;color:#7d6376}.today-idea__meta span,.today-plan__meta span{display:inline-flex;align-items:center;gap:6px}.today-idea__actions,.today-plan{display:grid;gap:10px}.today-plan__title{margin:0;font-size:1.15rem;line-height:1.3}.today-plan__description{margin:0;color:var(--muted);line-height:1.55}.home-today-widget{display:grid;gap:8px;justify-items:start}.home-today-widget p{margin:0;color:var(--muted);font-size:.82rem}.tod-intro{text-align:center;display:grid;gap:12px;justify-items:center}.tod-intro__mark{font-size:2.8rem;line-height:1}.tod-intro p{margin:0;color:var(--muted)}.duo-checkbox{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border:2px solid rgba(53,24,47,.16);border-radius:16px;background:#ffffffc7;color:var(--text);font-size:.88rem;line-height:1.4;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .16s ease,background .16s ease}.duo-checkbox.is-checked{border-color:transparent;background:linear-gradient(135deg,#ff7a8a29,#8fb8ff29)}.duo-checkbox.is-disabled{opacity:.55;cursor:default}.duo-checkbox input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.duo-checkbox__box{flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;margin-top:1px;border:2px solid rgba(53,24,47,.34);border-radius:9px;background:#fff;color:#fff;transition:background .16s ease,border-color .16s ease}.duo-checkbox__box svg{width:16px;height:16px;opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .16s ease}.duo-checkbox.is-checked .duo-checkbox__box{border-color:transparent;background:linear-gradient(135deg,var(--coral),#ff7a8a)}.duo-checkbox.is-checked .duo-checkbox__box svg{opacity:1;transform:scale(1)}.duo-checkbox:focus-within{outline:3px solid rgba(143,184,255,.5);outline-offset:2px}.duo-checkbox:active{transform:scale(.99)}.tod-adult{width:100%;display:grid;gap:10px;padding-top:12px;border-top:1px solid rgba(53,24,47,.08)}.tod-turn{text-align:center;display:grid;gap:6px}.tod-turn h3{margin:0}.tod-choices{display:grid;gap:14px;justify-items:center}.tod-choices__hint{margin:0;color:var(--muted);font-size:.85rem}.tod-choices__grid{width:100%;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.tod-choice{min-height:150px;display:grid;place-content:center;gap:8px;justify-items:center;border:1px solid rgba(255,255,255,.7);border-radius:24px;font:inherit;color:#fff;box-shadow:var(--shadow-soft);transition:transform .16s ease,filter .16s ease}.tod-choice span{font-size:2.4rem;line-height:1}.tod-choice strong{font-size:1.05rem}.tod-choice--truth{background:linear-gradient(150deg,#8fb8ff,#6f7dff)}.tod-choice--dare{background:linear-gradient(150deg,#ff9ec4,#ff7a8a)}.tod-choice:active:not(:disabled){transform:scale(.97);filter:brightness(.96)}.tod-choice:disabled{opacity:.6;cursor:default}.tod-card{display:grid;gap:12px}.tod-card__type{justify-self:start;padding:4px 12px;border-radius:999px;background:#ffffffd1;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.tod-card__text{margin:0;font-size:1.12rem;line-height:1.5}@media(prefers-reduced-motion:reduce){.tod-choice{transition:none}}.bottom-nav__item{min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:18px;color:#8b7887;font-size:10px;font-weight:750;text-decoration:none;transition:background .18s,color .18s,transform .18s var(--ease)}.bottom-nav__icon{width:30px;height:28px;display:grid;place-items:center;border-radius:12px}.bottom-nav__item.is-active{color:var(--text);background:#fff0ed}.bottom-nav__item.is-active .bottom-nav__icon{color:var(--coral);background:#ff706d17}.bottom-nav__item:active{transform:scale(.96)}h1{font-size:clamp(2rem,8.5vw,3rem);line-height:1.02;letter-spacing:-.055em}h2{font-size:clamp(1.35rem,5vw,1.7rem);line-height:1.15;letter-spacing:-.035em}h3{font-size:1.08rem;line-height:1.25;letter-spacing:-.018em}.page-stack{display:grid;gap:20px;padding-top:8px}.duo-section{display:grid;gap:13px}.duo-section__header{display:flex;align-items:end;justify-content:space-between;gap:12px}.duo-section__header h2{margin:2px 0 0}.eyebrow{font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#a08196}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:8px 0 4px}.page-header__copy{min-width:0}.page-header h1{margin:2px 0 7px}.page-header p{margin:0}.page-header__action{flex:0 0 auto}input,textarea,select{width:100%;min-height:48px;border:1px solid rgba(53,24,47,.1);border-radius:16px;padding:12px 14px;background:#fffc;color:var(--text);font:inherit;outline:none;appearance:none}textarea{min-height:92px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:#ff706db8;box-shadow:0 0 0 4px #ff706d1a}label{display:grid;gap:7px;font-size:.8rem;font-weight:750}.duo-badge{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border-radius:99px;font-size:.7rem;font-weight:850;background:#f3edf1;color:#756271}.duo-badge--coral{background:#ffe0dc;color:#b84348}.duo-badge--pink{background:#ffe1ed;color:#ac4c76}.duo-badge--blue{background:#dff1ff;color:#477d9d}.duo-badge--mint{background:#dcf5e8;color:#347b60}.duo-badge--yellow{background:#fff0bf;color:#866513}.duo-badge--purple{background:#ece4ff;color:#6e55aa}.duo-progress{height:8px;border-radius:99px;background:#35182f14;overflow:hidden}.duo-progress__fill{display:block;height:100%;border-radius:inherit;transition:width .45s var(--ease)}.duo-progress__fill--coral{background:var(--coral)}.duo-progress__fill--pink{background:var(--pink)}.duo-progress__fill--blue{background:var(--blue)}.duo-progress__fill--mint{background:var(--mint)}.duo-progress__fill--yellow{background:var(--yellow)}.duo-progress__fill--purple{background:var(--purple)}.home-latest-moment{position:relative;display:block;width:100%;min-height:250px;padding:0;border:0;border-radius:26px;overflow:hidden;background:#f5edf3;box-shadow:var(--shadow-card);text-align:left}.home-latest-moment>img,.home-latest-moment>.photo-image-state{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.home-latest-moment:active>img{transform:scale(1.025)}.home-latest-moment:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#200f1dc2)}.home-latest-moment__copy{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff;display:grid;gap:4px}.home-latest-moment__copy small{color:#ffffffc2}.home-latest-moment__copy strong{font-size:1.15rem}.home-latest-moment__copy>span{display:flex;align-items:center;gap:4px;font-size:.75rem}.home-latest-moment--empty{min-height:170px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;background:linear-gradient(145deg,#fff4f8,#eef7ff)}.home-latest-moment--empty h3{margin:4px 0}.home-latest-moment--empty p{margin:0}.home-countdown{display:grid;gap:20px}.home-countdown__top{display:flex;align-items:center;gap:14px}.home-countdown__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:#ffffffb3;color:#5188a8}.home-countdown h3,.home-countdown p{margin:2px 0}.home-countdown--empty{grid-template-columns:auto 1fr;align-items:center}.home-countdown--empty .duo-button{grid-column:1/-1}.countdown-digits{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:start;gap:6px;padding:16px 12px;border-radius:20px;background:#ffffff9e}.countdown-digits span{display:grid;place-items:center;gap:3px}.countdown-digits strong{font-size:clamp(1.35rem,7vw,2rem);font-variant-numeric:tabular-nums;letter-spacing:-.06em}.countdown-digits small{font-size:.58rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.countdown-digits i{font-style:normal;color:#7d9caf;padding-top:5px}.home-task-list{display:grid}.home-task-row{min-height:66px;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:10px;border-top:1px solid rgba(53,24,47,.07)}.home-task-row:first-child{border-top:0}.home-task-check{display:grid;place-items:center;width:34px;height:34px;border:1.5px solid rgba(53,24,47,.14);border-radius:12px;background:#ffffffa3;color:transparent}.home-task-row.is-completed .home-task-check{background:#78d6a6;border-color:#78d6a6;color:#fff}.home-task-row__copy{min-width:0;display:grid;gap:3px;border:0;background:transparent;text-align:left;color:var(--text)}.home-task-row__copy strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-task-row__copy small{color:var(--muted);font-size:.72rem}.home-task-row.is-completed .home-task-row__copy strong{text-decoration:line-through;opacity:.6}.home-inline-empty{display:flex;align-items:center;gap:10px;padding:8px 0}.home-inline-empty>span{font-size:1.4rem}.home-inline-empty p{flex:1;margin:0}.quick-action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.quick-action{min-width:0;min-height:88px;padding:11px 5px;border:1px solid rgba(53,24,47,.06);border-radius:21px;display:grid;place-items:center;align-content:center;gap:8px;background:#ffffffc2;color:var(--text);box-shadow:0 8px 24px #502b480d;transition:transform .16s var(--ease)}.quick-action:active{transform:scale(.95)}.quick-action>span{height:34px;display:grid;place-items:center;font-size:24px}.quick-action strong{font-size:.64rem;line-height:1.15}.quick-action--coral{background:#fff0ed}.quick-action--yellow{background:#fff8df}.quick-action--pink{background:#fff0f6}.quick-action--blue{background:#eef8ff}.quick-action--mint{background:#eefaf4}.home-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-stat{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:1px 10px;align-items:center}.home-stat>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#ffffffa6}.home-stat strong{font-size:1.35rem;line-height:1}.home-stat small{font-size:.68rem;color:var(--muted)}.home-composer-backdrop,.profile-editor-backdrop{position:fixed;z-index:90;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#24142157;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fade-in .2s ease}@keyframes sheet-in{0%{transform:translateY(35px)}to{transform:none}}.home-composer__handle{width:42px;height:4px;margin:0 auto 15px;border-radius:99px;background:#35182f24}.home-composer__header,.profile-editor__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.home-composer__header h2,.profile-editor__header h2{margin:3px 0}.photo-drop{position:relative;min-height:150px;place-items:center;align-content:center;padding:22px;border:1.5px dashed rgba(53,24,47,.17);border-radius:22px;background:#fff;text-align:center;overflow:hidden}.photo-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.photo-drop strong{margin-top:6px}.photo-drop small{color:var(--muted);font-weight:500}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-grid__item{position:relative;min-width:0;aspect-ratio:1;border:0;border-radius:18px;overflow:hidden;background:#f3edf1}.photo-grid__item>img,.photo-grid__item>.photo-image-state{width:100%;height:100%;object-fit:cover;transition:transform .25s var(--ease),opacity .25s}.photo-grid__item:active>img{transform:scale(1.035)}.photo-grid__badge{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffffffd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.album-cover{position:relative;min-height:230px;border-radius:26px;overflow:hidden;background:#f4edf3}.album-cover>img,.album-cover>.photo-image-state{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.album-cover__meta{position:absolute;left:18px;right:18px;bottom:16px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35);display:flex;justify-content:space-between;gap:12px}.photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.photo-strip__button{min-width:0;aspect-ratio:1;border:0;border-radius:15px;overflow:hidden;padding:0}.photo-strip__button>img,.photo-strip__button>.photo-image-state{width:100%;height:100%;object-fit:cover}.viewer{position:fixed;z-index:100;inset:0;background:#160d16;display:grid;grid-template-rows:auto 1fr auto;padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));color:#fff}.viewer__close{justify-self:end;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff21;color:#fff}.viewer__image{width:100%;height:100%;object-fit:contain}.viewer__meta{text-align:center;color:#ffffffb3}.viewer__actions{display:flex;gap:7px;overflow-x:auto;padding-top:9px}.viewer__actions .duo-button{flex:0 0 auto;background:#ffffff1f;color:#fff}.mood-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mood-option{min-height:82px;padding:12px;border:1px solid rgba(53,24,47,.08);border-radius:20px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;background:#ffffffb8;color:var(--text);text-align:left;font-weight:750;transition:transform .16s,border-color .16s,background .16s}.mood-option.is-selected{border-color:var(--coral);background:#fff0ed;box-shadow:0 0 0 3px #ff706d1a}.mood-option:active{transform:scale(.97)}.partner-mood{display:flex;align-items:center;gap:12px}.mood-history{display:grid;gap:7px}.mood-history__row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#ffffff8c}.sleep-hero{display:grid;place-items:center;text-align:center;gap:12px}.countdown-time{font-variant-numeric:tabular-nums}.status-row,.quick-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.profile-page{gap:24px}.profile-about{display:grid;gap:18px}.profile-about__story p{font-size:.95rem;line-height:1.65}.profile-about__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-about__facts>div{display:grid;justify-items:center;gap:7px;padding:12px 5px;border-radius:18px;background:#ffffff8a;text-align:center}.profile-about__facts span{display:grid;gap:1px}.profile-about__facts strong{font-size:1.15rem}.profile-about__facts small{font-size:.62rem;color:var(--muted)}.profile-favorites>.duo-card{display:flex;align-items:center;gap:10px;min-height:88px}.profile-favorites__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:#ffffffa6;font-size:22px}.profile-favorites>div{display:grid;min-width:0}.profile-favorites small{font-size:.68rem;color:var(--muted)}.profile-favorites strong{font-size:.82rem;overflow-wrap:anywhere}.profile-inline-empty{text-align:center;display:grid;justify-items:center}.profile-inline-empty p{max-width:38ch}.profile-photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0;border:0;width:100%}.profile-photo-strip .duo-avatar{grid-row:span 2;height:100%}.profile-photo-strip>img,.profile-photo-strip>.photo-image-state{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px}.profile-photo-strip>:first-child{grid-row:span 2;aspect-ratio:auto}.profile-goal-empty,.settings-about{display:flex;align-items:center;gap:14px}.profile-goal-empty>span{display:grid;place-items:center;width:58px;height:58px;flex:0 0 auto;border-radius:20px;background:#ffffffa6}.profile-goal-empty p,.profile-achievements p{margin:4px 0 0}.profile-achievements{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profile-achievements>div{display:grid;padding:12px;border-radius:18px;background:#ffffff8c;text-align:center}.profile-achievements strong{font-size:1.5rem}.profile-achievements span{font-size:.68rem;color:var(--muted)}.profile-achievements .duo-progress,.profile-achievements p{grid-column:1/-1}.profile-menu,.settings-row{display:grid}.profile-menu{border:1px solid rgba(53,24,47,.07);border-radius:24px;background:#ffffffa6;overflow:hidden}.profile-menu button,.settings-row{width:100%;min-height:68px;padding:12px 15px;display:grid;grid-template-columns:42px 1fr 18px;align-items:center;gap:11px;border:0;border-top:1px solid rgba(53,24,47,.07);background:transparent;color:var(--text);text-align:left}.profile-menu button:first-child,.settings-row:first-child{border-top:0}.profile-menu__icon,.settings-row__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#f3edf1}.profile-menu button>span:nth-child(2),.settings-row>span:nth-child(2){display:grid;gap:2px}.profile-menu small,.settings-row small{color:var(--muted);font-size:.7rem}.profile-editor{display:grid;gap:14px}.profile-editor__note{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;color:var(--muted);font-size:.72rem}.settings-about{text-align:left}.settings-about__logo{display:grid;place-items:center;width:64px;height:64px;flex:0 0 auto;border-radius:22px;background:var(--text);color:#fff;font-size:1.6rem;font-weight:900}.settings-about h2,.settings-about p{margin:0}.settings-about small{color:var(--muted)}.settings-danger h3,.settings-danger p{margin:0 0 12px}.settings-row:disabled{opacity:1}.placeholder-page{min-height:70vh;display:grid;align-content:center;justify-items:center;text-align:center}.placeholder-illustration{display:grid;place-items:center;width:86px;height:86px;border-radius:28px;background:linear-gradient(145deg,#ffe1ed,#dff1ff);font-size:2rem}@media(min-width:540px){.app-content{padding-inline:24px}.home-pair-hero{min-height:260px;padding:34px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-action strong{font-size:.72rem}.home-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mood-grid,.today-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.today-item:nth-child(2),.today-item:nth-child(3){border-radius:0}.today-item:nth-child(3){border-radius:0 22px 0 0}.today-item:nth-last-child(-n+3){border-radius:0 0 22px}.today-item:nth-last-child(2){border-radius:0 0 0 22px}.profile-favorites{grid-template-columns:repeat(4,1fr)}}@media(max-width:350px){.app-content{padding-inline:11px}.topbar{padding-inline:12px}.brand__word{display:none}.topbar__context{font-size:10px}.topbar__actions{min-width:auto}.bottom-nav{padding-inline:5px}.bottom-nav__item{font-size:.58rem}.home-pair-hero{grid-template-columns:1fr;padding:22px}.home-pair-hero .avatar-pair{justify-self:start}.home-pair-hero__copy h1{font-size:1.55rem}.quick-action-grid{gap:5px}.quick-action{min-height:80px;border-radius:18px}.quick-action strong{font-size:.55rem}.today-item{grid-template-columns:28px 1fr;padding:11px 8px}.today-item>.ui-icon:last-child{display:none}.today-item__icon{width:28px;height:28px}.home-two-columns{grid-template-columns:1fr}.countdown-digits{gap:3px;padding-inline:7px}.countdown-digits strong{font-size:1.18rem}.countdown-digits small{font-size:.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.task-page-card{display:grid;grid-template-columns:1fr 32px;align-items:center;gap:12px;min-height:76px}.task-page-card strong{overflow-wrap:anywhere}.task-page-card h3{margin:3px 0;overflow-wrap:anywhere}.task-page-card p{margin:0}.task-row{min-height:52px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;border-top:1px solid rgba(53,24,47,.07)}.task-check{display:grid;place-items:center;width:30px;height:30px;border-radius:11px;border:1px solid rgba(53,24,47,.12);background:#fff9;color:transparent}.home-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:9px 18px;margin:0}.detail-list dt{font-size:.75rem;color:var(--muted)}.detail-list dd{margin:0;text-align:right;font-size:.83rem}.segmented{display:flex;padding:3px;border-radius:13px;background:#35182f0f}.segmented button{min-height:34px;padding:0 11px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:.75rem;font-weight:750}.segmented button.is-active{background:#fff;color:var(--text);box-shadow:0 5px 14px #35182f14}.home-custom-widgets{border:1px solid rgba(53,24,47,.08);border-radius:22px;background:#ffffff6b;overflow:hidden}.home-custom-widgets summary{min-height:58px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer}.home-custom-widgets summary::-webkit-details-marker{display:none}.home-custom-widgets summary>span{display:flex;align-items:center;gap:9px;font-weight:800}.home-custom-widgets summary small{color:var(--muted)}.home-custom-widgets__body{padding:0 12px 12px;display:grid;gap:10px}.home-toast{position:fixed;z-index:80;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(92%,430px);display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:17px;background:#fffffff2;box-shadow:var(--shadow-soft);border:1px solid rgba(53,24,47,.07);animation:toast-in .25s var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.home-toast button{margin-left:auto;border:0;background:transparent;transform:rotate(180deg)}.home-habits-card{display:grid;gap:15px}.home-habits-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-habits-card__top>div{display:grid}.home-habits-card__top strong{font-size:1.65rem;letter-spacing:-.04em}.home-habits-card__top span{font-size:.75rem;color:var(--muted)}.home-mini-list{display:grid}.home-mini-list button{min-width:0;min-height:62px;display:grid;grid-template-columns:40px 1fr 18px;align-items:center;gap:10px;padding:9px 0;border:0;border-top:1px solid rgba(53,24,47,.07);background:transparent;color:var(--text);text-align:left}.home-mini-list__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#ffffffa6;font-size:20px}.home-mini-list button>span:nth-child(2){display:grid;gap:2px;min-width:0}.home-mini-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.home-mini-list small{color:var(--muted);font-size:.72rem}.page-enter{animation:page-in .34s var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.button-spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{display:block;background:linear-gradient(90deg,#ffffff80,#ffffffe0,#ffffff80);background-size:220% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-220% 0}}.skeleton--rounded{border-radius:24px}.page-skeleton{display:grid;gap:16px;padding-top:18px}.skeleton--title{width:48%;height:42px;border-radius:14px}.skeleton--hero{height:210px;border-radius:28px}.skeleton--card{height:130px}.state{display:grid;place-items:center;gap:12px;min-height:52vh;padding:30px 18px;text-align:center}.state h3,.state p{margin:0}.state--empty{min-height:300px;border:1px dashed rgba(53,24,47,.13);border-radius:26px;background:#ffffff61}.inline-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:16px;background:#fff0ed;border:1px solid rgba(255,112,109,.18)}.form-success{margin:0;color:#39795f;font-weight:750}.form-error{color:#b5434a}.photo-image-state{display:grid;place-items:center;align-content:center;gap:4px;background:linear-gradient(135deg,#f1f7fb,#f8edf3);color:var(--muted);font-size:.72rem}.photo-image-state__icon{font-size:1.6rem}.photo-image-fallback,.photo-image-state{min-width:0;min-height:0}.home-page{display:grid;gap:var(--space-section);padding:8px 0 24px}.home-pair-hero{grid-template-columns:1fr;justify-items:center;text-align:center;padding:28px 18px}.home-pair-hero__copy{width:100%;display:grid;justify-items:center;gap:10px}.home-pair-hero__copy h1{max-width:100%;margin-inline:auto}.home-pair-hero__copy p{margin:0}.home-pair-hero__people{display:flex;justify-content:center;margin:5px 0 2px}.home-pair-hero__date{grid-column:1/-1;justify-content:center;width:100%}.home-pair-hero .avatar-pair{justify-self:center}@media(min-width:520px){.home-pair-hero{grid-template-columns:1fr;padding-inline:34px}}.home-pair-hero__glow{position:absolute;width:210px;height:210px;border-radius:50%;right:-70px;top:-80px;background:#ffb7d26b;filter:blur(8px)}.home-pair-hero__copy{position:relative;z-index:1;display:grid;gap:9px;justify-items:start}.home-pair-hero__copy h1{margin:0;font-size:clamp(1.55rem,7vw,2.35rem);max-width:11ch}.home-pair-hero .avatar-pair{position:relative;z-index:1}.home-pair-hero__date{grid-column:1/-1;display:flex;align-items:center;gap:8px;color:#806c7c;font-size:.78rem}.today-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0;background:#35182f0f}.today-item{min-width:0;min-height:82px;padding:14px 12px;border:0;display:grid;grid-template-columns:34px 1fr 16px;align-items:center;gap:9px;text-align:left;background:#ffffffe6;color:var(--text)}.today-item:first-child{border-radius:22px 0 0}.today-item:nth-child(2){border-radius:0 22px 0 0}.today-item:nth-last-child(-n+2){border-radius:0 0 22px}.today-item:nth-last-child(2){border-radius:0 0 0 22px}.today-item__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:12px}.today-item--yellow .today-item__icon{background:#fff0bf;color:#997018}.today-item--pink .today-item__icon{background:#ffe1ed;color:#b4517d}.today-item--mint .today-item__icon{background:#dbf5e8;color:#3b8267}.today-item--blue .today-item__icon{background:#dff1ff;color:#4b83a6}.today-item--coral .today-item__icon{background:#ffe0dc;color:#c65357}.today-item--purple .today-item__icon{background:#ece4ff;color:#6e55aa}.today-item>span:nth-child(2){display:grid;min-width:0;gap:2px}.today-item small{font-size:.68rem;color:var(--muted)}.today-item strong{font-size:.79rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duo-card{border:1px solid rgba(53,24,47,.06);border-radius:var(--radius-lg);padding:18px;background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.duo-card--coral{background:linear-gradient(145deg,#fff6f3,#ffe5e1)}.duo-card--pink{background:linear-gradient(145deg,#fff8fb,#ffe7f0)}.duo-card--blue{background:linear-gradient(145deg,#f8fcff,#e1f2ff)}.duo-card--mint{background:linear-gradient(145deg,#f8fdfa,#ddf7eb)}.duo-card--yellow{background:linear-gradient(145deg,#fffdf6,#fff0c8)}.duo-card--purple{background:linear-gradient(145deg,#fbf9ff,#eee7ff)}.duo-card--default,.duo-card--glass{background:var(--surface)}.duo-card--glass{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.duo-card--interactive,.task-page-card{transition:transform .2s var(--ease),box-shadow .2s}.duo-card--interactive:active{transform:scale(.985);box-shadow:var(--shadow-soft)}.duo-button{min-height:var(--tap);padding:0 17px;border:0;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:.87rem;line-height:1;color:var(--text);transition:transform .16s var(--ease),filter .16s,background .16s}.duo-button:active:not(:disabled){transform:scale(.97)}.duo-button--primary{background:var(--text);color:#fff;box-shadow:0 10px 24px #35182f2e}.duo-button--secondary{background:var(--blue)}.duo-button--soft{background:#ffffffc2;border:1px solid rgba(53,24,47,.07);box-shadow:0 7px 18px #502b480d}.duo-button--ghost{background:transparent;color:#735e70}.duo-button--danger{background:#ffe7e4;color:#b53843}.duo-button--sm{min-height:38px;padding-inline:13px;font-size:.78rem;border-radius:13px}.duo-button--lg{min-height:52px;font-size:.92rem;border-radius:17px}.duo-button--full{width:100%}.duo-button .ui-icon{width:18px;height:18px}.ui-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;line-height:1;vertical-align:middle}.ui-icon svg{display:block;width:100%;height:100%;overflow:visible}.ui-icon--sm,.ui-icon--sm svg{width:18px;height:18px}.ui-icon--lg,.ui-icon--lg svg{width:32px;height:32px}.ui-icon--xl,.ui-icon--xl svg{width:42px;height:42px}.ui-icon-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:17px;background:#a48aff24;color:#7458c8}.ui-icon-badge--coral{background:#ffe1dd;color:#d95155}.ui-icon-badge--pink{background:#ffe1ed;color:#bd5681}.ui-icon-badge--blue{background:#dff1ff;color:#4c89af}.ui-icon-badge--mint{background:#dbf5e8;color:#3b8b6b}.ui-icon-badge--yellow{background:#fff0bf;color:#987319}.duo-avatar{display:inline-grid;place-items:center;object-fit:cover;border-radius:50%;background:#fff;border:3px solid rgba(255,255,255,.92);box-shadow:0 8px 22px #35182f1f;font-weight:900;color:#8d5e7d}.duo-avatar--xs{width:28px;height:28px}.duo-avatar--sm{width:36px;height:36px}.duo-avatar--md{width:48px;height:48px}.duo-avatar--lg{width:68px;height:68px}.duo-avatar--xl{width:96px;height:96px}.duo-avatar--fallback{background:linear-gradient(145deg,#ffe1ed,#e1f2ff)}.avatar-wrap{position:relative;display:inline-flex}.avatar-status{position:absolute;right:1px;bottom:2px;width:11px;height:11px;border-radius:50%;border:2px solid #fff}.avatar-status--online{background:#63c995}.avatar-pair{display:flex;align-items:center}.avatar-pair__heart{display:grid;place-items:center;width:28px;height:28px;margin:0 -3px;border-radius:50%;background:#fff;color:var(--coral);font-size:14px;z-index:2;box-shadow:0 4px 12px #35182f1a}:root{--surface:rgba(255,255,255,.78);--surface-strong:#fff;--text-strong:#35182f;--shadow-soft:0 16px 44px rgba(80,43,72,.08);--shadow-card:0 10px 30px rgba(80,43,72,.07);--radius-xl:28px;--radius-lg:24px;--radius-md:18px;--space-section:30px;--tap:44px;--ease:cubic-bezier(.2,.8,.2,1);color:var(--text-strong)}body{background:#fff9f1;font-feature-settings:"ss01" on,"cv11" on;color:var(--text-strong);-webkit-font-smoothing:antialiased}.app-shell{max-width:760px;margin:0 auto;position:relative;overflow:clip}.app-shell__ambient{position:fixed;z-index:-1;border-radius:50%;filter:blur(80px);opacity:.26;pointer-events:none}.app-shell__ambient--one{width:280px;height:280px;background:var(--pink);top:90px;right:-140px}.app-shell__ambient--two{width:260px;height:260px;background:var(--blue);top:48%;left:-170px}.topbar{height:66px;padding-inline:20px;position:sticky;top:0;z-index:30;background:#fff9f1d1;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid rgba(53,24,47,.05)}.brand{display:flex;align-items:center;gap:9px;padding:0;min-width:120px}.brand__mark{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--text);color:#fff;font-size:16px;font-weight:900;box-shadow:0 8px 18px #35182f2e}.brand__word{font-size:18px;letter-spacing:.02em}.topbar__context{font-size:12px;color:var(--muted);font-weight:700}.topbar__actions{position:relative;min-width:120px;justify-content:flex-end}.icon-button{position:relative;display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:15px;background:#ffffff8f;color:var(--text);transition:transform .16s var(--ease),background .16s}.icon-button:active{transform:scale(.94)}.icon-button--glass{background:#ffffffad;border:1px solid rgba(53,24,47,.07);box-shadow:0 8px 22px #502b480f}.notification-badge{position:absolute;right:1px;top:0;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:var(--coral);color:#fff;font-size:10px;font-weight:900;border:2px solid #fff9f1}.profile-avatar-button{margin-left:3px;background:transparent;border:0;padding:0}.app-content{width:100%;padding:0 16px 12px}.bottom-nav{position:fixed;z-index:40;left:50%;bottom:0;transform:translate(-50%);width:min(760px,100%);height:calc(72px + env(safe-area-inset-bottom));padding:8px 10px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fffcf9eb;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border:1px solid rgba(53,24,47,.07);border-bottom:0;border-radius:26px 26px 0 0;box-shadow:0 -10px 35px #502b481a}.habits-summary{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:16px}.habits-summary__ring{display:grid;place-items:center;align-content:center;width:82px;height:82px;border-radius:50%;background:#ffffffb3;box-shadow:inset 0 0 0 7px #fff,0 8px 22px #35182f14}.habits-summary__ring strong{font-size:1.6rem;line-height:1}.habits-summary__ring span{font-size:.65rem;color:var(--muted)}.habits-summary h2,.habits-summary p{margin:2px 0 8px}.habits-week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.habits-week-strip span{height:35px;display:grid;place-items:center;border-radius:12px;background:#fff9;color:var(--muted);font-size:.65rem;font-weight:800}.habits-week-strip span.is-done{background:#dff5e9;color:#358161}.habit-list-card{width:100%;min-height:78px;padding:13px 14px;display:grid;grid-template-columns:44px 1fr 42px 18px;align-items:center;gap:10px;border:1px solid rgba(53,24,47,.07);border-radius:21px;background:#ffffffbf;box-shadow:var(--shadow-card);color:var(--text);text-align:left}.habit-list-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#f5edf3;font-size:21px}.habit-list-card>span:nth-child(2){display:grid;min-width:0;gap:3px}.habit-list-card>span:nth-child(2) strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-list-card>span:nth-child(2) small{color:var(--muted);font-size:.7rem}.habit-list-card__streak{display:grid;place-items:center;line-height:1}.habit-list-card__streak small{color:var(--muted);font-size:.55rem}.habits-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.habits-stats>div{display:flex;align-items:center;gap:10px;padding:12px;border-radius:18px;background:#ffffff8c}.habits-stats>div>span{display:grid}.habits-stats strong{font-size:1.25rem}.habits-stats small{color:var(--muted);font-size:.65rem}.task-create-card{padding:20px}.task-list-card{width:100%;min-height:82px;padding:13px 14px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;border:1px solid rgba(53,24,47,.07);border-radius:21px;background:#ffffffc7;box-shadow:var(--shadow-card);color:var(--text);text-align:left;transition:transform .18s var(--ease),background .18s}.task-list-card:active{transform:scale(.985)}.task-list-card__check{display:grid;place-items:center;width:36px;height:36px;border:1.5px solid rgba(53,24,47,.14);border-radius:12px;background:#fff;color:transparent}.task-list-card.is-completed .task-list-card__check{background:#78d6a6;border-color:#78d6a6;color:#fff}.task-list-card small{color:var(--muted);font-size:.68rem}.task-list-card strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-list-card em{color:var(--muted);font-size:.7rem;font-style:normal}.task-list-card.is-completed strong{text-decoration:line-through;opacity:.55}.notification-card{position:relative;display:grid;gap:6px}.notification-card.is-unread:before{content:"";position:absolute;left:0;top:20px;width:4px;height:28px;border-radius:9px;background:var(--coral)}.notification-card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#ffffffa6}.notification-card p{margin:0}.notification-card small{color:var(--muted)}.notification-settings{display:grid;gap:10px}.notification-settings label{display:flex;align-items:center;gap:10px;padding:10px 0}.notification-settings input[type=checkbox]{width:20px;min-height:20px}.hug-celebrate{animation:hug-pop .55s var(--ease)}.hug-orbit{width:82px;height:82px;margin:0 auto;display:grid;place-items:center;border-radius:50%;background:#ffffffb3;font-size:2.5rem;animation:hug-float 2.4s ease-in-out infinite}@keyframes hug-float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}@keyframes hug-pop{0%{transform:scale(.95)}50%{transform:scale(1.04)}to{transform:scale(1)}}.countdown-form{display:grid;gap:14px;padding:18px;border:1px solid rgba(53,24,47,.07);border-radius:24px;background:#ffffff9e}.countdown-list{display:grid;gap:12px}.countdown-card{display:grid;gap:15px}.countdown-card .page-header{margin:0}.countdown-card__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.countdown-card__meta h3{margin:0}.countdown-card__meta p{margin:4px 0 0}.countdown-card .countdown-time{font-size:1.55rem}.status-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.status-preset{min-height:78px;padding:10px 5px;display:grid;place-items:center;gap:5px;border:1px solid rgba(53,24,47,.07);border-radius:19px;background:#ffffffad;color:var(--text);font-size:.65rem;font-weight:750}.status-preset span{font-size:1.45rem}.status-preset.is-selected{border-color:var(--coral);background:#fff0ed}.status-preset:active{transform:scale(.96)}.sleep-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sleep-stats>.duo-card{padding:13px 8px;text-align:center}.sleep-stats strong{display:block;font-size:1.05rem}.sleep-stats p{margin:3px 0 0;font-size:.62rem}.sleep-history{display:grid;gap:9px}.sleep-history__row{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:17px;background:#ffffff94}.settings-page{max-width:650px}.settings-page .duo-section{gap:9px}.moment-sheet{position:fixed;z-index:95;inset:0;display:flex;align-items:flex-end;justify-content:center}.moment-sheet__backdrop{position:absolute;inset:0;background:#24142157;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.moment-sheet__panel{position:relative;z-index:1;width:min(100%,620px);max-height:92dvh;overflow:auto;padding:10px 18px calc(20px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#fffaf6;box-shadow:0 -18px 54px #352f00;animation:moment-sheet-in .25s var(--ease)}@keyframes moment-sheet-in{0%{transform:translateY(30px)}to{transform:none}}.moment-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.moment-sheet__header h2{margin:3px 0 0}.moment-sheet__photo{position:relative;min-height:155px;display:grid;place-items:center;align-content:center;gap:6px;padding:20px;border:1.5px dashed rgba(53,24,47,.17);border-radius:22px;background:#fff;text-align:center;overflow:hidden}.moment-sheet__photo strong{margin-top:2px}.moment-sheet__photo small{color:var(--muted);font-weight:500}.moment-sheet__photo-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:17px;background:#fff0ed;color:var(--coral)}.album-cover:before{content:"";position:absolute;z-index:1;inset:45% 0 0;background:linear-gradient(transparent,#1e111c9e);pointer-events:none}.album-cover__meta{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px 17px 16px;background:none;text-shadow:0 2px 12px rgba(0,0,0,.35)}.settings-about{text-align:center;display:grid;justify-items:center;gap:8px;padding:30px 22px}.settings-about p{max-width:260px;margin:0}.settings-about small{margin-top:4px}@media(max-width:430px){.today-overview{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-action{min-height:90px}.quick-action strong{font-size:.68rem}.home-pair-hero{grid-template-columns:1fr}.home-pair-hero .avatar-pair{justify-self:start}.home-pair-hero__copy h1{font-size:1.7rem}.home-countdown--empty{grid-template-columns:1fr}.home-countdown--empty .duo-button{width:100%}}@media(max-width:350px){.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action{min-height:84px}.today-item{grid-template-columns:30px minmax(0,1fr) 16px;padding-inline:11px}.today-item strong{font-size:.78rem}.home-two-columns{grid-template-columns:1fr}.home-composer,.moment-sheet__panel{padding-inline:14px}}@media(max-width:430px){.bottom-nav{transition:transform .2s var(--ease),opacity .2s}.app-shell.is-keyboard-open{padding-bottom:16px}}.logo-button,.brand-button{padding:0;border:0;background:transparent}.duo-logo{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:900;letter-spacing:-.04em}.duo-logo__mark{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:linear-gradient(145deg,#ffb7d2,#a48aff);box-shadow:0 7px 18px #a48aff40;overflow:hidden}.duo-logo__mark:before{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.9);border-radius:50% 50% 50% 5px;transform:rotate(-28deg);left:7px;top:7px}.duo-logo__mark i,.duo-logo__mark b{position:absolute;display:block;background:#fff;border-radius:99px;width:5px;height:5px;bottom:7px}.duo-logo__mark i{left:11px}.duo-logo__mark b{left:19px}.duo-logo--sm .duo-logo__mark{width:30px;height:30px;border-radius:11px}.duo-logo--sm .duo-logo__mark:before{width:16px;height:16px;left:6px;top:6px}.duo-logo--lg .duo-logo__mark{width:68px;height:68px;border-radius:23px}.duo-logo--lg .duo-logo__mark:before{width:34px;height:34px;left:16px;top:15px;border-width:3px}.duo-logo--lg .duo-logo__mark i,.duo-logo--lg .duo-logo__mark b{width:8px;height:8px;bottom:15px}.duo-logo--lg .duo-logo__mark i{left:22px}.duo-logo--lg .duo-logo__mark b{left:38px}input,textarea,select{font-size:16px;caret-color:var(--text);color:var(--text)}::placeholder{color:#a997a4;opacity:1}.duo-switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:10px 0;cursor:pointer}.duo-switch-copy{display:grid;gap:3px;min-width:0}.duo-switch-copy strong{font-size:.9rem}.duo-switch-copy small{font-size:.72rem;color:var(--muted);font-weight:500;line-height:1.35}.duo-switch{position:relative;flex:0 0 auto;width:50px;height:30px;padding:0;border:0;border-radius:99px;background:#d9cdd5;box-shadow:inset 0 1px 3px #35182f1f;transition:background .2s var(--ease),transform .16s}.duo-switch span{position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 7px #35182f33;transition:transform .2s var(--ease)}.duo-switch[aria-checked=true]{background:var(--coral)}.duo-switch[aria-checked=true] span{transform:translate(20px)}.duo-switch:active{transform:scale(.94)}.color-swatch{display:block;width:46px;height:46px;flex:0 0 46px;border-radius:15px;border:1px solid rgba(53,24,47,.08);box-shadow:inset 0 1px 2px #ffffff59}.color-input-row{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px}.profile-favorite-card{display:flex;align-items:center;gap:13px}.profile-favorite-card small{font-size:.7rem}.profile-favorite-card strong{font-size:.95rem;color:var(--text)}.today-overview{grid-template-columns:1fr}.today-item{grid-template-columns:34px minmax(0,1fr) 18px;min-height:66px;padding:12px 14px}.today-item>span:nth-child(2){overflow:visible}.today-item strong{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}.today-item:nth-child(2){border-radius:0}.today-item:nth-last-child(-n+2){border-radius:0}.quick-action{min-width:0;min-height:92px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.quick-action>span{height:34px;min-width:34px}.quick-action strong{width:100%;font-size:.72rem;line-height:1.15;white-space:normal;overflow:visible;word-break:normal;-webkit-hyphens:none;hyphens:none}.home-latest-moment--empty{flex-direction:column;align-items:flex-start;gap:12px}.home-latest-moment--empty .duo-button{width:100%}.home-pair-hero__copy{min-width:0}.home-pair-hero__copy h1{overflow-wrap:anywhere}.duo-logo__mark{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:0;background:linear-gradient(145deg,#ffb7d2,#a48aff);box-shadow:0 7px 18px #a48aff40}body.modal-open{overflow:hidden;overscroll-behavior:none}.bottom-nav.is-keyboard-open{transform:translate(-50%) translateY(calc(100% + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}.moment-sheet{position:fixed;z-index:90;inset:0;display:flex;align-items:flex-end;justify-content:center}.moment-sheet__backdrop{position:absolute;inset:0;background:#24142157;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.moment-sheet__panel{position:relative;width:min(100%,620px);max-height:92dvh;overflow:auto;padding:10px 18px calc(22px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;background:#fffaf6;box-shadow:0 -20px 60px #35182f33;animation:sheet-in .28s var(--ease)}.moment-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.moment-sheet__header h2{margin:3px 0}.moment-sheet__photo{position:relative;min-height:180px;padding:24px;place-items:center;align-content:center;border:1.5px dashed rgba(53,24,47,.17);border-radius:22px;background:#fff;text-align:center;overflow:hidden}.moment-sheet__photo input{position:absolute;inset:0;opacity:0;cursor:pointer}.moment-sheet__photo-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,#ffe1ed,#dff1ff);color:#a06b92}.moment-sheet__photo strong{position:relative;z-index:1;margin-top:8px}.moment-sheet__photo small{position:relative;z-index:1}.home-composer-backdrop,.profile-editor-backdrop{position:fixed;z-index:90;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#24142157;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.home-composer,.profile-editor{width:min(100%,620px);max-height:92dvh;overflow:auto;padding:10px 18px calc(22px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;background:#fffaf6;box-shadow:0 -20px 60px #35182f33;animation:sheet-in .28s var(--ease)}@media(max-width:520px){.app-content{padding-inline:12px}.topbar{padding-inline:14px}.home-pair-hero,.today-overview{grid-template-columns:1fr}.today-item{grid-template-columns:34px minmax(0,1fr) 18px;white-space:normal}.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-favorites{grid-template-columns:1fr}.profile-about__facts{grid-template-columns:repeat(3,minmax(0,1fr))}.home-stat{min-width:0}.home-stat strong{font-size:1.2rem}.photo-grid{gap:7px}}@media(max-width:350px){.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action:last-child{grid-column:1/-1}.home-two-columns{grid-template-columns:1fr}.profile-about__facts{gap:4px}.profile-about__facts small{font-size:.58rem}.countdown-digits{gap:3px;padding-inline:7px}.countdown-digits strong{font-size:1.18rem}.countdown-digits small{font-size:.5rem}}.profile-about{display:grid;gap:20px}.profile-about__story{max-width:38rem;margin:0 auto;display:grid;justify-items:center;text-align:center;gap:10px}.profile-about__story h3{margin:0}.profile-about__story p{max-width:34rem;margin:0;line-height:1.7}.profile-about__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:34rem;margin:0 auto}.profile-about__facts>div{display:grid;justify-items:center;gap:4px;padding:11px 6px;border-radius:16px;background:#ffffff80;text-align:center}.profile-about__facts>div>span{display:grid;gap:2px}.profile-about__facts small{font-size:.66rem;color:var(--muted)}.profile-photo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(96px,29vw,148px);gap:8px;width:100%;padding:0;border:0;border-radius:22px;overflow:hidden;background:#f3edf3}.profile-photo-strip img{width:100%;height:100%;min-width:0;object-fit:cover}.profile-photo-strip img:first-child{grid-row:span 2}.profile-favorites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-favorite-card{min-width:0;padding:15px;display:flex;align-items:center;gap:11px}.profile-favorite-card>div{display:grid;gap:3px;min-width:0}.profile-favorite-card small{font-size:.7rem;color:var(--muted);line-height:1.25}.profile-favorite-card strong{font-size:.9rem;line-height:1.2;color:var(--text);overflow-wrap:anywhere}.settings-about{display:grid;justify-items:center;text-align:center;gap:8px}.settings-about p{max-width:28rem}.duo-logo,.logo{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:900;letter-spacing:-.04em}.duo-logo__mark{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;overflow:visible;border-radius:50%;background:linear-gradient(145deg,#ffb7d2,#a48aff);box-shadow:0 7px 18px #a48aff40}.duo-logo__mark:before{display:none}.duo-logo__mark svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:#fff;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.duo-logo__word{font-size:18px}.duo-logo--sm .duo-logo__mark{width:30px;height:30px;flex-basis:30px}.duo-logo--sm .duo-logo__word{font-size:16px}.duo-logo--lg{flex-direction:column;gap:10px}.duo-logo--lg .duo-logo__mark{width:68px;height:68px;flex-basis:68px}.duo-logo--lg .duo-logo__mark svg{stroke-width:1.9}.duo-logo--lg .duo-logo__word{font-size:24px;letter-spacing:.02em}@media(max-width:360px){.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action:last-child{grid-column:1/-1}.profile-favorites{grid-template-columns:1fr}.profile-about__facts{gap:5px}.profile-about__facts small{font-size:.6rem}}@media(max-width:520px){.home-pair-hero{grid-template-columns:1fr;justify-items:center;text-align:center;padding:24px 18px}.home-pair-hero__copy{justify-items:center;text-align:center}.home-pair-hero__copy h1{max-width:none}.home-pair-hero .avatar-pair{justify-self:center}.home-pair-hero__date{justify-content:center}.profile-about__story{text-align:center}.profile-about__story p{max-width:none}}.photo-drop>small,.moment-sheet__photo>small{position:relative;z-index:1}.photo-picker-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.album-cover{background:#f3edf3}.album-cover__meta{background:linear-gradient(transparent,#1d0e1bc2);text-shadow:0 2px 12px rgba(0,0,0,.38)}.album-cover__meta strong{font-size:1rem}.album-cover__meta small{opacity:.86}.photo-grid{gap:10px}.photo-grid__item{aspect-ratio:1}.photo-grid__item img{opacity:0;transition:opacity .2s}.photo-grid__item img.is-loaded{opacity:1}.photo-image-state{display:grid;place-items:center;align-content:center;gap:4px;min-width:0;min-height:0;background:linear-gradient(135deg,#f1f7fb,#f8edf3);color:var(--muted);font-size:.72rem;text-align:center}.photo-image-state__icon{font-size:1.6rem;line-height:1}.photo-grid__item>.photo-image-state,.photo-strip__button>.photo-image-state,.album-cover>.photo-image-state{width:100%;height:100%}input,textarea,select{font-size:16px;caret-color:var(--text)}input::placeholder,textarea::placeholder{color:#9c8798;opacity:1}body.modal-open{overflow:hidden!important}.home-pair-hero{position:relative;min-height:0;border-radius:30px;display:grid;grid-template-columns:1fr;justify-items:center;align-content:center;gap:14px;overflow:hidden;background:linear-gradient(145deg,#fff0ed,#f7eaff 52%,#e4f5ff);box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.7)}.home-pair-hero__copy{width:100%;display:grid;justify-items:center;gap:9px;text-align:center}.home-pair-hero__copy h1{margin:0;font-size:clamp(1.55rem,7vw,2.35rem);max-width:100%}.home-pair-hero__copy h1 i{font-style:normal;color:var(--coral);font-size:.75em}.home-pair-hero__copy p{margin:0;color:#7d6376}.home-pair-hero__copy>.duo-button{justify-self:center}.home-pair-hero__people{display:flex;justify-content:center;margin:4px 0}.home-pair-hero__date{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:8px;width:100%;color:#806c7c;font-size:.78rem}.home-pair-hero__date strong{color:var(--text)}.today-overview{display:grid;grid-template-columns:1fr;gap:1px;padding:0;background:#35182f0f}.today-item{grid-template-columns:40px minmax(0,1fr) 18px;min-height:76px;padding:14px 16px;border-radius:0}.today-item strong{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3;overflow-wrap:anywhere}.today-item:first-child{border-radius:22px 22px 0 0}.today-item:last-child{border-radius:0 0 22px 22px}.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-action{height:92px;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 5px}.quick-action>span{height:34px;flex:0 0 34px;display:grid;place-items:center}.quick-action strong{width:100%;font-size:.68rem;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.home-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-about__story{max-width:38rem;margin-inline:auto;display:grid;justify-items:center;text-align:center;gap:10px}.profile-about__story p{max-width:34rem;line-height:1.7}.profile-about__facts{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:34rem;margin-inline:auto}.profile-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(96px,29vw,148px);gap:8px}.profile-favorites{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-favorite-card{min-width:0;display:flex;align-items:center;gap:11px}.profile-favorite-card .color-swatch{width:42px;height:42px;flex-basis:42px;border-radius:14px}.album-cover{position:relative;min-height:230px;overflow:hidden;background:#f3edf3}.album-cover__meta{position:absolute;left:18px;right:18px;bottom:16px;padding:0;background:linear-gradient(transparent,#1d0e1bc2);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.38)}.photo-preview{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.photo-drop>.photo-preview,.moment-sheet__photo>.photo-preview{position:absolute;inset:0;border-radius:inherit}.photo-picker-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media(max-width:350px){.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action:last-child{grid-column:1/-1}.home-two-columns,.profile-favorites{grid-template-columns:1fr}.profile-about__facts{gap:5px}.profile-about__facts small{font-size:.6rem}}@media(min-width:520px){.today-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.today-item:first-child{border-radius:22px 22px 0 0}.today-item:last-child{border-radius:0 0 22px 22px}.quick-action-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.moment-sheet__panel{display:flex;flex-direction:column;overflow:hidden;padding:10px 16px calc(12px + env(safe-area-inset-bottom))}.moment-sheet__header{flex:none}.moment-sheet__body{flex:1 1 auto;min-height:0;display:grid;gap:14px;align-content:start;overflow-y:auto;overscroll-behavior:contain;padding:2px 2px 8px}.moment-sheet__footer{flex:none;padding-top:12px}.moment-form__caption,.moment-form__date,.moment-form__photos{display:grid;gap:7px;min-width:0}.moment-form__caption{font-weight:600}.moment-form__caption textarea{min-height:84px;padding:12px 14px;border:1.5px solid rgba(53,24,47,.14);border-radius:18px;background:#fff;color:inherit;font:inherit;font-size:16px;line-height:1.45;resize:vertical}.moment-form__caption textarea:focus-visible{outline:none;border-color:#d656788c;box-shadow:0 0 0 3px #d6567824}.moment-form__date{font-weight:600}.moment-form__date input{width:100%;padding:12px 14px;border:1.5px solid rgba(53,24,47,.14);border-radius:18px;background:#fff;color:inherit;font:inherit;font-size:16px}.moment-form__photos-label{font-weight:600}.moment-photo-strip{display:flex;gap:10px;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;padding:2px}.moment-photo-strip__add,.moment-photo-strip__item{position:relative;flex:none;width:clamp(66px,23vw,86px);aspect-ratio:1;border-radius:18px}.moment-photo-strip__add{display:grid;place-items:center;align-content:center;gap:2px;padding:6px;border:1.5px dashed rgba(53,24,47,.22);background:#fff;color:var(--coral);text-align:center;cursor:pointer}.moment-photo-strip__add span{font-size:11px;font-weight:600;color:var(--muted)}.moment-photo-strip__item{overflow:hidden;background:#fff}.moment-photo-strip__item .photo-preview{width:100%;height:100%;object-fit:cover;border-radius:18px}.moment-photo-strip__remove{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:50%;background:#241421a8;color:#fff;cursor:pointer}.moment-photo-strip__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.moment-form__photos .label-hint{margin:0}@media(max-width:340px){.moment-sheet__panel{padding-left:12px;padding-right:12px}.moment-form__caption textarea{min-height:76px}}.editor-overlay{position:fixed;z-index:65;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));background:#24142157;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:editor-fade .2s var(--ease)}.editor{position:relative;display:flex;flex-direction:column;width:min(calc(100vw - 24px),620px);max-height:100%;overflow:hidden;border-radius:26px;background:#fffaf6;box-shadow:0 24px 60px -20px #3c1e378c;animation:editor-pop .22s var(--ease)}.editor__head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 10px;border-bottom:1px solid rgba(53,24,47,.07)}.editor__title{min-width:0}.editor__title h2{margin:2px 0 0;font-size:1.15rem;line-height:1.25}.editor__close{flex:none;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:#35182f0f;color:var(--muted);transform:rotate(90deg);cursor:pointer}.editor__close:active{background:#35182f1f}.editor__body{flex:1 1 auto;min-height:0;display:grid;gap:14px;align-content:start;overflow-y:auto;overscroll-behavior:contain;padding:16px;-webkit-overflow-scrolling:touch}.editor__foot{flex:none;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid rgba(53,24,47,.07);background:#fffaf6}.editor__foot>.duo-button{width:100%}@keyframes editor-fade{0%{opacity:0}to{opacity:1}}@keyframes editor-pop{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:340px){.editor-overlay{padding-left:8px;padding-right:8px}.editor__body{padding:12px}.editor__head{padding:14px 12px 10px}.editor__foot{padding:10px 12px calc(12px + env(safe-area-inset-bottom))}}@media(min-width:760px){.editor{width:min(calc(100vw - 48px),620px)}}.editor__body .moment-form,.editor__body form{display:grid;gap:14px;align-content:start}.duo-gate{gap:16px;justify-content:center;text-align:center;min-height:52vh;padding-bottom:calc(28px + env(safe-area-inset-bottom))}.duo-gate h1{margin:0;font-size:1.32rem;line-height:1.24;color:var(--theme-text-strong)}.duo-gate__orb{display:grid;place-items:center;width:92px;height:92px;margin:0 auto;border-radius:50%;background:var(--theme-accent-soft);border:1px solid var(--theme-line);box-shadow:var(--theme-shadow);font-size:2.4rem;animation:duo-gate-breathe 3.6s ease-in-out infinite}@keyframes duo-gate-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.duo-gate__card{display:grid;gap:12px;text-align:left}.duo-gate__text{margin:0;font-size:.92rem;line-height:1.5;color:var(--theme-muted)}.home-toast{display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:16px;background:#ffffffeb;box-shadow:0 10px 26px -14px #78507880;font-size:.86rem;font-weight:600}.home-toast p{margin:0;flex:1}.home-toast button{flex:0 0 auto;width:26px;height:26px;border:0;border-radius:50%;background:#35182f12;color:var(--muted);font-size:1.05rem;line-height:1;cursor:pointer}.home-hint{margin:2px 0 0;text-align:center;font-size:.76rem;color:var(--muted)}.home-hint button{border:0;background:none;padding:0;font:inherit;font-weight:800;color:var(--coral);text-decoration:underline;cursor:pointer}.widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.widget-card{grid-column:span 6}@media(max-width:380px){.widget-grid{grid-template-columns:1fr;gap:10px}.widget-card{grid-column:1 / -1}}.widget-card{position:relative;display:grid;gap:12px;align-content:start;padding:18px;min-width:0;animation:widget-in .28s var(--ease) both;background:var(--theme-surface);border:1px solid var(--theme-line-soft);border-radius:var(--theme-radius-card);box-shadow:var(--theme-shadow);transition:all .2s var(--ease)}.widget-card--full{grid-column:1 / -1}.widget-card__heading{display:flex;align-items:center;gap:8px;min-width:0}.widget-card__heading h3{margin:0;font-size:.9rem;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-card__hint{margin:-3px 0 0;font-size:.72rem;color:var(--muted);line-height:1.35}.widget-card__body{min-width:0;font-size:.86rem}@keyframes widget-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.widget-skeleton{display:block;height:52px;border-radius:14px;background:linear-gradient(90deg,#35182f0d,#35182f1a,#35182f0d);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.widget-empty{margin:0;display:grid;gap:9px;justify-items:start;font-size:.82rem;color:var(--muted);line-height:1.4}.widget-empty--large{padding:22px 16px;text-align:center;justify-items:center;background:#fff9;border-radius:22px}.widget-empty--large a{text-decoration:none;margin-top:4px}.widget-emotions{display:grid;gap:9px}.widget-missyou{display:flex;align-items:center;gap:13px;width:100%;padding:15px 16px;border:0;border-radius:20px;font:inherit;color:#fff;text-align:left;cursor:pointer;background:linear-gradient(135deg,#ff8fa3,#ff6b81);box-shadow:0 12px 26px -12px #ff6b81bf;transition:transform .16s var(--ease)}.widget-missyou:disabled{background:linear-gradient(135deg,#e6c3cc,#d9aab4);box-shadow:none;cursor:default;opacity:.9}.widget-missyou:not(:disabled):active{transform:scale(.97)}.widget-missyou__heart{font-size:2rem;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.18))}.widget-missyou__text{display:grid;gap:2px;color:#fff}.widget-missyou__text strong{font-size:1.08rem;letter-spacing:-.01em}.widget-missyou__text small{font-size:.76rem;opacity:.92;line-height:1.3}.widget-emotions__stats{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.76rem;color:var(--muted)}.widget-emotions__stats b{color:var(--text);font-weight:800}.widget-love{display:grid;gap:9px}.widget-love__row{display:flex;flex-wrap:wrap;gap:8px}.widget-love__chip{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(53,24,47,.08);border-radius:16px;background:#fffc;font-size:1.35rem;cursor:pointer;transition:transform .16s var(--ease)}.widget-love__chip:disabled{opacity:.5;cursor:default}.widget-love__chip:not(:disabled):active{transform:scale(.9)}.widget-love__total{margin:0;font-size:.76rem;color:var(--muted)}.widget-distance{display:grid;gap:7px;justify-items:center;text-align:center;padding:4px 0}.widget-distance__value{font-size:1.9rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.widget-distance__value b{color:var(--coral)}.widget-distance__cities{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:#6b5470}.widget-distance__quote{margin:2px 0 0;font-size:.76rem;line-height:1.45;color:var(--muted);font-style:italic}.widget-distance--hidden{gap:10px;justify-items:center}.widget-distance__hidden-note{margin:0;font-size:.82rem;line-height:1.45;color:var(--muted)}.distance-hero{display:grid;gap:8px;justify-items:center;text-align:center;padding:26px 20px}.distance-hero__label{margin:0;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.distance-hero__value{margin:0;font-size:clamp(2.6rem,13vw,3.6rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--coral)}.distance-hero__value small{font-size:.32em;font-weight:700;color:var(--muted)}.distance-hero__value--small{font-size:1.3rem;color:var(--text)}.distance-hero__cities{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:700}.distance-hero__quote{margin:6px 0 0;max-width:32ch;font-size:.82rem;line-height:1.5;color:var(--muted);font-style:italic}.distance-hero--empty{gap:10px}.distance-hero__icon{font-size:2.4rem}.distance-hero__hint{margin:0;max-width:36ch;font-size:.85rem;line-height:1.5;color:var(--muted)}.distance-privacy{display:grid;gap:9px}.distance-privacy h3{margin:0}.distance-privacy__state{display:flex;align-items:center;gap:7px;margin:0;font-weight:700;font-size:.88rem}.distance-privacy__note{margin:0;font-size:.75rem;line-height:1.45;color:var(--muted)}.feelings-miss{display:grid;gap:14px;justify-items:center;text-align:center}.feelings-miss__button{display:grid;justify-items:center;gap:7px;width:100%;padding:22px 18px;border:0;border-radius:24px;font:inherit;color:#fff;cursor:pointer;background:linear-gradient(140deg,#ff8fa3,#ff6b81);box-shadow:0 16px 32px -14px #ff6b81cc;transition:transform .16s var(--ease)}.feelings-miss__button:disabled{background:linear-gradient(140deg,#e6c3cc,#d9aab4);box-shadow:none;cursor:default}.feelings-miss__button:not(:disabled):active{transform:scale(.97)}.feelings-miss__heart{font-size:3.2rem;line-height:1}.feelings-miss__button strong{font-size:1.05rem}.feelings-miss__totals{display:flex;gap:28px}.feelings-miss__totals div{display:grid;gap:1px}.feelings-miss__totals b{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.feelings-miss__totals small{font-size:.7rem;color:var(--muted)}.feelings-breakdown{width:100%;margin:0;padding:0;list-style:none;display:grid;gap:6px}.feelings-breakdown li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 13px;border-radius:14px;background:#ffffff9e;font-size:.83rem}.feelings-breakdown b{font-weight:800}.feelings-love__title{margin:0 0 4px}.feelings-love__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.feelings-love__button{display:grid;justify-items:center;gap:4px;padding:12px 6px;border:1px solid rgba(53,24,47,.07);border-radius:18px;background:#ffffffc7;font:inherit;color:inherit;cursor:pointer;transition:transform .16s var(--ease)}.feelings-love__button span{font-size:1.6rem;line-height:1}.feelings-love__button small{font-size:.66rem;line-height:1.2;text-align:center;color:var(--muted)}.feelings-love__button:disabled{opacity:.55;cursor:default}.feelings-love__button:not(:disabled):active{transform:scale(.92)}.feelings-love__total{margin:10px 0 0;font-size:.78rem;color:var(--muted);text-align:center}.feelings-feed{display:grid;gap:10px}.feelings-feed h2{margin:0;font-size:1.02rem}.feelings-feed__empty p{margin:0;font-size:.85rem;line-height:1.5;color:var(--muted)}.feelings-feed__list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.feelings-feed__item{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:16px;background:#ffffffa8}.feelings-feed__emoji{font-size:1.35rem;line-height:1}.feelings-feed__item div{display:grid;gap:1px;min-width:0}.feelings-feed__item strong{font-size:.87rem}.feelings-feed__item small{font-size:.71rem;color:var(--muted)}.feelings-back{justify-self:center;padding:11px 18px;border:1px solid var(--line);border-radius:999px;background:#fff9;font:inherit;font-weight:700;color:var(--muted);cursor:pointer}.emotion-burst{position:fixed;inset:0;z-index:60;display:grid;place-items:center;pointer-events:none}.emotion-burst__label{position:absolute;top:34%;padding:13px 22px;border-radius:999px;background:#fffffff2;color:var(--text);font-weight:800;font-size:.95rem;box-shadow:0 14px 34px -12px #7850788c;animation:burst-label 2.3s var(--ease) forwards}.emotion-burst__hearts{position:absolute;top:44%;left:50%}.emotion-burst__heart{position:absolute;left:0;font-size:1.9rem;line-height:1;animation:burst-heart 2.2s var(--ease) forwards;animation-delay:var(--delay)}@keyframes burst-label{0%{opacity:0;transform:translateY(14px) scale(.94)}14%{opacity:1;transform:none}72%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}@keyframes burst-heart{0%{opacity:0;transform:translate(0) scale(.4)}18%{opacity:1}to{opacity:0;transform:translate(var(--dx),-150px) scale(var(--scale))}}.emotion-burst--kiss-float .emotion-burst__heart{animation-name:burst-kiss}@keyframes burst-kiss{0%{opacity:0;transform:translate(0) scale(.5)}18%{opacity:1}to{opacity:0;transform:translateY(-210px) scale(1.1)}}.emotion-burst--hug-pulse .emotion-burst__heart{animation-name:burst-hug}@keyframes burst-hug{0%{opacity:0;transform:scale(.6)}30%{opacity:1}to{opacity:0;transform:translate(var(--dx),-60px) scale(1.5)}}.widget-counter{display:grid;gap:2px;justify-items:center;align-content:center;text-align:center;width:100%}.widget-counter__days{font-size:2.1rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--coral)}.widget-counter__label{font-size:.72rem;color:var(--muted)}.widget-counter__headline{font-size:.8rem;font-weight:700;overflow-wrap:anywhere}.widget-counter__prompt{font-size:.85rem;font-weight:700;color:var(--text);overflow-wrap:anywhere;line-height:1.3}.widget-counter__hint{font-size:.72rem;color:var(--muted)}.widget-counter--empty{min-height:64px}.widget-habits{display:flex;align-items:center;gap:11px;cursor:pointer}.widget-habits__ring{flex:0 0 auto;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--coral) var(--progress),rgba(53,24,47,.08) 0);position:relative}.widget-habits__ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:inherit}.widget-habits__ring b{position:relative;font-size:.8rem;font-weight:800}.widget-habits__meta{display:grid;gap:1px;min-width:0}.widget-habits__meta strong{font-size:.85rem}.widget-habits__meta small{font-size:.7rem;color:var(--muted)}.widget-tasks{margin:0;padding:0;list-style:none;display:grid;gap:6px}.widget-tasks li{display:flex;align-items:center;gap:8px;min-width:0}.widget-tasks__check{flex:0 0 24px;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:50%;background:#fffc;color:var(--coral);cursor:pointer}.widget-tasks__check:disabled{opacity:.4;cursor:default}.widget-tasks li>button:last-child{flex:1;min-width:0;border:0;background:none;padding:0;font:inherit;font-size:.82rem;color:inherit;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-tasks li>button.is-done{text-decoration:line-through;color:var(--muted)}.widget-mood{display:grid;grid-template-columns:1fr 1fr;gap:6px;cursor:pointer;min-width:0}.widget-mood__cell{display:grid;justify-items:center;align-content:center;gap:3px;padding:9px 4px;border-radius:14px;background:#fff9;min-width:0;overflow:hidden}.widget-mood__emoji{font-size:1.6rem;line-height:1;display:block;max-width:100%;text-align:center}.widget-mood__cell small{font-size:.66rem;color:var(--muted);font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;line-height:1.2}.widget-sleep{display:grid;gap:5px;cursor:pointer}.widget-sleep__row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem}.widget-sleep__row b{font-weight:800}.widget-where{display:grid;gap:6px;cursor:pointer}.widget-where__row{display:flex;align-items:center;gap:9px;min-width:0}.widget-where__emoji{font-size:1.5rem;line-height:1}.widget-where__row div{display:grid;gap:1px;min-width:0}.widget-where__row strong{font-size:.83rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-where__row small{font-size:.68rem;color:var(--muted)}.widget-where__partner{margin:0;font-size:.75rem;color:var(--muted)}.widget-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.widget-photos__cell{position:relative;aspect-ratio:1;padding:0;border:0;border-radius:14px;overflow:hidden;background:#35182f0d;cursor:pointer}.widget-photos__cell img{width:100%;height:100%;object-fit:cover;display:block}.widget-countdown{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.widget-countdown--empty{display:grid;gap:9px;justify-items:start}.widget-countdown--empty p{margin:0;font-size:.82rem;color:var(--muted);line-height:1.4}.widget-countdown__days{display:grid;justify-items:center;flex:0 0 auto;min-width:62px;padding:8px 10px;border-radius:16px;background:#ffffffb3}.widget-countdown__days b{font-size:1.5rem;font-weight:800;line-height:1;color:var(--coral)}.widget-countdown__days span{font-size:.66rem;color:var(--muted);font-weight:700}.widget-countdown__copy{flex:1;min-width:0;display:grid;gap:1px}.widget-countdown__icon{font-size:1rem}.widget-countdown__copy strong{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-countdown__copy small{font-size:.7rem;color:var(--muted)}.widget-hugs{display:grid;gap:9px;justify-items:start}.widget-hugs__counts{display:flex;gap:14px;font-size:.76rem;color:var(--muted)}.widget-hugs__counts b{color:var(--text);font-weight:800}.widget-today{display:grid;gap:8px;grid-template-columns:34px 1fr;align-items:start}.widget-today__icon{font-size:1.5rem;line-height:1.2}.widget-today__copy{display:grid;gap:2px;min-width:0}.widget-today__copy strong{font-size:.9rem;line-height:1.3}.widget-today__copy small{font-size:.75rem;color:var(--muted);line-height:1.35}.widget-today__actions{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}.widget-today--empty{grid-template-columns:1fr;gap:10px}.widget-today--empty p{margin:0;font-size:.82rem;color:var(--muted);line-height:1.45}.widget-today--done{grid-template-columns:34px 1fr auto;align-items:center}.widget-today--done small{font-size:.73rem;color:var(--muted)}.widget-latest{position:relative;display:block;width:100%;padding:0;border:0;border-radius:18px;overflow:hidden;background:#35182f0d;cursor:pointer;text-align:left}.widget-latest img{width:100%;height:170px;object-fit:cover;display:block}.widget-latest__caption{position:absolute;left:0;right:0;bottom:0;display:grid;gap:1px;padding:26px 13px 11px;background:linear-gradient(transparent,#1e0f1eb8);color:#fff}.widget-latest__caption small{font-size:.68rem;opacity:.85}.widget-latest__caption strong{font-size:.87rem;line-height:1.25}.widget-latest--empty{display:grid;gap:10px;justify-items:start;padding:4px 0}.widget-latest--empty p{margin:0;font-size:.82rem;color:var(--muted);line-height:1.45}.widget-games{display:grid;gap:8px}.widget-games__tile{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:11px 13px;border:1px solid rgba(53,24,47,.06);border-radius:16px;background:#ffffffb3;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:transform .16s var(--ease)}.widget-games__tile:active{transform:scale(.98)}.widget-games__icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(140deg,#e6e2ff,#ffd9e8);font-size:1.25rem}.widget-games__body{display:grid;gap:1px;min-width:0}.widget-games__body strong{font-size:.85rem}.widget-games__body small{font-size:.7rem;color:var(--muted);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.widget-games__live{position:absolute;top:9px;right:11px;padding:2px 8px;border-radius:999px;background:#58c4963d;color:#1f7a56;font-size:.62rem;font-weight:800}.widgets-section{display:grid;gap:11px}.widgets-section__title{display:flex;align-items:center;gap:8px;margin:0;font-size:1.02rem}.widgets-section__title span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#35182f14;font-size:.72rem;color:var(--muted)}.widgets-list{display:grid;gap:9px}.widgets-empty p{margin:0;font-size:.85rem;line-height:1.5;color:var(--muted)}.widget-row{display:grid;gap:11px}.widget-row--off{opacity:.62}.widget-row__head{display:flex;align-items:center;gap:11px}.widget-row__order{flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;border-radius:9px;background:#35182f12;font-size:.76rem;font-weight:800;color:var(--muted)}.widget-row__title{flex:1;min-width:0;display:grid;gap:1px}.widget-row__title strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-row__title small{font-size:.7rem;color:var(--muted)}.widget-row__config{display:grid;gap:11px;padding:13px;border-radius:16px;background:#35182f0a}.widget-row__config label{display:grid;gap:5px;font-size:.8rem;font-weight:600}.widget-row__config label span{color:var(--muted);font-weight:500}.widget-row__actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.widget-row__move{border:1px solid var(--line);background:#fff9}.widgets-catalog{display:grid;gap:9px}.catalog-card{display:flex;align-items:center;gap:11px}.catalog-card--planned{opacity:.72}.catalog-card__icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#ffffffbf}.catalog-card__body{flex:1;min-width:0;display:grid;gap:1px}.catalog-card__body strong{font-size:.87rem}.catalog-card__body p{margin:0;font-size:.72rem;line-height:1.35;color:var(--muted)}.catalog-card__body small{font-size:.66rem;color:#9a8695;font-weight:700}.catalog-card__soon,.catalog-card__done{flex:0 0 auto;padding:4px 10px;border-radius:999px;font-size:.66rem;font-weight:800}.catalog-card__soon{background:#35182f14;color:var(--muted)}.catalog-card__done{background:#58c49633;color:#1f7a56}.wishlist{display:grid;gap:11px;margin-bottom:20px}.wishlist__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.wishlist__head h2{margin:0;font-size:1.05rem}.wishlist__form{display:grid;gap:11px;padding:15px;border-radius:20px;background:#ffffffa8;border:1px solid var(--line)}.wishlist__form label{display:grid;gap:5px;font-size:.8rem;font-weight:600}.wishlist__form label span{color:var(--muted);font-weight:500}.wishlist__empty p{margin:0;font-size:.85rem;line-height:1.5;color:var(--muted)}.wishlist__list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.wishlist__item{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border-radius:18px;background:#ffffffa8}.wishlist__item.is-done{opacity:.6}.wishlist__item.is-done .wishlist__body strong{text-decoration:line-through}.wishlist__check{flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:50%;background:#35182f12;color:transparent;cursor:pointer;transition:background .16s,color .16s}.wishlist__item.is-done .wishlist__check{background:var(--coral);color:#fff}.wishlist__body{flex:1;min-width:0;display:grid;gap:2px}.wishlist__body strong{font-size:.87rem;line-height:1.35}.wishlist__body small{font-size:.73rem;line-height:1.35;color:var(--muted)}.wishlist__meta{display:flex;flex-wrap:wrap;gap:4px 10px}.wishlist__meta em{font-style:normal;font-size:.68rem;font-weight:700;color:#9a8695}.wishlist__remove{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.wishlist__remove:active{background:#35182f0f}.home-empty-widgets{position:relative;isolation:isolate;display:grid;grid-template-rows:auto auto;gap:0;min-height:0;padding:clamp(38px,10vw,64px) clamp(18px,6vw,34px);overflow:hidden;border:1px solid color-mix(in srgb,var(--theme-surface-elevated) 72%,transparent);border-radius:30px;text-align:center;align-content:center;background:radial-gradient(ellipse at 50% 74%,color-mix(in srgb,var(--theme-accent-2) 26%,transparent),transparent 43%),linear-gradient(165deg,color-mix(in srgb,var(--theme-surface-elevated) 84%,transparent),color-mix(in srgb,var(--theme-accent-soft) 54%,transparent));box-shadow:0 22px 50px -32px var(--theme-shadow-color),inset 0 1px #ffffffbf}.home-empty-widgets:before,.home-empty-widgets:after{position:absolute;z-index:-1;content:"";border-radius:50%;pointer-events:none}.home-empty-widgets:before{width:220px;height:220px;top:36%;left:-125px;background:radial-gradient(circle,color-mix(in srgb,var(--theme-accent) 20%,transparent),transparent 70%)}.home-empty-widgets:after{width:260px;height:260px;right:-150px;bottom:2%;background:radial-gradient(circle,color-mix(in srgb,var(--theme-accent-2) 24%,transparent),transparent 70%)}.home-empty-widgets__copy{position:relative;z-index:2;display:grid;justify-items:center;gap:14px;max-width:440px;margin-inline:auto}.home-empty-widgets__sparkle{display:grid;place-items:center;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--theme-surface-elevated) 75%,transparent);border-radius:16px;background:color-mix(in srgb,var(--theme-surface-elevated) 54%,transparent);color:var(--theme-accent);box-shadow:0 8px 24px -16px var(--theme-shadow-color)}.home-empty-widgets__copy h2{max-width:12ch;margin:0;font-size:clamp(1.8rem,7vw,2.6rem);line-height:1.02;letter-spacing:-.045em;color:var(--theme-text-strong)}.home-empty-widgets__copy h2 span{color:var(--theme-accent)}.home-empty-widgets__copy p{max-width:30ch;margin:0;font-size:.94rem;line-height:1.5;color:var(--theme-muted)}.home-empty-widgets__copy>.duo-button{width:min(100%,300px);min-height:52px;border-radius:999px;background:linear-gradient(110deg,var(--theme-accent),var(--theme-accent-2));box-shadow:0 16px 32px -18px var(--theme-accent)}.home-widget-section{display:grid;gap:10px;min-width:0}.home-widget-section__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-inline:2px}.home-widget-section__heading h2{margin:0;font-size:1.08rem;letter-spacing:-.02em;color:var(--theme-text-strong)}.home-widget-section__heading button{display:inline-flex;align-items:center;gap:3px;min-height:34px;padding:0 11px;border:1px solid var(--theme-line-soft);border-radius:999px;background:color-mix(in srgb,var(--theme-surface-elevated) 78%,transparent);color:var(--theme-accent);font:inherit;font-size:.76rem;font-weight:800}.home-widget-section__heading button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.duo-section__hint{margin:4px 0 0;font-size:.78rem;line-height:1.4;color:var(--muted);font-weight:400;max-width:46ch}.notification-types{display:grid;gap:2px}.notification-type-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 0;min-height:52px}.notification-type-row__emoji{font-size:1.3rem;line-height:1;text-align:center}.notification-type-row__label{font-size:.88rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-type-row .duo-switch-copy{display:none}.notification-type-row .duo-switch{padding:0}.notification-settings .duo-switch-row{min-height:52px}@media(prefers-reduced-motion:no-preference){.duo-button,.duo-button--soft,.duo-button--secondary,.duo-button--ghost,.duo-button--danger{transition:transform .16s var(--ease),box-shadow .2s var(--ease),opacity .16s var(--ease)}.duo-button:active:not(:disabled){transform:scale(.975)}.icon-button{transition:transform .16s var(--ease),background .16s var(--ease)}.icon-button:active:not(:disabled){transform:scale(.9)}.duo-card,.widget-card{transition:transform .18s var(--ease),box-shadow .22s var(--ease)}.widget-card__body{animation:duo-fade-up .26s var(--ease) both}.task-row,.habit-entry,.notification-card{animation:duo-fade-up .24s var(--ease) both}.duo-switch:active{transform:scale(.92)}.tod-choice:active:not(:disabled){transform:scale(.97)}.widget-love__chip:active:not(:disabled){transform:scale(.88)}.widget-missyou:not(:disabled):active{transform:scale(.97)}}@keyframes duo-fade-up{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.sheet-backdrop{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;background:#28162673;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .18s var(--ease)}.sheet{display:flex;flex-direction:column;width:min(100%,520px);max-height:min(88dvh,100dvh);overflow:hidden;padding:8px 18px calc(14px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:#fffaf6;box-shadow:0 -12px 40px -18px #3c1e3780;animation:sheet-up .26s var(--ease)}.sheet__grip{flex:none;display:block;width:38px;height:4px;margin:0 auto 10px;border-radius:99px;background:#35182f29}.sheet__head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sheet__head h2{margin:0;font-size:1.05rem;letter-spacing:-.02em}.sheet__close{position:relative;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:#35182f0f;color:var(--muted);transform:rotate(90deg);cursor:pointer}.sheet__close:before{content:"";position:absolute;inset:-4px;border-radius:50%}.sheet__body{flex:1 1 auto;min-height:0;display:grid;gap:12px;align-content:start;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:2px}.sheet__message{margin:0;font-size:.88rem;line-height:1.5;color:var(--muted)}.sheet__footer{flex:none;padding-top:12px;margin-top:2px;border-top:1px solid rgba(53,24,47,.08)}.sheet__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sheet__actions .duo-button{width:100%;min-height:48px}@media(max-height:520px){.sheet{max-height:100dvh;border-radius:0}.sheet__actions .duo-button{min-height:44px}}@keyframes sheet-up{0%{transform:translateY(26px);opacity:.4}to{transform:none;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.postpone-chips{display:flex;flex-wrap:wrap;gap:8px}.postpone-chip{padding:10px 14px;border:1px solid rgba(53,24,47,.1);border-radius:999px;background:#fffc;font:inherit;font-size:.84rem;font-weight:700;color:var(--text);cursor:pointer;transition:transform .16s var(--ease)}.postpone-chip:active:not(:disabled){transform:scale(.95)}.postpone-chip:disabled{opacity:.5;cursor:default}.task-detail{display:grid;gap:14px;padding:8px 4px 20px;max-width:560px;margin:0 auto}.task-detail__top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}.task-detail__back{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:#35182f0f;color:var(--text);font-size:1.25rem;line-height:1;cursor:pointer;transition:transform .16s var(--ease)}.task-detail__back:active{transform:scale(.9)}.task-detail__more{min-height:44px;padding:0 14px;border:0;border-radius:999px;background:#ffffffb3;font:inherit;font-size:.84rem;font-weight:700;color:var(--coral);cursor:pointer}.task-detail__more:disabled{opacity:.5}.task-detail__notice{margin:0;padding:10px 14px;border-radius:14px;background:#58c49629;color:#1f7a56;font-size:.85rem;font-weight:700;text-align:center;animation:duo-fade-up .24s var(--ease) both}.task-detail__body{display:grid;gap:14px}.task-detail__hero{display:grid;gap:7px}.task-detail__status{justify-self:start;padding:4px 11px;border-radius:999px;background:#35182f12;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.task-detail__status.is-done{background:#58c49633;color:#1f7a56}.task-detail__status.is-overdue{background:#ff7a8a2e;color:#c2415a}.task-detail__title{margin:0;font-size:clamp(1.3rem,5.5vw,1.7rem);line-height:1.22;letter-spacing:-.025em;overflow-wrap:anywhere}.task-detail.is-done .task-detail__title{color:var(--muted)}.task-detail__facts{display:grid;gap:2px;padding:6px 0}.task-fact{display:flex;align-items:center;gap:11px;padding:10px 0;min-height:52px;border-bottom:1px solid rgba(53,24,47,.06)}.task-fact:last-child{border-bottom:0}.task-fact__icon{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:11px;background:#ffffffbf;font-size:1rem}.task-edit{display:grid;gap:14px;padding-bottom:8px}.task-edit__group{display:grid;gap:6px;min-width:0}.task-edit__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.task-edit__label{font-size:.78rem;font-weight:800;color:var(--muted);letter-spacing:.02em}.task-edit__textarea{min-height:96px;resize:vertical}.task-edit__photo{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-radius:14px;background:#58c49624;font-size:.82rem;color:#1f7a56;min-width:0}.task-edit__photo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-edit__photo button{width:28px;height:28px;flex:0 0 28px;border:0;border-radius:50%;background:#1c503c24;color:#1f7a56;font-size:1rem;line-height:1;cursor:pointer}.task-edit__photo-add{min-height:48px;border:1px dashed rgba(53,24,47,.2);border-radius:16px;background:#ffffff80;font:inherit;font-size:.85rem;font-weight:700;color:var(--muted);cursor:pointer}.task-edit__photo-add:disabled{opacity:.6}.task-edit__file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}@media(max-width:359px){.task-edit__row{grid-template-columns:1fr}.task-detail__secondary{flex-wrap:wrap;justify-content:center}}.task-fact__body{display:grid;gap:1px;min-width:0}.task-fact__body strong{font-size:.9rem;overflow-wrap:anywhere}.task-fact__body small{font-size:.74rem;color:var(--muted)}.task-detail__description{margin:0;padding:15px 17px;border-radius:20px;background:#ffffffb3;font-size:.9rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.task-detail__photo{width:100%;max-height:320px;object-fit:cover;border-radius:20px;background:#35182f0d;display:block}.task-detail__empty{margin:0;font-size:.85rem;line-height:1.5;color:var(--muted);text-align:center;padding:14px}.task-detail__actions{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));display:grid;gap:8px;padding:12px;border-radius:24px;background:#fffaf6eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 28px -16px #50284680}.task-detail__secondary{display:flex;align-items:center;justify-content:space-between;gap:4px}.task-detail__done-note{display:flex;align-items:center;justify-content:center;gap:9px;margin:0;padding:14px;border-radius:20px;background:#58c49629;color:#1f7a56;font-weight:800}.widget-card--broken{opacity:.9}.root-error-boundary__details{width:100%;max-width:520px;margin-top:6px;padding:12px 14px;border-radius:16px;background:#35182f0d;text-align:left;font-size:.76rem;line-height:1.45}.root-error-boundary__details summary{cursor:pointer;font-weight:700}.root-error-boundary__details p{margin:8px 0 0;overflow-wrap:anywhere}.root-error-boundary__details pre{max-height:190px;margin:8px 0 0;padding:10px;overflow:auto;border-radius:12px;background:#35182f12;font-family:ui-monospace,monospace;font-size:.68rem;white-space:pre-wrap;word-break:break-word}@media(max-width:359px){.widget-grid{gap:9px}.widget-card{padding:12px;border-radius:20px}.feelings-love__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feelings-miss__totals{gap:18px}}@media(prefers-reduced-motion:reduce){.widget-card,.emotion-burst__heart,.emotion-burst__label,.widget-missyou,.feelings-miss__button{animation:none;transition:none}.widget-skeleton{animation:none}}.story-upcoming{display:grid;gap:9px}.story-upcoming__card{display:flex;align-items:center;gap:12px;padding:13px 15px;min-width:0}.story-upcoming__icon{font-size:1.5rem;line-height:1;flex:0 0 auto}.story-upcoming__card div{display:grid;gap:2px;min-width:0}.story-upcoming__card strong{overflow-wrap:anywhere}.story-upcoming__card small{color:var(--muted);font-size:.76rem}.story-timeline{display:grid;gap:22px}.story-timeline__year{position:relative;display:grid;gap:10px}.story-timeline__year-label{font-size:.78rem;font-weight:900;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.story-timeline__year ul{list-style:none;margin:0;padding:0 0 0 6px;display:grid;gap:16px;border-left:2px solid rgba(53,24,47,.1)}.story-timeline__year li{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:11px;align-items:start;animation:story-item-in .24s var(--ease) both}.story-timeline__dot{position:relative;display:grid;place-items:center;width:30px;height:30px;margin-left:-21px;border-radius:50%;background:#fff;box-shadow:0 4px 12px #502b4824;font-size:.95rem;line-height:1}.story-timeline__body{display:grid;gap:4px;min-width:0;padding:12px 14px;border-radius:20px;background:#ffffffc7;box-shadow:var(--shadow-card)}.story-timeline__date{font-size:.72rem;font-weight:700;color:var(--muted)}.story-timeline__title{font-size:.98rem;line-height:1.3;overflow-wrap:anywhere}.story-timeline__caption{margin:0;font-size:.86rem;line-height:1.5;color:var(--text);opacity:.82;overflow-wrap:anywhere}.story-timeline__photo{display:block;width:100%;max-height:190px;object-fit:cover;border-radius:14px;margin-top:4px}@keyframes story-item-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.story-photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:100%;padding:0;border:0;background:none;cursor:pointer}.story-photo-strip img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:15px}.story-goals{display:grid;gap:9px}.story-goal{padding:0}.story-goal__main{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--tap);padding:14px 15px;border:0;border-radius:inherit;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.story-goal__main:active{opacity:.7}.story-goal__check{flex:0 0 auto;width:26px;height:26px;border:1.5px solid rgba(53,24,47,.18);border-radius:9px;background:#fff;display:grid;place-items:center;font-size:.8rem;color:transparent}.story-goal__check.is-done{background:#78d6a6;border-color:#78d6a6;color:#fff}.story-goal__text{display:grid;gap:2px;min-width:0}.story-goal__text strong{overflow-wrap:anywhere}.story-goal__text small{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.story-goal__text em{font-style:normal;font-size:.74rem;font-weight:700;color:var(--coral)}.story-goals__done summary,.story-achievements__locked summary{cursor:pointer;padding:11px 4px;font-size:.82rem;font-weight:800;color:var(--muted);list-style:none}.story-goals__done summary::-webkit-details-marker,.story-achievements__locked summary::-webkit-details-marker{display:none}.story-goals__done ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.story-goals__done li{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 12px;border-radius:16px;background:#fff9}.story-goals__done li strong{font-size:.88rem;text-decoration:line-through;opacity:.7;overflow-wrap:anywhere}.story-goals__done li small{display:block;font-size:.72rem;color:var(--muted)}.story-achievements__summary{margin:0 0 10px;font-size:.84rem;color:var(--muted)}.story-achievements__summary strong{color:var(--text);font-size:1.05rem}.story-achievements{display:grid;gap:9px}.story-achievement{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;min-width:0}.story-achievement__icon{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#ffffffb3;font-size:1.05rem}.story-achievement__text{display:grid;gap:3px;min-width:0;flex:1 1 auto}.story-achievement__text strong{font-size:.92rem;overflow-wrap:anywhere}.story-achievement__text small{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.story-achievement__text em{font-style:normal;font-size:.72rem;font-weight:700;color:var(--coral)}.story-achievement__progress-text{font-variant-numeric:tabular-nums}@media(max-width:359px){.story-photo-strip{grid-template-columns:repeat(2,1fr)}.story-timeline__year li{grid-template-columns:26px minmax(0,1fr)}.story-timeline__dot{width:26px;height:26px;margin-left:-19px;font-size:.85rem}}@media(prefers-reduced-motion:reduce){.story-timeline__year li{animation:none}}.app-content{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.app-shell.is-keyboard-open .app-content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.task-list-card__body{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:11px;min-width:0;min-height:var(--tap);padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:12px}.task-list-card__body:active{opacity:.72}.task-list-card__body>span{display:grid;gap:2px;min-width:0}.task-list-card__check{cursor:pointer;padding:0;transition:transform .16s var(--ease),background .18s,border-color .18s}.task-list-card__check:active:not(:disabled){transform:scale(.9)}.task-list-card__check:disabled{cursor:default;opacity:.75}@media(hover:hover){.task-list-card:hover .task-list-card__body>span>strong{text-decoration:underline;text-decoration-color:#35182f47;text-underline-offset:3px}}.edge-swipe-veil{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;background:radial-gradient(120% 80% at 18% 20%,#f6e9ff,#ffeef2 45%,#fff7ec);transition:opacity .22s ease-out}.edge-swipe-veil[data-state=drag]{transition:none}.app-shell{position:relative;z-index:1;transform:translate3d(var(--edge-swipe-x,0px),0,0);transition:transform .26s cubic-bezier(.22,.61,.36,1)}html.is-edge-swiping .app-shell{transition:none;box-shadow:-14px 0 34px #35182f24}@media(prefers-reduced-motion:reduce){.app-shell,.edge-swipe-veil{transition:none}}.dream-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.dream{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"photo text check" "tools tools tools";gap:8px 12px;align-items:center;padding:12px;border-radius:var(--radius-md,18px);background:#ffffffad;min-width:0}.dream__photo{grid-area:photo;display:block;width:64px;height:64px;border-radius:14px;overflow:hidden;background:#0000000d}.dream__photo img{width:100%;height:100%;object-fit:cover;display:block}.dream__text{grid-area:text;display:grid;gap:2px;min-width:0}.dream__text strong{font-size:.95rem;line-height:1.3;overflow-wrap:anywhere}.dream__text p{margin:0;font-size:.82rem;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.dream__text small{font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.dream .duo-checkbox{grid-area:check;flex:0 0 auto}.dream__done-label{font-size:.85rem;white-space:nowrap}.dream__tools{grid-area:tools;display:flex;gap:8px;justify-content:flex-end}.dream__complete-title{margin:0 0 4px;font-size:1.05rem;font-weight:800;overflow-wrap:anywhere}.dream-picker{display:grid;justify-items:center;gap:3px;padding:14px;border-radius:20px;background:#fff9;border:1px dashed var(--line);text-align:center;cursor:pointer}.dream-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.dream-picker__icon{font-size:1.7rem;line-height:1}.dream-picker strong{font-size:.92rem}.dream-picker small{font-size:.75rem;color:var(--muted)}.dream-picker .photo-preview{width:100%;height:180px;object-fit:cover;border-radius:16px;display:block}@media(max-width:359px){.dream{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text check" "photo photo" "tools tools"}.dream__photo{width:100%;height:110px}.dream__photo img{object-fit:contain;background:#0000000a}}.moment-hero{display:block;width:100%;max-width:100%;max-height:min(58vh,420px);margin:0 auto;border:0;padding:0;border-radius:var(--radius-lg,24px);overflow:hidden;background:var(--surface,#fff);box-shadow:var(--shadow-card,0 10px 30px rgba(80,43,72,.07));cursor:pointer;transition:transform .2s var(--ease)}.moment-hero:active{transform:scale(.99)}.moment-hero img{width:100%;height:100%;object-fit:contain;display:block}.moment-hero .photo-image-state{width:100%;aspect-ratio:4/3;display:grid}.moment-extra{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.moment-extra__item{min-width:0;aspect-ratio:1;border:0;padding:0;border-radius:15px;overflow:hidden;background:var(--surface-muted,#f6f7fb);cursor:pointer;transition:transform .18s var(--ease)}.moment-extra__item:active{transform:scale(.97)}.board-skeleton{border-radius:var(--radius-md, 16px);background:linear-gradient(100deg,var(--surface-muted, #f1f2f6) 30%,var(--surface, #fff) 50%,var(--surface-muted, #f1f2f6) 70%);background-size:200% 100%;animation:board-skeleton 1.2s ease-in-out infinite;min-height:72px}@keyframes board-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.board-error{margin:8px 0 0;font-size:12px;line-height:1.35;color:var(--danger, #e05a6a)}.board-poop__today{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.board-poop__today>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:var(--radius-sm, 12px);background:var(--surface-muted, #f6f7fb);min-width:0}.board-poop__today b{font-size:20px;line-height:1.1;font-variant-numeric:tabular-nums}.board-poop__today small{font-size:11px;color:var(--text-muted, #8b8fa3);text-align:center;overflow-wrap:anywhere}.board-poop__last{margin:0 0 8px;font-size:12px;color:var(--text-muted, #8b8fa3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-list{display:flex;flex-direction:column;gap:8px}.board-list__items,.board-debts__group ul,.board-debts__settled ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.board-item,.board-debt{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border-radius:var(--radius-sm, 12px);background:var(--surface-muted, #f6f7fb)}.board-item.is-done .board-item__text strong{text-decoration:line-through;opacity:.6}.board-item__text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.board-item__text strong{font-size:14px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-item__text small{font-size:11px;color:#f0a93b;letter-spacing:1px}.board-item__status{flex:0 0 auto;max-width:46%;font-size:12px;padding:6px 8px;border-radius:10px;border:1px solid var(--border, #e6e7ef);background:var(--surface, #fff);color:var(--text, #2a2c3a)}.board-food{display:flex;flex-wrap:wrap;gap:6px}.board-food__chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:6px 6px 6px 10px;border-radius:999px;background:var(--surface-muted, #f6f7fb);font-size:13px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .2s ease,transform .2s ease}.board-food__chip.is-picked{background:#ffe9c9;transform:scale(1.02)}.board-food__chip button{flex:0 0 auto;border:0;background:transparent;min-width:32px;min-height:32px;font-size:14px;color:var(--text-muted, #8b8fa3);cursor:pointer}.board-actions{display:flex;flex-wrap:wrap;gap:8px}.board-actions>*{flex:1 1 auto}.board-pick{position:relative;display:flex;flex-direction:column;gap:2px;padding:10px 36px 10px 12px;border-radius:var(--radius-sm, 12px);background:linear-gradient(120deg,#fff0e6,#ffe6f0);animation:board-pick-in .22s cubic-bezier(.22,.61,.36,1)}.board-pick span{font-size:11px;color:var(--text-muted, #8b8fa3)}.board-pick strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere}.board-pick button{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;font-size:16px;color:var(--text-muted, #8b8fa3);cursor:pointer}@keyframes board-pick-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.board-skeleton,.board-pick{animation:none}.board-food__chip,.board-item__remove,.board-debt__settle{transition:none}}@media(max-width:360px){.board-item{flex-wrap:wrap}.board-item__text{flex:1 1 100%}.board-item__status{flex:1 1 auto;max-width:100%}}.board-item__remove,.board-debt__settle{flex:0 0 auto;border:0;background:transparent;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;color:var(--text-muted, #8b8fa3);cursor:pointer;border-radius:50%;transition:background .18s ease,color .18s ease}.board-item__remove:active,.board-debt__settle:active{background:var(--surface-muted, #f1f2f6)}.board-item__remove:disabled,.board-debt__settle:disabled{opacity:.45;cursor:default}.board-debt__settle{color:#37a06b;font-size:12px;font-weight:600}.board-debt strong{flex:1 1 auto;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-debt__by{flex:0 0 auto;font-size:11px;color:var(--text-muted, #8b8fa3);max-width:30%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-debts__title{font-size:12px;color:var(--text-muted, #8b8fa3);display:block;margin-bottom:4px}.board-debts__settled{font-size:12px;color:var(--text-muted, #8b8fa3)}.board-debts__settled summary{cursor:pointer;padding:6px 0}.board-debts__settled li{padding:4px 0}.board-preview{display:grid;gap:3px;min-width:0}.board-preview__line{font-size:.82rem;color:var(--theme-muted,var(--muted));line-height:1.35;overflow-wrap:break-word;word-break:normal;hyphens:none;-webkit-hyphens:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.board-preview__line b{color:var(--text);font-size:1.05rem;font-variant-numeric:tabular-nums}.board-preview__hint{font-size:.78rem;color:var(--muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.board-preview__total{font-size:.78rem;color:var(--muted)}.poop-hero{display:grid;gap:12px}.poop-hero__intro{margin:0;font-size:.88rem;line-height:1.5;color:var(--theme-muted);text-align:center;max-width:34ch;margin-inline:auto}.poop-hero__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.poop-hero__grid>div{display:grid;gap:2px;justify-items:center;padding:12px 4px;border-radius:var(--radius-sm,14px);background:#ffffffb3;min-width:0}.poop-hero__grid b{font-size:1.6rem;line-height:1;font-variant-numeric:tabular-nums}.poop-hero__grid small{font-size:.7rem;color:var(--muted);text-align:center;overflow-wrap:anywhere}.poop-history{list-style:none;margin:0;padding:0;display:grid;gap:6px}.poop-history__row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;border-radius:14px;background:#ffffff9e;min-width:0}.poop-history__when{font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 auto}.poop-history__who{font-size:.92rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cinema-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.cinema-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:16px;background:#ffffffa8;min-width:0}.cinema-item__title{font-size:.95rem;overflow-wrap:anywhere}.cinema-item__reminder{display:inline-flex;align-items:center;flex:0 0 auto;min-width:40px;min-height:40px;justify-content:center;cursor:pointer}.cinema-item__reminder input{width:20px;height:20px}.cinema-reminder{position:relative;flex:0 0 auto;display:inline-grid;place-items:center;width:40px;height:40px;border:2px solid var(--theme-line);border-radius:14px;background:var(--theme-surface-2);color:var(--theme-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .12s ease}.important-dates{list-style:none;margin:0;padding:0;display:grid;gap:10px}.important-date{display:grid;gap:10px;padding:14px;border-radius:var(--theme-radius-card);background:var(--theme-surface);border:1px solid var(--theme-line-soft);box-shadow:var(--theme-shadow)}.important-date.is-paused{opacity:.6}.important-date__head{display:flex;align-items:center;gap:12px;min-width:0}.important-date__icon{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:var(--theme-accent-soft);font-size:1.3rem;line-height:1}.important-date__title{flex:1 1 auto;min-width:0;display:grid;gap:3px}.important-date__title h3{margin:0;font-size:.98rem;line-height:1.25;overflow-wrap:anywhere}.important-date__when{margin:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.78rem;color:var(--theme-muted)}.important-date__badge{padding:2px 8px;border-radius:999px;background:var(--theme-chip);color:var(--theme-chip-ink);font-size:.66rem;font-weight:700}.important-date__countdown{flex:0 0 auto;padding:5px 10px;border-radius:12px;background:var(--theme-accent-soft);color:var(--theme-text-strong);font-size:.74rem;font-weight:750;white-space:nowrap}.important-date__note{margin:0;font-size:.82rem;line-height:1.45;color:var(--theme-muted);overflow-wrap:anywhere}.important-date__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.important-date__hints{margin:0;font-size:.72rem;color:var(--theme-muted);overflow-wrap:anywhere}.important-date__actions{display:flex;gap:4px;flex:0 0 auto}.important-date__action:hover:not(:disabled){background:var(--theme-accent-soft)}.important-date__action:active:not(:disabled){transform:scale(.93)}.important-date__action:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.important-date__action:disabled{opacity:.5;cursor:default}.important-date__recurrence{margin:0;padding:0;border:0}.important-date__recurrence legend{padding:0;font-size:.86rem;font-weight:700;color:var(--theme-text)}.important-date__segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.important-date__segmented button{min-height:46px;padding:0 10px;border:2px solid var(--theme-line);border-radius:15px;background:var(--theme-surface-2);color:var(--theme-text);font:inherit;font-size:.86rem;font-weight:650;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .16s ease,border-color .16s ease,color .16s ease}.important-date__segmented button.is-active{border-color:transparent;background:var(--theme-accent);color:var(--theme-accent-ink)}.important-date__segmented button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.important-date__segmented button:active{transform:scale(.98)}.important-date__reminders{display:grid;gap:8px}.important-date__legend{margin:0;font-size:.86rem;font-weight:700;color:var(--theme-text)}.important-date__reminder-row{display:grid;gap:2px;justify-items:start}.important-date__reminder-row b{font-size:.9rem;font-weight:650}.important-date__reminder-row small{font-size:.74rem;color:var(--theme-muted)}.important-date__hint{margin:2px 0 0;font-size:.74rem;line-height:1.45;color:var(--theme-muted)}.widget-important-dates{width:100%;display:flex;align-items:center;gap:12px;padding:13px 15px;border:none;border-radius:var(--theme-radius-card);background:var(--theme-accent-soft);color:var(--theme-text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}.widget-important-dates:active{transform:scale(.985)}.widget-important-dates:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.widget-important-dates__icon{flex:0 0 auto;font-size:1.5rem;line-height:1}.widget-important-dates__copy{display:grid;gap:2px;min-width:0}.widget-important-dates__copy strong{font-size:.95rem;line-height:1.25;overflow-wrap:anywhere}.widget-important-dates__copy small{font-size:.76rem;color:var(--theme-muted)}.widget-important-dates--empty{display:grid;gap:10px;justify-items:start;background:var(--theme-surface-2)}.widget-important-dates--empty p{margin:0;font-size:.82rem;line-height:1.45;color:var(--theme-muted)}.dating-hub__lead{margin:0;font-size:.86rem;line-height:1.5;color:var(--theme-muted);max-width:42ch}.dating-hub__tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dating-tile{display:grid;min-width:0;aspect-ratio:1/1.06;align-content:space-between;justify-items:start;gap:6px;padding:16px;border:1px solid var(--theme-line-soft);border-radius:var(--theme-radius-card);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .14s ease,border-color .18s ease,box-shadow .18s ease}.dating-tile--mint{border-color:var(--theme-line-soft)}.dating-tile--coral{border-color:var(--theme-accent)}.dating-tile--mint,.dating-tile--coral{background:linear-gradient(150deg,var(--theme-accent-soft),var(--theme-surface));color:var(--theme-text)}.dating-tile__icon{font-size:2rem;line-height:1}.dating-tile__title{font-size:.95rem;font-weight:750;line-height:1.25;overflow-wrap:anywhere}.dating-tile__description{font-size:.74rem;line-height:1.4;color:var(--theme-muted);overflow-wrap:anywhere}.dating-tile:active{transform:scale(.975)}.dating-tile:focus-visible{outline:3px solid var(--theme-focus);outline-offset:3px}.dating-hub__wide{width:100%;display:flex;align-items:center;gap:14px;padding:18px 16px;border:1px solid var(--theme-line-soft);border-radius:var(--theme-radius-card);background:linear-gradient(120deg,var(--theme-accent-soft),var(--theme-surface));color:var(--theme-text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .14s ease,box-shadow .18s ease}.dating-hub__wide-icon{flex:0 0 auto;font-size:1.8rem;line-height:1}.dating-hub__wide-body{flex:1 1 auto;min-width:0;display:grid;gap:3px}.dating-hub__wide-body strong{font-size:1rem;line-height:1.3;overflow-wrap:anywhere}.dating-hub__wide-body small{font-size:.78rem;line-height:1.4;color:var(--theme-muted);overflow-wrap:anywhere}.dating-hub__wide-chevron{flex:0 0 auto;font-size:1.1rem;color:var(--theme-muted)}.dating-hub__wide:active{transform:scale(.985)}.dating-hub__wide:focus-visible{outline:3px solid var(--theme-focus);outline-offset:3px}.dating-soon{display:grid;justify-items:center;gap:10px;padding:34px 18px;text-align:center;border:1px solid var(--theme-line-soft);border-radius:var(--theme-radius-card);background:var(--theme-surface)}.dating-soon__emoji{font-size:2.6rem;line-height:1}.dating-soon h2{margin:0;font-size:1.1rem}.dating-soon p{margin:0;max-width:32ch;font-size:.85rem;line-height:1.5;color:var(--theme-muted)}.dating-soon .duo-button{margin-top:6px}@media(max-width:340px){.dating-hub__tiles{grid-template-columns:minmax(0,1fr)}.dating-tile{aspect-ratio:auto;min-height:132px}}@media(prefers-reduced-motion:reduce){.dating-tile,.dating-hub__wide{transition:none}.dating-tile:active,.dating-hub__wide:active{transform:none}.dating-idea-card{animation:none}}.widget-dating{width:100%;display:flex;align-items:center;gap:12px;padding:13px 15px;border:none;border-radius:var(--theme-radius-card);background:var(--theme-accent-soft);color:var(--theme-text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}.widget-dating:active{transform:scale(.985)}.widget-dating:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.widget-dating__icon{flex:0 0 auto;font-size:1.5rem;line-height:1}.widget-dating__copy{display:grid;gap:2px;min-width:0}.widget-dating__copy strong{font-size:.95rem;line-height:1.25;overflow-wrap:anywhere}.widget-dating__copy small{font-size:.76rem;color:var(--theme-muted)}.dating-ideas__lead{margin:0;font-size:.95rem;font-weight:750;color:var(--theme-text-strong)}.dating-idea-card{display:grid;gap:10px;justify-items:start;padding:20px 18px;border:1px solid var(--theme-line-soft);border-radius:var(--theme-radius-card);background:linear-gradient(160deg,var(--theme-accent-soft),var(--theme-surface));color:var(--theme-text);box-shadow:var(--theme-shadow);min-width:0;animation:dating-idea-in .22s ease}.dating-idea-card__emoji{font-size:2.4rem;line-height:1}.dating-idea-card__title{margin:0;font-size:1.25rem;line-height:1.25;overflow-wrap:anywhere}.dating-idea-card__text{margin:0;font-size:.92rem;line-height:1.5;color:var(--theme-text);overflow-wrap:anywhere}.dating-idea-card__meta{margin:0;display:flex;flex-wrap:wrap;gap:6px}.dating-idea-card__chip{padding:4px 10px;border-radius:999px;background:var(--theme-chip);color:var(--theme-chip-ink);font-size:.7rem;font-weight:700;white-space:nowrap}.dating-idea-card__tags{display:flex;flex-wrap:wrap;gap:6px;width:100%;padding-top:2px}.dating-idea-card__tag{padding:4px 9px;border-radius:999px;border:1px solid var(--theme-line);color:var(--theme-muted);font-size:.68rem;font-weight:650;white-space:nowrap}@keyframes dating-idea-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}.invite-preview{display:grid;gap:6px;padding:15px;border:1px solid var(--theme-line-soft);border-radius:var(--theme-radius-card);background:linear-gradient(160deg,var(--theme-accent-soft),var(--theme-surface));color:var(--theme-text);min-width:0}.invite-preview__title{margin:0;display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:750;color:var(--theme-text-strong)}.invite-preview__message{margin:0;font-size:.92rem;line-height:1.45;overflow-wrap:anywhere}.invite-preview__line{margin:0;font-size:.8rem;color:var(--theme-muted);overflow-wrap:anywhere}.invite-preview__empty{margin:0;font-size:.78rem;color:var(--theme-muted)}.field__counter{display:block;margin-top:4px;font-size:.7rem;color:var(--theme-muted);text-align:right}.dating-invite-intro{display:grid;justify-items:center;gap:10px;padding:30px 18px;text-align:center;border:1px solid var(--theme-line-soft);border-radius:var(--theme-radius-card);background:var(--theme-surface)}.dating-invite-intro__emoji{font-size:2.6rem;line-height:1}.dating-invite-intro h2{margin:0;font-size:1.1rem}.dating-invite-intro p{margin:0;max-width:34ch;font-size:.85rem;line-height:1.5;color:var(--theme-muted)}.dating-invite-intro .duo-button{margin-top:6px}.invite-envelope{position:relative;min-width:0}.invite-envelope__closed{width:100%;display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--theme-accent);border-radius:var(--theme-radius-card);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface));color:var(--theme-text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s ease,box-shadow .2s ease;animation:invite-envelope-breathe 2.6s ease-in-out infinite}.invite-envelope__closed:active{transform:scale(.98)}.invite-envelope__closed:focus-visible{outline:3px solid var(--theme-focus);outline-offset:3px}.invite-envelope__badge{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--theme-accent);color:var(--theme-accent-ink);font-size:1.5rem;line-height:1;transition:transform .28s cubic-bezier(.2,.9,.3,1.4)}.invite-envelope.is-open .invite-envelope__badge{transform:scale(1.14) rotate(-6deg)}.invite-envelope__copy{display:grid;gap:3px;min-width:0}.invite-envelope__copy strong{font-size:1.02rem;line-height:1.25}.invite-envelope__copy small{font-size:.78rem;line-height:1.4;color:var(--theme-muted);overflow-wrap:anywhere}@keyframes invite-envelope-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012)}}.invite-envelope__panel{display:grid;gap:11px;padding:17px;border:1px solid var(--theme-accent);border-radius:var(--theme-radius-card);background:linear-gradient(160deg,var(--theme-accent-soft),var(--theme-surface));color:var(--theme-text);min-width:0;animation:invite-panel-in .24s ease}@keyframes invite-panel-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.invite-envelope__title{margin:0;display:flex;align-items:center;gap:7px;font-size:.95rem;font-weight:750;color:var(--theme-text-strong)}.invite-envelope__message{margin:0;padding:0 0 0 11px;border-left:3px solid var(--theme-accent);font-size:.95rem;line-height:1.5;overflow-wrap:anywhere}.invite-envelope__facts{margin:0;display:grid;gap:6px}.invite-envelope__facts>div{display:flex;align-items:baseline;gap:9px;min-width:0}.invite-envelope__facts dt{flex:0 0 auto;font-size:.9rem}.invite-envelope__facts dd{margin:0;font-size:.86rem;color:var(--theme-text);overflow-wrap:anywhere}.invite-envelope__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-width:0}.invite-envelope__action{width:100%;min-height:46px}.invite-envelope__action--decline{color:var(--theme-muted)}.invite-envelope__error{margin:0;padding:9px 11px;border-radius:14px;background:var(--theme-surface-2);color:var(--theme-danger);font-size:.78rem;line-height:1.4}.duo-start__actions{display:grid;gap:12px}.duo-start__action{display:grid;gap:4px;justify-items:start;width:100%;padding:18px 20px;text-align:left;border:1px solid var(--theme-line);border-radius:var(--theme-radius-card);background:var(--theme-surface-2);color:var(--theme-text);font:inherit;cursor:pointer;transition:transform .16s ease,background .2s ease}.duo-start__action:active{transform:scale(.98)}.duo-start__action:disabled{opacity:.6}.duo-start__action strong{font-size:1rem}.duo-start__action small{font-size:.8rem;line-height:1.4;color:var(--theme-muted)}.duo-start__emoji{font-size:1.7rem;line-height:1}.duo-offer__hero{font-size:3rem;line-height:1;text-align:center}.duo-offer__price{display:grid;gap:2px;justify-items:center;padding:16px;border:1px solid var(--theme-accent);border-radius:var(--theme-radius-card);background:linear-gradient(150deg,var(--theme-accent-soft),var(--theme-surface))}.duo-offer__price strong{font-size:2rem;line-height:1.1}.duo-offer__price span{font-size:.82rem;color:var(--theme-muted)}.duo-offer__price small{font-size:.8rem;color:var(--theme-chip-ink)}.duo-offer__benefits{display:grid;gap:8px;margin:0;padding:0;list-style:none}.duo-offer__benefits li{font-size:.87rem;line-height:1.45;color:var(--theme-text)}.duo-offer__benefits span{margin-right:6px}.duo-offer__promo{display:grid;gap:8px}.duo-offer__promo label{font-size:.82rem;color:var(--theme-muted)}.duo-offer__promo-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.duo-offer__promo-row input{min-width:0;padding:11px 13px;border:1px solid var(--theme-line);border-radius:var(--theme-radius);background:var(--theme-surface-2);color:var(--theme-text);font:inherit}.duo-trial__badge{align-self:center;padding:9px 18px;border:1px solid var(--theme-accent);border-radius:999px;background:var(--theme-accent-soft);color:var(--theme-chip-ink);font-size:.86rem;font-weight:800;line-height:1.3;letter-spacing:.01em}.duo-trial__terms{display:grid;gap:10px;margin:0;padding:0;list-style:none}.duo-trial__terms .duo-checkbox{width:100%}.duo-trial__terms .duo-checkbox__label{font-size:.85rem;line-height:1.45}@media(prefers-reduced-motion:reduce){.duo-start__action{transition:none}}.duo-card{display:grid;gap:10px;justify-items:stretch;min-width:0}.duo-card>.duo-button,.duo-card>.duo-badge,.duo-card>.ui-icon,.duo-card>.icon-button{justify-self:start}.duo-card__head{display:flex;gap:11px;align-items:flex-start}.duo-card__head strong{display:block;font-size:.98rem;line-height:1.3}.duo-card__icon{font-size:1.6rem;line-height:1.1}.duo-card__hint{margin:3px 0 0;font-size:.82rem;line-height:1.45;color:var(--theme-muted)}.duo-card__until{font-size:.78rem;color:var(--theme-muted)}.duo-card__pending{font-size:.78rem;color:var(--theme-chip-ink)}.duo-renew{display:grid;gap:11px}.duo-renew__price{display:grid;gap:2px;justify-items:center;padding:14px;border:1px solid var(--theme-accent);border-radius:var(--theme-radius-card);background:linear-gradient(150deg,var(--theme-accent-soft),var(--theme-surface))}.duo-renew__price strong{font-size:1.7rem;line-height:1.1}.duo-renew__price span{font-size:.8rem;color:var(--theme-muted)}.duo-renew__promo-label{font-size:.82rem;color:var(--theme-muted)}.duo-renew__promo-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.duo-renew__promo-row input{min-width:0;padding:11px 13px;border:1px solid var(--theme-line);border-radius:var(--theme-radius);background:var(--theme-surface-2);color:var(--theme-text);font:inherit}.duo-renew__applied{margin:0;font-size:.82rem;color:var(--theme-chip-ink)}.dating-ask__card{display:grid;gap:9px;justify-items:center;padding:26px 18px;text-align:center;border:1px solid var(--theme-accent);border-radius:var(--theme-radius-card);background:linear-gradient(150deg,var(--theme-accent-soft),var(--theme-surface))}.dating-ask__emoji{font-size:2.8rem;line-height:1}.dating-ask__text{margin:0;max-width:34ch;font-size:.87rem;line-height:1.5;color:var(--theme-text)}.dating-ask__cooldown{margin:0;padding:11px 13px;border-radius:16px;background:var(--theme-surface-2);color:var(--theme-muted);font-size:.82rem;line-height:1.45;text-align:center}.dating-ask__done{display:grid;gap:10px;justify-items:center;padding:34px 20px;text-align:center;border:1px solid var(--theme-accent);border-radius:var(--theme-radius-card);background:linear-gradient(150deg,var(--theme-accent-soft),var(--theme-surface))}.dating-ask__done-emoji{font-size:3rem;line-height:1;animation:dating-ask-beat 1.6s ease-in-out infinite}.dating-ask__done h2{margin:0;font-size:1.15rem}.dating-ask__done p{margin:0;max-width:32ch;font-size:.85rem;line-height:1.5;color:var(--theme-muted)}.dating-ask__done .duo-button{margin-top:8px}@keyframes dating-ask-beat{0%,to{transform:scale(1)}50%{transform:scale(1.09)}}@media(prefers-reduced-motion:reduce){.dating-ask__done-emoji{animation:none}}@media(max-width:360px){.invite-envelope__actions{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.invite-envelope__closed{animation:none;transition:none}.invite-envelope__closed:active{transform:none}.invite-envelope__badge{transition:none}.invite-envelope__panel{animation:none}}.dish-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.dish-card{position:relative;display:grid;gap:3px;padding:9px;border-radius:18px;background:#ffffffa8;min-width:0}.dish-card__photo{display:block;width:100%;aspect-ratio:1;border-radius:13px;overflow:hidden;background:#0000000d;margin-bottom:3px}.dish-card__photo img{width:100%;height:100%;object-fit:cover;display:block}.dish-card strong{font-size:.9rem;line-height:1.3;overflow-wrap:anywhere}.dish-card small{font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.dish-card .action-group{position:absolute;top:4px;right:4px}.recipe-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.recipe-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:16px;background:#ffffffa8;min-width:0}.recipe-item__link{flex:1 1 auto;min-width:0;display:grid;gap:1px;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;padding:4px 0}.recipe-item__link span{font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-item__link small{font-size:.72rem;color:var(--muted)}.debt-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.debt-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#ffffffa8;min-width:0}.debt-item__text{display:grid;gap:1px;flex:1 1 auto;min-width:0}.debt-item__text strong{font-size:.95rem;overflow-wrap:anywhere}.debt-item__text small{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.debt-item__meta{font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.debt-item__paid{font-size:.85rem;white-space:nowrap}.debt-item__mark{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--theme-accent-soft);font-size:1.05rem}.debt-item__who{font-size:.76rem;color:var(--theme-muted);overflow-wrap:anywhere}.debt-item__note{font-size:.78rem;color:var(--theme-muted);font-style:italic;overflow-wrap:anywhere}.debt-item__amount{flex:0 0 auto;font-size:1rem;font-weight:800;white-space:nowrap}.debt-item__actions{flex:0 0 auto;margin-left:auto}.debt-settled{list-style:none;margin:0;padding:0;display:grid;gap:6px}.debt-settled li{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:14px;background:#ffffff80;font-size:.88rem;color:var(--muted)}.debt-settled small{margin-left:auto;flex:0 0 auto}@media(max-width:359px){.debt-item,.cinema-item{flex-wrap:wrap}.debt-item__text,.cinema-item .duo-checkbox{flex:1 1 100%}.poop-hero__grid{grid-template-columns:repeat(3,1fr);gap:6px}.poop-hero__grid b{font-size:1.3rem}.dish-grid{grid-template-columns:repeat(2,1fr)}}.dish-picker{display:grid;justify-items:center;gap:3px;padding:14px;border-radius:20px;background:#fff9;border:1px dashed var(--line,#e6e0ea);text-align:center;cursor:pointer}.dish-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.dish-picker__icon{font-size:1.7rem;line-height:1}.dish-picker strong{font-size:.92rem}.dish-picker small{font-size:.75rem;color:var(--muted)}.photo-viewer{position:fixed;z-index:120;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:calc(env(safe-area-inset-top) + 10px) max(12px,env(safe-area-inset-left)) calc(env(safe-area-inset-bottom) + 12px) max(12px,env(safe-area-inset-right));background:radial-gradient(120% 78% at 50% 0%,#fff6fa,#fdf1f7 42%,#f3ecfb);color:var(--text);touch-action:none;overscroll-behavior:contain;animation:photo-viewer-in .24s var(--ease)}@keyframes photo-viewer-in{0%{opacity:0}to{opacity:1}}.photo-viewer__top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:var(--tap,44px)}.photo-viewer__spacer{width:var(--tap,44px);flex:0 0 var(--tap,44px)}.photo-viewer__btn{display:grid;place-items:center;width:var(--tap,44px);height:var(--tap,44px);padding:0;border:1px solid var(--line);border-radius:16px;background:#ffffffb8;color:var(--text);font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);box-shadow:0 6px 18px #35182f14;transition:transform .16s var(--ease),background .16s var(--ease);-webkit-tap-highlight-color:transparent}.photo-viewer__btn:hover{background:#ffffffeb}.photo-viewer__btn:active{transform:scale(.94);background:#fff}.photo-viewer__btn:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.photo-viewer__counter{padding:7px 15px;border-radius:999px;background:#ffffffd1;border:1px solid var(--line);box-shadow:0 6px 18px #35182f12;color:var(--text);font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums}.photo-viewer__stage{position:relative;min-width:0;min-height:0;overflow:hidden;touch-action:none;cursor:grab}.photo-viewer__stage:active{cursor:grabbing}.photo-viewer__track{display:flex;width:100%;height:100%;will-change:transform;transition:transform .3s var(--ease)}.photo-viewer__slide{flex:0 0 100%;min-width:0;min-height:0;display:grid;place-items:center;padding:10px 0}.photo-viewer__image-wrap{position:relative;display:grid;place-items:center;max-width:100%;max-height:100%;min-width:0;min-height:0;padding:9px;border-radius:var(--radius-lg,24px);background:var(--surface-strong,#fff);box-shadow:var(--shadow-soft,0 16px 44px rgba(80,43,72,.1));will-change:transform;transition:transform .2s var(--ease)}.photo-viewer__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md,18px);background:transparent;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;touch-action:none}.photo-image-shimmer{position:absolute;inset:9px;border-radius:var(--radius-md,18px);background:linear-gradient(100deg,#f7f2f5 32%,#fdf7f9,#f7f2f5 68%);background-size:200% 100%;animation:photo-shimmer 1.1s linear infinite;pointer-events:none}@keyframes photo-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.photo-viewer__bottom{position:relative;z-index:2;display:grid;gap:3px;justify-items:center;max-width:min(560px,100%);margin:0 auto;padding-top:10px;text-align:center}.photo-viewer__caption{margin:0;font-size:1rem;line-height:1.4;font-weight:700;color:var(--text);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.photo-viewer__meta{font-size:.82rem;line-height:1.35;color:var(--muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.photo-viewer__hint{margin:6px 0 0;text-align:center;font-size:.8rem;color:var(--muted)}@media(min-width:900px){.photo-viewer{padding-inline:64px}}@media(prefers-reduced-motion:reduce){.photo-viewer{animation:none}.photo-viewer__track,.photo-viewer__image-wrap{transition:none}.photo-image-shimmer{animation:none;background:#f7f2f5}}.viewer-menu{list-style:none;margin:0;padding:0;display:grid;gap:8px}.viewer-menu__row{display:flex;align-items:center;gap:13px;width:100%;min-height:52px;padding:0 14px;border:0;border-radius:var(--radius-md,18px);background:#ffffffb8;color:var(--text);font:inherit;font-size:1rem;font-weight:600;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .16s var(--ease),transform .16s var(--ease)}.viewer-menu__row:hover{background:#fffffff0}.viewer-menu__row:active{background:#fff;transform:scale(.99)}.viewer-menu__row:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.viewer-menu__row.is-danger{background:#ff706d17;color:#c8433f}.viewer-menu__row.is-danger:hover{background:#ff706d24}.viewer-menu__icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:var(--surface-strong,#fff);color:var(--coral);box-shadow:0 4px 12px #35182f12}.viewer-menu__row.is-danger .viewer-menu__icon{color:#c8433f}.viewer-menu__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dish-picker .photo-preview{width:100%;height:180px;object-fit:cover;border-radius:16px;display:block}:root{--theme-bg: #fff6f2;--theme-bg-2: #ffeef0;--theme-bg-style: gradient;--theme-decor: rgba(255, 176, 197, .22);--theme-surface: #fffaf7;--theme-surface-2: #fff3f1;--theme-surface-elevated: #ffffff;--theme-surface-style: soft;--theme-glass: 10px;--theme-text: #3b1d33;--theme-text-strong: #2a1224;--theme-muted: #8b6f80;--theme-accent: #ff6f8f;--theme-accent-2: #b18cff;--theme-accent-ink: #ffffff;--theme-accent-soft: #ffe6ec;--theme-button: #ff6f8f;--theme-button-ink: #ffffff;--theme-button-2: #ffd0dd;--theme-button-2-ink: #6b2740;--theme-input: #ffffff;--theme-input-ink: #3b1d33;--theme-input-line: rgba(120, 60, 90, .16);--theme-chip: #ffe6ec;--theme-chip-ink: #a63a5c;--theme-line: rgba(120, 60, 90, .12);--theme-line-soft: rgba(120, 60, 90, .07);--theme-border-style: subtle;--theme-shadow-color: rgba(150, 70, 100, .16);--theme-shadow: 0 10px 30px -12px var(--theme-shadow-color);--theme-shadow-strong: 0 22px 54px -18px var(--theme-shadow-color);--theme-radius: 20px;--theme-radius-card: 24px;--theme-radius-button: 16px;--theme-gap: 12px;--theme-nav: rgba(255, 252, 251, .9);--theme-nav-ink: #6b4f5e;--theme-nav-active: var(--theme-accent);--theme-topbar: rgba(255, 250, 247, .82);--theme-overlay: rgba(60, 25, 45, .42);--theme-editor: #fffaf8;--theme-sheet: #fffaf8;--theme-success: #2fa36b;--theme-warning: #e2913a;--theme-danger: #e2555f;--theme-focus: rgba(255, 111, 143, .28);--hero-bg: linear-gradient(150deg, #ffe9f0 0%, #f3ecff 52%, #e6f4ff 100%);--hero-glow: rgba(255, 255, 255, .8);--hero-ink: #ff79b7;--hero-chip: rgba(255, 245, 253, .88);--hero-art: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201200%20760'%20preserveAspectRatio='xMidYMid%20slice'%3e%3cdefs%3e%3clinearGradient%20id='sky'%20y2='1'%3e%3cstop%20stop-color='%23714caa'/%3e%3cstop%20offset='.44'%20stop-color='%23dd76ad'/%3e%3cstop%20offset='.72'%20stop-color='%23ffbf9b'/%3e%3cstop%20offset='1'%20stop-color='%236b3c83'/%3e%3c/linearGradient%3e%3cradialGradient%20id='sun'%3e%3cstop%20stop-color='%23fff4cf'/%3e%3cstop%20offset='.24'%20stop-color='%23ffd7c5'%20stop-opacity='.92'/%3e%3cstop%20offset='1'%20stop-color='%23ffb7d1'%20stop-opacity='0'/%3e%3c/radialGradient%3e%3clinearGradient%20id='cloud'%20y2='1'%3e%3cstop%20stop-color='%23ffd8f0'/%3e%3cstop%20offset='1'%20stop-color='%23b96bb5'/%3e%3c/linearGradient%3e%3clinearGradient%20id='shade'%20y2='1'%3e%3cstop%20stop-color='%23301f52'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23241938'%20stop-opacity='.78'/%3e%3c/linearGradient%3e%3cfilter%20id='soft'%3e%3cfeGaussianBlur%20stdDeviation='22'/%3e%3c/filter%3e%3c/defs%3e%3cpath%20fill='url(%23sky)'%20d='M0%200h1200v760H0z'/%3e%3ccircle%20cx='640'%20cy='430'%20r='320'%20fill='url(%23sun)'/%3e%3cpath%20d='M0%20485q130-80%20260%200t260-5q170-105%20320-12t360-20v312H0z'%20fill='%23ffd1dc'%20opacity='.25'%20filter='url(%23soft)'/%3e%3cg%20fill='url(%23cloud)'%20opacity='.72'%3e%3cpath%20d='M0%20550q90-95%20184-20%2055-106%20166-32%2085-85%20176%2020%20116-93%20218%2012%2094-72%20178%205%20106-94%20278%2018v207H0z'/%3e%3cpath%20d='M0%20651q82-68%20162-9%2069-103%20156-21%2098-84%20182%2016%2085-101%20178-8%20100-87%20188%2012%2093-90%20174-7%2079-69%20160-7v133H0z'/%3e%3c/g%3e%3cpath%20fill='url(%23shade)'%20d='M0%200h1200v760H0z'/%3e%3cg%20fill='%23392547'%3e%3cpath%20d='M580%20760q2-166%2034-222%2020-34%2066-46l42%202q52%2022%2069%2065%2031%2078%2028%20201z'/%3e%3ccircle%20cx='687'%20cy='451'%20r='47'/%3e%3cpath%20d='M733%20760q-1-143%2022-199%2020-46%2067-61l40%205q43%2020%2060%2062%2025%2062%2026%20193z'/%3e%3ccircle%20cx='822'%20cy='469'%20r='42'/%3e%3c/g%3e%3cg%20fill='none'%20stroke='%23fff7ff'%20stroke-width='7'%20stroke-linecap='round'%20opacity='.92'%3e%3cpath%20d='M130%20140q-38-68-61-17%200%2035%2061%2086%2056-52%2058-86-15-52-58%2017z'/%3e%3cpath%20d='M1025%20245q-29-48-48-11%200%2025%2048%2062%2042-37%2044-62-11-36-44%2011z'/%3e%3cpath%20d='M1100%20408q-21-38-38-9%200%2020%2038%2051%2034-30%2035-51-9-28-35%209z'/%3e%3c/g%3e%3cpath%20fill='%23fff'%20opacity='.28'%20d='M0%20537q90-74%20177%200t180-8q80-55%20161%205v23H0zm700-12q75-61%20150%200t164-5q82-50%20186%2013v26H700z'/%3e%3c/svg%3e");--hero-scrim: linear-gradient(90deg, rgba(55, 28, 76, .72), rgba(73, 35, 91, .37) 48%, rgba(71, 35, 88, .08));--hero-art-pos: center 48%;--hero-pad: 23px 24px;--hero-radius: var(--theme-radius-card, 28px);--hero-min: 278px;--hero-actions-gap: 8px;--hero-chip-ink: #55365e;--hero-ink-strong: #ffffff;--hero-meta-ink: rgba(255, 255, 255, .92);--hero-h1-shadow: 0 2px 18px rgba(41, 19, 58, .5);--hero-meta-shadow: 0 1px 12px rgba(41, 19, 58, .45)}[data-theme=sunset]{--theme-bg: #ff9a6b;--theme-bg-2: #ffd88a;--theme-bg-style: atmospheric;--theme-decor: rgba(255, 255, 255, .3);--theme-surface: #fff3e8;--theme-surface-2: #ffe3cf;--theme-surface-elevated: #fffaf5;--theme-surface-style: solid;--theme-glass: 0px;--theme-text: #4b2013;--theme-text-strong: #341009;--theme-muted: #93573c;--theme-accent: #e8452c;--theme-accent-2: #ff9f1c;--theme-accent-ink: #ffffff;--theme-accent-soft: #ffdfc9;--theme-button: #e8452c;--theme-button-ink: #ffffff;--theme-button-2: #ffcf9e;--theme-button-2-ink: #5c2410;--theme-input: #fffaf5;--theme-input-ink: #4b2013;--theme-input-line: rgba(120, 50, 20, .22);--theme-chip: #ffdfc9;--theme-chip-ink: #8c3a19;--theme-line: rgba(120, 50, 20, .2);--theme-line-soft: rgba(120, 50, 20, .11);--theme-border-style: none;--theme-shadow-color: rgba(140, 55, 20, .3);--theme-radius: 22px;--theme-radius-card: 26px;--theme-radius-button: 999px;--theme-gap: 13px;--theme-nav: rgba(255, 243, 232, .94);--theme-nav-ink: #7a3b22;--theme-topbar: rgba(255, 240, 226, .88);--theme-overlay: rgba(90, 35, 15, .5);--theme-editor: #fff6ec;--theme-sheet: #fff6ec;--theme-focus: rgba(232, 69, 44, .3);--hero-bg: linear-gradient(150deg, #fff0e2 0%, #ffe3cf 48%, #ffd9c2 100%);--hero-glow: rgba(255, 255, 255, .7);--hero-ink: #ffd08a;--hero-chip: rgba(255, 250, 244, .9);--hero-chip-ink: #6b3418;--hero-meta-ink: rgba(255, 249, 242, .94)}[data-theme=ocean]{--theme-danger: #fca5a5;--theme-bg: #0b2545;--theme-bg-2: #134074;--theme-bg-style: atmospheric;--theme-decor: rgba(120, 200, 255, .22);--theme-surface: rgba(255, 255, 255, .12);--theme-surface-2: rgba(255, 255, 255, .07);--theme-surface-elevated: rgba(255, 255, 255, .18);--theme-surface-style: glass;--theme-glass: 22px;--theme-text: #eaf4ff;--theme-text-strong: #ffffff;--theme-muted: #9db8d4;--theme-accent: #3fc1ff;--theme-accent-2: #5ee7d6;--theme-accent-ink: #04223f;--theme-accent-soft: rgba(63, 193, 255, .2);--theme-button: #3fc1ff;--theme-button-ink: #04223f;--theme-button-2: rgba(94, 231, 214, .2);--theme-button-2-ink: #c9fff8;--theme-input: rgba(255, 255, 255, .1);--theme-input-ink: #eaf4ff;--theme-input-line: rgba(160, 210, 255, .3);--theme-chip: rgba(63, 193, 255, .22);--theme-chip-ink: #bfe8ff;--theme-line: rgba(160, 210, 255, .26);--theme-line-soft: rgba(160, 210, 255, .14);--theme-border-style: visible;--theme-shadow-color: rgba(2, 12, 30, .5);--theme-radius: 16px;--theme-radius-card: 20px;--theme-radius-button: 12px;--theme-gap: 11px;--theme-nav: rgba(9, 34, 62, .82);--theme-nav-ink: #a9c6e2;--theme-topbar: rgba(9, 34, 62, .8);--theme-overlay: rgba(3, 14, 30, .62);--theme-editor: rgba(16, 48, 84, .96);--theme-sheet: rgba(16, 48, 84, .96);--theme-focus: rgba(63, 193, 255, .35);--hero-bg: linear-gradient(150deg, rgba(30, 88, 150, .55) 0%, rgba(16, 48, 84, .7) 100%);--hero-glow: rgba(180, 226, 255, .28);--hero-ink: #8fd8ff;--hero-chip: rgba(240, 250, 255, .9);--hero-chip-ink: #123a5e;--hero-meta-ink: rgba(233, 246, 255, .94)}[data-theme=forest]{--theme-bg: #e8f0e2;--theme-bg-2: #d9e6d0;--theme-bg-style: gradient;--theme-danger: #d95c50;--theme-decor: rgba(255, 255, 255, .35);--theme-surface: #faf6ec;--theme-surface-2: #f0e9d8;--theme-surface-elevated: #fffdf7;--theme-surface-style: solid;--theme-glass: 0px;--theme-text: #22331f;--theme-text-strong: #16240f;--theme-muted: #5f7355;--theme-accent: #2f6d3a;--theme-accent-2: #b07a2b;--theme-accent-ink: #ffffff;--theme-accent-soft: #dcecd4;--theme-button: #2f6d3a;--theme-button-ink: #ffffff;--theme-button-2: #e5d9bc;--theme-button-2-ink: #4a3a18;--theme-input: #fffdf7;--theme-input-ink: #22331f;--theme-input-line: rgba(60, 80, 45, .24);--theme-chip: #dcecd4;--theme-chip-ink: #2c5a35;--theme-line: rgba(60, 80, 45, .2);--theme-line-soft: rgba(60, 80, 45, .1);--theme-border-style: visible;--theme-shadow-color: rgba(45, 70, 40, .16);--theme-radius: 12px;--theme-radius-card: 14px;--theme-radius-button: 10px;--theme-gap: 12px;--theme-nav: rgba(250, 246, 236, .95);--theme-nav-ink: #46583f;--theme-topbar: rgba(244, 240, 228, .9);--theme-overlay: rgba(25, 40, 22, .48);--theme-editor: #faf6ec;--theme-sheet: #faf6ec;--theme-focus: rgba(47, 109, 58, .26);--hero-bg: linear-gradient(150deg, #f4f7e8 0%, #e4eed8 52%, #d8e6cc 100%);--hero-glow: rgba(255, 255, 255, .72);--hero-ink: #bdf0a0;--hero-chip: rgba(250, 255, 246, .9);--hero-chip-ink: #234a1c;--hero-meta-ink: rgba(244, 252, 240, .94)}[data-theme=lavender]{--theme-bg: #ece4ff;--theme-bg-2: #f7e2ff;--theme-bg-style: atmospheric;--theme-danger: #cf5b7e;--theme-decor: rgba(255, 255, 255, .5);--theme-surface: rgba(255, 255, 255, .72);--theme-surface-2: rgba(255, 255, 255, .5);--theme-surface-elevated: #ffffff;--theme-surface-style: glass;--theme-glass: 16px;--theme-text: #32235c;--theme-text-strong: #201246;--theme-muted: #6f6095;--theme-accent: #7c4dff;--theme-accent-2: #e05fd0;--theme-accent-ink: #ffffff;--theme-accent-soft: #e8dcff;--theme-button: #7c4dff;--theme-button-ink: #ffffff;--theme-button-2: #f0d9ff;--theme-button-2-ink: #4a1f77;--theme-input: rgba(255, 255, 255, .82);--theme-input-ink: #32235c;--theme-input-line: rgba(80, 50, 140, .2);--theme-chip: #e8dcff;--theme-chip-ink: #5a2fa8;--theme-line: rgba(80, 50, 140, .16);--theme-line-soft: rgba(80, 50, 140, .09);--theme-border-style: subtle;--theme-shadow-color: rgba(90, 50, 160, .18);--theme-radius: 26px;--theme-radius-card: 32px;--theme-radius-button: 999px;--theme-gap: 14px;--theme-nav: rgba(252, 249, 255, .9);--theme-nav-ink: #5d4a85;--theme-topbar: rgba(250, 246, 255, .82);--theme-overlay: rgba(45, 25, 80, .45);--theme-editor: rgba(252, 249, 255, .97);--theme-sheet: rgba(252, 249, 255, .97);--theme-focus: rgba(124, 77, 255, .28);--hero-bg: linear-gradient(150deg, #f3ecff 0%, #ece4ff 50%, #f7e2ff 100%);--hero-glow: rgba(255, 255, 255, .78);--hero-ink: #d9c4ff;--hero-chip: rgba(252, 249, 255, .9);--hero-chip-ink: #3f2a6b;--hero-meta-ink: rgba(248, 244, 255, .94)}[data-theme=graphite]{--theme-bg: #101114;--theme-bg-2: #1b1d22;--theme-bg-style: solid;--theme-danger: #f2857f;--theme-decor: rgba(255, 255, 255, .04);--theme-surface: #1a1c21;--theme-surface-2: #22252b;--theme-surface-elevated: #262930;--theme-surface-style: solid;--theme-glass: 0px;--theme-text: #eceef2;--theme-text-strong: #ffffff;--theme-muted: #969aa6;--theme-accent: #f5f6f8;--theme-accent-2: #7d8598;--theme-accent-ink: #101114;--theme-accent-soft: #2a2d34;--theme-button: #f5f6f8;--theme-button-ink: #101114;--theme-button-2: #2a2d34;--theme-button-2-ink: #dfe2e8;--theme-input: #1a1c21;--theme-input-ink: #eceef2;--theme-input-line: rgba(255, 255, 255, .18);--theme-chip: #2a2d34;--theme-chip-ink: #c9cdd6;--theme-line: rgba(255, 255, 255, .14);--theme-line-soft: rgba(255, 255, 255, .07);--theme-border-style: visible;--theme-shadow-color: rgba(0, 0, 0, .6);--theme-radius: 4px;--theme-radius-card: 6px;--theme-radius-button: 4px;--theme-gap: 12px;--theme-nav: rgba(20, 22, 26, .96);--theme-nav-ink: #a7abb6;--theme-topbar: rgba(20, 22, 26, .92);--theme-overlay: rgba(0, 0, 0, .68);--theme-editor: #1a1c21;--theme-sheet: #1a1c21;--theme-success: #4ade80;--theme-warning: #fbbf24;--theme-danger: #f87171;--theme-focus: rgba(255, 255, 255, .35);--hero-bg: linear-gradient(150deg, #2a2d34 0%, #1a1c21 55%, #24272e 100%);--hero-glow: rgba(255, 255, 255, .1);--hero-ink: #f0f2f5;--hero-chip: rgba(255, 255, 255, .1);--hero-scrim: linear-gradient(96deg, rgba(8, 9, 12, .74), rgba(16, 18, 22, .42) 48%, rgba(24, 27, 33, .1));--hero-chip-ink: #f0f2f5;--hero-ink-strong: #ffffff;--hero-meta-ink: rgba(255, 255, 255, .86);--hero-h1-shadow: 0 2px 16px rgba(0, 0, 0, .5);--hero-meta-shadow: 0 1px 10px rgba(0, 0, 0, .45)}body{color:var(--theme-text);background-color:var(--theme-bg);background-image:radial-gradient(1100px 620px at 12% -8%,var(--theme-decor),transparent 62%),linear-gradient(168deg,var(--theme-bg),var(--theme-bg-2));background-attachment:fixed}body[data-bg=solid]{background-image:linear-gradient(180deg,var(--theme-bg),var(--theme-bg-2))}.app-shell{color:var(--theme-text)}.duo-card{background:var(--theme-surface);border-radius:var(--theme-radius-card);box-shadow:var(--theme-shadow);color:var(--theme-text)}.duo-card--glass{background:var(--theme-surface);backdrop-filter:blur(var(--theme-glass));-webkit-backdrop-filter:blur(var(--theme-glass))}.topbar{background:var(--theme-topbar);border-color:var(--theme-line-soft)}.topbar .brand-button,.topbar__context{color:var(--theme-text)}.bottom-nav{background:var(--theme-nav);border-color:var(--theme-line);box-shadow:var(--theme-shadow-strong);color:var(--theme-nav-ink)}.bottom-nav__item{color:var(--theme-nav-ink);border-radius:var(--theme-radius-button)}.bottom-nav__item.is-active{color:var(--theme-nav-active);background:var(--theme-accent-soft)}.duo-button--primary{background:var(--theme-button);color:var(--theme-button-ink);box-shadow:var(--theme-shadow);border-radius:var(--theme-radius-button)}.duo-button--secondary{background:var(--theme-button-2);color:var(--theme-button-2-ink);border-radius:var(--theme-radius-button)}.duo-button--ghost{color:var(--theme-nav-ink)}.duo-button--danger{background:var(--theme-danger);color:#fff}.duo-button--soft{background:var(--theme-accent-soft);color:var(--theme-accent)}input,textarea,select{background:var(--theme-input);color:var(--theme-input-ink);border-color:var(--theme-input-line);border-radius:var(--theme-radius)}input::placeholder,textarea::placeholder{color:var(--theme-muted)}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--theme-accent);box-shadow:0 0 0 3px var(--theme-focus)}label,.field>span{color:var(--theme-text)}.duo-badge{background:var(--theme-chip);color:var(--theme-chip-ink);border-radius:var(--theme-radius-button)}.eyebrow{color:var(--theme-muted)}.form-success,.success-notice{color:var(--theme-success)}.form-error,.error-state{color:var(--theme-danger)}.editor-overlay{background:var(--theme-overlay)}.editor{background:var(--theme-editor);color:var(--theme-text);border-radius:var(--theme-radius-card);box-shadow:0 24px 60px -20px var(--theme-shadow-color)}.editor__head,.editor__foot{border-color:var(--theme-line-soft)}.editor__foot{background:var(--theme-editor)}.editor__close{background:var(--theme-accent-soft);color:var(--theme-muted)}.editor__title h2{color:var(--theme-text-strong)}.sheet{background:var(--theme-sheet);color:var(--theme-text);border-radius:var(--theme-radius-card) var(--theme-radius-card) 0 0}.sheet-backdrop{background:var(--theme-overlay)}.sheet__message{color:var(--theme-muted)}.sheet__close{background:var(--theme-accent-soft);color:var(--theme-muted)}h1,h2,h3{color:var(--theme-text-strong)}p{color:var(--theme-text)}.label-hint,.duo-section__hint,.page-subtitle{color:var(--theme-muted)}:focus-visible{outline-color:var(--theme-accent)}body,.duo-card,.editor,.sheet,.bottom-nav{transition:background-color .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}@media(prefers-reduced-motion:reduce){body,.duo-card,.editor,.sheet,.bottom-nav{transition:none}}.theme-picker__hint{margin:0;color:var(--theme-muted);font-size:.86rem;line-height:1.5}.theme-picker__footer{display:grid;gap:10px}.theme-picker__active{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.88rem;color:var(--theme-muted)}.theme-picker__badge{padding:2px 9px;border-radius:99px;background:var(--theme-accent-soft);color:var(--theme-accent);font-size:.72rem;font-weight:700}.theme-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-grid>li{min-width:0}.theme-option{position:relative;width:100%;display:grid;gap:7px;padding:10px;border:1.5px solid var(--theme-line);border-radius:20px;background:var(--theme-surface);text-align:left;cursor:pointer;transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.theme-option:active{transform:scale(.98)}.theme-option.is-selected{border-color:var(--theme-accent);box-shadow:0 0 0 3px var(--theme-focus)}.theme-option:disabled{opacity:.7;cursor:wait}.theme-option__swatch{position:relative;display:block;height:52px;border-radius:14px;overflow:hidden;background:var(--theme-bg);border:1px solid var(--theme-line-soft)}.theme-option__bg{position:absolute;inset:0;background:var(--theme-bg)}.theme-option__card{position:absolute;left:8px;right:8px;top:10px;height:20px;border-radius:8px;background:var(--theme-surface);box-shadow:var(--theme-shadow-card)}.theme-option__accent{position:absolute;left:8px;bottom:8px;width:34px;height:8px;border-radius:99px;background:var(--theme-accent)}.theme-option__name{font-size:.86rem;font-weight:700;color:var(--theme-text)}.theme-option__note{font-size:.72rem;line-height:1.35;color:var(--theme-muted)}.theme-option__pair{position:absolute;top:14px;right:14px;padding:2px 8px;border-radius:99px;background:var(--theme-accent-soft);color:var(--theme-accent);font-size:.66rem;font-weight:700}@media(max-width:340px){.theme-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.theme-option{transition:none}}.home-empty-widgets__actions{display:grid;gap:8px;margin:4px 0 2px}.widget-chooser__group{display:grid;gap:8px;min-width:0}.widget-chooser__title{margin:0;font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--theme-muted)}.widget-chooser__list{list-style:none;margin:0;padding:0;display:grid;gap:8px;min-width:0}.widget-chooser__item{width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;border:1.5px solid var(--theme-line);border-radius:18px;background:var(--theme-surface);text-align:left;cursor:pointer;transition:transform .18s var(--ease),border-color .18s var(--ease)}.widget-chooser__item:active{transform:scale(.985)}.widget-chooser__item:disabled{cursor:default}.widget-chooser__item.is-installed{opacity:.62;border-style:dashed}.widget-chooser__icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:13px;background:var(--theme-accent-soft);color:var(--theme-accent);font-size:1rem}.widget-chooser__copy{flex:1 1 auto;min-width:0;display:grid;gap:2px}.widget-chooser__name{font-size:.9rem;font-weight:700;color:var(--theme-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-chooser__note{font-size:.74rem;line-height:1.35;color:var(--theme-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-chooser__state{flex:none;padding:4px 10px;border-radius:99px;background:var(--theme-accent);color:var(--theme-on-accent);font-size:.7rem;font-weight:700}.widget-chooser__item.is-installed .widget-chooser__state{background:var(--theme-accent-soft);color:var(--theme-accent)}@media(prefers-reduced-motion:reduce){.widget-chooser__item{transition:none}}.duo-card>.duo-button,.duo-card>.duo-badge,.duo-card>.ui-icon,.duo-card>.icon-button,.duo-card>.duo-progress,.duo-card>.photo-image-state{justify-self:stretch}.profile-inline-empty,.habits-empty,.state--empty,.home-empty-widgets{text-align:center;display:grid;justify-items:center;align-content:center;gap:10px}.profile-inline-empty p,.habits-empty p,.state--empty p,.home-empty-widgets p{margin-inline:auto}.profile-inline-empty>.duo-button,.habits-empty>.duo-button,.state--empty>.duo-button,.home-empty-widgets__actions{justify-self:center}.home-empty-widgets__actions{justify-content:center}.important-date__title h3,.important-date__note,.important-date__hints,.cinema-item__title,.recipe-item__link span,.debt-item__text strong,.dream__text strong,.catalog-card__body strong,.catalog-card__body p,.achievement-card__title,.story-achievement__text strong,.widget-card__body p{overflow-wrap:anywhere;word-break:break-word}.habit-month-nav{display:flex;align-items:center;gap:8px;min-width:0}.habit-month-nav__label{flex:1 1 auto;min-width:0;text-align:center;font-weight:800;font-size:.9rem;color:var(--theme-text)}.habit-calendar__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.habit-calendar__weekdays span{text-align:center;font-size:.68rem;font-weight:800;color:var(--theme-muted);text-transform:uppercase;letter-spacing:.04em}.habit-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:10px;border-radius:var(--theme-radius-card);background:var(--theme-surface-2)}.habit-day{position:relative;aspect-ratio:1;min-width:0;display:grid;place-items:center;align-content:center;gap:1px;border-radius:14px;background:var(--theme-surface);color:var(--theme-muted);font-size:.76rem;font-weight:700;line-height:1;box-shadow:inset 0 0 0 1px var(--theme-line-soft)}.habit-day small{font-size:.85rem;line-height:1}.habit-day--completed{background:var(--theme-accent-soft);color:var(--theme-text-strong);box-shadow:inset 0 0 0 1.5px var(--theme-accent)}.habit-day--partial{background:var(--theme-chip);color:var(--theme-chip-ink)}.habit-day--skipped{background:var(--theme-surface-2);opacity:.7}.habit-day--empty{background:transparent;box-shadow:none;opacity:.3}.habit-day--today{box-shadow:inset 0 0 0 2.5px var(--theme-accent-2)}.habit-day--today:after{content:"";position:absolute;left:50%;bottom:5px;translate:-50% 0;width:4px;height:4px;border-radius:50%;background:var(--theme-accent-2)}.habit-calendar__legend{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.habit-calendar__legend li{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--theme-muted)}.habit-calendar__legend i{width:12px;height:12px;border-radius:5px;background:var(--theme-accent-soft);box-shadow:inset 0 0 0 1.5px var(--theme-accent)}.habit-calendar__legend li:nth-child(2) i{background:var(--theme-chip);box-shadow:none}.habit-calendar__legend li:nth-child(3) i{background:var(--theme-surface-2);box-shadow:none}.photo-preview{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:var(--theme-surface-2)}.photo-drop{position:relative;display:grid;place-items:center;align-content:center;min-height:190px;padding:16px;overflow:hidden}.photo-drop>.photo-preview{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit}.dream-picker .photo-preview,.dish-picker .photo-preview{width:100%;height:200px;object-fit:contain;border-radius:16px}.moment-photo-strip__item .photo-preview{width:100%;height:100%;object-fit:contain;border-radius:18px}.widget-latest{display:grid;align-content:center;justify-items:center;min-height:170px;padding:0;border:0;border-radius:18px;overflow:hidden;background:var(--theme-surface-2);cursor:pointer;text-align:left;width:100%}.widget-latest img,.widget-latest .photo-image-state{width:100%;height:auto;max-height:min(46vh,320px);object-fit:contain;object-position:center;display:block}.widget-latest__caption{position:relative;display:grid;gap:2px;width:100%;padding:10px 13px 12px;background:var(--theme-surface);color:var(--theme-text);text-align:left}.tod-card{text-align:center;justify-items:center;gap:10px}.tod-card__type{justify-self:center}.tod-card__text{margin:0;width:100%;font-size:1.12rem;line-height:1.5;text-align:center;overflow-wrap:anywhere}.tod-card .today-idea__actions{justify-content:center;width:100%}.tod-choices{text-align:center;justify-items:center}.tod-choices__hint{text-align:center;width:100%}.tod-choices__grid{width:100%}.tod-choice{justify-items:center;text-align:center}.tod-intro{text-align:center;justify-items:center}.tod-intro p{text-align:center;max-width:34ch}.tod-intro .duo-button{justify-self:center}.tod-adult{width:100%;display:grid;gap:10px;justify-items:center}.cringe-lobby,.cringe-waiting,.cringe-score,.cringe-card,.cringe-result,.cringe-event,.cringe-draw{text-align:center;justify-items:center}.cringe-lobby p,.cringe-event p,.cringe-card__text{margin-inline:auto;max-width:36ch;text-align:center}.cringe-waiting h3,.cringe-waiting p{text-align:center;width:100%;margin-inline:auto}.cringe-score__row{width:100%}.cringe-bets{justify-content:center;width:100%}.cringe-result h3,.cringe-result p{text-align:center}.cringe-card__secret{width:100%}.cringe-card .duo-button{justify-self:center}.cringe-waiting{display:grid;gap:8px;justify-items:center;padding:18px 12px}.cringe-waiting>:where(h3,p,small){text-align:center;max-width:34ch;margin-inline:auto}.story-achievements,.profile-achievements-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:10px;justify-items:stretch}.story-achievement,.achievement-card{display:grid;gap:6px;justify-items:center;align-content:start;text-align:center;padding:14px 10px;min-width:0}.story-achievement__icon,.achievement-card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--theme-accent-soft);color:var(--theme-accent)}.story-achievement__text{display:grid;gap:4px;justify-items:center;min-width:0;width:100%}.story-achievement__text strong{text-align:center;font-size:.86rem;line-height:1.3}.story-achievement__text small,.story-achievement__text em{text-align:center;font-size:.72rem;color:var(--theme-muted)}.story-achievement .duo-progress{width:100%}.story-achievement.is-locked{opacity:.72}.story-achievements__summary{text-align:center;margin:0 0 10px;color:var(--theme-muted);font-size:.85rem}.debt-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--theme-radius-card);background:var(--theme-surface);border:1px solid var(--theme-line-soft);box-shadow:var(--theme-shadow);min-width:0}.debt-item__text{display:grid;gap:3px;min-width:0}.debt-item__text strong{font-size:.95rem;line-height:1.35}.debt-item__text small{font-size:.78rem;color:var(--theme-muted);line-height:1.4}.debt-item__meta{justify-self:start;padding:3px 10px;border-radius:999px;background:var(--theme-chip);color:var(--theme-chip-ink);font-size:.74rem;font-weight:700}.debt-item .duo-checkbox{flex:0 0 auto}.debt-item .duo-checkbox .duo-checkbox__label{display:none}.dream{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 12px;align-items:start;padding:14px;border-radius:var(--theme-radius-card);background:var(--theme-surface);border:1px solid var(--theme-line-soft);box-shadow:var(--theme-shadow);min-width:0}.catalog-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;min-width:0;border:1px solid var(--theme-line-soft);border-radius:var(--theme-radius-card);background:var(--theme-surface);box-shadow:var(--theme-shadow);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.catalog-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:var(--theme-accent-soft);color:var(--theme-accent)}.catalog-card__body{display:grid;gap:3px;min-width:0}.catalog-card__body strong{font-size:.9rem;line-height:1.3;overflow-wrap:anywhere}.catalog-card__body p{margin:0;font-size:.75rem;line-height:1.4;color:var(--theme-muted)}.catalog-card__body small{font-size:.68rem;font-weight:700;color:var(--theme-muted)}.catalog-card__done,.catalog-card__soon{justify-self:end;padding:6px 12px;border-radius:999px;font-size:.74rem;font-weight:800;white-space:nowrap}.catalog-card__done{background:var(--theme-accent-soft);color:var(--theme-accent)}.catalog-card__soon{background:var(--theme-surface-2);color:var(--theme-muted)}.catalog-card--planned{opacity:.8}@media(max-width:380px){.catalog-card{grid-template-columns:40px minmax(0,1fr)}.catalog-card__done,.catalog-card__soon,.catalog-card>.duo-button{grid-column:1/-1;justify-self:stretch;text-align:center}}.settings-about{display:grid;justify-items:center;align-content:center;gap:6px;text-align:center;padding:34px 22px}.settings-about h2{margin:0}.settings-about strong{font-size:1.05rem;line-height:1.35}.settings-about p{max-width:26ch;margin:0}.settings-about small{margin-top:6px;padding:4px 12px;border-radius:999px;background:var(--theme-surface-2);color:var(--theme-muted);font-size:.75rem;font-weight:700}.widget-missyou{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:13px;width:100%;padding:15px 16px;border:0;border-radius:20px;font:inherit;color:var(--w-ink,#fff);text-align:left;cursor:pointer;background:linear-gradient(135deg,var(--w-accent,var(--theme-accent)),color-mix(in srgb,var(--w-accent,var(--theme-accent)) 62%,#7a1233));box-shadow:0 14px 30px -14px var(--w-accent,var(--theme-accent));transition:transform .16s var(--ease),box-shadow .16s var(--ease),filter .16s var(--ease)}.widget-missyou:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,#ffffff57,#fff0 46%)}.widget-missyou:not(:disabled):active{transform:scale(.975);filter:saturate(1.08)}.widget-missyou:disabled{background:linear-gradient(135deg,var(--theme-surface-2),var(--theme-chip));color:var(--theme-muted);box-shadow:none;cursor:default;opacity:1}.widget-missyou:disabled:after{display:none}.widget-missyou__heart{font-size:2rem;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.2))}.widget-missyou__text{display:grid;gap:2px;min-width:0;color:inherit}.widget-missyou__text strong{font-size:1.08rem;letter-spacing:-.01em;color:inherit}.widget-missyou__text small{font-size:.76rem;line-height:1.3;opacity:.92;color:inherit}.widget-today--preview{grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:start}.widget-today--preview .widget-today__actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.widget-today__status{grid-column:1/-1;justify-self:start;padding:4px 11px;border-radius:999px;background:var(--theme-chip);color:var(--theme-chip-ink);font-size:.72rem;font-weight:700}.widget-today__status.is-done{background:var(--theme-accent-soft);color:var(--theme-accent)}.recipe-item__host{font-size:.72rem;color:var(--theme-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-item__link{text-align:left}.notification-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:start}.notification-card>strong{grid-column:2;text-align:left;overflow-wrap:anywhere}.notification-card p,.notification-card small{grid-column:2}.notification-card__icon{grid-row:1/span 4}.notification-settings{gap:8px}.notification-type-row{min-width:0}.notification-type-row__label{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.notification-center__empty{text-align:center;display:grid;justify-items:center;gap:8px;padding:24px 16px}.cinema-item{align-items:center}@media(max-width:360px){.cinema-item{gap:6px;padding:10px}}.important-date,.moment-card{min-width:0;overflow:hidden}.important-date__icon,.important-date__countdown{flex:0 0 auto;max-width:100%}.moment-extra,.moment-extra__item{min-width:0;overflow:hidden}.profile-menu,.profile-menu button{min-width:0}.profile-menu button>span:nth-child(2){min-width:0}.profile-menu small{overflow-wrap:anywhere}.home-quick{display:none}.duo-hero{position:relative;display:grid;justify-items:center;align-content:center;gap:10px;padding:var(--hero-pad);border-radius:var(--hero-radius);min-height:var(--hero-min);overflow:hidden;text-align:center;isolation:isolate;background:var(--hero-bg);color:var(--theme-text);box-shadow:var(--theme-shadow)}.duo-hero__art{position:absolute;z-index:0;inset:0;pointer-events:none;background-image:var(--hero-art),var(--hero-scrim);background-size:cover,cover;background-position:var(--hero-art-pos),var(--hero-art-pos);background-repeat:no-repeat,no-repeat}.duo-hero__glow{position:absolute;z-index:0;inset:-40% -20% auto;height:240px;pointer-events:none;background:radial-gradient(closest-side,var(--hero-glow),transparent)}.duo-hero__avatars{position:relative;z-index:1;margin-bottom:4px}.duo-hero__copy{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;min-width:0}.duo-hero__copy .eyebrow{color:var(--hero-ink)}.duo-hero h1,.duo-hero h2{position:relative;margin:0;line-height:1.1;letter-spacing:-.02em;overflow-wrap:anywhere}.duo-hero h1{font-size:clamp(1.55rem,7vw,2.35rem);color:var(--hero-ink-strong);text-shadow:var(--hero-h1-shadow)}.duo-hero h2{font-size:clamp(1.25rem,5vw,1.6rem)}.duo-hero h1 i{font-style:normal;color:var(--hero-ink);font-size:.78em}.duo-hero__days{position:relative;margin:0;color:var(--hero-meta-ink);font-size:.95rem;text-shadow:var(--hero-meta-shadow)}.duo-hero__days b{color:var(--hero-ink-strong);font-size:1.15rem;font-weight:800}.duo-hero__since{position:relative;margin:0;padding:5px 13px;border-radius:999px;background:var(--hero-chip);color:var(--hero-chip-ink);font-size:.74rem;font-weight:700}.duo-hero__actions{position:relative;display:flex;gap:var(--hero-actions-gap);flex-wrap:wrap;justify-content:center;margin-top:12px}.duo-hero__actions .duo-button--ghost{background:var(--hero-chip);color:var(--hero-chip-ink)}@media(max-width:539px){.duo-hero{--hero-pad:18px 16px;--hero-radius:26px;--hero-art-pos:62% center;--hero-min:330px;--hero-scrim:linear-gradient(180deg,rgba(56,28,73,.12),rgba(49,25,72,.62))}}@media(max-width:380px){.duo-hero{--hero-pad:16px 14px}}.app-footer{width:100%;max-width:760px;margin:auto;padding:18px 18px calc(84px + env(safe-area-inset-bottom));border-top:1px solid var(--theme-line-soft)}.app-footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;min-width:0}.app-footer__legal{display:grid;gap:2px;min-width:0;color:var(--theme-muted)}.app-footer__legal strong{font-size:.8rem;font-weight:800;line-height:1.3;color:var(--theme-text);overflow-wrap:anywhere}.app-footer__legal small{font-size:.72rem;font-weight:600;letter-spacing:.01em}.app-footer__support{display:grid;gap:6px;justify-items:end;min-width:0;text-align:right}.app-footer__button{flex:0 0 auto;white-space:normal;text-align:center}.app-footer__note{max-width:32ch;font-size:.68rem;line-height:1.4;color:var(--theme-muted);overflow-wrap:anywhere}.app-footer__note code{font:inherit;font-weight:800;color:var(--theme-text);overflow-wrap:anywhere}@media(max-width:539px){.app-footer{padding-inline:16px}.app-footer__inner{flex-direction:column;align-items:stretch;gap:14px}.app-footer__legal,.app-footer__support{justify-items:center;text-align:center}.app-footer__note{max-width:none}}.widget-card__heading{justify-content:flex-start;min-width:0}.widget-card--center{text-align:center;justify-items:center}.widget-card--center .widget-card__heading{justify-content:center}.widget-card--center .widget-card__body{width:100%}.widget-card--center .widget-card__hint{text-align:center;margin-inline:auto}.duo-card__head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center}.duo-card__head>div{display:grid;gap:2px;min-width:0}.duo-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:var(--theme-accent-soft);font-size:1.4rem}.duo-card__until,.duo-card__pending{justify-self:start;padding:4px 11px;border-radius:999px;font-size:.74rem;font-weight:700;background:var(--theme-chip);color:var(--theme-chip-ink)}.duo-card__pending{background:var(--theme-surface-2);color:var(--theme-muted)}.dream__photo{grid-area:photo;display:block;width:76px;height:76px;border-radius:16px;overflow:hidden;background:var(--theme-surface-2)}.dream__photo img,.dream__photo .photo-image-state{width:100%;height:100%;object-fit:cover;display:block}.dream__text{grid-area:text;display:grid;gap:4px;min-width:0}.dream__text strong{font-size:.98rem;line-height:1.3;overflow-wrap:anywhere}.dream__text p{margin:0;font-size:.84rem;line-height:1.45;color:var(--theme-muted)}.dream__text small{font-size:.75rem;color:var(--theme-muted)}.dream .duo-checkbox{grid-area:check;align-self:center;flex:0 0 auto}.dream__tools{grid-area:tools;grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.dream.is-done .dream__text strong{text-decoration:line-through;opacity:.62}.widget-latest__caption small{font-size:.68rem;opacity:.85;color:var(--theme-muted)}.widget-latest__caption strong{font-size:.87rem;line-height:1.25;color:var(--theme-text)}.widget-love__row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.widget-love__chip{flex:0 0 auto;width:46px;height:46px;padding:0;line-height:1;display:grid;place-items:center;align-content:center;border:1px solid var(--theme-line);border-radius:16px;background:var(--theme-surface);color:var(--theme-text);font-size:1.35rem;cursor:pointer;transition:transform .16s var(--ease),background .16s var(--ease)}.widget-love__chip>span{display:block;line-height:1;font-size:1.35rem}.important-date__foot,.cinema-item,.recipe-item,.debt-item,.dream__tools,.achievement-card__actions,.widget-card__heading{min-width:0}.important-date__hints,.recipe-item__link,.debt-item__text,.catalog-card__body{flex:1 1 auto;min-width:0}.important-date__foot{flex-wrap:wrap;justify-content:space-between}.today-summary{min-width:0}.today-summary__inner{display:grid;gap:6px;justify-items:start;min-width:0}.today-summary__title{margin:0;font-size:1.06rem;line-height:1.3;overflow-wrap:anywhere}.today-summary__category{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;background:var(--theme-accent-soft);color:var(--theme-text-strong);font-size:.7rem;font-weight:750;white-space:nowrap}.today-summary__hint{margin:0;font-size:.8rem;color:var(--theme-muted);overflow-wrap:anywhere}.today-step{display:grid;gap:8px;min-width:0}.today-step__mark{font-size:2rem;line-height:1}.today-step__category{display:inline-flex;align-items:center;gap:7px;justify-self:start;padding:5px 13px;border-radius:999px;background:var(--theme-accent-soft);color:var(--theme-text-strong);font-size:.74rem;font-weight:750}.today-step__title{margin:0;font-size:1.24rem;line-height:1.25;overflow-wrap:anywhere}.today-step__text{margin:0;font-size:.92rem;line-height:1.5;color:var(--theme-muted);overflow-wrap:anywhere}.today-step__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;font-size:.78rem;color:var(--theme-muted)}.today-step__meta span{display:inline-flex;align-items:center;gap:5px;min-width:0}.today-step__actions{display:grid;gap:8px;margin-top:6px}.today-footer{display:grid;gap:8px;min-width:0}@media(min-width:420px){.today-footer{grid-template-columns:minmax(0,1fr) auto}.today-footer .duo-button{width:auto}}.widget-tasks-preview{display:grid;gap:8px;min-width:0}.widget-tasks-preview__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;min-width:0;padding-top:2px}.widget-tasks-preview__foot small{flex:1 1 auto;font-size:.72rem;color:var(--theme-muted);overflow-wrap:break-word;min-width:0}.widget-tasks-preview__foot .duo-button{flex:0 0 auto;white-space:nowrap}.widget-tasks-preview__foot .duo-button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-group{display:flex;align-items:center;gap:4px;flex:0 0 auto;min-width:0}.action-group__button{display:inline-grid;place-items:center;flex:0 0 auto;width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:14px;cursor:pointer;background:var(--theme-surface);color:var(--theme-muted);box-shadow:inset 0 0 0 1px var(--theme-line);transition:transform .16s var(--ease),background .16s var(--ease),color .16s var(--ease)}.action-group__button svg{pointer-events:none}.action-group__button:active{transform:scale(.94)}.action-group__button.is-danger{color:var(--theme-danger)}.action-group__button.is-on{background:var(--theme-accent-soft);color:var(--theme-text-strong);box-shadow:inset 0 0 0 2px var(--theme-accent)}.action-group__button:disabled{opacity:.45;cursor:default;transform:none}@media(max-width:359px){.action-group{gap:2px}.action-group__button{width:40px;height:40px;border-radius:13px}}.cinema-item,.recipe-item,.debt-item{flex-wrap:wrap}.cinema-item .duo-checkbox{flex:1 1 auto;min-width:0}.cinema-item__actions,.recipe-item>.action-group{margin-left:auto}.relation-choice{display:grid;gap:10px;margin-top:4px}.relation-back{justify-self:start;min-height:44px;padding:0 4px;margin:0;border:0;background:none;color:var(--theme-muted);font:inherit;font-size:.84rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.relation-back:active{color:var(--theme-text)}.relation-back:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px;border-radius:8px}.join-form input[type=text],.join-form input:not([type]){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem;letter-spacing:.08em;text-align:center}@media(prefers-reduced-motion:reduce){.relation-back{transition:none}}.widget-card--hero{grid-column:1 / -1}.wish-map__tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:var(--theme-radius,16px);background:var(--theme-surface-2);min-width:0}.wish-map__tabs button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 10px;border:0;border-radius:calc(var(--theme-radius,16px) - 5px);background:transparent;color:var(--theme-muted);font:inherit;font-size:.86rem;font-weight:750;cursor:pointer;-webkit-tap-highlight-color:transparent;min-width:0;transition:color .18s ease}.wish-map__tabs button.is-active{color:var(--theme-text)}.wish-map__tabs button small{flex:0 0 auto;min-width:22px;padding:1px 6px;border-radius:999px;background:var(--theme-accent-soft);color:var(--theme-chip-ink);font-size:.7rem;font-weight:800}.wish-map__tabs button:not(.is-active) small{background:var(--theme-line-soft);color:var(--theme-muted)}.wish-map__tabs-thumb{position:absolute;z-index:0;top:4px;left:4px;width:calc(50% - 6px);height:calc(100% - 8px);border-radius:calc(var(--theme-radius,16px) - 5px);background:var(--theme-surface-elevated);box-shadow:var(--theme-shadow-strong);transition:transform .22s cubic-bezier(.3,.9,.3,1.05)}.wish-map__tabs-thumb[data-active=partner]{transform:translate(calc(100% + 4px))}.wish-map__empty{text-align:center;display:grid;gap:10px;justify-items:center}.wish-map__empty h2{margin:0}.wish-map__empty p{margin:0;color:var(--theme-muted);font-size:.88rem;line-height:1.5}.wish-map__empty-emoji{font-size:2.6rem;line-height:1}.wish-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.wish-card{display:grid;grid-template-columns:104px 1fr;gap:12px;min-width:0;padding:10px;border-radius:var(--theme-radius-card,20px);background:var(--theme-surface);border:1px solid var(--theme-line);box-shadow:var(--theme-shadow-strong);animation:wish-card-in .28s cubic-bezier(.2,.9,.3,1.05) both}.wish-card.is-primary{border-color:transparent;background:linear-gradient(140deg,var(--theme-accent-soft),var(--theme-surface))}.wish-card.is-done{opacity:.9;border-style:dashed}.wish-card.is-done .wish-card__title{text-decoration:line-through;text-decoration-color:var(--theme-muted);color:var(--theme-muted)}@keyframes wish-card-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.wish-card__media{position:relative;min-width:0;aspect-ratio:1/1;overflow:hidden;border-radius:calc(var(--theme-radius-card,20px) - 8px);background:var(--theme-surface-2)}.wish-card__media img{width:100%;height:100%;object-fit:cover;display:block}.wish-card__placeholder,.wish-hero__placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:2rem;line-height:1;background:linear-gradient(140deg,var(--theme-accent-soft),var(--theme-surface-2))}.wish-card__badge,.wish-card__done-badge,.wish-hero__badge{position:absolute;left:6px;bottom:6px;right:6px;padding:3px 8px;border-radius:999px;font-size:.66rem;font-weight:800;line-height:1.35;text-align:center}.wish-card__badge{background:var(--theme-accent);color:var(--theme-accent-ink)}.wish-card__done-badge{background:var(--theme-surface-elevated);color:var(--theme-chip-ink)}.wish-card__body{display:grid;gap:6px;align-content:start;min-width:0}.wish-card__title{font-size:.95rem;line-height:1.3;overflow-wrap:anywhere;min-width:0}.wish-card__occasion{display:inline-flex;align-items:center;gap:5px;align-self:start;padding:3px 9px;border-radius:999px;background:var(--theme-chip);color:var(--theme-chip-ink);font-size:.72rem;font-weight:750}.wish-card__link{justify-self:start;padding:0;border:0;background:none;color:var(--theme-accent);font:inherit;font-size:.78rem;font-weight:750;cursor:pointer;text-align:left}.wish-card__link:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px;border-radius:8px}.wish-card__completed{font-size:.74rem;color:var(--theme-muted)}.wish-card__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;min-width:0}.wish-history{display:grid;gap:10px}.wish-history__title{margin:4px 0 0;font-size:.95rem;color:var(--theme-muted)}.wish-hero{display:grid;gap:10px;min-width:0}.wish-hero__media{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:var(--theme-radius-card,20px);background:var(--theme-surface-2)}.wish-hero__media img{width:100%;height:100%;object-fit:cover;display:block}.wish-hero__badge{left:10px;right:auto;bottom:10px;padding:5px 11px;font-size:.72rem;background:var(--theme-accent);color:var(--theme-accent-ink)}.wish-hero__body{display:grid;gap:7px;justify-items:start;min-width:0}.wish-hero__body strong{font-size:1.06rem;line-height:1.3;overflow-wrap:anywhere}.wish-hero__occasion{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--theme-chip);color:var(--theme-chip-ink);font-size:.74rem;font-weight:750}.wish-hero--empty{justify-items:center;text-align:center;gap:8px;padding:18px 12px}.wish-hero--empty .wish-hero__mark{font-size:2.4rem;line-height:1}.wish-hero--empty strong{font-size:1rem}.wish-hero--empty small{color:var(--theme-muted);font-size:.82rem}.wish-editor__photo{display:grid;gap:8px;min-width:0}.wish-editor__preview{width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:var(--theme-radius-card,20px);background:var(--theme-surface-2)}.wish-editor__preview img{width:100%;height:100%;object-fit:cover;display:block}.wish-editor__placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:2.4rem}.wish-editor__occasions{border:0;margin:0;padding:0;min-width:0}.wish-editor__occasions legend{padding:0 0 7px;font-size:.8rem;font-weight:750;color:var(--theme-text)}.wish-editor__chips{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.wish-chip{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 12px;border:1px solid var(--theme-line);border-radius:999px;background:var(--theme-surface-2);color:var(--theme-text);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .16s ease,border-color .16s ease}.wish-chip.is-selected{border-color:transparent;background:var(--theme-accent);color:var(--theme-accent-ink)}.wish-chip:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}@media(max-width:359px){.wish-card{grid-template-columns:84px 1fr;gap:10px;padding:8px}.wish-map__tabs button{font-size:.8rem;padding:0 6px}.wish-hero__media{aspect-ratio:1/1}}@media(prefers-reduced-motion:reduce){.wish-card{animation:none}.wish-map__tabs-thumb{transition:none}}.duo-checkbox{border-color:var(--theme-input-line);background:var(--theme-surface-2);color:var(--theme-text)}.duo-checkbox__box{border-color:var(--theme-input-line);background:var(--theme-surface-elevated);color:var(--theme-accent-ink)}.duo-checkbox.is-checked .duo-checkbox__box{border-color:transparent;background:var(--theme-accent)}.duo-checkbox__label{color:var(--theme-text)}.duo-checkbox:focus-within{outline-color:var(--theme-focus)}.widgets-page{position:relative;min-width:0}.widgets-page--edit{padding-bottom:calc(140px + env(safe-area-inset-bottom))}.widgets-filters{display:flex;gap:9px;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding-inline:2px;margin:0 -2px;padding:2px 2px 4px}.widgets-filters::-webkit-scrollbar{display:none}.widget-filter{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 15px;border:1px solid var(--theme-line-soft);border-radius:999px;background:color-mix(in srgb,var(--theme-surface-elevated) 82%,transparent);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);box-shadow:0 8px 20px -14px var(--theme-shadow-color);color:var(--theme-text);font-size:.82rem;font-weight:750;white-space:nowrap;transition:transform .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease),color .16s var(--ease)}.widget-filter .ui-icon{flex:none;opacity:.8}.widget-filter:active{transform:scale(.95)}.widget-filter:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.widget-filter.is-active{border-color:transparent;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-accent-2) 100%);color:var(--theme-accent-ink);box-shadow:0 12px 26px -12px color-mix(in srgb,var(--theme-accent) 80%,transparent),inset 0 1px #ffffff57}.widget-filter.is-active .ui-icon{opacity:1}.widgets-catalog{display:grid;gap:12px;min-width:0}.widgets-masonry{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;min-width:0;align-items:stretch}.widgets-masonry>*{min-width:0;margin:0}.widgets-masonry>.widget-tile{grid-column:span 6}.widgets-masonry>.widget-tile--full{grid-column:1 / -1}.widgets-masonry>.widgets-hero{grid-column:1 / span 6;grid-row:span 2;min-height:100%}.widgets-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:236px;padding:20px 18px 18px;border-radius:26px;background:radial-gradient(ellipse at 82% 24%,rgba(255,209,233,.72),transparent 34%),radial-gradient(ellipse at 78% 75%,rgba(255,165,209,.46),transparent 42%),linear-gradient(155deg,#75439d,#b75fba 46%,#ef8cb3);box-shadow:0 26px 48px -24px color-mix(in srgb,var(--theme-accent-2) 75%,transparent),inset 0 1px #ffffff8a;color:#fff}.widgets-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 18% 100%,rgba(255,225,251,.38),transparent 45%),linear-gradient(180deg,transparent 60%,rgba(53,19,78,.2))}.widgets-hero>*{position:relative;z-index:1}.widgets-hero__glow{z-index:0!important;top:-36px;right:-34px;width:190px;height:190px;background:radial-gradient(circle,rgba(255,255,255,.58),rgba(255,201,238,.16) 38%,transparent 72%)}.widgets-hero__heart{font-size:3rem;text-shadow:0 8px 24px rgba(255,255,255,.62)}.widgets-hero__action{background:#ffffffe0;color:#53316c}.widgets-page .page-header h1{font-size:clamp(1.7rem,6vw,2.15rem);font-weight:850;letter-spacing:-.035em}.widgets-page--edit .widgets-hero__action{background:#fffffff2}.widgets-page--edit .widgets-filters .widget-filter:not(.is-active){background:color-mix(in srgb,var(--theme-accent-soft) 34%,var(--theme-surface-elevated))}.widgets-page--edit .widgets-masonry .widget-tile:not(.widget-tile--selected){border-color:color-mix(in srgb,var(--theme-accent-2) 44%,var(--theme-line-soft));box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-accent-2) 24%,transparent),0 14px 30px -20px var(--theme-shadow-color)}.widgets-page--edit .widgets-masonry .widget-tile--selected{border-color:var(--theme-accent-2);box-shadow:0 0 0 2px var(--theme-accent-2),0 18px 38px -20px color-mix(in srgb,var(--theme-accent-2) 80%,transparent)}.widgets-hero__glow{position:absolute;top:-64px;right:-44px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55),transparent 70%);pointer-events:none}.widgets-hero__heart{position:absolute;top:44px;right:10px;z-index:0;font-size:2.4rem;line-height:1;filter:drop-shadow(0 10px 16px rgba(70,30,70,.4));animation:widgets-heart 3.2s ease-in-out infinite}@keyframes widgets-heart{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(4deg)}}.widgets-hero__eyebrow{position:relative;z-index:1;font-size:.62rem;font-weight:850;letter-spacing:.22em;text-transform:uppercase;opacity:.82}.widgets-hero__home-badge{position:absolute;z-index:2;top:13px;right:13px;padding:6px 10px;border:1px solid rgba(255,255,255,.46);border-radius:999px;background:#fff3;font-size:.68rem;font-weight:800;color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.widgets-hero__title{position:relative;z-index:1;max-width:calc(100% - 52px);margin:0;font-size:1.34rem;line-height:1.06;letter-spacing:-.03em;font-weight:850;color:#fff;text-wrap:balance}.widgets-hero__text{position:relative;z-index:1;margin:0;max-width:23ch;font-size:.76rem;line-height:1.45;opacity:.92}.widgets-masonry .widgets-hero{grid-column:1 / span 6;grid-row:span 2;min-height:100%}.widgets-masonry .widget-tile{grid-column:span 6}.widgets-masonry .widget-tile--full{grid-column:1 / -1}.widgets-masonry .widget-tile{--wc-pad:13px;--wc-gap:8px;--wc-radius:22px;--wc-title:.92rem;--wc-desc:.72rem;--wc-icon:36px;--wc-icon-radius:12px;min-height:176px}.widgets-hero__action{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;margin-top:auto;min-height:42px;padding:0 15px;border:0;border-radius:999px;background:color-mix(in srgb,var(--theme-surface-elevated) 94%,transparent);color:var(--theme-text);font-size:.82rem;font-weight:800;box-shadow:0 16px 30px -16px #3c193c99;transition:transform .16s var(--ease),box-shadow .16s var(--ease)}.widgets-hero__action .ui-icon{flex:none;opacity:.75}.widgets-hero__action span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widgets-hero__action:active{transform:scale(.96)}.widgets-hero__action:focus-visible{outline:3px solid rgba(255,255,255,.7);outline-offset:2px}.widget-tile{--wc-pad:13px;--wc-gap:8px;--wc-radius:22px;--wc-title:.92rem;--wc-desc:.72rem;--wc-icon:36px;--wc-icon-radius:12px;--wc-shade:rgba(22,8,20,.52);position:relative;overflow:hidden;display:grid;gap:var(--wc-gap);align-content:start;min-width:0;padding:var(--wc-pad);border:1px solid var(--theme-line-soft);border-radius:var(--wc-radius);background:color-mix(in srgb,var(--theme-surface-elevated) 80%,transparent);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 12px 26px -18px var(--theme-shadow-color);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}.widget-tile:before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:linear-gradient(150deg,color-mix(in srgb,var(--theme-surface-elevated) 46%,transparent),transparent 44%)}.widget-tile:active{transform:scale(.99)}.widget-tile--selected{border-color:var(--theme-accent-2);background:color-mix(in srgb,var(--theme-accent-soft) 82%,var(--theme-surface));box-shadow:0 0 0 2px var(--theme-accent-2),0 18px 38px -20px color-mix(in srgb,var(--theme-accent-2) 80%,transparent)}.widget-tile--planned{opacity:.72}.widget-tile{overflow:visible}.widget-tile__head{position:relative;z-index:1;display:flex;align-items:center;gap:9px;min-width:0}.widget-tile__head--open{width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:14px}.widget-tile__head--open:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.widget-tile__chevron--held{visibility:hidden}.widget-tile__icon,.widget-card__icon{flex:none;display:grid;place-items:center;width:var(--wc-icon);height:var(--wc-icon);border-radius:var(--wc-icon-radius);color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--theme-accent) 82%,var(--wc-shade)),var(--theme-accent));box-shadow:0 6px 14px -8px var(--wc-shade),inset 0 1px #ffffff57}.widget-tile__icon .ui-icon,.widget-card__icon .ui-icon{width:17px;height:17px}.widget-tile__icon.widget-tile__icon--png,.widget-card__icon.widget-card__icon--png{padding:3px;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)}.widget-tile__icon--png .ui-icon,.widget-card__icon--png .ui-icon{opacity:0}.widget-tile__icon--coral,.widget-card__icon--coral{background:linear-gradient(140deg,color-mix(in srgb,var(--coral) 82%,var(--wc-shade)),var(--coral))}.widget-tile__icon--pink,.widget-card__icon--pink{background:linear-gradient(140deg,color-mix(in srgb,var(--pink) 74%,var(--wc-shade)),var(--pink))}.widget-tile__icon--blue,.widget-card__icon--blue{background:linear-gradient(140deg,color-mix(in srgb,var(--blue) 72%,var(--wc-shade)),var(--blue))}.widget-tile__icon--mint,.widget-card__icon--mint{background:linear-gradient(140deg,color-mix(in srgb,var(--mint) 72%,var(--wc-shade)),var(--mint))}.widget-tile__icon--yellow,.widget-card__icon--yellow{background:linear-gradient(140deg,color-mix(in srgb,var(--yellow) 74%,var(--wc-shade)),var(--yellow))}.widget-tile__icon--purple,.widget-card__icon--purple{background:linear-gradient(140deg,color-mix(in srgb,var(--purple) 74%,var(--wc-shade)),var(--purple))}.widget-tile__copy{flex:1 1 auto;min-width:0;display:grid;gap:2px}.widget-tile__title{font-size:var(--wc-title);font-weight:750;line-height:1.2;letter-spacing:-.014em;color:var(--theme-text);word-break:normal;overflow-wrap:break-word;hyphens:none;-webkit-hyphens:none;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.widget-tile__desc{display:-webkit-box;font-size:var(--wc-desc);line-height:1.3;letter-spacing:-.006em;color:var(--theme-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:normal;overflow-wrap:break-word;hyphens:none;-webkit-hyphens:none}.widget-tile__chevron{flex:none;color:var(--theme-muted);opacity:.55}.widget-tile__body{position:relative;z-index:1;min-width:0;font-size:.8rem;line-height:1.35;color:var(--theme-text)}.widget-tile__catalog-description{margin:6px 0 0;color:var(--theme-muted);font-size:var(--wc-desc);line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.widget-tile__body :is(img,video,canvas,svg){max-width:100%}.widget-tile__body :where(p,span,strong,small,li,dd,dt,h3,h4){word-break:normal;overflow-wrap:break-word;hyphens:none;-webkit-hyphens:none}.widget-tile__body .duo-button{flex:0 0 auto;white-space:nowrap;max-width:100%}.widget-tile__body .duo-button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-tile__home{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 9px;border:1px solid var(--theme-line-soft);border-radius:999px;background:color-mix(in srgb,var(--theme-surface-elevated) 92%,transparent);font-size:.68rem;font-weight:750;color:var(--theme-muted)}.widget-tile__foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;margin-top:1px}.widget-tile__foot--reserved{min-height:34px}.widget-tile__edit,.widget-tile__add{flex:0 1 auto;justify-content:flex-start;min-width:0;white-space:nowrap;min-height:34px;padding:0 11px;gap:6px;border:1px solid var(--theme-line);border-radius:999px;font-size:.74rem;font-weight:750;letter-spacing:-.008em;box-shadow:none}@media(max-width:479px){.widget-tile__edit .ui-icon,.widget-tile__add .ui-icon{display:none}}@media(max-width:429px){.widget-tile__edit,.widget-tile__add{padding:0 8px;font-size:.7rem;letter-spacing:-.014em}.widget-tile__foot{gap:6px}.widget-select{width:26px;height:26px}}.widget-tile__edit{background:color-mix(in srgb,var(--theme-surface-elevated) 92%,transparent);color:var(--theme-text)}.widget-tile__add{background:var(--theme-accent-soft);color:var(--theme-accent);border-color:transparent}.widget-tile__edit span,.widget-tile__add span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-tile__soon{padding:7px 13px;border-radius:999px;background:var(--theme-surface-2);color:var(--theme-muted);font-size:.74rem;font-weight:800}.widget-select{flex:none;display:grid;place-items:center;width:30px;height:30px;padding:0;border:2px solid var(--theme-line);border-radius:50%;background:color-mix(in srgb,var(--theme-surface-elevated) 92%,transparent);color:transparent;cursor:pointer;transition:transform .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)}.widget-select:active{transform:scale(.85)}.widget-select:disabled{opacity:.6;cursor:not-allowed}.widget-select:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.widget-select--on{border-color:transparent;color:var(--theme-accent-ink);background:linear-gradient(140deg,var(--theme-accent-2),var(--theme-accent));box-shadow:0 10px 20px -10px color-mix(in srgb,var(--theme-accent) 85%,transparent)}.widgets-bar{position:fixed;z-index:41;left:50%;transform:translate(-50%);bottom:calc(82px + env(safe-area-inset-bottom));width:min(760px,calc(100% - 20px));display:flex;align-items:center;gap:10px;pointer-events:none;animation:widgets-bar-in .28s var(--ease) both}.widgets-bar>*{pointer-events:auto}@keyframes widgets-bar-in{0%{transform:translate(-50%,16px);opacity:0}to{transform:translate(-50%);opacity:1}}.widgets-bar__home{flex:1 1 0%;min-width:0;min-height:52px;padding-inline:14px;gap:6px;border-radius:999px;font-weight:850;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-accent-2) 100%);color:var(--theme-accent-ink);box-shadow:0 20px 38px -18px color-mix(in srgb,var(--theme-accent) 85%,transparent),inset 0 1px #ffffff57}.widgets-bar__count{display:grid;place-items:center;flex:none;min-width:23px;height:23px;padding:0 6px;margin-left:7px;border-radius:999px;background:#ffffff4d;font-size:.72rem;font-weight:850}.widgets-bar__all{flex:0 0 auto;min-width:0;min-height:52px;padding:0 14px;gap:6px;border-radius:999px;border:1px solid var(--theme-line-soft);background:color-mix(in srgb,var(--theme-surface-elevated) 92%,transparent);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);color:var(--theme-text);font-weight:850;box-shadow:0 16px 32px -18px var(--theme-shadow-color)}.widgets-bar__all span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widgets-bar__all:disabled{opacity:.75}@media(max-width:359px){.widgets-masonry{gap:8px}.widget-tile{--wc-pad:10px;--wc-gap:7px;--wc-radius:20px;--wc-title:.78rem;--wc-desc:.66rem;--wc-icon:32px;--wc-icon-radius:11px}.widget-tile__head{gap:7px}.widget-tile__chevron{display:none}.widget-tile__desc{-webkit-line-clamp:1}.widget-tile__home{padding:3px 7px;font-size:.62rem}.widget-tile__foot{gap:4px}.widget-tile__edit,.widget-tile__add{min-height:32px;padding:0 6px;font-size:.66rem;letter-spacing:-.02em}.widget-select{width:25px;height:25px}.widgets-hero{min-height:206px;gap:7px;padding:15px 11px 13px;border-radius:22px}.widgets-hero__title{font-size:1.12rem}.widgets-hero__text{font-size:.71rem;max-width:none}.widgets-hero__heart{display:none}.widgets-hero__title{max-width:none}.widgets-hero__action{min-height:38px;padding:0 10px;font-size:.74rem;gap:4px;letter-spacing:-.01em}.widgets-hero__action .ui-icon:last-child{display:none}.widget-filter{min-height:36px;padding:0 12px;gap:6px;font-size:.76rem}.widgets-bar{flex-wrap:wrap;gap:8px;width:min(760px,calc(100% - 16px))}.widgets-bar__home,.widgets-bar__all,.widgets-bar__remove{flex:1 1 100%}.widgets-page--edit{padding-bottom:calc(200px + env(safe-area-inset-bottom))}.widgets-hero__home-badge{top:10px;right:9px;padding:4px 7px;font-size:.6rem}}@media(min-width:360px)and (max-width:429px){.widgets-masonry{gap:10px}.widget-tile{--wc-pad:12px;--wc-gap:8px}.widgets-hero{padding:17px 15px 15px;border-radius:24px}.widgets-hero__title{font-size:1.2rem;max-width:calc(100% - 46px)}.widgets-hero__heart{top:40px;right:8px;font-size:2.1rem}.widgets-hero__action{min-height:40px;padding:0 13px;font-size:.78rem;gap:6px}.widgets-hero__action .ui-icon:last-child{display:none}}@media(prefers-reduced-motion:reduce){.widget-filter,.widget-tile,.widget-select,.widgets-hero__action,.widget-tile__edit,.widget-tile__add,.widgets-bar{transition:none}.widgets-hero__heart,.widgets-bar{animation:none}}.widget-identity{display:flex;align-items:center;gap:var(--wc-gap);min-width:0;width:100%}.widget-identity__copy{display:grid;gap:2px;flex:1 1 auto;min-width:0}.widget-identity__title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:var(--wc-title);font-weight:750;line-height:1.2;letter-spacing:-.014em;color:var(--theme-text);word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.widget-identity__subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:var(--wc-desc);line-height:1.3;letter-spacing:-.006em;color:var(--theme-muted);word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.widget-card__heading .widget-identity__title{margin:0}.widget-card__hint.widget-identity__subtitle{margin:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:var(--wc-desc);line-height:1.3;letter-spacing:-.006em;color:var(--theme-muted);word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.widget-tile__head{gap:var(--wc-gap)}.widget-tile__heading.widget-identity{flex:1 1 auto;width:auto}.widget-tile__chevron{flex:none}.widget-tile__home{flex:0 1 auto;min-width:0}.widget-identity__title+.widget-tile__desc.widget-identity__subtitle{min-width:0}.widget-tile .duo-button:not(.widget-tile__edit):not(.widget-tile__add),.widget-card .duo-button,.widget-grid .duo-button{flex:0 0 auto;white-space:nowrap;max-width:100%}.widget-tile .duo-button>span,.widget-card .duo-button>span,.widget-grid .duo-button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-tile .duo-button .ui-icon,.widget-card .duo-button .ui-icon,.widget-grid .duo-button .ui-icon{flex:none}.widget-card{--wc-pad:13px;--wc-gap:8px;--wc-radius:22px;--wc-title:.92rem;--wc-desc:.72rem;--wc-icon:36px;--wc-icon-radius:12px;--wc-shade:rgba(22,8,20,.52);gap:var(--wc-gap);padding:var(--wc-pad);border-radius:var(--wc-radius)}.widget-card:before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:linear-gradient(150deg,color-mix(in srgb,var(--theme-surface-elevated) 46%,transparent),transparent 44%)}.widget-card__heading{gap:8px}.widget-card__heading h3{font-size:var(--wc-title);font-weight:750;line-height:1.2;letter-spacing:-.014em}.widget-card__hint{font-size:var(--wc-desc);line-height:1.3;letter-spacing:-.006em}.widget-card__body{font-size:.8rem;line-height:1.35}.page-stack,.widgets-catalog,.widget-tile,.widget-card,.widget-tasks-preview,.widget-tasks,.widget-important-dates,.widget-latest,.wish-hero,.board-preview,.widget-love,.widget-emotions,.widget-countdown,.widget-today,.widget-games,.widget-distance,.widget-hugs,.widget-habits,.widget-mood,.widget-counter,.widget-sleep{grid-template-columns:minmax(0,1fr)}.widgets-masonry{max-width:100%}@media(min-width:540px){.duo-hero{grid-template-columns:164px minmax(0,1fr);grid-template-rows:auto auto;justify-items:start;align-items:center}.duo-hero__avatars{grid-column:1;grid-row:1 / 3;justify-self:center;margin-bottom:0}.duo-hero__copy{grid-column:2;grid-row:1;justify-items:start;text-align:left;width:100%}.duo-hero__since{grid-column:2;grid-row:2;justify-self:start}.duo-hero__actions{grid-column:2;justify-content:flex-start}}.home-empty-widgets{align-content:center;justify-items:center;gap:0}.home-empty-widgets__copy{justify-self:center}.home-widget-section .widget-grid{gap:10px}.home-widget-section .widget-card--full,.home-widget-section .widget-card--hero{grid-column:1 / -1}.home-widget-section .widget-card{--wc-pad:13px;--wc-gap:8px;--wc-title:.92rem;--wc-icon:36px;--wc-icon-radius:12px}@media(max-width:380px){.home-widget-section .widget-card{--wc-pad:10px;--wc-gap:6px;--wc-title:.76rem;--wc-icon:30px;--wc-icon-radius:10px}}.widget-card{--wc-pad:13px;--wc-gap:8px;--wc-radius:22px;--wc-title:.92rem;--wc-desc:.72rem;--wc-icon:36px;--wc-icon-radius:12px;--wc-shade:rgba(22,8,20,.52);position:relative;overflow:hidden;display:grid;align-content:start;min-width:0;gap:var(--wc-gap);padding:var(--wc-pad);border-radius:var(--wc-radius);background:color-mix(in srgb,var(--theme-surface-elevated) 80%,transparent);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 12px 26px -18px var(--theme-shadow-color)}.widget-tile--hero,.widget-card--hero{grid-column:1 / -1}@media(max-width:380px){.widget-card{--wc-pad:10px;--wc-gap:6px;--wc-title:.76rem;--wc-desc:.66rem;--wc-icon:30px;--wc-icon-radius:10px;border-radius:18px}}.widget-tile__body .board-preview,.widget-card__body .board-preview{gap:2px}.widget-tile__body .board-preview__line,.widget-card__body .board-preview__line{font-size:.78rem;line-height:1.3}.widget-tile__body .board-preview__line b,.widget-card__body .board-preview__line b{font-size:.92rem}.widget-tile__body .board-preview__hint,.widget-card__body .board-preview__hint,.widget-tile__body .board-preview__total,.widget-card__body .board-preview__total{font-size:.74rem;line-height:1.3}.widget-latest.widget-latest--empty{min-height:0;padding:13px;justify-items:start;text-align:left;gap:10px}.wish-hero .duo-button{white-space:normal;text-align:center;line-height:1.25;padding-block:8px;max-width:100%}.widgets-bar__remove{flex:0 0 auto;min-width:0;min-height:52px;padding:0 14px;gap:6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--theme-accent) 40%,transparent);background:color-mix(in srgb,var(--theme-surface-elevated) 92%,transparent);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);color:var(--theme-accent);font-weight:850;box-shadow:0 16px 32px -18px var(--theme-shadow-color)}.widgets-bar__remove span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widgets-bar__remove:disabled{opacity:.75}.widget-counter__days,.widget-counter__label,.widget-counter__headline{font-variant-numeric:tabular-nums}.widget-counter__headline{max-width:100%;word-break:normal;overflow-wrap:break-word;hyphens:none;-webkit-hyphens:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-distance__value,.widget-sleep__row b{font-variant-numeric:tabular-nums}.widget-mood{gap:5px}.widget-mood__cell{padding:8px 4px;border-radius:12px;background:var(--theme-surface-2)}.widget-habits{gap:9px}.widget-habits__meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-tasks{gap:5px}.widget-tasks li>button:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-empty{gap:6px;font-size:.78rem;line-height:1.3}.widget-empty :is(button,.duo-button){white-space:nowrap}.widget-skeleton{height:44px;border-radius:12px}@media(max-width:359px){.widget-card{--wc-pad:11px;--wc-gap:7px;--wc-title:.78rem;--wc-desc:.66rem;--wc-icon:28px;--wc-icon-radius:10px}.widget-counter__days{font-size:1.7rem}.widget-distance__value{font-size:1.55rem}.widget-mood__emoji{font-size:1.4rem}.widget-habits__ring{width:46px;height:46px}}.widget-tile__dots{flex:none;display:flex;align-items:center;gap:6px;min-width:0}@media(max-width:380px){.duo-hero{gap:8px}.duo-hero .duo-avatar--lg{width:56px;height:56px}.duo-hero__copy h1{font-size:1.16rem}.home-widget-section .widget-grid{grid-template-columns:1fr;gap:8px}.home-widget-section .widget-card{border-radius:18px}.widgets-masonry{gap:8px}.widgets-masonry .widget-tile{--wc-pad:10px;--wc-gap:6px;--wc-title:.76rem;--wc-desc:.66rem;--wc-icon:30px;--wc-icon-radius:10px;min-height:164px}.home-empty-widgets{min-height:min(560px,calc(100svh - 200px));grid-template-rows:auto auto;padding:24px 16px}}@media(prefers-reduced-motion:reduce){.widget-card{transition:none}}body{background:#fff0f4 url(/assets/duo-app-hero-CVT3LV-6.webp) center bottom/cover fixed no-repeat}.duo-hero__art{background-image:var(--hero-art,url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201200%20760'%20preserveAspectRatio='xMidYMid%20slice'%3e%3cdefs%3e%3clinearGradient%20id='sky'%20y2='1'%3e%3cstop%20stop-color='%23714caa'/%3e%3cstop%20offset='.44'%20stop-color='%23dd76ad'/%3e%3cstop%20offset='.72'%20stop-color='%23ffbf9b'/%3e%3cstop%20offset='1'%20stop-color='%236b3c83'/%3e%3c/linearGradient%3e%3cradialGradient%20id='sun'%3e%3cstop%20stop-color='%23fff4cf'/%3e%3cstop%20offset='.24'%20stop-color='%23ffd7c5'%20stop-opacity='.92'/%3e%3cstop%20offset='1'%20stop-color='%23ffb7d1'%20stop-opacity='0'/%3e%3c/radialGradient%3e%3clinearGradient%20id='cloud'%20y2='1'%3e%3cstop%20stop-color='%23ffd8f0'/%3e%3cstop%20offset='1'%20stop-color='%23b96bb5'/%3e%3c/linearGradient%3e%3clinearGradient%20id='shade'%20y2='1'%3e%3cstop%20stop-color='%23301f52'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23241938'%20stop-opacity='.78'/%3e%3c/linearGradient%3e%3cfilter%20id='soft'%3e%3cfeGaussianBlur%20stdDeviation='22'/%3e%3c/filter%3e%3c/defs%3e%3cpath%20fill='url(%23sky)'%20d='M0%200h1200v760H0z'/%3e%3ccircle%20cx='640'%20cy='430'%20r='320'%20fill='url(%23sun)'/%3e%3cpath%20d='M0%20485q130-80%20260%200t260-5q170-105%20320-12t360-20v312H0z'%20fill='%23ffd1dc'%20opacity='.25'%20filter='url(%23soft)'/%3e%3cg%20fill='url(%23cloud)'%20opacity='.72'%3e%3cpath%20d='M0%20550q90-95%20184-20%2055-106%20166-32%2085-85%20176%2020%20116-93%20218%2012%2094-72%20178%205%20106-94%20278%2018v207H0z'/%3e%3cpath%20d='M0%20651q82-68%20162-9%2069-103%20156-21%2098-84%20182%2016%2085-101%20178-8%20100-87%20188%2012%2093-90%20174-7%2079-69%20160-7v133H0z'/%3e%3c/g%3e%3cpath%20fill='url(%23shade)'%20d='M0%200h1200v760H0z'/%3e%3cg%20fill='%23392547'%3e%3cpath%20d='M580%20760q2-166%2034-222%2020-34%2066-46l42%202q52%2022%2069%2065%2031%2078%2028%20201z'/%3e%3ccircle%20cx='687'%20cy='451'%20r='47'/%3e%3cpath%20d='M733%20760q-1-143%2022-199%2020-46%2067-61l40%205q43%2020%2060%2062%2025%2062%2026%20193z'/%3e%3ccircle%20cx='822'%20cy='469'%20r='42'/%3e%3c/g%3e%3cg%20fill='none'%20stroke='%23fff7ff'%20stroke-width='7'%20stroke-linecap='round'%20opacity='.92'%3e%3cpath%20d='M130%20140q-38-68-61-17%200%2035%2061%2086%2056-52%2058-86-15-52-58%2017z'/%3e%3cpath%20d='M1025%20245q-29-48-48-11%200%2025%2048%2062%2042-37%2044-62-11-36-44%2011z'/%3e%3cpath%20d='M1100%20408q-21-38-38-9%200%2020%2038%2051%2034-30%2035-51-9-28-35%209z'/%3e%3c/g%3e%3cpath%20fill='%23fff'%20opacity='.28'%20d='M0%20537q90-74%20177%200t180-8q80-55%20161%205v23H0zm700-12q75-61%20150%200t164-5q82-50%20186%2013v26H700z'/%3e%3c/svg%3e")),var(--hero-scrim)}.home-page{gap:18px}.home-empty-widgets{gap:0;padding:clamp(34px,9vw,58px) clamp(18px,6vw,40px);border-color:#fffc;border-radius:30px;background-color:#fff4fce0;background-image:linear-gradient(180deg,#fffafff2,#fff6ffd1 52%,#ffe7fa66);box-shadow:0 24px 55px -30px #64368366,inset 0 1px #fffffff2}.home-empty-widgets:before,.home-empty-widgets:after{content:none}.home-empty-widgets__copy{gap:16px}.home-empty-widgets__sparkle{background:#ffffff9e;color:#e64f91;border:0;border-radius:50%;box-shadow:none}.home-empty-widgets__copy h2{color:#321b39}.home-empty-widgets__copy p{color:#806e83}.home-empty-widgets__copy>.duo-button{background:linear-gradient(105deg,#f65391,#bf52e7);box-shadow:0 13px 32px -12px #ce46a5a6}@media(max-width:539px){.home-empty-widgets{padding:30px 16px}}@media(max-width:380px){.home-empty-widgets{padding:26px 15px}}.widgets-page{gap:14px}.widgets-page .page-header{margin:3px 0 0}.widgets-page .page-header h1{font-size:clamp(1.8rem,6vw,2.35rem);color:#302044}.widgets-filters{gap:8px}.widget-filter{min-height:40px;padding-inline:13px;background:#fffaffb5;border-color:#7e57891a;color:#51435f}.widget-filter.is-active{background:linear-gradient(110deg,#f05c9e,#bd71dc);box-shadow:0 9px 22px -12px #d2419799}.widgets-hero{--widget-art:url(/assets/duo-app-hero-CVT3LV-6.webp);min-height:246px;padding:20px 17px 17px;border:1px solid rgba(255,255,255,.56);background-color:#9d6bb0;background-image:linear-gradient(92deg,#341a44db,#46225894 48%,#6030701f),var(--widget-art);background-repeat:no-repeat;background-position:center,center bottom;background-size:cover,cover;box-shadow:0 18px 36px -21px #642c707a,inset 0 1px #ffffff5c}.widgets-hero:after{background:linear-gradient(0deg,rgba(75,31,89,.34),transparent 58%)}.widgets-hero__heart{display:none}.widgets-hero__title{max-width:13ch;font-size:clamp(1.2rem,4vw,1.55rem)}.widgets-hero__text{max-width:24ch}.widgets-hero__action{color:#523354}@media(max-width:539px){.widgets-hero{background-position:center,72% bottom}}@media(max-width:380px){.widgets-hero{background-position:center,78% bottom}}.widget-card[data-widget-code],.widget-tile[data-widget-code]{border-color:#ffffffc7;background-color:#fffaffc9;box-shadow:0 12px 30px -20px #5b316b6b,inset 0 1px #ffffffd9}.widget-card[data-widget-code]:before,.widget-tile[data-widget-code]:before{background-image:linear-gradient(110deg,#ffffffad,#ffffff0f 72%),var(--widget-art,none);background-repeat:no-repeat;background-position:center,center bottom;background-size:cover,cover;opacity:1}.widget-card[data-widget-code]>*,.widget-tile[data-widget-code]>*{position:relative;z-index:1}.widget-card[data-widget-code=counter],.widget-tile[data-widget-code=counter]{--widget-art:url(/assets/duo-counter-art-BM2GEMYl.webp)}.widget-card[data-widget-code=habits],.widget-tile[data-widget-code=habits]{--widget-art:url(/assets/duo-habits-art-CiS1kf3a.webp)}.widget-card[data-widget-code=tasks],.widget-tile[data-widget-code=tasks]{--widget-art:url(/assets/duo-tasks-art-DkYgn2AS.webp)}.widget-card[data-widget-code=mood],.widget-tile[data-widget-code=mood]{--widget-art:url(/assets/duo-mood-art-Dr-TjojJ.webp)}.widget-card[data-widget-code=important_dates],.widget-tile[data-widget-code=important_dates]{--widget-art:url(/assets/duo-location-art-WQpr5-50.webp)}.widget-card[data-widget-code=wishes],.widget-tile[data-widget-code=wishes]{--widget-art:url(/assets/duo-photos-art-C_rgK_or.webp)}.widget-card[data-widget-code=dreams],.widget-tile[data-widget-code=dreams]{--widget-art:url(/assets/duo-dreams-art-Ct1LBt85.webp)}.widget-card[data-widget-code=miss_you],.widget-tile[data-widget-code=miss_you]{--widget-art:url(/assets/duo-hugs-art-Bpl7IpEO.webp)}.widget-card[data-widget-code=love],.widget-tile[data-widget-code=love]{--widget-art:url(/assets/duo-love-art-ZFX5mX75.webp)}.widget-card[data-widget-code=distance],.widget-tile[data-widget-code=distance]{--widget-art:url(/assets/duo-distance-art-DZhQ8v7z.webp)}.widget-card[data-widget-code=today],.widget-tile[data-widget-code=today]{--widget-art:url(/assets/duo-today-art-rkwG9329.webp)}.widget-card[data-widget-code=sleep],.widget-tile[data-widget-code=sleep]{--widget-art:url(/assets/duo-sleep-art-C4sRACrk.webp)}.widget-card[data-widget-code=location],.widget-tile[data-widget-code=location]{--widget-art:url(/assets/duo-location-art-WQpr5-50.webp)}.widget-card[data-widget-code=photos],.widget-tile[data-widget-code=photos]{--widget-art:url(/assets/duo-photos-art-C_rgK_or.webp)}.widget-card[data-widget-code=countdown],.widget-tile[data-widget-code=countdown]{--widget-art:url(/assets/duo-dreams-art-Ct1LBt85.webp)}.widget-card[data-widget-code=dating],.widget-tile[data-widget-code=dating]{--widget-art:url(/assets/duo-dating-art-CFN0cJ5J.webp)}.widget-card[data-widget-code=latest_moment],.widget-tile[data-widget-code=latest_moment]{--widget-art:url(/assets/duo-mood-art-Dr-TjojJ.webp)}.widget-card[data-widget-code=games],.widget-tile[data-widget-code=games]{--widget-art:url(/assets/duo-games-art-Bb3iCyrq.webp)}.widget-card[data-widget-code=hugs],.widget-tile[data-widget-code=hugs]{--widget-art:url(/assets/duo-hugs-art-Bpl7IpEO.webp)}.widget-card[data-widget-code=poop],.widget-tile[data-widget-code=poop]{--widget-art:url(/assets/duo-poop-art-BO61gdmZ.webp)}.widget-card[data-widget-code=food],.widget-tile[data-widget-code=food]{--widget-art:url(/assets/duo-food-art-BioudCjv.webp)}.widget-card[data-widget-code=debts],.widget-tile[data-widget-code=debts]{--widget-art:url(/assets/duo-debts-art-CroxMSk2.webp)}.widget-card[data-widget-code=counter] .widget-counter__days{font-size:1.8rem}.widget-card[data-widget-code=mood] .widget-mood{grid-template-columns:repeat(4,minmax(0,1fr))}.widget-card[data-widget-code=mood] .widget-mood__cell{border-radius:50%;aspect-ratio:1;background:linear-gradient(145deg,#ffd7ea,#ffc87d)}.widget-card[data-widget-code=important_dates] .widget-important-dates{border-radius:999px;background:#ffffffa8}.widget-card[data-widget-code=wishes] .wish-hero__media{border-radius:18px}.widget-card[data-widget-code=wishes] .wish-hero__placeholder{min-height:130px;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20360%20300'%3e%3cdefs%3e%3clinearGradient%20id='box'%20x2='1'%20y2='1'%3e%3cstop%20stop-color='%23ffb2db'/%3e%3cstop%20offset='1'%20stop-color='%23cb6de1'/%3e%3c/linearGradient%3e%3clinearGradient%20id='r'%20x2='1'%20y2='1'%3e%3cstop%20stop-color='%23fff0d0'/%3e%3cstop%20offset='1'%20stop-color='%23ff78b9'/%3e%3c/linearGradient%3e%3cfilter%20id='s'%3e%3cfeGaussianBlur%20stdDeviation='9'/%3e%3c/filter%3e%3c/defs%3e%3cellipse%20cx='185'%20cy='265'%20rx='112'%20ry='15'%20fill='%23783f8d'%20opacity='.25'%20filter='url(%23s)'/%3e%3cg%20stroke='%23fff'%20stroke-width='5'%20stroke-linejoin='round'%3e%3cpath%20d='M91%20124h185v126H91z'%20fill='url(%23box)'/%3e%3cpath%20d='M76%20104h215v39H76z'%20fill='%23f8a4d6'/%3e%3cpath%20d='M171%20104h33v146h-33z'%20fill='url(%23r)'%20stroke='none'/%3e%3cpath%20d='M180%20104c-68-11-80-63-40-66%2036-3%2048%2033%2056%2063%2014-39%2037-72%2063-57%2031%2019-6%2058-79%2060z'%20fill='url(%23r)'/%3e%3c/g%3e%3cg%20fill='%23fff'%20opacity='.9'%3e%3cpath%20d='M60%2065l6%2016%2016%206-16%206-6%2016-6-16-16-6%2016-6z'/%3e%3cpath%20d='M305%20168l5%2013%2013%205-13%205-5%2013-5-13-13-5%2013-5z'/%3e%3ccircle%20cx='65'%20cy='213'%20r='4'/%3e%3c/g%3e%3cpath%20d='M132%20163h37m36%200h37'%20stroke='%23fff'%20stroke-width='5'%20stroke-linecap='round'%20opacity='.65'/%3e%3c/svg%3e") center/contain no-repeat;color:transparent}.widget-card[data-widget-code=pet],.widget-tile[data-widget-code=pet]{--widget-art:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20420%20340'%3e%3cdefs%3e%3cradialGradient%20id='fur'%20cx='50%25'%20cy='30%25'%3e%3cstop%20stop-color='%23fff'/%3e%3cstop%20offset='.72'%20stop-color='%23fff6fa'/%3e%3cstop%20offset='1'%20stop-color='%23edc9df'/%3e%3c/radialGradient%3e%3cradialGradient%20id='ear'%3e%3cstop%20stop-color='%23ff9ebb'/%3e%3cstop%20offset='1'%20stop-color='%23ffdbe8'/%3e%3c/radialGradient%3e%3cradialGradient%20id='eye'%3e%3cstop%20stop-color='%23d8efff'/%3e%3cstop%20offset='.62'%20stop-color='%235885b4'/%3e%3cstop%20offset='1'%20stop-color='%23352649'/%3e%3c/radialGradient%3e%3cfilter%20id='shadow'%3e%3cfeGaussianBlur%20stdDeviation='8'/%3e%3c/filter%3e%3c/defs%3e%3cellipse%20cx='210'%20cy='316'%20rx='115'%20ry='14'%20fill='%23885489'%20opacity='.24'%20filter='url(%23shadow)'/%3e%3cpath%20d='M100%20140%2082%2042q-4-22%2017-8l76%2055m79%2050%2049-78q14-20%2023%203l22%2099'%20fill='url(%23fur)'%20stroke='%23e8cadd'%20stroke-width='6'%20stroke-linejoin='round'/%3e%3cpath%20d='m104%20112-9-49q0-8%2010-1l48%2039m104%209%2035-53q7-8%2010%204l11%2047'%20fill='url(%23ear)'/%3e%3cellipse%20cx='210'%20cy='194'%20rx='120'%20ry='116'%20fill='url(%23fur)'%20stroke='%23e7d0df'%20stroke-width='5'/%3e%3cpath%20d='M113%20154q-14-42%2025-62%2038%2026%2043%2061-31%2021-68%201m106-3q7-37%2048-56%2034%2024%2018%2063-37%2013-66-7'%20fill='%23fff'%20opacity='.74'/%3e%3cellipse%20cx='164'%20cy='184'%20rx='29'%20ry='36'%20fill='url(%23eye)'/%3e%3cellipse%20cx='256'%20cy='184'%20rx='29'%20ry='36'%20fill='url(%23eye)'/%3e%3cellipse%20cx='155'%20cy='171'%20rx='9'%20ry='12'%20fill='%23fff'/%3e%3cellipse%20cx='247'%20cy='171'%20rx='9'%20ry='12'%20fill='%23fff'/%3e%3ccircle%20cx='174'%20cy='196'%20r='5'%20fill='%23fff'/%3e%3ccircle%20cx='266'%20cy='196'%20r='5'%20fill='%23fff'/%3e%3cellipse%20cx='130'%20cy='220'%20rx='22'%20ry='13'%20fill='%23ffb5cb'%20opacity='.58'/%3e%3cellipse%20cx='290'%20cy='220'%20rx='22'%20ry='13'%20fill='%23ffb5cb'%20opacity='.58'/%3e%3cpath%20d='m202%20221%208-6%209%206-9%208z'%20fill='%23dc7598'/%3e%3cpath%20d='M210%20229q-13%2017-26%204m26-4q13%2017%2026%204'%20fill='none'%20stroke='%23886078'%20stroke-width='4'%20stroke-linecap='round'/%3e%3cpath%20d='m136%20224-54-7m54%2016-57%209m205-18%2054-7m-54%2016%2057%209'%20fill='none'%20stroke='%23c8a9bf'%20stroke-width='3'%20stroke-linecap='round'/%3e%3cpath%20d='M152%20275q4-59%2058-59%2055%200%2059%2059l-18%2034H169z'%20fill='url(%23fur)'%20stroke='%23e7d0df'%20stroke-width='5'/%3e%3cpath%20d='M191%20245q19%2013%2038%200l-6%2031-15%2010-15-10z'%20fill='%23ffb6cc'/%3e%3ccircle%20cx='209'%20cy='270'%20r='8'%20fill='%23ffdc91'%20stroke='%23fff'%20stroke-width='3'/%3e%3cpath%20d='M303%20270q-30-31-46-6%200%2023%2046%2049%2046-26%2046-49-16-25-46%206z'%20fill='%23ff83b5'%20opacity='.85'/%3e%3c/svg%3e")}.widget-card[data-widget-code=pet]:before,.widget-tile[data-widget-code=pet]:before{background-position:center,right bottom;background-size:cover,58% auto;opacity:.83}.widget-card[data-widget-code=dating]:before,.widget-tile[data-widget-code=dating]:before,.widget-card[data-widget-code=distance]:before,.widget-tile[data-widget-code=distance]:before,.widget-card[data-widget-code=poop]:before,.widget-tile[data-widget-code=poop]:before{background-position:center,center}.widget-card[data-widget-code=cinema],.widget-tile[data-widget-code=cinema]{--widget-art:url(/assets/duo-cinema-art-DzJU53ym.webp)}.widget-card[data-widget-code=cinema]:before,.widget-tile[data-widget-code=cinema]:before{background-position:center,center}.widgets-page--edit .widgets-filters .widget-filter:not(.is-active){background:#fff8ffcc}.widgets-page--edit .widgets-masonry .widget-tile:not(.widget-tile--selected){border-color:#bc77e4ad;box-shadow:0 0 0 1px #c780e852,0 13px 27px -18px #894ca06b}.widgets-page--edit .widgets-masonry .widget-tile--selected{border-color:#ad55e8;box-shadow:0 0 0 2px #be72f0,0 14px 30px -17px #9f4dd3a3}.widgets-page--edit .widget-tile__home{color:#573a78;background:#ffffffe0;border-color:#ffffffe6}.widgets-page--edit .widget-tile__edit,.widgets-page--edit .widget-tile__add{background:#ffffffe0;border-color:#d59dd67a;color:#623f76}.widgets-page--edit .widget-select--on{background:linear-gradient(145deg,#c665ec,#9f4bd4);box-shadow:0 8px 19px -9px #9947d1cc}.widgets-page--edit .widgets-bar{bottom:calc(82px + env(safe-area-inset-bottom));width:min(760px,calc(100% - 28px));padding:8px 12px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:#fff4fed6;box-shadow:0 12px 34px -17px #713e858c;backdrop-filter:blur(18px) saturate(155%);-webkit-backdrop-filter:blur(18px) saturate(155%)}@media(max-width:539px){.widgets-masonry{gap:10px}.widgets-masonry .widget-tile{--wc-pad:11px;--wc-gap:7px;--wc-title:.81rem;--wc-desc:.68rem;--wc-icon:32px;--wc-icon-radius:11px;min-height:168px}.widgets-hero{min-height:234px}}@media(max-width:380px){.widgets-masonry .widget-tile{--wc-pad:9px;--wc-title:.74rem;--wc-icon:29px;min-height:160px}.widgets-hero{padding:17px 13px}.widgets-hero__title{font-size:1.18rem}.widgets-page--edit .widgets-bar{width:calc(100% - 16px);padding:7px;gap:6px}}@media(prefers-reduced-motion:reduce){.widgets-hero__heart{animation:none}}
