: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{flex:none;display:flex;gap:10px;align-items:flex-end;position:relative;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid rgba(0,0,0,.05)}.composer textarea{flex:1 1;padding:12px 18px;border:none;border-radius:22px;background:#fff;font:400 15px/1.35 Nunito;color:var(--ink);outline:none;box-shadow:0 4px 12px hsla(120,5%,57%,.1);resize:none;display:block;max-height:132px;overflow-y:auto;-webkit-overflow-scrolling:touch}.send-btn{border-radius:50%;border:none;background:linear-gradient(135deg,#a8cfc2,#8fc3b2);color:#fff;font-size:20px;box-shadow:0 6px 14px rgba(143,195,178,.4)}.mic,.send-btn{width:46px;height:46px;flex:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.mic{border-radius:50%;background:#fff;border:1px solid #e7e0cf;color:var(--mint-deep);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 4px 12px hsla(120,5%,57%,.1)}.mic:hover{border-color:var(--mint)}.mic.rec{background:hsla(2,48%,76%,.16);border-color:var(--blush);color:var(--blush);animation:obPulse2 1.1s ease-in-out infinite}.rec-overlay{position:absolute;inset:0;background:var(--cream);display:flex;align-items:center;padding:8px 12px;z-index:6;border-top:1px solid rgba(0,0,0,.05)}.rec-hold,.rec-locked{display:flex;align-items:center;gap:10px;width:100%}.rec-dot{width:11px;height:11px;border-radius:50%;background:#e0816f;flex-shrink:0;animation:obPulse2 1.1s ease-in-out infinite}.rec-time{font-size:14px;color:var(--ink);min-width:38px}.rec-bars{flex:1 1;display:flex;align-items:center;gap:2px;height:28px;overflow:hidden}.rec-bars i{flex:1 1;min-width:2px;max-width:4px;border-radius:2px;background:var(--mint);transition:height .08s linear}.rec-hint{font-size:12px;color:var(--muted);white-space:nowrap}.rec-hold.armed .rec-dot,.rec-hold.armed .rec-hint{color:#e0816f}.rec-btn{width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.rec-btn.cancel{background:#f0eadc;color:var(--muted)}.rec-btn.pause{background:#f0eadc;color:var(--ink)}.rec-btn.send{background:linear-gradient(135deg,#a8cfc2,#8fc3b2);color:#fff}.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}