:root{--mint:#a8cfc2;--mint-deep:#8fc3b2;--cream:#fbf8ef;--cream2:#ece6d4;--blush:#dfa6a4;--heart:#fbe7a8;--ink:#3a3a38;--muted:#8c8a82}*{box-sizing:border-box}body,html{height:100%;margin:0;padding:0}body{font-family:Nunito,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;position:fixed;inset:0;overflow:hidden;background:linear-gradient(180deg,#fbf8ef,#efe8d6)}button,input,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:#b8b6ac}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@keyframes obRise{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@keyframes obPageIn{0%{opacity:0;transform:translateX(20px) rotate(.6deg)}to{opacity:1;transform:none}}.hand{font-family:Caveat,cursive;line-height:1.15}.hand-title{font-family:Marck Script,cursive}.diary-page{animation:obPageIn .35s ease both}.diary-page textarea{font-family:Caveat,cursive}.diary-page textarea::placeholder{font-family:Caveat,cursive;color:#c9b3ba}@keyframes obShimmer{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes obGlow{0%,to{box-shadow:0 12px 26px rgba(180,160,210,.38),inset 0 1px 0 hsla(0,0%,100%,.55)}50%{box-shadow:0 14px 32px rgba(200,160,190,.55),inset 0 1px 0 hsla(0,0%,100%,.7)}}.magic-btn{border:none;cursor:pointer;color:#5a3f4a;font:700 16px Nunito;border-radius:22px;padding:16px 20px;background:linear-gradient(120deg,#b8e0d2,#c7b8e8,#fbe7a8,#f3b8c0,#b8e0d2);background-size:300% 100%;animation:obShimmer 6s ease-in-out infinite,obGlow 3.2s ease-in-out infinite;text-shadow:0 1px 0 hsla(0,0%,100%,.35)}.magic-btn:active{transform:translateY(1px)}#ob-splash{position:fixed;inset:0;z-index:9999;background:linear-gradient(180deg,#fbf8ef,#f1ead9);display:flex;align-items:center;justify-content:center;transition:opacity .55s ease}#ob-splash.ob-hide{opacity:0;pointer-events:none}.ob-splash-in{position:relative;display:flex;flex-direction:column;align-items:center}.ob-splash-halo{position:absolute;top:2px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,hsla(46,91%,82%,.5),hsla(46,91%,82%,0) 68%);animation:obHalo 2.6s ease-in-out infinite}.ob-splash-mascot{position:relative;display:block;object-fit:contain;animation:obFloatY 2.8s ease-in-out infinite;filter:drop-shadow(0 16px 28px rgba(150,170,150,.3))}.ob-splash-heart{transform-origin:32px 42px;animation:obHeart 1.7s ease-in-out infinite}.ob-splash-title{margin-top:22px;font:700 27px Comfortaa,system-ui,sans-serif;color:#3a3a38;letter-spacing:.4px}.ob-splash-dots{display:flex;gap:7px;margin-top:15px}.ob-splash-dots i{width:8px;height:8px;border-radius:50%;background:#b8dccd;animation:obDot 1.25s ease-in-out infinite}.ob-splash-dots i:nth-child(2){animation-delay:.16s}.ob-splash-dots i:nth-child(3){animation-delay:.32s}@keyframes obFloatY{0%,to{transform:translateY(0)}50%{transform:translateY(-11px)}}@keyframes obHeart{0%,to{transform:scale(1);opacity:.88}50%{transform:scale(1.2);opacity:1}}@keyframes obHalo{0%,to{transform:scale(.9);opacity:.65}50%{transform:scale(1.1);opacity:1}}@media (prefers-reduced-motion:reduce){.ob-splash-dots i,.ob-splash-halo,.ob-splash-heart,.ob-splash-mascot{animation:none}}.diary-card{display:block;width:100%;text-align:left;border:none;cursor:pointer;background:#fffdfa;border-radius:18px;padding:14px 16px 14px 20px;margin-bottom:12px;position:relative;overflow:hidden;box-shadow:0 8px 18px rgba(180,140,155,.14)}.diary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(#f3b8c0,#d9a6c6)}.diary-card:active{transform:scale(.99)}.diary-leaf{position:relative;display:block;width:100%;text-align:left;border:none;cursor:pointer;background:#fffdf8;background-image:repeating-linear-gradient(#fffdf8 0 26px,#f6e2e8 26px 27px);border-radius:3px 12px 12px 3px;padding:16px 20px 20px 32px;box-shadow:0 12px 24px rgba(170,125,150,.2),inset 0 0 0 1px #f2e5dc}.diary-leaf:before{left:20px;top:0;width:2px;background:#f3b8c0;opacity:.7}.diary-leaf:after,.diary-leaf:before{content:"";position:absolute;bottom:0}.diary-leaf:after{right:0;width:0;height:0;border-color:transparent transparent #efd3dc;border-style:solid;border-width:0 0 26px 26px;border-bottom-right-radius:12px}.diary-leaf:active{transform:scale(.992)}.washi{position:absolute;top:-8px;width:56px;height:17px;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.08)}@keyframes obFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes obDot{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}@keyframes obPulse{0%,to{box-shadow:0 0 0 3px rgba(143,195,178,.25)}50%{box-shadow:0 0 0 6px rgba(143,195,178,.12)}}@keyframes obPulse2{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.appframe{position:fixed;top:0;left:0;right:0;margin:0 auto;max-width:460px;width:100%;height:100vh;height:100dvh;height:var(--app-h,100dvh);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#fbf8ef,#efe8d6)}.chat-scroll,.scr{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.chat-scroll{padding:16px 16px 8px}.composer{display:flex;gap:10px;align-items:flex-end;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid rgba(0,0,0,.05)}.cmp,.composer{flex:none;position:relative}.cmp{padding:6px 8px max(8px,env(safe-area-inset-bottom));background:transparent}.cmp-f{gap:6px}.cmp-cap,.cmp-f{position:relative;display:flex;align-items:flex-end;min-width:0}.cmp-cap{flex:1 1;min-height:46px;padding:0 2px;border-radius:23px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08),0 4px 14px -8px rgba(90,110,100,.35)}.cmp-ib{flex:none;width:42px;height:46px;border:0;border-radius:21px;background:transparent;color:#9a978c;display:grid;place-items:center;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.cmp-ib.on,.cmp-ib:hover{color:#5f9d89}.cmp-in{flex:1 1;min-width:0;align-self:center;padding:9px 2px}.appframe .cmp-in textarea{display:block;width:100%;box-sizing:border-box;border:0;outline:0;background:transparent;color:var(--ink);font:400 16px/1.4 Nunito,system-ui,sans-serif;resize:none;padding:3px 0;margin:0;height:28px;max-height:152px;overflow-y:auto;scrollbar-width:none;box-shadow:none;border-radius:0}.appframe .cmp-in textarea::-webkit-scrollbar{display:none}.cmp-go,.mic{flex:none;width:46px;height:46px;border-radius:50%;border:0;display:grid;place-items:center;background:linear-gradient(135deg,#a8cfc2,#8fc3b2);color:#fff;box-shadow:0 4px 14px -6px rgba(90,150,130,.6);cursor:pointer;padding:0;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .15s}.cmp-go:disabled,.mic:disabled{opacity:.55;cursor:default}.cmp-go:active,.mic:active{transform:scale(.94)}.mic-w{position:relative;flex:none;display:inline-flex}.mic.rec{transform:scale(1.3)}.mic.rec.locked{transform:none;animation:obGoPulse 1.3s ease-out infinite}@keyframes obGoPulse{0%{box-shadow:0 0 0 0 rgba(143,195,178,.6)}70%{box-shadow:0 0 0 14px rgba(143,195,178,0)}to{box-shadow:0 0 0 0 transparent}}.rec-lock{position:absolute;left:50%;bottom:66px;transform:translateX(-50%);width:38px;padding:8px 0;border-radius:19px;background:#fff;border:1px solid #e7e0cf;box-shadow:0 6px 18px -8px rgba(0,0,0,.35);color:#9a978c;display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}.rec-lock .up{animation:obUp 1.2s ease-in-out infinite}@keyframes obUp{50%{transform:translateY(-4px)}}.rec-overlay{position:absolute;left:12px;right:68px;top:10px;bottom:calc(10px + env(safe-area-inset-bottom));background:#fff;border-radius:23px;display:flex;align-items:center;padding:0 12px;z-index:6;box-shadow:0 1px 2px rgba(0,0,0,.08)}.cmp-f .rec-overlay{left:0;right:52px;top:0;bottom:0}.rec-hold,.rec-locked{display:flex;align-items:center;gap:10px;width:100%;min-width:0}.rec-dot{width:10px;height:10px;border-radius:50%;background:#e0453a;flex-shrink:0;animation:obBlink 1s ease-in-out infinite}@keyframes obBlink{50%{opacity:.25}}.rec-time{font:600 15px Nunito;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);min-width:38px}.rec-bars{flex:1 1;display:flex;align-items:center;gap:2px;height:28px;overflow:hidden;min-width:0}.rec-bars i{flex:1 1;min-width:2px;max-width:4px;border-radius:2px;background:var(--mint-deep);transition:height .08s linear}.rec-hint{font:600 14px Nunito;color:var(--muted);white-space:nowrap;animation:obCx 1.6s ease-in-out infinite}@keyframes obCx{50%{opacity:.45;transform:translateX(-5px)}}.rec-hold.armed .rec-hint{color:#e0453a;animation:none}.rec-btn{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.rec-btn.cancel{background:#f3eee2;color:var(--muted)}.rec-btn.pause{background:#f3eee2;color:var(--ink)}.cmp-at{gap:6px;margin:0 52px 6px 0;padding:7px 8px 8px 10px;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08)}.cmp-at,.cmp-atl{display:flex;flex-direction:column}.cmp-atl{min-width:0;border-left:2px solid var(--mint-deep);padding-left:8px}.cmp-atl b{font:700 13px Nunito;color:#4f8d79}.cmp-atl span{font:500 12.5px Nunito;color:var(--muted)}.cmp-ats{display:flex;flex-wrap:wrap;gap:6px}.cmp-atc{position:relative;flex:none;width:56px;height:56px;border-radius:10px;overflow:hidden;background:#f1ecdd}.cmp-atc img{display:block;width:100%;height:100%;object-fit:cover}.cmp-atx{position:absolute;top:2px;right:2px;width:22px;height:22px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#fff;cursor:pointer}.cmp-atx svg{width:13px;height:13px}.cmp-menu-bg{position:fixed;inset:0;z-index:7}.cmp-menu{position:absolute;z-index:8;right:46px;bottom:54px;min-width:220px;padding:6px;border-radius:16px;background:#fff;border:1px solid #eee7d6;box-shadow:0 18px 50px -16px rgba(60,50,40,.45);animation:obMi .14s ease-out}@keyframes obMi{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.cmp-mi{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:var(--ink);font:600 15px Nunito;text-align:left;cursor:pointer}.cmp-mi:hover{background:#f6f2e7}.cmp-mii{display:inline-flex;color:#5f9d89}.cmp-mii svg{width:22px;height:22px}.cmp-emo{display:flex;flex-direction:column;margin:8px -8px calc(-1 * max(8px,env(safe-area-inset-bottom)));border-top:1px solid rgba(0,0,0,.06);background:#fff}.cmp-es{flex:none;padding:6px 10px 2px}.appframe .cmp-es input{width:100%;box-sizing:border-box;height:34px;border-radius:17px;border:0;background:#f3eee2;color:var(--ink);padding:0 14px;font:500 15px Nunito;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.cmp-es input::-webkit-search-cancel-button{display:none}.appframe .cmp-eb{flex:1 1;min-height:0;overflow-y:auto;padding:0 6px;scrollbar-width:none}.appframe .cmp-eb::-webkit-scrollbar{display:none}.cmp-egt{font:700 12.5px Nunito;color:var(--muted);padding:8px 6px 4px}.cmp-egr{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr))}.cmp-egr button{height:42px;border:0;background:transparent;font-size:27px;line-height:1;cursor:pointer;border-radius:8px;padding:0;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif}.cmp-egr button:hover{background:#f6f2e7}.cmp-egn{font:500 13px Nunito;color:#b3b0a5;padding:4px 6px}.cmp-et{flex:none;display:flex;justify-content:space-around;border-top:1px solid rgba(0,0,0,.06);padding:2px 4px calc(2px + env(safe-area-inset-bottom))}.cmp-et button{width:38px;height:38px;border:0;background:transparent;font-size:20px;border-radius:10px;cursor:pointer;opacity:.55;padding:0;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif}.cmp-et button.on{opacity:1;background:#f3eee2}.cmp-drop{position:absolute;inset:-60px 4px 4px;z-index:9;border-radius:18px;border:2px dashed var(--mint-deep);background:hsla(45,60%,96%,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#4f8d79;font:700 15px Nunito;pointer-events:none}.msg-ph{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:3px;gap:3px;margin:-5px -9px 6px;border-radius:16px 16px 4px 4px;overflow:hidden}.msg-ph.n1{grid-template-columns:1fr}.msg-ph button{display:block;padding:0;border:0;background:#ead9c4;cursor:zoom-in}.msg-ph img{display:block;width:100%;height:100%;object-fit:cover;max-height:300px}.msg-ph:not(.n1) button{aspect-ratio:1}.ph-view{position:fixed;inset:0;z-index:130;background:rgba(20,18,16,.92);display:flex;align-items:center;justify-content:center;animation:obFade .18s ease both;cursor:zoom-out}.ph-view img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:6px}.ob-cam{position:fixed;inset:0;z-index:150;background:#000;display:flex;flex-direction:column;animation:obFade .15s ease both}.ob-cam video{flex:1 1;min-height:0;width:100%;object-fit:cover;background:#000}.ob-cam video.mirror{transform:scaleX(-1)}.ob-cam-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:hsla(0,0%,100%,.8);font:600 15px Nunito;pointer-events:none}.ob-cam-x{position:absolute;top:calc(14px + env(safe-area-inset-top));left:14px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;display:grid;place-items:center;cursor:pointer}.ob-cam-bar{flex:none;display:flex;align-items:center;justify-content:space-around;padding:18px 18px calc(22px + env(safe-area-inset-bottom));background:#000}.ob-cam-b{width:52px;height:52px;border-radius:50%;border:0;background:hsla(0,0%,100%,.14);color:#fff;display:grid;place-items:center;cursor:pointer}.ob-cam-shot{width:76px;height:76px;border-radius:50%;border:4px solid #fff;background:transparent;display:grid;place-items:center;cursor:pointer;padding:0}.ob-cam-shot i{display:block;width:60px;height:60px;border-radius:50%;background:#a8cfc2;transition:transform .12s}.ob-cam-shot:active i{transform:scale(.88)}.ob-cam-shot:disabled{opacity:.5}.ob-tip{position:fixed;z-index:200;transform:translate(-50%,-100%);max-width:250px;padding:8px 11px;border-radius:10px;background:rgba(44,58,54,.96);color:#fff;font:600 12.5px/1.35 Nunito;box-shadow:0 8px 24px -10px rgba(0,0,0,.4);pointer-events:none;animation:obFade .15s ease both}@media (prefers-reduced-motion:reduce){.mic.rec.locked,.rec-dot,.rec-hint,.rec-lock .up{animation:none}}.appframe *{scrollbar-width:thin;scrollbar-color:#d9bedc transparent}.appframe ::-webkit-scrollbar{width:9px;height:9px}.appframe ::-webkit-scrollbar-track{background:transparent}.appframe ::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid transparent;background-clip:content-box;background-image:linear-gradient(180deg,#c7b8e8,#f3b8c0);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.25)}.appframe ::-webkit-scrollbar-thumb:hover{background-image:linear-gradient(180deg,#b7a6e0,#efa6b4)}.appframe ::-webkit-scrollbar-thumb:active{background-image:linear-gradient(180deg,#a996d6,#e895a6)}.appframe ::-webkit-scrollbar-corner{background:transparent}@keyframes obFade{0%{opacity:0}to{opacity:1}}.tx-modal{position:fixed;inset:0;z-index:60;justify-content:center;padding:24px;background:rgba(58,50,52,.34);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:obFade .2s ease both}.tx-card,.tx-modal{display:flex;align-items:center}.tx-card{background:#fff;border-radius:26px;padding:26px 30px;flex-direction:column;gap:10px;text-align:center;max-width:290px;box-shadow:0 26px 64px rgba(120,90,110,.3);animation:obRise .3s ease both}.tx-dots{display:flex;gap:7px;margin-top:6px}.tx-dots i{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#c7b8e8,#f3b8c0);animation:obDot 1.2s infinite}@keyframes obSheetUp{0%{transform:translateY(100%)}to{transform:none}}.sh-bg{position:fixed;inset:0;z-index:70;background:rgba(58,50,52,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;animation:obFade .2s ease both}.sh{width:100%;max-width:460px;background:#fff;border-radius:24px 24px 0 0;padding:16px 18px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -14px 40px rgba(120,90,110,.24);animation:obSheetUp .28s cubic-bezier(.2,.8,.2,1) both}.sh-h{display:flex;align-items:center;justify-content:space-between;margin:2px 4px 14px}.sh-h-t{font:800 18px Nunito;color:var(--ink)}.sh-close{border:none;background:#f1ecdd;color:var(--muted);width:32px;height:32px;border-radius:50%;font-size:14px;cursor:pointer}.sh-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px 8px;gap:14px 8px}.sh-item{flex-direction:column;gap:7px;border:none;background:none;cursor:pointer;padding:4px 2px}.sh-badge,.sh-item{display:flex;align-items:center}.sh-badge{width:52px;height:52px;border-radius:16px;justify-content:center;color:#fff;font:800 15px Nunito;box-shadow:0 6px 14px rgba(0,0,0,.14)}.sh-label{font:600 11px Nunito;color:#6f6d66;text-align:center;line-height:1.2}@keyframes obWiggle{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(-2.5deg)}60%{transform:translateY(-2px) rotate(2deg)}}.hicon{display:flex;flex-direction:column;align-items:center;gap:9px;border:none;background:none;cursor:pointer;padding:0;transition:transform .12s}.hicon:active{transform:scale(.93)}.hicon .b3d{position:relative;width:84px;height:84px;border-radius:26px;display:flex;align-items:center;justify-content:center;font-size:40px;box-shadow:0 14px 26px rgba(150,120,150,.34),inset 0 3px 0 hsla(0,0%,100%,.6),inset 0 -9px 16px rgba(0,0,0,.1);animation:obWiggle 4.6s ease-in-out infinite}.hicon .b3d:after{content:"";position:absolute;left:11%;top:8%;width:48%;height:34%;border-radius:50%;background:linear-gradient(hsla(0,0%,100%,.65),hsla(0,0%,100%,0));pointer-events:none}.hicon .hlbl{font:700 13px Nunito;color:var(--ink)}.cyc-strip{scrollbar-width:none}.cyc-strip::-webkit-scrollbar{display:none}