*{box-sizing:border-box}html{min-height:100%;background:#e3e9d6}body[data-moyu-game="pvz"]{--moyu-surface:#f5f3e6;--moyu-ink:#294631;--moyu-muted:#596e50;--moyu-line:#a8b79b;--moyu-button:#e3ead7;--moyu-hover:#d2dfc1;--moyu-accent:#426b3a;--moyu-accent-ink:#fff;--moyu-scheme:light;margin:0;padding:24px 24px 30px;min-height:100vh;color:#294631;font:14px/1.5 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;background:radial-gradient(ellipse at 50% 0,#f4f5e9 0,#e3e9d6 70%);user-select:none}button{font:inherit;cursor:pointer}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #3b703e;outline-offset:3px}button:disabled{cursor:default}.shell{width:min(1160px,100%);margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.game-title{display:flex;align-items:center;gap:13px}.badge-leaf{width:39px;height:43px;border-radius:26px 5px 26px 5px;background:#548047;transform:rotate(-9deg);position:relative;border:2px solid #3d6436}.badge-leaf:after{content:'';position:absolute;width:2px;height:33px;background:#b8d08c;left:17px;top:6px;transform:rotate(30deg)}h1{font-size:25px;line-height:1.25;margin:0 0 4px;font-weight:850;letter-spacing:-.6px}.location{font-size:12px;color:#627257;letter-spacing:.08em}body[data-moyu-game="pvz"] .moyu-navigation{position:relative;top:auto;width:auto;margin:0;gap:7px;background:transparent;z-index:40}body[data-moyu-game="pvz"] .moyu-navigation a,body[data-moyu-game="pvz"] .moyu-navigation button,body[data-moyu-game="pvz"] .moyu-help>summary{border:1px solid #a9b69b;box-shadow:0 2px 0 #c6ceb7;background:#f4f4e9;border-radius:8px;color:#294631;padding:8px 13px;min-height:40px}.garden{border:1px solid #97aa80;border-radius:19px;overflow:hidden;background:#f5f2e4;box-shadow:0 7px 0 #c1ccaf,0 14px 30px #3d503916}.seed-bench{display:flex;align-items:stretch;gap:18px;padding:17px 22px 18px;background:#e8debd;border-bottom:3px solid #b3a57e}.sun-bank{position:relative;min-width:152px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #bfab6e;border-radius:12px;background:#fff1b8;box-shadow:inset 0 2px 0 #fff6d9}.sun-bank small{font-size:11px;color:#725d30;display:block}.sun-bank strong{font:800 34px/1.2 ui-rounded,'Arial Rounded MT Bold',sans-serif;color:#594421;font-variant-numeric:tabular-nums}.sun-icon{width:42px;height:42px}.sun-gain{position:absolute;right:10px;top:4px;font-weight:800;color:#72551f}.sun-bank.collected{animation:bankpop .35s ease-out}@keyframes bankpop{50%{background:#ffe285;transform:scale(1.025)}}#cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;flex:1}.card{position:relative;min-width:0;min-height:116px;background:#f6f2de;color:#2b4530;border:1px solid #acaa83;border-bottom:4px solid #aaa079;border-radius:9px;padding:5px 4px 6px;display:flex;align-items:center;flex-direction:column;isolation:isolate;transition:border-color .1s,background .1s,transform .1s}.card:hover{background:#fffbea;transform:translateY(-2px)}.card.sel{border-color:#417240;background:#e6f1c8;box-shadow:0 0 0 2px #497943;transform:translateY(-3px)}.card.sel:after{content:'✓';position:absolute;top:4px;right:5px;color:#fff;background:#4c7943;border-radius:50%;width:19px;height:19px;font-size:12px;font-weight:800}.card canvas{width:78px;height:66px;max-width:100%;pointer-events:none}.card .name{font-size:12px;font-weight:750;white-space:nowrap}.card .cost{display:flex;align-items:center;gap:5px;font:750 14px/1.4 ui-rounded,sans-serif;color:#665126}.card .cost:before{content:'';width:10px;height:10px;background:#f4c747;border:1px solid #a37d2c;border-radius:50%}.card.disabled .cost{color:#957360}.card.disabled{background:#e6e6d6;border-color:#b9bba2}.card.disabled canvas{filter:saturate(.6)}.card .cd{display:none;position:absolute;inset:auto 4px 5px;border-radius:4px;background:#364932;color:#fff;font-size:12px;font-weight:650;padding:2px;z-index:2}.card.oncd .cd{display:block}.card.oncd:before{content:'';position:absolute;inset:0;background:#263f2920;border-radius:8px;pointer-events:none}.battle-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 22px;background:#f5f2e4}.wave-readout{display:flex;align-items:center;gap:15px;min-width:0}.wave-readout strong{font-size:14px;white-space:nowrap}.wave-dots{display:flex;gap:5px}.wave-dots i{width:13px;height:9px;border-radius:3px;background:#d4dcc4}.wave-dots i.past{background:#4d7b44}.wave-dots i.current{background:#e4b143;border:1px solid #9d7d36}.battle-actions{display:flex;align-items:center;gap:15px}.best-label{font-size:11px;color:#6d7a60;white-space:nowrap}#speed-btn{font-size:12px;font-weight:700;border:1px solid #bac4aa;background:#eef1e3;color:#465d37;border-radius:7px;padding:6px 10px;min-height:34px}.field{position:relative;background:#8aab64;border-top:1px solid #829665;border-bottom:1px solid #799062}#game{width:100%;height:auto;aspect-ratio:880/400;display:block;touch-action:none;cursor:crosshair}#start-screen{position:absolute;inset:0;display:grid;place-items:center;background:#263f3033;z-index:4}#start-screen[hidden]{display:none}.start-card{width:min(410px,90%);background:#f8f3df;border:2px solid #607749;box-shadow:0 6px 0 #2c422b55;border-radius:18px;padding:22px;text-align:center}.start-art{display:block;width:190px;height:84px;margin:0 auto 3px}.start-card h2{font-size:25px;line-height:1.2;margin:3px 0 8px;letter-spacing:-.5px}.start-card p{color:#667154;font-size:13px;line-height:1.75;margin:0 0 16px}.primary{background:#4b793e;color:#fff;border:1px solid #345e2e;border-bottom:4px solid #2d5429;border-radius:9px;min-height:46px;font-weight:750;padding:8px 30px}.primary:hover{background:#578547}.garden-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:14px;min-height:63px}.tip{display:flex;align-items:center;gap:10px;font-size:12px;color:#657454;min-width:0}.tip-mark{display:grid;place-items:center;border:1px solid #8c9e78;width:22px;height:22px;flex:none;border-radius:50%;color:#647b4d;font-weight:700}#status-text{margin:0}#collect-btn{min-height:39px;min-width:150px;background:#f5e6a7;color:#63512a;border:1px solid #b9a269;border-bottom:3px solid #a48c52;border-radius:8px;padding:7px 13px;font-size:12px;font-weight:750;white-space:nowrap}#collect-btn:disabled{background:#eeecdd;border-color:#c6c9b7;color:#798368}#collect-btn.has-sun{background:#ffda69;color:#5b4016;border-color:#ae822e}.below{display:flex;justify-content:space-between;gap:15px;margin-top:17px;font-size:11px;color:#788269}.below kbd{font:11px inherit;border:1px solid #b7c0a8;border-radius:3px;background:#f2f4e9;padding:1px 5px}.mobile-note{display:none}#overlay{display:none;position:fixed;inset:0;background:#273e3266;z-index:180;place-items:center;padding:20px}#overlay.show{display:grid}.result-card{background:#f8f3df;border:2px solid #607749;border-radius:18px;padding:30px;text-align:center;width:min(450px,100%);box-shadow:0 7px 0 #2c422b44}.result-card small{font-size:12px;color:#74805e}.result-card .msg{font-size:28px;line-height:1.35;font-weight:800;margin:10px 0}.result-card .sub{color:#667154;font-size:13px;margin-bottom:22px}body[data-moyu-game="pvz"] .moyu-pause-banner{background:#2e4b32;color:#f5f4da;border-color:#779267;box-shadow:0 3px 0 #283f2c44;border-radius:9px}
@media(max-width:800px){body[data-moyu-game="pvz"]{padding:14px}.seed-bench{padding:12px;gap:10px}.sun-bank{min-width:104px;flex-direction:column;gap:2px}.sun-bank strong{font-size:27px}.sun-bank small{display:none}.sun-icon{width:34px;height:34px}#cards{gap:6px}.card canvas{width:65px;height:60px}.card{min-height:106px}.card .name{font-size:11px}.wave-dots{gap:3px}.wave-dots i{width:9px}.best-label{display:none}.battle-head{padding:10px 14px}.page-head{gap:12px}h1{font-size:22px}.badge-leaf{display:none}}
@media(max-width:540px){body[data-moyu-game="pvz"]{padding:12px 8px 22px}.page-head{flex-wrap:wrap;margin-bottom:13px;gap:12px}.game-title{gap:0;flex:1}h1{font-size:22px}.location{font-size:10px}body[data-moyu-game="pvz"] .moyu-navigation{width:100%;justify-content:flex-end;border-top:1px solid #c6d0b7;padding-top:8px;gap:7px}body[data-moyu-game="pvz"] .moyu-back{margin-right:auto}body[data-moyu-game="pvz"] .moyu-navigation a,body[data-moyu-game="pvz"] .moyu-navigation button,body[data-moyu-game="pvz"] .moyu-help>summary{padding:7px 10px;font-size:12px;min-height:36px}.garden{border-radius:13px}.seed-bench{display:grid;grid-template-columns:1fr;padding:9px;gap:8px}.sun-bank{min-height:48px;flex-direction:row;gap:10px;justify-content:flex-start;padding:4px 13px}.sun-bank small{display:block;font-size:10px}.sun-bank strong{font-size:26px}.sun-icon{width:33px;height:33px}.sun-gain{top:12px;right:14px}#cards{gap:5px}.card{min-height:94px;padding:4px 1px;border-bottom-width:3px}.card canvas{width:60px;height:51px}.card .name{font-size:10px}.card .cost{font-size:12px}.card .cd{font-size:10px}.card.sel{transform:translateY(-1px)}.card.sel:after{width:15px;height:15px;font-size:10px;top:2px;right:2px}.battle-head{gap:8px;padding:8px 10px}.wave-readout{gap:8px}.wave-readout strong{font-size:12px}.wave-dots{gap:2px}.wave-dots i{width:7px;height:7px}#speed-btn{font-size:11px;padding:5px 8px;min-height:32px}.garden-foot{flex-wrap:wrap;padding:10px;gap:9px}.tip{width:100%;font-size:11px;gap:6px}.tip-mark{width:18px;height:18px;font-size:10px}#collect-btn{width:100%;min-height:42px}.start-card{padding:13px;max-width:290px;border-radius:12px}.start-art{display:none}.start-card h2{font-size:19px;margin:0 0 5px}.start-card p{font-size:11px;line-height:1.55;margin:0 0 10px}.primary{min-height:39px;font-size:12px;padding:6px 22px}.below{margin-top:12px;font-size:10px;gap:8px}.desktop-note{display:none}.mobile-note{display:block}.result-card .msg{font-size:24px}.moyu-help-panel{max-width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(min-width:801px){body[data-moyu-game="pvz"]{padding:16px 20px}.shell{max-width:min(1160px,calc((100svh - 370px)*2.2));min-width:740px}.page-head{margin-bottom:12px}.seed-bench{padding:10px 16px;gap:12px}.card{min-height:101px}.card canvas{width:65px;height:55px}.battle-head{padding:8px 16px}.below{margin-top:10px}}
body[data-moyu-game="pvz"]:has(#start-screen:not([hidden])) .moyu-pause-banner{display:none}
@media(max-width:360px){.start-card{padding:10px}.start-card h2{font-size:18px}.start-card p{font-size:10px;margin-bottom:8px}}
