:root{--g:#2f5d46;--g2:#4c8a68;--leaf:#dcebd2;--cr:#f4ecd6;--cr2:#fffaf0;--br:#5e4129;--br2:#8a6a4b;--gold:#d9a441;--line:#eadfc0}*{box-sizing:border-box}body{margin:0;font-family:Fredoka,system-ui,sans-serif;color:var(--br);line-height:1.5;background:radial-gradient(circle at 12% 0,#fff3c8 0,transparent 42%),radial-gradient(circle at 95% 100%,#c9e4c3 0,transparent 48%),var(--cr);background-attachment:fixed}h1{font-size:1.8rem;margin:.2rem 0 .7rem;color:var(--g)}h2{font-size:1.15rem;margin:0 0 .7rem;color:var(--g)}p{margin:.3rem 0 .8rem}small{color:var(--br2)}pre{margin:.5rem 0}button,input{font:inherit}button{border:0;border-radius:99px;background:linear-gradient(#58966f,var(--g));color:#fff;padding:.55rem 1.2rem;cursor:pointer;box-shadow:0 3px #1f4331;transition:transform .15s,box-shadow .15s,filter .2s}button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 5px #1f4331}button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #1f4331}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.ghost{background:var(--cr2);color:var(--g);border:2px solid var(--line);box-shadow:0 3px 0 var(--line)}button.ghost:hover:not(:disabled){background:var(--leaf);box-shadow:0 5px 0 var(--line)}input{width:100%;border:2px solid var(--line);border-radius:16px;padding:.65rem .9rem;background:var(--cr2);color:var(--br);transition:border-color .2s,box-shadow .2s}input:focus{outline:0;border-color:var(--g2);box-shadow:0 0 0 4px #4c8a6833}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.card{position:relative;background:#fffaf0f0;border:2px solid var(--line);border-radius:24px;padding:1.2rem;box-shadow:0 6px 18px #5e412914;transition:transform .2s,box-shadow .2s}.scene{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='110'%3E%3Cg fill='%232f5d46' fill-opacity='.11'%3E%3Cpolygon points='40,8 66,70 14,70'/%3E%3Cpolygon points='40,30 72,96 8,96'/%3E%3Crect x='36' y='96' width='8' height='14'/%3E%3Cpolygon points='115,34 138,84 92,84'/%3E%3Crect x='111' y='84' width='8' height='26'/%3E%3C/g%3E%3C/svg%3E") repeat-x bottom/170px auto}.scene i{position:absolute;bottom:-10px;width:7px;height:7px;border-radius:50%;background:#ffe27a;box-shadow:0 0 12px 4px #ffe27a99;animation:fly linear infinite}@keyframes fly{0%{transform:translate(0);opacity:0}15%{opacity:1}50%{transform:translate(40px,-45vh)}85%{opacity:1}to{transform:translate(-30px,-95vh);opacity:0}}.auth{position:relative;min-height:100vh;display:grid;place-items:center;padding:1rem;font-size:3rem}.auth form,.auth .card{z-index:1;width:min(390px,100%);display:flex;flex-direction:column;gap:.7rem;text-align:center;font-size:1rem}.auth .wide{width:min(660px,100%)}.logo{font-size:2.8rem;animation:bob 3s ease-in-out infinite}.err{color:#a4372b;font-size:.9rem}.shell{display:flex;min-height:100vh}.side{position:sticky;top:0;z-index:2;width:240px;flex:none;height:100vh;padding:1rem;display:flex;flex-direction:column;gap:.35rem;background:linear-gradient(170deg,#3a7355,#244a37);box-shadow:4px 0 20px #1f3d2e30}.side button{background:transparent;box-shadow:none;border-radius:16px;text-align:left;display:flex;gap:.7rem;align-items:center;color:var(--cr);padding:.65rem .9rem}.side button:hover:not(:disabled){background:#ffffff24;transform:translate(4px);box-shadow:none}.side button.on{background:#ffffff38;box-shadow:inset 3px 0 var(--gold)}.side button span:first-child{font-size:1.25rem}.side .out{margin-top:auto}.me{display:flex;gap:.7rem;align-items:center;color:var(--cr);padding:.3rem .4rem 1rem}.me small{display:block;color:#bcd6c4}.me .av{animation:bob 3s ease-in-out infinite}.av{display:inline-grid;place-items:center;background:var(--leaf);border-radius:50%;flex:none;box-shadow:0 0 0 3px #ffffff80}.main{position:relative;z-index:1;flex:1;min-width:0;padding:1.4rem;max-width:1080px;margin:0 auto;animation:in .35s ease}@keyframes in{0%{opacity:0;transform:translateY(10px)}}@keyframes bob{50%{transform:translateY(-5px)}}@keyframes pop{0%{opacity:0;transform:scale(.85)}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.stats{margin:1rem 0}.stat{display:flex;flex-direction:column;align-items:center}.stat>span{font-size:1.6rem}.stat b{font-size:1.9rem;color:var(--g)}.stat:hover,.pet:hover{transform:translateY(-4px);box-shadow:0 12px 24px #5e412922}.hero{display:flex;gap:1.2rem;align-items:center;background:linear-gradient(120deg,#e3f1d8,#fff4cf)}.hero h1{margin:0}.hero .av{width:84px!important;height:84px!important;animation:bob 3s ease-in-out infinite}.lvl{margin-top:.4rem}.lvl .bar{margin-top:.2rem}.split2,.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.split{grid-template-columns:260px 1fr;height:calc(100vh - 2.8rem)}.row{display:flex;gap:.6rem;align-items:center;padding:.35rem 0;width:100%;text-align:left;animation:pop .3s}button.row{padding:.4rem .7rem;margin-top:.4rem;border-radius:16px}button.row.on{background:var(--leaf)}.quick{display:flex;flex-wrap:wrap;gap:.5rem}.pet{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.pet .big{font-size:3.6rem;line-height:1.1;transition:transform .3s}.pet:hover .big{transform:scale(1.2) rotate(-6deg)}.pet.rare{background:linear-gradient(135deg,#fff4cf,#fffaf0 45%,#ffe9a8);border-color:var(--gold);animation:glow 3s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 0 22px #d9a44180}}.pet button{margin-top:.4rem}.tag{margin-top:.4rem;padding:.3rem .9rem;border-radius:99px;background:var(--leaf);color:var(--g)}.list{overflow:auto}.empty{display:grid;place-items:center;color:var(--br2);text-align:center}.chat{display:flex;flex-direction:column;height:calc(100vh - 2.8rem);padding:1rem;min-height:0}.chead{display:flex;justify-content:space-between;align-items:center}.chead h2{margin:0}.online{display:flex;gap:.2rem;align-items:center}.msgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:.7rem;padding:.8rem 0}.msg{display:flex;gap:.55rem;align-items:flex-end;max-width:85%;animation:pop .25s}.msg.mine{align-self:flex-end;flex-direction:row-reverse}.bub{background:var(--cr);padding:.5rem .85rem;border-radius:20px 20px 20px 6px;display:flex;flex-direction:column;overflow-wrap:anywhere}.mine .bub{background:var(--leaf);border-radius:20px 20px 6px}.bub img,.bub video{max-width:min(320px,100%);border-radius:14px;margin-top:.3rem}.emo{display:flex;gap:.25rem;margin-bottom:.4rem;overflow:auto}.emo button{background:var(--cr);box-shadow:none;padding:.2rem .5rem;font-size:1.2rem;border-radius:12px}.emo button:hover:not(:disabled){transform:scale(1.25);box-shadow:none}.compose{display:flex;gap:.5rem}.compose input:not([hidden]){flex:1}.bar{height:16px;border-radius:99px;background:#e3d6b4;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#7dbf7d,var(--g2));border-radius:99px;transition:width .8s cubic-bezier(.3,1.3,.5,1)}.scene-garden{position:relative;height:390px;border-radius:28px;overflow:hidden;margin-bottom:1rem;background:linear-gradient(#92cdee,#d9f0e0 72%);border:2px solid var(--line)}.sun{position:absolute;top:16px;right:32px;font-size:3rem;animation:pulse 4s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.12);filter:brightness(1.2)}}.cloud{position:absolute;font-size:3.2rem;opacity:.92;animation:drift 45s linear infinite}.c1{top:26px;left:-12%}.c2{top:96px;left:-40%;font-size:2.2rem;animation-delay:-22s}@keyframes drift{to{transform:translate(130vw)}}.hill{position:absolute;left:-10%;right:-10%;bottom:-80px;height:170px;border-radius:50%;background:radial-gradient(#79bb72,#3f8a55)}.treewrap{position:absolute;left:50%;bottom:48px;width:0;height:0;z-index:1}.tree{position:absolute;left:0;bottom:0;line-height:1;transform:translate(-50%);transform-origin:bottom center;animation:sway 4s ease-in-out infinite;transition:font-size .9s cubic-bezier(.3,1.5,.5,1)}@keyframes sway{0%,to{transform:translate(-50%) rotate(-1.5deg)}50%{transform:translate(-50%) rotate(1.5deg)}}.wiggle .tree{animation-duration:.35s}.apple{position:absolute;left:0;bottom:90px;background:none;box-shadow:none;padding:0;font-size:1.9rem;animation:bob 2s ease-in-out infinite}.apple:disabled{opacity:.8}.apple:hover:not(:disabled){transform:scale(1.35);box-shadow:none}.drop{position:absolute;bottom:230px;font-size:1.2rem;animation:fall .9s ease-in forwards}@keyframes fall{0%{transform:translateY(-110px);opacity:1}to{transform:translateY(150px);opacity:0}}.garden-info{text-align:center}.garden-info .quick{justify-content:center}.toasts{position:fixed;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:50}.toast{background:var(--g);color:#fff;padding:.65rem 1.1rem;border-radius:16px;box-shadow:0 8px 24px #0003;animation:slide .35s cubic-bezier(.3,1.4,.5,1)}.toast.bad{background:#a4372b}@keyframes slide{0%{transform:translate(120%)}}.conf{position:fixed;font-size:1.7rem;pointer-events:none;z-index:60;animation:conf 1.6s ease-out forwards}@keyframes conf{40%{transform:translate(calc(var(--x)*.6),-28vh) rotate(var(--r))}to{transform:translate(var(--x),38vh) rotate(var(--r));opacity:0}}@media (max-width:760px){.shell{flex-direction:column}.side{position:fixed;bottom:0;left:0;right:0;width:auto;height:auto;flex-direction:row;justify-content:space-around;padding:.4rem}.side .me,.lbl{display:none}.side .out{margin:0}.side button{font-size:1.4rem;padding:.5rem .7rem}.main{padding:1rem 1rem 5rem}.split2,.split{grid-template-columns:1fr;height:auto}.chat{height:calc(100vh - 8rem)}.list{max-height:200px}.scene-garden{height:320px}.toasts{left:1rem}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.01em}.hero2{display:flex;gap:1.6rem;align-items:center;padding:1.6rem 1.8rem;background:linear-gradient(120deg,#e6f2da,#fff3cf 70%);border-radius:30px}.hbody{flex:1;min-width:0}.hero2 h1{margin:.1rem 0 .3rem;font-size:2.2rem}.tip{font-style:italic;color:var(--br2);margin:.2rem 0 .7rem}.halo{display:grid;place-items:center;width:128px;height:128px;flex:none;border-radius:50%;background:radial-gradient(circle,#fff 0,#fff8e0 55%,#f1e3b4);box-shadow:0 0 0 6px #ffffff90,0 10px 30px #d9a44130}.halo .av{width:96px!important;height:96px!important;background:transparent;box-shadow:none;animation:bob 3s ease-in-out infinite}.pfav{font-size:4rem;line-height:1;animation:bob 3s ease-in-out infinite}.ico{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;font-size:1.5rem;margin-bottom:.2rem}.gp{display:flex;flex-direction:column;gap:.5rem;align-items:center;text-align:center}.gp-t{font-size:4.2rem;line-height:1;animation:bob 3s ease-in-out infinite}.gp .bar{width:100%}.tiles{margin-top:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.tile{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1rem;border-radius:22px}.tile span{font-size:1.8rem}.avb{background:none;box-shadow:none;padding:0;border-radius:50%}.avb:hover:not(:disabled){transform:scale(1.12);box-shadow:none;filter:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#1f3d2e66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:in .2s}.pf{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(340px,92vw);animation:pop .25s}.pf .halo{margin-bottom:.5rem}.sets{align-items:start;margin-top:1rem}.sets .card>div{margin-top:.6rem}.seg{display:flex;gap:.5rem}.sw{display:flex;gap:.6rem;align-items:center;margin-top:.8rem}.sw input{width:auto}.side button.me{padding:.4rem .5rem;margin-bottom:.8rem;border-radius:20px;text-align:left}.side button.me:hover:not(:disabled){transform:none}[data-theme=night]{--cr:#18241d;--cr2:#223028;--br:#eadfc3;--br2:#b9ad90;--line:#33463b;--leaf:#2d4a39;--g:#9fd9b0;--g2:#6fb88a}[data-theme=night] body{background:radial-gradient(circle at 12% 0,#2b3a2c 0,transparent 42%),radial-gradient(circle at 95% 100%,#1d3b30 0,transparent 48%),#141d18}[data-theme=night] .card{background:#223028f0}[data-theme=night] .hero2{background:linear-gradient(120deg,#2a4636,#3b3a2a)}[data-theme=night] .scene-garden{background:linear-gradient(#1b2b4a,#355a50 72%)}[data-theme=night] .halo{background:radial-gradient(circle,#f6ecc8,#e8d9a0)}@media (max-width:760px){.hero2{flex-direction:column;text-align:center;padding:1.2rem}.halo{width:108px;height:108px}}.main>*+*{margin-top:1rem}.stats{margin-bottom:0}.me{background:transparent;width:100%;border-radius:18px}.me:hover:not(:disabled){background:#ffffff24}.me.on{background:#ffffff38}.me div{min-width:0}.topbar{display:none}.hero{padding:1.5rem 1.6rem;background:radial-gradient(circle at 92% 8%,#fff0bd,transparent 45%),linear-gradient(120deg,#e3f1d8,#f9f1d6)}.hero-t{flex:1;min-width:0}.hero-t>small{font-size:1rem}.hero h1{font-size:2.1rem;margin:0}.stat.amber{background:linear-gradient(#fff3cf,var(--cr2))}.stat.sky{background:linear-gradient(#e1f1fa,var(--cr2))}.stat.leaf{background:linear-gradient(#e2f0d6,var(--cr2))}.stat.rose{background:linear-gradient(#fde3dd,var(--cr2))}.gmini{display:flex;gap:1rem;align-items:center;cursor:pointer}.gmini>div:last-child{flex:1;min-width:0}.gmini h2{margin-bottom:.2rem}.gt{font-size:3.6rem;animation:bob 3s ease-in-out infinite}.gmini:hover{transform:translateY(-3px)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.tile{display:flex;flex-direction:column;align-items:center;gap:.1rem;background:var(--cr);color:var(--br);box-shadow:none;border-radius:18px;padding:.8rem .4rem}.tile span{font-size:1.7rem}.tile:hover:not(:disabled){background:var(--leaf);box-shadow:none}.pro-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem}.pro-hero h1{margin:.3rem 0 0}.pro-hero .av{animation:bob 3s ease-in-out infinite}.chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.6rem}.chips span{background:var(--cr);padding:.3rem .85rem;border-radius:99px}.pick{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}.pick button{font-size:1.7rem;padding:.35rem .75rem}.pick .sel{border-color:var(--gold);background:#fff4cf}.sw{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0}.sw input{width:22px;height:22px;flex:none;accent-color:var(--g)}.danger{color:#a4372b;width:100%}.back,.no-fly .scene i{display:none}.no-motion *{animation:none!important;transition:none!important}@media (max-width:760px){body{background-attachment:scroll}.topbar{display:flex;position:sticky;top:0;z-index:4;align-items:center;gap:.5rem;padding:.55rem .9rem;background:#f4ecd6ed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid var(--line);cursor:pointer}.topbar b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--g)}.topbar span{background:var(--cr2);padding:.12rem .6rem;border-radius:99px;font-size:.9rem}.side{top:auto;height:auto;align-items:center;padding:.3rem .4rem calc(.3rem + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;box-shadow:0 -6px 20px #1f3d2e30}.side .me,.side .out{display:none}.side button{flex:1;justify-content:center;padding:.55rem 0}.side button:hover:not(:disabled){transform:none}.side button.on{box-shadow:none}.main{padding:1rem 1rem calc(5.4rem + env(safe-area-inset-bottom))}.hero{flex-direction:column;text-align:center;padding:1.3rem}.hero h1{font-size:1.8rem}.split2{grid-template-columns:1fr}.split{height:auto}.split.has .list{display:none}.split:not(.has) .empty{display:none}.split:not(.has) .list{max-height:none}.back{display:inline-block;padding:.3rem .9rem}.chat{height:calc(100dvh - 10rem)}.msg{max-width:92%}.chead{gap:.6rem}.chead h2{flex:1}.scene-garden{height:330px}}[data-theme=night] .hero,[data-theme=night] .stat{background:var(--cr2)}[data-theme=night] .topbar{background:#18241ded}[data-theme=night] .tile{color:var(--br)}html,body{max-width:100%;overflow-x:hidden}.card,.chat,.msgs,.compose,.emo,.bub{min-width:0}.compose input:not([hidden]){min-width:0}.compose button{flex:none}.emo{max-width:100%;flex-wrap:nowrap}.emo button{flex:none}@media (max-width:760px){.shell{width:100%;max-width:100vw}.main{width:100%;max-width:100%;min-width:0;margin:0}.side{width:100%;max-width:100vw}.msg{min-width:0}.bub{overflow-wrap:anywhere}}@media (max-width:760px){html,body{overflow-x:hidden}.shell{width:100%}.main{width:100%;max-width:100%;min-width:0;margin:0}.card,.chat,.msgs,.chead{min-width:0}.compose input:not([hidden]){min-width:0}.compose button,.online{flex:none}.side{z-index:20}}
