@import"https://cdn.jsdelivr.net/fontsource/css/fraunces@latest/index.css";@import"https://cdn.jsdelivr.net/fontsource/css/inter@latest/index.css";*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{font-family:Inter,system-ui,sans-serif;overflow:hidden}h1,h2,h3,.serif{font-family:Fraunces,Georgia,serif}.app{height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--bg1),var(--bg2) 55%,var(--bg3));transition:background .6s}.app.dark{--bg1:#171034;--bg2:#241a45;--bg3:#1a1233;--text:#f4f0ff;--muted:#a8a2c8;--card:rgba(255,255,255,.065);--brd:rgba(255,255,255,.12);--chip:rgba(255,255,255,.09);--shadow:0 12px 40px rgba(8,4,24,.45);--ring-track:rgba(255,255,255,.1);--inp:rgba(255,255,255,.07)}.app.light{--bg1:#fdf4e8;--bg2:#f3ecfb;--bg3:#e8f2f6;--text:#35304e;--muted:#8b86a6;--card:rgba(255,255,255,.68);--brd:rgba(60,40,90,.1);--chip:rgba(60,40,90,.06);--shadow:0 12px 36px rgba(90,60,120,.14);--ring-track:rgba(60,40,90,.09);--inp:rgba(255,255,255,.75)}.app{color:var(--text)}.shell{flex:1;overflow:hidden;position:relative;width:100%;max-width:520px;margin:0 auto}.page{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:14px 16px 150px;scrollbar-width:thin}.page::-webkit-scrollbar{width:4px}.page::-webkit-scrollbar-thumb{background:var(--brd);border-radius:4px}@media(min-width:760px){.shell{border-left:1px solid var(--brd);border-right:1px solid var(--brd)}}.card{background:var(--card);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid var(--brd);border-radius:22px;box-shadow:var(--shadow);padding:16px;margin-bottom:14px}.h-air{height:10px}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.row{display:flex;align-items:center;gap:10px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1}.btn{border:none;cursor:pointer;font-family:inherit;font-weight:600;border-radius:16px;padding:12px 18px;font-size:14px;transition:transform .15s,box-shadow .2s,opacity .2s;color:#fff;background:linear-gradient(135deg,#f6a96b,#e0709b 55%,#8f7ff0);box-shadow:0 8px 22px #e0709b59}.btn:active{transform:scale(.96)}.btn.ghost{background:var(--chip);color:var(--text);box-shadow:none;border:1px solid var(--brd)}.btn.sm{padding:8px 14px;font-size:12.5px;border-radius:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.chip{background:var(--chip);border:1px solid var(--brd);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--text);cursor:pointer;transition:all .2s;white-space:nowrap;font-family:inherit}.chip:hover{transform:translateY(-1px)}.chip.on{background:linear-gradient(135deg,#f6a96b,#e0709b);color:#fff;border-color:transparent}.inp{width:100%;background:var(--inp);border:1.5px solid var(--brd);border-radius:16px;padding:13px 14px;color:var(--text);font-family:inherit;font-size:14.5px;outline:none;transition:border .2s,box-shadow .2s;resize:none}.inp:focus{border-color:#e0709b;box-shadow:0 0 0 4px #e0709b26}textarea.inp{line-height:1.55;min-height:86px}.header{display:flex;align-items:center;gap:10px;padding:14px 16px 8px;max-width:520px;margin:0 auto;width:100%}.logo{width:38px;height:38px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:19px;background:linear-gradient(135deg,#f6a96b,#e0709b 60%,#8f7ff0);box-shadow:0 6px 16px #e0709b66}.pill{display:flex;align-items:center;gap:5px;background:var(--chip);border:1px solid var(--brd);border-radius:999px;padding:6px 11px;font-size:12px;font-weight:600}.iconbtn{width:36px;height:36px;border-radius:12px;border:1px solid var(--brd);background:var(--chip);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:transform .15s}.iconbtn:active{transform:scale(.9)}.tabbar{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;padding:8px 8px calc(10px + env(safe-area-inset-bottom));background:var(--card);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);border-top:1px solid var(--brd);max-width:520px;margin:0 auto;z-index:40}.tab{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);font-size:10px;font-weight:600;font-family:inherit;padding:6px 10px;border-radius:14px;position:relative}.tab svg{width:22px;height:22px}.tab.on{color:var(--text)}.tab.on:after{content:"";position:absolute;top:-8px;width:18px;height:3px;border-radius:3px;background:linear-gradient(90deg,#f6a96b,#e0709b)}.fab{position:absolute;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:45;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:14px 20px;border-radius:999px;color:#fff;font-family:inherit;font-weight:700;font-size:14px;background:linear-gradient(135deg,#f6a96b,#e0709b 55%,#8f7ff0);box-shadow:0 12px 32px #e0709b80;max-width:520px;transition:transform .15s}.fab:active{transform:scale(.93)}.fab:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:999px;border:2px solid rgba(224,112,155,.5);animation:fabpulse 2.6s ease-out infinite}@keyframes fabpulse{0%{transform:scale(.9);opacity:.8}70%{transform:scale(1.25);opacity:0}to{opacity:0}}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c081c80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60;display:flex;align-items:flex-end;justify-content:center;animation:ovIn .2s ease both}.overlay.leaving{animation:ovOut .22s ease both}.overlay.center{align-items:center;padding:20px}.sheet{width:100%;max-width:520px;background:var(--bg2);border-radius:28px 28px 0 0;border:1px solid var(--brd);border-bottom:none;padding:18px 18px calc(22px + env(safe-area-inset-bottom));max-height:88%;overflow-y:auto;box-shadow:0 -20px 60px #00000059;animation:shIn .34s cubic-bezier(.18,1.05,.32,1) both}.overlay.center .sheet{animation-name:shInC}.overlay.leaving .sheet{animation:shOut .22s ease both}.sheet.center{border-radius:26px;border-bottom:1px solid var(--brd);max-width:400px;box-shadow:var(--shadow)}@keyframes ovIn{0%{opacity:0}to{opacity:1}}@keyframes ovOut{0%{opacity:1}to{opacity:0}}@keyframes shIn{0%{transform:translateY(16%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shInC{0%{transform:translateY(26px) scale(.94);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes shOut{to{transform:translateY(14px) scale(.98);opacity:0}}.grab{width:44px;height:5px;border-radius:5px;background:var(--brd);margin:0 auto 14px}.garden-canvas{width:100%;height:100%;display:block;border-radius:20px}.toastwrap{position:absolute;top:12px;left:0;right:0;z-index:90;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{background:var(--card);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid var(--brd);border-radius:16px;padding:10px 16px;font-size:13px;font-weight:600;box-shadow:var(--shadow);display:flex;gap:8px;align-items:center;max-width:88%;animation:toastIn .38s cubic-bezier(.2,1.2,.3,1) both}@keyframes toastIn{0%{transform:translateY(-24px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:95;overflow:hidden}.confetti span{position:absolute;top:-20px;width:9px;height:14px;border-radius:3px;animation-name:confFall;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes confFall{0%{transform:translateY(0) rotate(0);opacity:1}80%{opacity:1}to{transform:translateY(105vh) rotate(460deg);opacity:0}}.questbar{height:7px;border-radius:6px;background:var(--ring-track);overflow:hidden;flex:1}.questbar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#f6a96b,#e0709b);transition:width .6s cubic-bezier(.2,.8,.2,1)}.badge{min-width:74px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:18px;background:var(--chip);border:1px solid var(--brd);font-size:9.5px;font-weight:600;text-align:center;color:var(--muted)}.badge .em{font-size:24px;filter:grayscale(1);opacity:.4}.badge.got .em{filter:none;opacity:1}.badge.got{color:var(--text);border-color:#e0709b66;background:linear-gradient(160deg,#f6a96b24,#8f7ff024)}.entrycard{border-left:3px solid var(--ec,#e0709b);background:var(--chip);border-radius:14px;padding:11px 13px;margin-bottom:9px;transition:transform .15s}.entrycard:active{transform:scale(.985)}.daylabel{position:sticky;top:0;z-index:5;background:var(--bg2);padding:8px 2px 6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.typing{display:inline-flex;gap:4px;padding:4px 2px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:tp 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes tp{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}.bub{max-width:84%;padding:11px 14px;border-radius:18px;font-size:13.5px;line-height:1.55;white-space:pre-wrap;animation:bubIn .32s ease both}@keyframes bubIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bub.ai{background:var(--chip);border:1px solid var(--brd);border-bottom-left-radius:6px;align-self:flex-start}.bub.me{background:linear-gradient(135deg,#f6a96b,#e0709b);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}.chat{display:flex;flex-direction:column;gap:10px;padding-bottom:16px}.floaty{animation:floaty 5s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.mic.rec{background:#e05c5c!important;color:#fff!important;animation:recp 1s infinite}@keyframes recp{50%{opacity:.55}}.emojipick{display:flex;gap:6px;flex-wrap:wrap}.emojipick button{font-size:19px;background:var(--chip);border:1px solid var(--brd);border-radius:10px;padding:5px 8px;cursor:pointer}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}input[type=range]{width:100%;accent-color:#e0709b}audio{width:100%;height:34px;margin-top:6px}.imgprev{width:64px;height:64px;object-fit:cover;border-radius:14px;border:1px solid var(--brd)}.notifbanner{position:absolute;top:64px;left:14px;right:14px;z-index:55;max-width:492px;margin:0 auto;animation:dropIn .38s cubic-bezier(.2,1.1,.3,1) both}.notifbanner.leaving{animation:dropOut .25s ease both}@keyframes dropIn{0%{transform:translateY(-26px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes dropOut{to{transform:translateY(-20px);opacity:0}}.ringlabel{font-family:Fraunces,serif}.gardentabs{position:absolute;top:54px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:45;flex-wrap:wrap;padding:0 12px}.gardentabs .gtab{pointer-events:auto;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;padding:8px 13px;border-radius:999px;background:#140e2880;color:#fff;transition:all .2s;white-space:nowrap}.gardentabs .gtab:active{transform:scale(.94)}.gardentabs .gtab.on{background:linear-gradient(135deg,#f6a96b,#e0709b);box-shadow:0 6px 18px #e0709b66}.sheet-page .page{position:static;height:auto;overflow:visible;padding:0 0 16px}.page-anim{animation:pageIn .28s ease both}@keyframes pageIn{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}.rise-in{animation:riseIn .4s ease both}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-swap{animation:fadeSwap .45s ease both}@keyframes fadeSwap{0%{opacity:0}to{opacity:1}}.chest-pop{animation:chestPop .55s cubic-bezier(.2,1.5,.35,1) both}@keyframes chestPop{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}.chest-reveal{animation:riseIn .45s .3s ease both}
