:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233b3a;background:#e8e9e2;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#233b3a;--muted:#66716b;--paper:#f8f4eb}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #b55b33;outline-offset:4px}button{min-height:44px}button:disabled{cursor:default}a{color:inherit;text-decoration:none}.app{max-width:540px;min-height:100dvh;margin:auto;background:var(--paper);box-shadow:0 0 80px #233b3a0d}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(15px + env(safe-area-inset-top)) 24px 10px}.brand{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:19px}.brand-mark{font-family:Georgia,serif;letter-spacing:-4px;font-size:31px;margin-right:5px}.icon-button{display:grid;place-items:center;background:transparent;border:1px solid #233b3a24;border-radius:50%;width:44px;height:44px;flex-shrink:0}main{padding:12px 24px calc(105px + env(safe-area-inset-bottom))}.preview-label{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#6d776f;display:flex;align-items:center;gap:7px}.preview-label>span{width:5px;height:5px;border-radius:50%;background:#b2744e}.welcome{padding:29px 0 22px}.avatar-pair{display:flex;margin-bottom:23px;padding-left:2px}.avatar{width:53px;height:53px;border-radius:50%;display:inline-grid;place-items:center;background:#edc39f;border:3px solid var(--paper);font-size:28px;flex-shrink:0}.avatar.partner{margin-left:-8px;background:#dce4d5;color:#627565;font:26px Georgia,serif}.eyebrow{font-size:10px!important;font-weight:700;letter-spacing:.15em;line-height:1.5!important;margin:0 0 12px!important}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,7.9vw,43px);line-height:1.13;letter-spacing:-1.7px;font-weight:400;margin:0 0 17px}h1 em{color:#9c6147;font-weight:400}p{font-size:13px;line-height:1.7;color:var(--muted);margin:10px 0}h2{font-size:16px;line-height:1.4;margin:0;font-weight:600;letter-spacing:-.3px}.card{padding:23px;border:1px solid #233b3a13;border-radius:25px;margin-bottom:16px}.invitation{background:#e6ebdf;display:grid;grid-template-columns:34px 1fr;gap:4px 10px}.section-icon{font-size:27px;color:#5f7860}.invitation p{margin:6px 0 15px}.primary,.light-button{border:0;border-radius:13px;padding:13px 17px;min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;font-size:13px;width:100%;background:var(--ink);color:#fff}.invitation .primary{grid-column:1/-1}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:28px 0 15px}.section-heading>span{font-size:10px;color:#6c756c}.card .section-heading{margin:0 0 8px}.time-card{background:#fffdf7}.time-values{display:flex;align-items:center;gap:26px}.time-values>div{display:grid;gap:2px}.time-values strong{font:38px Georgia,serif}.time-values span{font-size:11px;color:var(--muted)}.time-values .time-symbol{font:68px Georgia,serif;color:#d4dcca;margin-left:auto}.time-card>p:last-child{margin-bottom:0;font-size:12px}.mood-card{background:#eef0e8}.mood-people{display:grid;grid-template-columns:1fr 1fr;margin:20px 0 13px}.mood-people>div{display:flex;flex-direction:column;align-items:center;gap:8px}.mood-people>div+div{border-left:1px solid #233b3a1c}.mood-people strong{font-size:12px;font-weight:600}.mood-people>div>span:last-child{font-size:10px;color:var(--muted)}.small{width:44px;height:44px;font-size:23px;border-color:transparent}.mood-people .partner{margin:0}.text-button{border:0;background:transparent;padding:10px 0 0;font-size:12px;font-weight:650;display:flex;align-items:center;gap:12px;text-align:left}.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-cards .card{padding:19px;display:flex;flex-direction:column}.two-cards h2{font-size:14px}.two-cards p{font-size:12px;margin-bottom:0}.two-cards button{margin-top:auto}.kiss-card{background:#f0dcd1}.note-card{background:#ebe5d4}.large-symbol{font:36px Georgia,serif;display:block;margin:0 0 16px;color:#825d44}.question-card{background:var(--ink);color:#f8f4eb;position:relative;overflow:hidden}.question-card .eyebrow{color:#c5d5bf}.question-card h2{font-family:Georgia,serif;font-size:26px;line-height:1.35;font-weight:400;letter-spacing:-.6px;margin:20px 0 25px}.light-button{background:#e7eddf;color:var(--ink)}.date-card{display:flex;gap:20px;align-items:center;background:#fffdf7}.date-card p{font-size:12px}.date-illustration{border:1px solid #ccbda7;border-top:7px solid #c79573;border-radius:9px;min-width:75px;height:82px;display:grid;place-content:center;text-align:center;font:32px Georgia,serif;transform:rotate(-6deg)}.date-illustration>span{font:9px system-ui;display:block;margin-top:3px}.page-footer{text-align:center;font:italic 16px Georgia,serif;color:#6c756c;padding:25px 0 0}.page-footer span{display:block;font:9px system-ui;margin:12px 0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,540px);padding:11px 24px calc(10px + env(safe-area-inset-bottom));display:flex;gap:10px;background:#f8f4ebf5;backdrop-filter:blur(16px);border-top:1px solid #233b3a18;z-index:5}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:transparent;padding:10px 4px;border-radius:17px;font-size:10px;color:#758078}.bottom-nav button[aria-current]{background:#e4e9dc;color:var(--ink);font-weight:700}.page-heading{padding:38px 0 22px}.privacy-note{font-size:12px;text-align:center;padding:0 14px;margin:18px 0 29px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.category{border:1px solid #233b3a12;border-radius:23px;min-height:157px;padding:19px;text-align:left}.category-number{font:italic 19px Georgia,serif;display:flex;justify-content:space-between;margin-bottom:35px;opacity:.7}.category h2{font:21px Georgia,serif;margin-bottom:8px}.category>span:last-child{font-size:10px}.rose{background:#efded6}.sage{background:#e0e7d8}.sand{background:#ece3cf}.blue{background:#dce4e6}.filters{display:flex;gap:7px;overflow-x:auto;padding:4px 0 9px}.filters button{border:1px solid #233b3a22;background:transparent;border-radius:24px;white-space:nowrap;padding:10px 15px;font-size:12px}.filters button.selected{background:var(--ink);color:white}.empty-memory{text-align:center;padding:28px 10px}.empty-memory h2{font:27px/1.2 Georgia,serif;margin:25px 0 15px}.empty-memory p{margin-bottom:25px}.empty-memory small{display:block;font-size:10px;color:#66716b;margin:18px 0}.memory-art{height:180px;display:flex;align-items:center;justify-content:center}.memory-art span{background:#d6dfcd;border:9px solid #fffdf7;box-shadow:0 6px 20px #233b3a12;width:112px;height:137px;transform:rotate(-13deg);display:grid;place-items:center;font:54px Georgia,serif;color:#849476}.memory-art span+span{background:#ebd3b7;transform:rotate(12deg);margin-left:-28px;margin-top:22px;color:#99754c}dialog{border:1px solid #233b3a20;border-radius:27px;width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 40px);padding:0;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px #17292833}dialog::backdrop{background:#15232180;backdrop-filter:blur(5px)}.dialog-content{padding:30px 25px}.dialog-close{float:right;margin:-12px -9px 10px 10px;font-size:25px}.dialog-content h2{font:29px/1.25 Georgia,serif;margin:18px 0}.dialog-content .eyebrow{padding-top:5px}.dialog-content p{font-size:13px}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;justify-items:center;margin:24px 0}.avatar-grid .avatar{border:3px solid transparent}.avatar.chosen{border-color:var(--ink)}.notice{padding:15px;background:#e9e6d9;border-radius:14px;margin:20px 0}.setup-steps{padding-left:22px;font-size:13px;line-height:2.2}.question-title{clear:both}@media(min-width:600px){.app{margin:24px auto;border-radius:30px;overflow:hidden}.bottom-nav{border-radius:23px 23px 0 0}}@media(max-width:360px){main{padding-left:16px;padding-right:16px}.topbar{padding-left:16px;padding-right:16px}.card{padding:19px}.two-cards .card{padding:15px}.mood-people>div>span:last-child{font-size:9px}.category{padding:16px}.category h2{font-size:19px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.rose-mark{width:40px;height:40px;border-radius:12px}.brand{font-size:27px;letter-spacing:-.7px;gap:11px}.photo-day-card{background:#ece5d9}.photo-day-placeholder{height:155px;display:grid;place-items:center;border:1px dashed #aa9b86;border-radius:17px;background:linear-gradient(135deg,#f8f4eb,#e3d8c6);color:#8e7960;margin:17px 0}.voice-day-card{background:#e3e9e7}.voice-wave{height:80px;display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0;background:#f8f4eb80;border-radius:16px}.voice-wave span{width:5px;background:#6b8780;border-radius:5px}.feature-status{display:inline-block;font-size:11px;line-height:1.6;color:#59665c;background:#ffffff70;border-radius:9px;padding:7px 10px;margin-top:5px}

.account-panel form{display:grid;gap:16px;margin:20px 0}.account-panel label{display:grid;gap:8px;font-size:13px;font-weight:600}.account-panel input{width:100%;min-width:0;border:1px solid #a8b3aa;background:#fffdf7;padding:13px;border-radius:11px;font:16px system-ui;color:#233b3a}.account-panel fieldset{border:0;margin:0;padding:0}.account-panel legend{font-size:13px;font-weight:600}.account-actions{display:grid;gap:10px;margin:16px 0}.secondary{border:1px solid #8b9e92;border-radius:13px;background:transparent;padding:13px;font-size:13px}.account-panel button:disabled{opacity:.6;cursor:wait}.account-members{display:flex;gap:24px;margin:18px 0}.account-members>div{display:grid;justify-items:center;gap:5px;font-size:13px}.account-tools{display:flex;justify-content:space-between;border-top:1px solid #233b3a20;margin-top:25px;gap:16px}.account-error{color:#8f2e27!important;background:#f3dfd6;border-radius:12px;padding:14px}.invitation-code{margin:20px 0;padding:15px;background:#e6ebdf;border-radius:15px}.invitation-code small{display:block;font-size:11px;line-height:1.5}.join-request{border:1px solid #a6b8a2;border-radius:16px;padding:16px;margin-top:16px}.account-hint{font-size:11px!important}
