@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_31d880{font-family:Nunito,Nunito Fallback;font-style:normal}.__variable_31d880{--font-nunito:"Nunito","Nunito Fallback"}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--pvz-bg-deep:#061008;--pvz-bg:#0a160c;--pvz-bg-elevated:#122418;--pvz-panel:#1a3320;--pvz-panel-2:#243f28;--pvz-panel-edge:#3d6b38;--pvz-panel-edge-bright:#6bc24a;--pvz-grass:#3d8c2e;--pvz-grass-bright:#6bcf45;--pvz-grass-dim:#2a5c22;--pvz-gold:#f0c84a;--pvz-gold-deep:#c9941a;--pvz-gold-text:#ffe9a0;--pvz-sun:#ffd54a;--pvz-sun-edge:#e8a820;--pvz-text:#eef6e4;--pvz-text-muted:#9bb892;--pvz-text-dim:#6a8a68;--pvz-danger:#e85a4a;--pvz-danger-deep:#9a2a22;--pvz-warning:#ff9a3c;--pvz-info:#5ec8e8;--pvz-wood:#5c3a1e;--pvz-wood-light:#8b5a2b;--pvz-wood-dark:#3a2210;--pvz-shadow:0 12px 40px rgba(0,0,0,0.45);--pvz-shadow-soft:0 4px 18px rgba(0,0,0,0.28);--pvz-glow-green:0 0 24px rgba(80,180,60,0.35);--pvz-glow-gold:0 0 20px rgba(240,200,74,0.35);--pvz-radius:14px;--pvz-radius-sm:10px;--pvz-radius-xs:8px;--pvz-radius-pill:999px;--pvz-font:var(--font-nunito,"Nunito",system-ui,-apple-system,sans-serif);--pvz-ease:cubic-bezier(0.22,1,0.36,1)}body,html{min-height:100%}body{background:var(--pvz-bg-deep);color:var(--pvz-text);font-family:var(--pvz-font);line-height:1.45;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0a1a0b}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#2a5c28,#1a3a1a);border-radius:4px;border:1px solid #3d6b38}::-webkit-scrollbar-thumb:hover{background:#3d7a35}:focus-visible{outline:2px solid var(--pvz-grass-bright);outline-offset:2px}a,button{font-family:inherit}@keyframes pvz-spin{to{transform:rotate(1turn)}}@keyframes pvz-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes pvz-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pvz-shimmer{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes pvz-banner-in{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.pvz-page{min-height:100vh;position:relative;overflow-x:hidden}.pvz-page--lawn{background:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(70,140,50,.22),transparent 55%),radial-gradient(ellipse 50% 40% at 100% 100%,rgba(40,90,40,.18),transparent 50%),radial-gradient(ellipse 40% 35% at 0 80%,rgba(30,70,90,.12),transparent 45%),linear-gradient(165deg,#0b1a0e,#071209 45%,#050d08)}.pvz-page--game{background:radial-gradient(circle at 50% 30%,rgba(40,90,40,.35) 0,transparent 55%),linear-gradient(180deg,#0c1c10,#061008 60%,#030a05)}.pvz-page-inner{width:min(960px,100%);margin:0 auto;padding:1.25rem 1rem 3rem;position:relative;z-index:1}.pvz-page--lawn:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle at 12% 22%,rgba(107,207,69,.06) 0 2px,transparent 3px),radial-gradient(circle at 78% 68%,rgba(107,207,69,.05) 0 2px,transparent 3px),radial-gradient(circle at 42% 88%,rgba(240,200,74,.04) 0 1.5px,transparent 3px);background-size:120px 120px,160px 160px,90px 90px;opacity:.9;z-index:0}.pvz-title{font-weight:900;letter-spacing:.04em;line-height:1.1;text-transform:uppercase;background:linear-gradient(135deg,#b8f090,#6bcf45 28%,#f0c84a 62%,#7ad4f0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35))}.pvz-title--lg{font-size:clamp(1.85rem,5.5vw,3.1rem)}.pvz-title--md{font-size:clamp(1.35rem,3.5vw,1.9rem)}.pvz-subtitle{color:var(--pvz-text-dim);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.pvz-muted{color:var(--pvz-text-muted)}.pvz-panel{background:linear-gradient(165deg,rgba(36,63,40,.95),rgba(18,36,24,.98));border:2px solid var(--pvz-panel-edge);border-radius:var(--pvz-radius);box-shadow:var(--pvz-shadow),inset 0 1px 0 rgba(255,255,255,.06)}.pvz-panel--wood{background:linear-gradient(180deg,#4a3018,#2e1c0e 55%,#24160c);border-color:#8b5a2b;box-shadow:var(--pvz-shadow),inset 0 1px 0 rgba(255,220,160,.12)}.pvz-panel--glass{background:linear-gradient(160deg,rgba(26,51,32,.88),rgba(10,22,12,.92));border:1px solid rgba(107,194,74,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pvz-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--pvz-radius-sm);font-weight:800;font-size:.92rem;letter-spacing:.02em;cursor:pointer;border:2px solid transparent;transition:transform .15s var(--pvz-ease),box-shadow .15s var(--pvz-ease),background .15s ease,border-color .15s ease,opacity .15s ease;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.pvz-btn:hover:not(:disabled){transform:translateY(-1px) scale(1.02)}.pvz-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.pvz-btn:disabled{cursor:not-allowed;opacity:.55}.pvz-btn--primary{background:linear-gradient(180deg,#74d44a,#3f9a2a 48%,#2f7a20);color:#0a1a05;border-color:#a8f060;box-shadow:0 4px 0 #1f5a14,0 8px 20px rgba(60,140,40,.35);padding:.7rem 1.5rem;text-shadow:0 1px 0 rgba(255,255,255,.2)}.pvz-btn--primary:hover:not(:disabled){box-shadow:0 5px 0 #1f5a14,0 10px 24px rgba(80,180,50,.45)}.pvz-btn--secondary{background:linear-gradient(180deg,rgba(40,60,40,.9),rgba(20,36,22,.95));color:var(--pvz-text-muted);border-color:rgba(107,138,100,.45);padding:.65rem 1.2rem}.pvz-btn--secondary:hover:not(:disabled){color:var(--pvz-text);border-color:rgba(150,200,120,.55);background:linear-gradient(180deg,rgba(50,75,48,.95),rgba(28,48,30,.98))}.pvz-btn--gold{background:linear-gradient(180deg,#ffe07a,#e0a830 50%,#c48418);color:#3a2408;border-color:#fff0a8;box-shadow:0 4px 0 #8a5a10,var(--pvz-glow-gold);padding:.7rem 1.5rem;font-weight:900}.pvz-btn--ghost{background:transparent;color:var(--pvz-text-dim);border-color:transparent;padding:.5rem .85rem}.pvz-btn--ghost:hover:not(:disabled){color:var(--pvz-text-muted);background:rgba(255,255,255,.04)}.pvz-btn--sm{padding:.4rem .85rem;font-size:.78rem}.pvz-btn--lg{padding:.85rem 1.85rem;font-size:1.05rem;border-radius:12px}.pvz-progress{height:10px;background:rgba(0,0,0,.35);border-radius:var(--pvz-radius-pill);border:1px solid rgba(80,120,70,.4);overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.4)}.pvz-progress__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f8a28,#6bcf45 55%,#f0c84a);background-size:200% 100%;transition:width .55s var(--pvz-ease);box-shadow:0 0 10px rgba(107,207,69,.4)}.pvz-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:var(--pvz-radius-pill);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.pvz-badge--success{background:rgba(60,140,40,.35);color:#b8f090;border:1px solid rgba(107,207,69,.4)}.pvz-badge--gold{background:rgba(240,200,74,.18);color:var(--pvz-gold-text);border:1px solid rgba(240,200,74,.45)}.pvz-badge--muted{background:rgba(255,255,255,.05);color:var(--pvz-text-dim);border:1px solid rgba(255,255,255,.08)}.pvz-badge--danger{background:rgba(180,50,40,.35);color:#ffb0a8;border:1px solid rgba(232,90,74,.5)}.pvz-auth-card{width:min(400px,100%);padding:2.25rem 1.75rem 1.85rem;display:flex;flex-direction:column;align-items:center;gap:1.35rem;text-align:center}.pvz-alert{width:100%;padding:.75rem 1rem;border-radius:var(--pvz-radius-sm);font-size:.82rem;font-weight:600;text-align:center}.pvz-alert--error{background:rgba(90,20,18,.85);border:1px solid rgba(220,80,70,.45);color:#fecaca}.pvz-world{padding:1.15rem 1.25rem 1.25rem;border-radius:var(--pvz-radius);border:1px solid transparent;background:linear-gradient(145deg,rgba(20,36,24,.92),rgba(10,18,12,.96));box-shadow:var(--pvz-shadow-soft);position:relative;overflow:hidden}.pvz-world:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px;background:var(--world-accent,var(--pvz-grass-bright))}.pvz-world__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.pvz-world__title{display:flex;align-items:center;gap:.65rem}.pvz-world__icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.25rem;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.pvz-world__name{font-size:1.05rem;font-weight:800;color:var(--world-accent,var(--pvz-grass-bright));margin:0;line-height:1.2}.pvz-world__desc{font-size:.72rem;color:var(--pvz-text-dim);margin:.1rem 0 0;font-weight:600}.pvz-level-path{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.pvz-level-node{position:relative;width:74px;height:74px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;flex-shrink:0;transition:transform .15s var(--pvz-ease),box-shadow .15s var(--pvz-ease);border:3px solid var(--node-border,#374151);background:radial-gradient(circle at 40% 30%,var(--node-hi,#1a2a18) 0,var(--node-lo,#0d1410) 100%);color:var(--pvz-text);box-shadow:0 4px 0 rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.2)}a.pvz-level-node:hover{transform:scale(1.1);z-index:2}.pvz-level-node--locked{opacity:.42;cursor:not-allowed;filter:grayscale(.35)}.pvz-level-node--done{border-color:var(--pvz-gold);box-shadow:0 4px 0 rgba(120,80,10,.5),0 0 16px rgba(240,200,74,.25)}.pvz-level-node--open{border-color:var(--world-accent,var(--pvz-grass-bright));box-shadow:0 4px 0 rgba(20,60,20,.55),0 0 14px color-mix(in srgb,var(--world-accent,#6bcf45) 35%,transparent)}.pvz-level-node__label{font-size:.58rem;font-weight:800;letter-spacing:.04em;color:var(--world-accent,var(--pvz-grass-bright))}.pvz-level-node--done .pvz-level-node__label{color:var(--pvz-gold)}.pvz-level-node__num{font-size:1.15rem;font-weight:900;line-height:1}.pvz-connector{width:16px;height:4px;border-radius:2px;background:#1f2937;flex-shrink:0;opacity:.45}.pvz-connector--done{background:var(--world-accent,var(--pvz-grass-bright));opacity:.75;box-shadow:0 0 8px color-mix(in srgb,var(--world-accent,#6bcf45) 40%,transparent)}.pvz-game-shell{display:flex;flex-direction:column;min-height:100vh;overflow:hidden;font-family:var(--pvz-font)}.pvz-hud{flex-direction:row;gap:12px;padding:10px 14px;background:linear-gradient(180deg,#3d2814,#2a1a0c 55%,#1e140a);border-bottom:3px solid #8b5a2b;box-shadow:0 6px 18px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,220,160,.12);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:30}.pvz-hud,.pvz-sun-counter{display:flex;align-items:center}.pvz-sun-counter{gap:8px;background:linear-gradient(180deg,#2a4a12,#1a3010);border-radius:12px;padding:6px 14px 6px 8px;border:2px solid var(--pvz-sun);min-width:92px;flex-shrink:0;box-shadow:inset 0 1px 0 rgba(255,255,200,.15),0 0 14px rgba(255,200,40,.2)}.pvz-sun-counter__icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff6a0,#ffd54a 45%,#e8a820 100%);box-shadow:0 2px 6px rgba(0,0,0,.35);font-size:16px}.pvz-sun-counter__value{color:var(--pvz-sun);font-weight:900;font-size:1.25rem;min-width:36px;text-align:right;text-shadow:0 1px 0 rgba(0,0,0,.5)}.pvz-hud__score{color:#d4e8b8;font-size:.85rem;flex-shrink:0;font-weight:700}.pvz-hud__score strong{color:#f4ffe8;font-size:1rem;font-weight:900}.pvz-hud__meta{color:#c8b898;font-size:.72rem;font-weight:700;opacity:.9;flex-shrink:0}.pvz-seed-bar{flex-direction:row;gap:8px;padding:12px 16px;background:linear-gradient(180deg,#2e1c0e,#1a120a);border-top:3px solid #8b5a2b;box-shadow:0 -6px 18px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,220,160,.08);overflow-x:auto;min-height:118px;z-index:30}.pvz-seed-bar,.pvz-seed-packet{display:flex;align-items:center}.pvz-seed-packet{position:relative;width:74px;height:98px;border-radius:10px;cursor:pointer;flex-direction:column;justify-content:space-between;padding:5px 4px 4px;overflow:hidden;flex-shrink:0;border:2px solid #4a6a30;transition:transform .12s var(--pvz-ease),border-color .12s ease,box-shadow .12s ease;box-shadow:0 3px 0 rgba(0,0,0,.35)}.pvz-seed-packet:hover:not(:disabled){transform:translateY(-3px)}.pvz-seed-packet:disabled{cursor:not-allowed}.pvz-seed-packet--selected{border-color:var(--pvz-gold)!important;box-shadow:0 0 0 2px rgba(240,200,74,.35),0 4px 0 rgba(100,70,10,.5);transform:translateY(-2px)}.pvz-seed-packet__name{color:#e8ffe0;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;text-align:center;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.pvz-seed-packet__cost{border-radius:5px;padding:1px 6px;font-size:.65rem;font-weight:900}.pvz-seed-packet__cost--ok{background:linear-gradient(180deg,#ffe56a,#e0a830);color:#3a2408}.pvz-seed-packet__cost--no{background:#5a2810;color:#ffcc88;border:1px solid #8a4020}.pvz-seed-packet__cd{position:absolute;bottom:0;left:0;width:100%;background:rgba(0,0,0,.72);color:#fff;font-size:.72rem;font-weight:900}.pvz-seed-packet__cd,.pvz-shovel{display:flex;align-items:center;justify-content:center}.pvz-shovel{width:68px;height:98px;border-radius:10px;cursor:pointer;flex-direction:column;gap:4px;flex-shrink:0;background:linear-gradient(180deg,#3a4a22,#1e2a12);border:2px solid #4a6a30;color:#8ab870;transition:border-color .12s ease,box-shadow .12s ease,transform .12s var(--pvz-ease);box-shadow:0 3px 0 rgba(0,0,0,.35)}.pvz-shovel:hover{transform:translateY(-2px)}.pvz-shovel--on{background:linear-gradient(180deg,#8a5a18,#5a3810);border-color:var(--pvz-gold);color:var(--pvz-gold);box-shadow:0 0 16px rgba(255,215,0,.35),0 3px 0 rgba(80,50,0,.5)}.pvz-chooser{width:min(920px,100%);padding:1.35rem 1.4rem 1.5rem;color:var(--pvz-text);animation:pvz-banner-in .35s var(--pvz-ease)}.pvz-chooser__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:.85rem}.pvz-chooser__mode{font-size:.72rem;font-weight:800;letter-spacing:.1em;color:var(--pvz-text-dim);text-transform:uppercase}.pvz-chooser__title{margin:.2rem 0 0;font-size:clamp(1.35rem,3vw,1.7rem);font-weight:900;color:var(--pvz-gold-text);text-shadow:0 2px 0 rgba(0,0,0,.35)}.pvz-chooser__slots{font-size:.9rem;font-weight:900;color:var(--pvz-grass-bright);background:rgba(0,0,0,.25);padding:.35rem .75rem;border-radius:var(--pvz-radius-pill);border:1px solid rgba(107,207,69,.25)}.pvz-chooser__briefing{margin:0 0 1rem;padding:.75rem .9rem;background:rgba(0,0,0,.28);border-radius:var(--pvz-radius-sm);border-left:4px solid var(--pvz-grass-bright);font-size:.9rem;line-height:1.5;color:#d7f5b6}.pvz-chooser__section-label{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pvz-text-dim);margin-bottom:.5rem}.pvz-chooser__grid{display:flex;gap:8px;flex-wrap:wrap}.pvz-chooser-card{width:84px;height:104px;border-radius:12px;border:2px solid #3a5a28;background:linear-gradient(180deg,#2a4a1c,#1a3010);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px;transition:transform .12s var(--pvz-ease),border-color .12s ease,box-shadow .12s ease;color:inherit}.pvz-chooser-card:hover:not(:disabled){transform:translateY(-2px);border-color:#6bc24a}.pvz-chooser-card--on{border-color:var(--pvz-gold);background:linear-gradient(180deg,#4a8a28,#2a5a12);box-shadow:0 0 14px rgba(240,200,74,.25)}.pvz-chooser-card--empty{border-style:dashed;border-color:rgba(173,255,160,.28);background:rgba(0,0,0,.22);cursor:default}.pvz-chooser-card:disabled{opacity:.4;cursor:not-allowed}.pvz-wave-bar{display:flex;flex-direction:column;gap:5px;min-width:160px;max-width:300px;flex:1 1}.pvz-wave-bar__labels{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:#d4c4a0;font-weight:800}.pvz-wave-bar__track{position:relative;height:16px;border-radius:8px;background:linear-gradient(180deg,#1a1208,#0c0a06);border:2px solid #6a4a22;overflow:hidden;box-shadow:inset 0 1px 4px rgba(0,0,0,.55)}.pvz-wave-bar__fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#3a8a20,#7acc40);transition:width .35s ease-out}.pvz-wave-bar__fill--huge{background:linear-gradient(90deg,#c44a20,#ff8c40)}.pvz-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;background:rgba(4,10,6,.78);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:40;animation:pvz-banner-in .3s var(--pvz-ease)}.pvz-overlay__title{font-size:clamp(2.5rem,8vw,3.75rem);font-weight:900;margin:0;letter-spacing:.04em;text-shadow:0 4px 24px rgba(0,0,0,.7)}.pvz-overlay__title--win{color:var(--pvz-gold)}.pvz-overlay__title--lose{color:#ff6b5a}.pvz-banner-wave{position:absolute;left:0;right:0;top:38%;display:flex;justify-content:center;pointer-events:none;z-index:25;animation:pvz-banner-in .35s var(--pvz-ease)}.pvz-banner-wave__inner{padding:.85rem 1.75rem;border-radius:12px;background:linear-gradient(180deg,rgba(40,10,8,.92),rgba(20,5,5,.95));border:3px solid var(--pvz-gold);color:var(--pvz-gold-text);font-weight:900;font-size:clamp(1rem,3vw,1.35rem);letter-spacing:.04em;text-align:center;text-transform:uppercase;box-shadow:0 0 28px rgba(255,160,40,.35),0 8px 24px rgba(0,0,0,.5)}.pvz-spinner{width:40px;height:40px;border:3px solid #1f2937;border-top:3px solid var(--pvz-grass-bright);border-radius:50%;animation:pvz-spin .8s linear infinite}.pvz-env-tabs{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap;width:min(100%,1080px)}.pvz-env-tab{min-width:88px;height:36px;border-radius:10px;border:1px solid rgba(218,245,176,.22);background:rgba(20,40,22,.75);color:#cfeab8;font-weight:800;font-size:.75rem;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s var(--pvz-ease)}.pvz-env-tab:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(240,200,74,.45)}.pvz-env-tab--on{border:2px solid #ffe56a;background:rgba(255,213,74,.18);color:#fff5a6;box-shadow:0 0 14px rgba(255,220,74,.2)}.pvz-env-tab:disabled{opacity:.5;cursor:not-allowed}@media (max-width:640px){.pvz-hud{flex-wrap:wrap;gap:8px}.pvz-level-node{width:64px;height:64px}.pvz-chooser-card{width:72px;height:92px}}