:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f9eaf1;background:#160f19;font-synthesis:none}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 90% 45% at 50% 0,#422537,transparent 80%),#160f19}button,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,textarea:focus-visible{outline:2px solid #ef9eb7;outline-offset:3px}.ambient{position:fixed;border-radius:50%;filter:blur(80px);opacity:.23;pointer-events:none}.ambient-left{width:360px;height:360px;left:-200px;top:200px;background:#b45270}.ambient-right{width:400px;height:400px;right:-260px;bottom:40px;background:#8e699f}.app-shell{max-width:480px;min-height:100dvh;margin:0 auto;position:relative;background:#231722;box-shadow:0 0 90px #09060a8a;display:flex;flex-direction:column;overflow:hidden;padding-bottom:calc(82px + env(safe-area-inset-bottom))}@media(min-width:520px){.app-shell{border-left:1px solid #643c54;border-right:1px solid #643c54}}.topbar{padding:24px 20px 14px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#342232,#251722)}.brand{display:flex;gap:11px;align-items:center}.brand-icon{display:grid;place-items:center;font-family:Georgia,serif;width:39px;height:39px;border:1px solid #965c78;border-radius:13px;background:#492b40;color:#f4abc1;font-size:32px;line-height:1}.kicker{display:block;font-size:8px;letter-spacing:2.2px;color:#c798ab;font-weight:700;margin:0 0 5px}h1{margin:0;font-size:18px;font-weight:720;letter-spacing:-.45px}h1 span,h2 span{color:#e3a0b4}.top-actions button,.sound-toggle{color:#eab5c8;border:1px solid #775068;background:#3a2738;border-radius:12px;width:37px;height:37px;font-size:23px}.hidden{display:none!important}main{flex:1}.loading{padding:100px 16px;text-align:center;color:#c69eae;font-size:13px}.pulse-heart{font-size:56px;color:#ef9eb8;display:inline-block;animation:beat 1.3s infinite}@keyframes beat{50%{transform:scale(1.14)}}.error-banner{margin:12px 16px;padding:12px;border:1px solid #c56e87;border-radius:12px;background:#662d45;font-size:12px}.demo-strip{display:flex;align-items:center;justify-content:space-between;background:#301e2e;margin:8px 16px 0;padding:6px 7px 6px 12px;border:1px dashed #76455f;border-radius:12px;font-size:11px;color:#b9a3b0}.switcher{display:flex;background:#1d1320;border-radius:9px;padding:3px;gap:2px}.switcher button{border:0;background:transparent;color:#aa899e;padding:6px 10px;border-radius:7px;font-size:11px}.switcher button.active{background:#a25372;color:white}.couple-row{display:flex;align-items:center;justify-content:space-between;margin:17px 17px 13px}.person{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.person.right{justify-content:flex-end;text-align:right}.avatar{width:53px;height:53px;border:2px solid #bc819c;border-radius:15px;background:#49313e;overflow:hidden;box-shadow:inset 0 0 15px #0007;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.avatar.female{border-color:#b57d78}.person strong{display:block;font-size:12px;margin-bottom:3px}.person small{display:block;color:#b793a5;font-size:10px;white-space:nowrap}.together{min-width:72px;display:flex;flex-direction:column;align-items:center;gap:2px}.heart-divider{color:#ed89aa;font-size:27px;text-shadow:0 0 22px #b24475}.together span{font-size:9px;color:#c9a0b1}.page{display:none;animation:fadein .17s ease}.page.active{display:block}@keyframes fadein{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}.scene{height:310px;position:relative;margin:0 16px;overflow:hidden;border-radius:18px;border:2px solid #6e4560;background:#422d3f}.scene>img{height:100%;width:100%;object-fit:cover;object-position:center center;image-rendering:auto}.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#170e1b69 0,transparent 30%,transparent 52%,#190d1bc7 100%)}.scene-top{position:absolute;top:11px;left:11px;right:11px;display:flex;justify-content:space-between;gap:6px}.scene-chip{font-size:9px;font-weight:750;letter-spacing:.8px;background:#211522cd;border:1px solid #b289a1aa;border-radius:30px;padding:7px 9px;backdrop-filter:blur(4px)}.green-dot{width:6px;height:6px;background:#b6d9b0;border-radius:50%;display:inline-block;margin-right:3px}.scene-quote{position:absolute;bottom:14px;left:13px;right:13px;text-align:center;color:#ffe4ec;font-size:12px;font-weight:650;text-shadow:0 2px 4px #000,0 0 10px #000;padding:9px 10px;background:#24132294;border:1px solid #ffffff18;border-radius:10px}.float-heart{position:absolute;color:#ffb9cc;text-shadow:0 0 9px #e68fac;font-size:22px;animation:float 5s ease-in-out infinite;pointer-events:none}.fh1{top:19%;left:19%}.fh2{top:31%;right:18%;font-size:12px;animation-delay:-2s}.fh3{top:43%;left:45%;font-size:15px;animation-delay:-3s}@keyframes float{0%,100%{transform:translateY(0) rotate(-8deg);opacity:.7}50%{transform:translateY(-9px) rotate(10deg);opacity:1}}.room-decor{position:absolute;inset:0;pointer-events:none}.deco{position:absolute;font-size:28px;filter:drop-shadow(0 3px 2px #000)}.deco.lamp{left:6%;bottom:26%}.deco.plant{right:3%;bottom:25%}.deco.cat{right:20%;bottom:25%}.deco.stars{right:13%;top:17%;color:#fff0bd}.shared-progress{display:flex;justify-content:space-between;align-items:center;margin:17px 20px 13px;color:#e2c4d2;font-size:12px}.shared-progress div span{color:#df85a0;margin-right:6px}.shared-progress strong{font-size:15px;color:#ffe0eb}.shared-progress strong span{font-size:12px;color:#de8da7}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px;margin-bottom:18px}.stat{background:#322030;border:1px solid #634458;border-radius:12px;padding:11px}.stat-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#dcc2d0;margin-bottom:9px}.stat-head strong{color:#fff3f7;font-size:11px}.stat-icon{margin-right:5px}.track{background:#19131e;border:1px solid #534054;border-radius:99px;height:7px;overflow:hidden}.track span{display:block;height:100%;border-radius:99px;transition:width .5s ease}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin:0 18px 12px;gap:8px}.section-head h2{font-size:15px;margin:0;letter-spacing:-.3px}.section-head span{color:#a9899d;font-size:10px}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 16px}.quick-action{min-height:75px;border:1px solid #764a62;border-radius:13px;background:linear-gradient(160deg,#4d3046,#352235);color:#f6dfe9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:transform .15s,border-color .15s}.quick-action:active,.action-card:active,.shop-item:active{transform:scale(.97)}.quick-action .qicon{font-size:23px;color:#f2a3ba}.quick-action .qname{font-size:11px;font-weight:670}.home-footer{display:flex;align-items:center;gap:12px;margin:18px 16px;background:#322331;border:1px solid #624152;border-radius:13px;padding:12px}.home-footer-icon{background:#654054;border:1px solid #8d5c76;border-radius:9px;color:#e6a2b9;padding:7px 9px;font-size:24px}.home-footer strong{font-size:12px}.home-footer p{margin:4px 0 0;font-size:10px;color:#b39aaa;line-height:1.5}.small-arrow{margin-left:auto;border:0;background:#654054;border-radius:9px;color:#f9d9e6;font-size:18px;width:32px;height:32px;flex-shrink:0}.nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);padding:7px 8px calc(8px + env(safe-area-inset-bottom));background:#261926ef;backdrop-filter:blur(13px);border-top:1px solid #754758;z-index:10;box-shadow:0 -12px 30px #140d164f}.nav button{border:1px solid transparent;background:transparent;border-radius:11px;color:#b492a5;min-width:0;padding:7px 0 6px;display:flex;align-items:center;gap:5px;flex-direction:column;font-size:9px}.nav button .nav-symbol{font-family:Georgia,serif;font-size:25px;line-height:22px}.nav button.selected{background:#61364d;color:#ffdbea;border-color:#98617c}.page-intro{margin:11px 18px 19px}.page-intro h2{font-size:21px;letter-spacing:-.6px;margin:0 0 7px}.page-intro p{font-size:12px;color:#b79baf;line-height:1.6;margin:0}.action-cards,.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 16px 22px}.action-card{border:1px solid #71495f;border-radius:15px;background:#342231;overflow:hidden;color:#f6e7ef;padding:0 0 14px;text-align:left;position:relative}.action-card img{display:block;width:100%;height:133px;object-fit:cover;object-position:center top}.action-card strong{display:block;font-size:12px;padding:11px 11px 3px}.action-card small{display:block;font-size:10px;color:#c59dad;padding:0 11px}.action-card .action-arrow{position:absolute;bottom:17px;right:11px;color:#e899b4;font-size:20px}.balance{margin:0 16px 15px;padding:14px 15px;border:1px solid #915975;border-radius:14px;background:linear-gradient(105deg,#5c314d,#3c2639);display:flex;justify-content:space-between;align-items:center}.balance span{font-size:12px;color:#f8d5e0}.balance strong{font-size:22px}.shop-item{background:#342330;border:1px solid #684457;border-radius:14px;padding:16px 12px 13px;color:#fff;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:180px}.shop-art{font-size:51px;filter:drop-shadow(0 5px 5px #0006)}.shop-item strong{font-size:12px}.shop-item small{font-size:10px;color:#bca0b1}.shop-price{margin-top:auto;color:#f6a9c1;background:#542b42;border:1px solid #76425b;border-radius:40px;padding:6px 16px;font-size:11px}.shop-item.bought{border-color:#72917f;background:#263c35}.shop-item.bought .shop-price{color:#cbe7d4;background:#315143;border-color:#547d68}.shop-hint{font-size:11px;color:#a9899d;text-align:center;margin:0 24px 30px;line-height:1.6}.note-editor{margin:0 16px;background:#372536;border:1px solid #80516b;padding:15px;border-radius:15px}.note-editor label{display:block;font-size:12px;font-weight:650;margin-bottom:10px}.note-editor textarea{resize:vertical;display:block;width:100%;border:1px solid #8b6478;background:#261b28;color:#f9dce8;border-radius:12px;padding:12px 13px;min-height:105px;outline:0;font-size:13px;line-height:1.6}.note-editor textarea::placeholder{color:#a08296}.note-editor textarea:focus{border-color:#e3a0b4}.note-actions{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:10px}.note-actions span{font-size:10px;color:#b994a7}.note-actions button,.primary-btn{border:1px solid #e7a0b6;background:linear-gradient(145deg,#c87395,#99536f);color:#fff1f6;border-radius:11px;padding:10px 15px;font-size:11px;font-weight:700}.note-actions button:disabled{opacity:.45}.note-heading{margin-top:22px}.notes-list{margin:0 16px 25px;display:grid;gap:11px}.paper{color:#533549;background:linear-gradient(155deg,#ffe8e8,#eec9d7);box-shadow:0 5px 0 #160b16a6;border-radius:3px 13px 4px 12px;padding:18px 17px;transform:rotate(-.3deg);position:relative}.paper:nth-child(even){transform:rotate(.6deg);background:linear-gradient(155deg,#ffebdd,#e9ccce)}.paper-head{display:flex;justify-content:space-between;font-size:10px;color:#96647a;margin-bottom:11px}.paper p{margin:0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-family:Georgia,serif}.paper-foot{margin-top:10px;font-size:16px;text-align:right;color:#a85e7c}.empty-state{margin:16px;padding:30px 15px;border:1px dashed #7a5369;border-radius:14px;text-align:center;font-size:12px;color:#ac91a3;line-height:1.7}.story-list{margin:10px 20px 20px;padding-left:13px;border-left:1px dashed #7e5167;display:grid;gap:13px}.story-event{position:relative;padding:9px 10px 11px;background:#342332;border:1px solid #604154;border-radius:11px}.story-event:before{content:"♥";position:absolute;top:12px;left:-23px;color:#db8fad;background:#231722;font-size:12px}.story-event time{font-size:9px;color:#aa8b9e;display:block;margin-bottom:5px}.story-event p{margin:0;font-size:12px;color:#f7deea}.invite-panel{text-align:center;margin:25px 16px;background:#3e2a3c;border:1px solid #78526b;padding:20px 17px;border-radius:16px}.invite-icon{font-size:36px;color:#ecadc2}.invite-panel h3{font-size:16px;margin:9px 0}.invite-panel p{font-size:11px;line-height:1.7;color:#c6a9ba}.invite-code{font-size:20px;letter-spacing:4px;color:#ffd6e4;font-weight:760;margin:15px auto}.invite-panel .primary-btn{width:100%}.modal-wrap{position:fixed;inset:0;z-index:50;display:flex;align-items:end;justify-content:center}.modal-backdrop{position:absolute;inset:0;background:#09070cba;backdrop-filter:blur(4px)}.modal-card{position:relative;width:min(100%,480px);padding:20px 19px calc(23px + env(safe-area-inset-bottom));border-radius:23px 23px 0 0;border:1px solid #935873;background:#3b2538;text-align:center;box-shadow:0 -25px 80px #0008}.modal-close{position:absolute;right:18px;top:16px;background:#4f3044;border:0;border-radius:9px;color:#e6b7c9;width:31px;height:31px;z-index:1}.modal-art{height:193px;border-radius:14px;margin-bottom:15px;background:#2e1c2d;overflow:hidden}.modal-art img{width:100%;height:100%;object-fit:cover}.modal-heart{color:#f19db9;font-size:23px}.modal-card h3{margin:6px 0 8px;font-size:22px}.modal-card p{margin:0 auto 18px;max-width:280px;color:#dcb9c8;font-size:12px;line-height:1.65}.modal-card .primary-btn{width:100%;padding:14px}.toast{position:fixed;z-index:70;bottom:calc(93px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 30px);background:#f6d6e3;color:#4c293e;font-size:12px;font-weight:700;line-height:1.4;padding:11px 18px;border-radius:99px;box-shadow:0 10px 36px #0008;text-align:center;animation:fadein .2s ease}@media(max-width:360px){h1{font-size:16px}.scene{height:265px}.action-card img{height:105px}.stat{padding:9px}.person small{font-size:9px}.avatar{width:45px;height:45px}}
