:root{--ink:#354e43;--muted:#8c988b;--green:#658572;--line:#e7e9df;--paper:#fffefa;--gold:#d4ad60}*{box-sizing:border-box}body{margin:0;background:#f6f7f0;color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft Yahei",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d2ab5c;outline-offset:4px}button{color:inherit}button:disabled{cursor:default;opacity:.48}button:hover:not(:disabled){filter:brightness(1.03)}.app{max-width:1400px;margin:auto;padding:0 54px}h1,h2,h3,p{margin:0}.topbar{height:106px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink)}.brand-icon{font-size:40px;color:#7f9a77;line-height:1}h1{font-size:25px;letter-spacing:4px;font-weight:650}.brand small{font-size:10px;letter-spacing:3px;color:var(--muted)}.top-actions{display:flex;gap:26px;align-items:center}.local-state{font-size:12px;color:#91a18e}.icon-btn{border:1px solid var(--line);border-radius:50%;height:36px;width:36px;background:transparent;font-size:19px}.welcome{padding:35px 0 28px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:9px;letter-spacing:3px;color:#97a38f;font-weight:600}h2{font-family:"Songti SC",STSong,serif;font-size:29px;letter-spacing:1px;font-weight:600;margin:7px 0 8px}h2 span{color:#c9af74;margin-left:12px}.welcome p{color:var(--muted);font-size:12px;letter-spacing:.5px}.season{display:flex;align-items:center;gap:13px;font-size:12px}.season>span{font-size:32px;color:#d6b45c}.season small{display:block;color:#9ca492;font-size:10px;margin-top:2px}.stats{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:16px;margin-bottom:26px}.stat{display:flex;gap:14px;align-items:center;padding:17px 20px;background:var(--paper);border:1px solid var(--line);border-radius:13px}.stat-icon{display:grid;place-items:center;background:#fcf2d4;color:#d2ad56;border-radius:12px;width:45px;height:45px;font-size:27px;flex-shrink:0}.stat small{font-size:11px;color:var(--muted);display:block}.stat strong{display:block;font-size:24px;font-weight:600;line-height:1.5;font-variant-numeric:tabular-nums}.stat em{font-style:normal;font-size:10px;font-weight:400;color:#98a08f}.stat-tag{font-size:9px;color:#c3ad7b;margin-left:auto;white-space:nowrap}.mint{background:#edf3e7;color:#8ba077}.rose{background:#fbede8;color:#ce9c96}.lavender{background:#eeedf6;color:#a297bb}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:22px}.garden-panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel-heading{padding:19px 23px;display:flex;align-items:center;justify-content:space-between}.panel-heading>div{display:flex;align-items:center;gap:10px}h3{font-size:15px;font-weight:600}.tiny-flower{color:#92a683;font-size:20px}.badge{font-size:9px;letter-spacing:1px;background:#edf1e7;padding:3px 8px;color:#8a9b7c;border-radius:4px;font-weight:400}.live{font-size:10px;color:#8a9c84}.live i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#94b083;margin-right:5px}.garden-scene{height:492px;position:relative;overflow:hidden;margin:0 10px;border-radius:10px;background:#bad4a4}.landscape{width:100%;height:100%;position:absolute;inset:0}.collect-sun{position:absolute;top:8%;left:50%;transform:translateX(-50%);background:none;border:0;display:flex;flex-direction:column;align-items:center;transition:scale .15s}.collect-sun:active{scale:.93}.collect-sun>span{font-size:51px;color:#e9b651;filter:drop-shadow(0 0 14px #fff1a1);line-height:1.2;animation:float 4s ease-in-out infinite}.collect-sun b{font-size:12px;letter-spacing:2px;color:#717957;margin-top:4px}.collect-sun small{font-size:10px;color:#919875}.scene-label{position:absolute;top:6%;left:4%;writing-mode:vertical-rl;font-family:"Songti SC",serif;font-size:11px;letter-spacing:3px;color:#71938a}.plots{position:absolute;inset:43% 19% 15% 16%;display:grid;grid-template-columns:repeat(3,1fr);gap:21px 24px;transform:rotate(-2deg)}.plot{background:#beab88;border:3px solid #d6c7a0;border-radius:48%;position:relative;box-shadow:0 5px 0 #9b956e,0 8px 15px #4d78552b;transform:rotate(2deg);min-width:0;transition:background .2s,transform .2s}.plot:before{content:"";position:absolute;inset:7px;border:1px dashed #a28d6a;border-radius:50%;pointer-events:none}.plot:hover{transform:rotate(2deg) translateY(-3px);background:#c7b58f}.plot-empty{font-size:25px;color:#e9dfc6;display:block;line-height:1}.plot-name{font-size:9px;color:#f8f1da;position:absolute;bottom:9px;left:0;right:0}.flower-svg{width:90%;height:112px;position:absolute;bottom:15px;left:5%;overflow:visible;filter:drop-shadow(0 4px 2px #4e76542b);pointer-events:none}.plot-level{position:absolute;left:50%;transform:translateX(-50%);bottom:-14px;background:#f8f6df;border:1px solid #c9c9a4;color:#85936c;border-radius:10px;font-size:9px;white-space:nowrap;padding:0 9px}.plot-ready{position:absolute;top:-22px;left:50%;transform:translateX(-50%);background:#fff3b9;color:#a68a35;border-radius:20px;padding:2px 9px;font-size:10px;white-space:nowrap;box-shadow:0 2px 5px #5f754127;z-index:2}.scene-footer{position:absolute;bottom:16px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:8px}.scene-footer>span{font-size:10px;color:#f8f9e8;text-shadow:0 1px 4px #426448}.scene-footer button{border:1px solid #ffffff80;background:#f9f7e8ec;border-radius:20px;padding:8px 15px;font-size:11px;box-shadow:0 3px 12px #42644818}.scene-footer b{color:#b6964a;margin-left:8px}.garden-note{padding:14px 22px;display:flex;justify-content:space-between;color:#96a08d;font-size:10px}.companion{background:#f0f1e7;border:1px solid #e4e7d8;border-radius:15px;padding:17px 20px}.companion-top{display:flex;justify-content:space-between;font-size:10px;color:#91a085}.companion-top .badge{background:#e3e9d7}.fairy-art{position:relative;height:190px;text-align:center}.fairy-art svg{position:relative;height:207px;width:207px;animation:float 6s ease-in-out infinite}.fairy-circle{position:absolute;inset:19px 16px 0;border-radius:50%;background:#e3e9d7}.companion h3{text-align:center;font-size:17px;letter-spacing:2px;margin-top:12px}.companion h3 span{font-size:9px;color:#96a28a;letter-spacing:0;font-weight:400}.companion p{font-size:11px;line-height:1.9;color:#8c9884;background:#f9f9ef;border-radius:9px;padding:11px;margin-top:12px;min-height:65px}.affection{display:flex;justify-content:space-between;font-size:9px;color:#98a18c;margin:15px 0 6px}.progress{height:4px;border-radius:8px;background:#e1e5d7}.progress i{height:100%;display:block;background:#9bb18d;border-radius:8px;transition:width .3s}.quest-card{margin-top:16px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.quest-heading{display:flex;justify-content:space-between;align-items:center}.quest-heading h3{font-size:12px}.quest-heading small{font-size:9px;color:#a2aa96}.quest{display:flex;align-items:center;gap:9px;padding-top:12px;font-size:10px}.quest .check{border:1px solid #dce2d1;border-radius:50%;width:16px;height:16px;display:grid;place-items:center;color:#8da176}.quest.done .check{background:#e9efdf}.quest>span:nth-child(2){flex:1}.quest button{font-size:9px;background:#f7efd9;border:0;color:#b89a5e;border-radius:5px;padding:3px 7px}.nursery{margin-top:29px}.nursery-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.nursery-heading h3{font-family:"Songti SC",serif;font-size:21px;letter-spacing:1px;margin-top:4px}.nursery-heading>span{font-size:10px;color:#9ca692}.seed-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.seed-card{position:relative;text-align:left;display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:18px;transition:border-color .2s,transform .2s}.seed-card.selected{border-color:#95ac85;background:#f4f6ec}.seed-card:hover{transform:translateY(-2px)}.seed-card svg{width:73px;height:76px;flex-shrink:0;background:#f3f0e3;border-radius:50%}.seed-info{flex:1}.seed-info h4{margin:0;font-size:14px;font-weight:550}.seed-info p{font-size:10px;color:#9ba38f;margin:3px 0 8px}.seed-cost{font-size:12px;color:#bba05f}.seed-cost small{font-size:9px;color:#98a18f;float:right;margin-top:2px}.selected-label{position:absolute;top:0;right:0;border-radius:0 10px 0 8px;background:#96ac87;color:white;font-size:9px;padding:2px 9px}footer{padding:31px 0 24px;color:#a0a994;font-size:10px;text-align:center;letter-spacing:1px}footer span{margin:0 11px;color:#c9b982}footer small{display:block;font-size:9px;color:#b3b9a9;margin-top:8px;letter-spacing:1px}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:#3b5949ed;color:#fffdf3;border-radius:24px;padding:11px 23px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:30;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:370px;max-width:92vw;border:1px solid #e6e9da;border-radius:21px;background:#fffdf5;padding:29px;color:var(--ink);box-shadow:0 30px 100px #253e3833}dialog::backdrop{background:#2c4a3d50;backdrop-filter:blur(4px)}dialog h3{font-size:22px;font-family:"Songti SC",serif;margin-bottom:12px}dialog p{font-size:12px;color:#8a9784;margin:10px 0;line-height:1.9}.modal-flower{width:100%;height:130px}.modal-close,.primary,.secondary{border:0;border-radius:9px;padding:11px 14px;width:100%;margin-top:9px}.primary{background:#789677;color:#fff}.secondary,.modal-close{background:#eef0e4;color:#7d8d73}.danger{color:#b6857b}.modal-row{display:flex;justify-content:space-between;border-top:1px solid #e8eadc;padding:12px 0;font-size:12px}.float-text{position:absolute;z-index:9;color:#fff6bf;font-weight:700;font-size:23px;pointer-events:none;text-shadow:0 2px 5px #8b8b48;animation:rise 1.1s ease-out forwards}@keyframes float{50%{transform:translateY(-6px)}}@keyframes rise{to{transform:translateY(-65px);opacity:0}}@media(min-width:1500px){.app{padding-top:10px}}@media(max-width:1100px){.app{padding:0 28px}.stat{padding:15px 13px}.stat-tag{display:none}.play-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.garden-scene{height:465px}.plots{inset:44% 15% 17% 12%;gap:25px 16px}.seed-card{gap:8px;padding:14px}.seed-card svg{width:60px}.stat strong{font-size:22px}.stat-icon{width:38px;height:38px}.scene-footer>span{max-width:52%}}@media(max-width:780px){.app{padding:0 18px}.topbar{height:82px}.brand h1{font-size:21px}.brand small{font-size:8px}.brand-icon{font-size:34px}.top-actions{gap:12px}.local-state{font-size:10px}.welcome{padding:26px 0 21px}.welcome h2{font-size:23px}.welcome p{font-size:11px;max-width:280px}.season{display:none}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.stat{padding:12px 14px}.stat strong{font-size:22px}.stat-icon{width:36px;height:36px;font-size:24px}.play-layout{display:flex;flex-direction:column}.garden-scene{height:460px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.companion{padding:12px;display:grid;grid-template-columns:67px 1fr;column-gap:8px;align-content:start}.companion-top{grid-column:1/-1}.fairy-art{height:85px;margin-top:5px}.fairy-art svg{height:90px;width:90px;margin-left:-10px}.fairy-circle{inset:12px 0 0}.companion h3{font-size:15px;text-align:left;align-self:center;margin:5px 0 0}.companion h3 span{display:block;font-size:9px}.companion p{grid-column:1/-1;font-size:10px;margin-top:7px;min-height:62px;padding:8px}.affection,.progress{grid-column:1/-1}.affection{margin-top:9px}.quest-card{margin:0;padding:15px 12px}.quest{padding-top:20px;gap:5px;font-size:9px}.quest button{font-size:8px;padding:4px}.nursery{margin-top:23px}.nursery-heading{align-items:flex-start}.nursery-heading h3{font-size:20px}.nursery-heading>span{display:none}.seed-list{grid-template-columns:1fr;gap:10px}.seed-card{padding:12px 16px;gap:19px}.seed-card svg{width:64px;height:64px}.seed-info p{margin:2px 0 4px}.seed-cost small{float:none;margin-left:18px}.seed-info h4{font-size:15px}footer{font-size:9px;letter-spacing:0}.garden-note{padding:12px;font-size:9px}.panel-heading{padding:14px}.panel-heading h3{font-size:13px}.live{font-size:9px}.scene-label{font-size:10px}.plots{inset:46% 11% 18% 10%;gap:25px 14px}.flower-svg{height:92px;bottom:13px}.plot-name{font-size:8px}.scene-footer{left:12px;right:12px;bottom:12px}.scene-footer>span{font-size:9px;max-width:48%}.scene-footer button{padding:7px 10px;font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.seed-card .flower-svg{position:static;left:auto;bottom:auto;overflow:visible;filter:none}
