/* vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/15cdfa1fd883cec2.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;
}
/* latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/fcce74a2c50797d0.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;
}
/* latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/192831e68d5da19b.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/24af766ee9bbfc8b.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;
}
/* latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/7cd1f28582bd3aa4.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;
}
/* latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/4c25826416358c17.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/a4a19814300ef353.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;
}
/* latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/39cfa85ed7f5b690.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;
}
/* latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/1f09cf2cad8deace.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/cc213dd9a52f2956.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;
}
/* latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/9a81d46fe497bb94.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;
}
/* latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/d0a722dfe679d853.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/f3997f32b0a33324.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/106868757a701eed.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;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/9960423803a410f9.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;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/36675b493ee1c521.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/edff4874961e8711.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/2f08df1456fc9116.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;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/3cb6b7b1979e5dd2.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;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/363014d7c907501d.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/edff4874961e8711.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/2f08df1456fc9116.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;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/3cb6b7b1979e5dd2.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;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/363014d7c907501d.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}

500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,500&display=swap');
:root{--ink:#214c43;--muted:#7a8174;--cream:#fcf9ed;--gold:#c2964c;--line:#d6d9bd}*{box-sizing:border-box}body{margin:0;background:#f5f4ea;color:var(--ink);font-family:'Be Vietnam Pro',sans-serif;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid #cc803d;outline-offset:4px}button{transition:background .16s,transform .16s}button:active:not(:disabled){transform:translateY(1px)}.site-header{height:74px;padding:0 max(5vw,24px);display:flex;align-items:center;border-bottom:1px solid #e4e5d5;background:#fbfbf4}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;letter-spacing:2.4px;font-size:10px;font-weight:700}.brand b{display:grid;place-items:center;font:20px Georgia;background:#244f45;color:#fff8dd;width:38px;height:38px;border-radius:50%;letter-spacing:-1px}.season{margin:auto;font-size:10px;letter-spacing:3px;color:#8e8c79}.demo{font-size:9px;letter-spacing:1.5px;border:1px solid #d8dbc7;border-radius:20px;padding:9px 13px}.page-heading{display:flex;justify-content:space-between;align-items:center;padding:29px 0 22px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.5px;margin:0 0 9px;color:#a27841}h1{font:600 clamp(26px,3vw,38px)/1.2 'Playfair Display',Georgia,serif;margin:0;letter-spacing:-1.2px}h1 em{font-weight:500;color:#858957}main{max-width:1220px;margin:0 auto;padding:0 28px 25px}.quiet-button{display:flex;gap:9px;align-items:center;border:none;background:none;font-size:11px}.quiet-button svg{width:19px;height:19px;border:1px solid #a4b099;border-radius:50%;padding:3px}.game{position:relative;isolation:isolate;border:1px solid #b5c5a4;border-radius:25px;overflow:hidden;background:#e9edda;box-shadow:0 18px 48px #3457440b}.scene-backdrop{position:absolute;z-index:-1;inset:0 0 135px;background:linear-gradient(0deg,#e4ecd8 0%,#e7ecd4bb 22%,#e3e9d5b5 80%),url('assets/cung-trang.webp') center 23%/cover;opacity:.92}.farm-hud{display:flex;justify-content:space-between;align-items:start;position:absolute;top:23px;left:25px;right:25px;z-index:2;pointer-events:none}.farm-hud>*{pointer-events:auto}.profile{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;border:1px solid #bbc7a7;background:#fbf9e8ed;border-radius:13px;box-shadow:0 5px 9px #3d614812;text-align:left;min-width:248px}.avatar{position:relative;display:grid;place-items:center;width:47px;height:47px;border-radius:50%;color:#c2a361;background:#305f53;border:2px solid #dbc386}.avatar svg{width:27px;height:27px}.avatar b{position:absolute;bottom:-5px;right:-5px;background:#ead59a;color:#365347;border:2px solid #fbf8e7;border-radius:50%;height:23px;width:23px;display:grid;place-items:center;font-size:10px}.profile strong{font-size:12px;display:block;margin:0 0 7px}.xp-track{display:block;height:5px;background:#dce1ca;border-radius:4px;overflow:hidden;width:145px}.xp-track i{display:block;height:100%;background:#af994b}.profile small{font-size:8px;display:block;color:#818772;margin-top:5px}.upgrade-plus{margin-left:auto;color:#aa8650;font-size:24px}.wallet{display:flex;gap:10px;align-items:center;background:#254e43ef;color:#fbf2d6;border:1px solid #bba375;padding:9px 17px 9px 11px;min-width:120px;border-radius:35px}.wallet>svg{width:31px;height:31px;padding:6px;border:1px solid #cbae66;border-radius:50%;color:#e0c98d}.wallet small{display:block;font-size:7px;letter-spacing:1.7px;opacity:.6;margin-bottom:3px}.wallet strong{font-size:19px;font-weight:600;letter-spacing:1px}.scene{height:clamp(460px,49vw,592px);position:relative}.scene #world{position:absolute;bottom:-21px;left:50%;transform:translateX(-50%);width:96%;height:100%;overflow:visible}.plot{cursor:pointer;outline:none}.plot .ground{transition:filter .18s}.plot:hover .ground,.plot:focus-visible .ground{filter:brightness(1.08);stroke:#fce7a1;stroke-width:4}.plot.locked{cursor:help}.crop{pointer-events:none}.plot .ready-ring{fill:none;stroke:#f8eabc;stroke-width:3}.plot-bubble{filter:drop-shadow(0 3px 2px #385c4022)}.side-tools{position:absolute;right:21px;top:112px;display:grid;gap:20px}.side-tools button{display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:none;font-size:9px;font-weight:600}.side-tools button>svg{width:48px;height:48px;padding:11px;background:#fff9e9;border:1px solid #b9b891;box-shadow:0 4px 0 #567c5620;border-radius:14px;color:#7e6a42}.side-tools button:hover>svg{background:#fff4cc}.toast{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);background:#284f43ec;color:#fff7df;border:1px solid #dbcf9a70;border-radius:30px;padding:11px 22px;font-size:11px;line-height:1.5;max-width:75%;text-align:center;pointer-events:none;box-shadow:0 4px 12px #214c4320;transition:opacity .3s}.toast.quiet{opacity:0}.farm-controls{position:relative;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 25px 20px}.quest-shortcut{display:flex;align-items:center;gap:11px;border:0;background:transparent;text-align:left;max-width:45%;padding:0}.quest-shortcut>svg{width:33px;height:33px;flex-shrink:0;color:#a58250}.quest-shortcut small{font-size:7px;letter-spacing:1.5px;color:#8c8868;display:block;margin-bottom:5px}.quest-shortcut strong{font-size:10px;font-weight:500;line-height:1.6}.quest-shortcut i{width:7px;height:7px;border-radius:50%;background:#c96f47;flex-shrink:0}.batch-actions{display:flex;gap:7px}.batch-actions button{display:flex;gap:6px;align-items:center;font-size:10px;border:1px solid #bec5a5;border-radius:8px;background:#f9f6e7;padding:10px 12px;min-height:41px}.batch-actions svg{width:18px;height:18px}.batch-actions button:last-child{background:#436b50;color:#fff5d8;border-color:#436b50}.seed-tray{display:flex;align-items:center;gap:14px;background:#fbf8eae8;border-top:1px solid #c8cfb1;padding:13px 25px}.tray-label{min-width:142px}.tray-label strong{font-family:'Playfair Display',Georgia;font-size:17px}.tray-label small{display:block;font-size:8px;color:#949581;margin-top:5px}.seeds{display:flex;gap:8px;overflow:auto;padding:3px 1px;flex:1;scrollbar-width:thin}.seed{position:relative;display:grid;grid-template-columns:35px 1fr;align-items:center;gap:6px;min-width:102px;padding:3px 11px 3px 5px;border-radius:8px;background:#f2eedc;border:1px solid #dedbc6;text-align:left;height:49px}.seed.selected{border-color:#577b5d;background:#e6ecd6;box-shadow:inset 0 0 0 1px #668867}.crop-art{width:100%;height:100%;overflow:hidden}.seed .crop-art{width:36px;height:39px}.seed strong{font-size:8px;white-space:nowrap}.seed small{display:block;font-size:8px;color:#899177;margin-top:5px}.buy-seed{width:38px;min-height:44px;background:#ede8d3;border:1px solid #c7c8a7;border-radius:8px;font-size:24px;font-weight:400;flex-shrink:0}.farm-nav{display:flex;justify-content:center;gap:42px;border-top:1px solid #e0e0c9;background:#fbf8ea;padding:15px 20px}.farm-nav button{border:0;background:none;display:flex;align-items:center;gap:9px;font-size:10px;min-height:35px;color:#849079;position:relative}.farm-nav svg{width:20px;height:20px}.farm-nav .active{color:#315e4b}.farm-nav b{font-size:8px;background:#e9eddc;border-radius:20px;padding:3px 5px;font-weight:500}.farm-nav button:hover{color:#244f43}.visit-label{position:absolute;top:102px;left:35px;background:#fbf8e8e6;border:1px solid #b7c8a5;border-radius:10px;padding:10px 14px;font-size:10px;line-height:1.7}.visit-label strong{display:block}.visit-label small{color:#7d816d}footer{display:flex;justify-content:space-between;font-size:9px;color:#8e9583;padding:15px 4px;gap:15px;line-height:1.7}
dialog{border:1px solid #bbbf98;background:#fbf9ed;color:var(--ink);padding:0;border-radius:20px;width:min(760px,94vw);max-height:88dvh;box-shadow:0 25px 90px #102e493d;overflow:auto}dialog::backdrop{background:#143f3866;backdrop-filter:blur(5px)}.dialog-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbf9ed;padding:25px 28px 20px;border-bottom:1px solid #dedfcb}.dialog-heading .eyebrow{font-size:8px}h2{font:600 28px 'Playfair Display',Georgia;margin:0}.close{border:1px solid #d6d9c0;background:#f0eedf;border-radius:50%;display:grid;place-items:center;width:35px;height:35px}.close svg{width:17px;height:17px}#panel-body{padding:22px 28px}.dialog-copy{font-size:11px;line-height:1.9;color:#7b856f;margin:0 0 20px}.shop-layout{display:grid;grid-template-columns:1fr 240px;gap:22px}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.shop-crop{display:flex;flex-direction:column;align-items:center;background:#efeeda;border:1px solid #d7dac0;border-radius:12px;padding:8px 4px;position:relative;min-width:0}.shop-crop.selected{background:#e3ead0;border-color:#507454;box-shadow:inset 0 0 0 1px #507454}.shop-crop.locked{opacity:.5}.shop-crop .crop-art{width:58px;height:63px}.shop-crop strong{font-size:9px}.shop-crop small{font-size:8px;margin-top:7px;color:#8b8669}.crop-details{background:#f0efdf;border:1px solid #d5d9bb;border-radius:13px;padding:20px}.crop-details>.crop-art{height:93px;width:100%}.crop-details h3{font:600 25px 'Playfair Display';margin:10px 0 15px;text-align:center}.crop-details dl{font-size:10px;margin:12px 0 20px}.crop-details dl>div{display:flex;justify-content:space-between;gap:8px;margin:10px 0}.crop-details dt{color:#7f856f}.crop-details dd{margin:0;font-weight:500}.quantity{display:flex;align-items:center;justify-content:space-between;border:1px solid #caceb1;border-radius:8px;margin-bottom:12px;background:#f9f7eb}.quantity button{border:0;background:none;width:35px;height:35px;font-size:20px}.quantity input{font:500 13px 'Be Vietnam Pro';width:62px;text-align:center;background:none;border:0;color:var(--ink);appearance:textfield}.primary{background:#305e49;border:1px solid #305e49;color:#fff5d6;border-radius:8px;padding:13px 16px;font-size:11px;min-height:43px}.primary.wide{width:100%}.secondary{border:1px solid #b4c09e;background:#eef0dc;color:#42654e;border-radius:7px;padding:10px 13px;font-size:10px;min-height:39px}.item-list{display:grid;gap:10px}.item-row{display:flex;align-items:center;gap:15px;padding:13px 16px;border:1px solid #dcdfc7;border-radius:10px;background:#f5f3e5}.item-row>.crop-art{width:45px;height:48px;flex-shrink:0}.item-row h3{font-size:12px;margin:0 0 6px}.item-row p{font-size:9px;color:#858772;line-height:1.6;margin:0}.item-row .row-text{flex:1}.item-row button{white-space:nowrap}.stock-keep{color:#bd8951!important}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.collection-tile{background:#f0efdf;border:1px solid #d8dcc3;border-radius:11px;text-align:center;padding:12px}.collection-tile .crop-art{width:52px;height:60px}.collection-tile h3{font-size:10px;margin:6px 0}.collection-tile p{font-size:8px;color:#899078;margin:0}.collection-tile.unknown .crop-art{filter:grayscale(1);opacity:.2}.collection-tile.unknown{background:#f5f3e8}.progress-line{height:5px;background:#d9dfc6;border-radius:5px;overflow:hidden;margin:15px 0 4px}.progress-line i{display:block;background:#b49651;height:100%}.upgrade-card{text-align:center;padding:8px 15px}.level-numbers{display:flex;justify-content:center;align-items:center;gap:20px;font:600 44px 'Playfair Display';margin:8px 0 20px}.level-numbers span{display:grid;place-items:center;width:75px;height:75px;border:1px solid #c8b276;border-radius:20px;background:#f0e7c9}.level-numbers svg{width:20px;color:#ad9766}.requirements{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:23px 0}.requirements>div{border:1px solid #d5d9bf;border-radius:10px;background:#f1efdf;padding:14px 5px;display:grid;place-items:center;gap:10px}.requirements strong{font-size:13px}.requirements small{font-size:9px;color:#899179}.requirements .enough{border-color:#87a577;background:#eaf0da}.requirements .crop-art{width:36px;height:35px}.requirements svg{width:29px;height:29px}.friend-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#526b54;flex-shrink:0}.friend-label{font-size:8px;color:#839179;border:1px solid #d0d7bc;border-radius:20px;padding:3px 7px;display:inline-block;margin-top:6px}.help-steps{display:grid;gap:20px;counter-reset:help}.help-steps>div{display:flex;gap:16px;font-size:12px;line-height:1.7}.help-steps>div:before{counter-increment:help;content:counter(help);display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;background:#e6ebd3;border-radius:50%;color:#55724e}.help-steps strong{display:block;margin-bottom:5px}.help-steps p{font-size:11px;color:#828a73;margin:0}#panel-message{position:sticky;bottom:0;padding:0 28px;color:#42654e;background:#edf1de;font-size:11px;line-height:1.8}#panel-message:not(:empty){padding:12px 28px;border-top:1px solid #d9dfc6}.empty-state{text-align:center;padding:35px 12px;color:#88927c;font-size:12px;line-height:1.9}.quest-complete{font-size:9px;color:#68825d;white-space:nowrap}.new-tag{font-size:8px;color:#b67845}.section-title{font-size:10px;letter-spacing:1.5px;color:#8c8664;margin:25px 0 13px}.section-title:first-child{margin-top:0}
@media(min-width:1400px){main{max-width:1280px}.scene{height:595px}}@media(max-width:760px){.site-header{height:61px;padding:0 20px}.season{display:none}.demo{margin-left:auto;font-size:7px}.brand{font-size:8px;gap:8px}.brand b{width:31px;height:31px;font-size:17px}main{padding:0 13px 15px}.page-heading{padding:22px 5px 20px;gap:5px}.eyebrow{font-size:6px;letter-spacing:1.8px;margin-bottom:6px}h1{font-size:25px;letter-spacing:-.7px}h1 em{display:block}.quiet-button{font-size:9px;white-space:nowrap;padding:0;gap:5px}.game{border-radius:17px}.farm-hud{top:15px;left:13px;right:13px}.profile{min-width:0;gap:9px;padding:5px 9px 5px 5px;border-radius:10px}.avatar{width:35px;height:35px}.avatar svg{width:22px;height:22px}.avatar b{width:20px;height:20px;font-size:9px}.profile strong{font-size:9px;margin-bottom:5px}.profile small{font-size:6px}.xp-track{width:105px;height:4px}.upgrade-plus{font-size:19px}.wallet{padding:7px 10px 7px 7px;gap:5px;min-width:93px}.wallet>svg{width:26px;height:26px}.wallet strong{font-size:15px}.wallet small{font-size:6px;letter-spacing:1px}.scene{height:390px}.scene #world{width:127%;height:auto;bottom:13px;pointer-events:auto}.side-tools{right:10px;top:91px;gap:13px}.side-tools button{font-size:7px;gap:3px}.side-tools button>svg{width:36px;height:36px;padding:8px;border-radius:10px}.scene-backdrop{background-position:center top;background-size:auto 650px;inset:0 0 155px}.toast{bottom:0;font-size:8px;padding:8px 12px;max-width:90%;width:max-content}.farm-controls{padding:15px 12px;display:block}.quest-shortcut{max-width:100%;margin-bottom:13px;gap:8px}.quest-shortcut>svg{width:26px;height:26px}.quest-shortcut small{font-size:6px;letter-spacing:1px;margin-bottom:3px}.quest-shortcut strong{font-size:9px}.batch-actions{justify-content:stretch}.batch-actions button{flex:1;justify-content:center;font-size:9px;padding:8px 3px;gap:5px;min-height:39px}.batch-actions svg{width:17px;height:17px}.seed-tray{padding:12px;gap:8px;flex-wrap:wrap}.tray-label{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0}.tray-label strong{font-size:14px}.tray-label small{font-size:7px;margin:0}.seeds{width:calc(100% - 38px);flex:auto;gap:7px}.seed{min-width:88px;padding:3px 8px 3px 4px;gap:3px;height:48px}.seed strong{font-size:7px}.seed small{font-size:7px}.buy-seed{width:29px;min-height:46px}.farm-nav{padding:9px 8px;justify-content:space-around;gap:2px}.farm-nav button{flex-direction:column;gap:5px;font-size:7px;min-height:44px}.farm-nav svg{width:19px;height:19px}.farm-nav b{position:absolute;top:0;left:65%;font-size:6px;padding:2px 3px}.visit-label{top:91px;left:12px;font-size:8px;padding:7px 9px}.visit-label strong{font-size:9px}footer{font-size:7px;gap:5px;display:grid;padding:11px 5px}.dialog-heading{padding:21px 18px 16px}.dialog-heading h2{font-size:24px}.dialog-heading .eyebrow{font-size:6px}#panel-body{padding:18px}.shop-layout{grid-template-columns:1fr;gap:17px}.shop-grid{grid-template-columns:repeat(3,1fr);gap:7px}.shop-crop{padding:7px 4px}.shop-crop .crop-art{width:40px;height:45px}.shop-crop strong{font-size:8px}.shop-crop small{font-size:7px;margin-top:4px}.crop-details{display:grid;grid-template-columns:70px 1fr;gap:0 14px;padding:14px}.crop-details>.crop-art{height:85px;width:70px;grid-row:1/3}.crop-details h3{text-align:left;font-size:22px;margin:4px 0}.crop-details dl{font-size:9px;margin:0}.crop-details dl>div{margin:7px 0}.quantity{grid-column:1/-1;margin-top:9px}.crop-details>.primary{grid-column:1/-1}.item-row{padding:11px 10px;gap:10px}.item-row>.crop-art{width:33px;height:42px}.item-row h3{font-size:10px}.item-row p{font-size:8px}.item-row .secondary{padding:9px 8px;font-size:8px}.collection-grid{gap:8px}.collection-tile{padding:10px 4px}.collection-tile h3{font-size:8px}.collection-tile p{font-size:7px}.collection-tile .crop-art{width:42px;height:50px}.requirements{gap:6px}.requirements strong{font-size:11px}.requirements small{font-size:8px}.upgrade-card{padding:3px}.dialog-copy{font-size:10px}.friend-avatar{width:37px;height:37px}.friend-avatar svg{width:20px}.help-steps{gap:14px}.help-steps p{font-size:10px}#panel-message:not(:empty){padding:10px 18px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
[hidden]{display:none!important}
@media(max-width:760px){.profile strong{font-size:10px}.profile small{font-size:7px}.farm-nav button{font-size:9px}.batch-actions button{font-size:11px}.quest-shortcut strong{font-size:10px}.seed{min-width:100px}.seed strong{font-size:9px}.seed small{font-size:8px}.tray-label small{font-size:9px}.side-tools button{font-size:9px}.side-tools button>svg{width:40px;height:40px}.toast{font-size:10px}.dialog-copy{font-size:11px}.shop-crop strong{font-size:10px}.shop-crop small{font-size:9px}.item-row h3{font-size:11px}.item-row p{font-size:9px}.item-row .secondary{font-size:10px}.collection-tile h3{font-size:10px}.collection-tile p{font-size:9px}footer{font-size:8px}}

/* Generated art is layered as PNG images; CSS only positions and styles controls. */
body{background:#f6f5fa}.game{background:#f5f2fa;border-color:#c5c5d8}
.scene-backdrop{background:#6979cb;opacity:1;inset:0;z-index:0;pointer-events:none}
.scene #world{z-index:1}.side-tools,.visit-label,.toast{z-index:2}
.side-tools button{color:#fff; text-shadow:0 1px 3px #303f6f}.side-tools button>svg{text-shadow:none}
.scene{height:clamp(560px,61vw,770px)}.scene #world{bottom:0;width:100%;height:100%;overflow:visible}
.plot-hit,.plant-hit{fill:transparent;stroke:none}.plot .plot-hit{transition:fill .15s,stroke .15s}
.plot:hover .plot-hit,.plot:focus-visible .plot-hit{fill:#ffffff12;stroke:#fff9e0;stroke-width:3}
.plot.locked{cursor:pointer}.plot text,.plot-bubble,.rarity-dot{pointer-events:none}
.sign-copy{font-size:14px;fill:#654a39;font-weight:500}.sign-level{font-size:20px;fill:#483628;font-weight:700}
.plant-hint{font-size:34px;fill:#f5e9d4;opacity:.65}.plot-countdown{font-size:13px;font-weight:600;fill:#fff9ee;paint-order:stroke;stroke:#674c39;stroke-width:3px;stroke-linejoin:round}
.taken-label{font-size:17px;fill:#355640;paint-order:stroke;stroke:#f9fff7;stroke-width:4px}
.garden-timing{padding:0 24px 16px;margin:0;text-align:center;font-size:11px;line-height:1.8;color:#60745e}
.crop-art{object-fit:contain}.seed{min-width:135px;grid-template-columns:39px 1fr;height:57px}.seed .crop-art{height:46px}
.seed strong{font-size:11px}.seed small{font-size:10px}.seed-tray{background:#f9fbf4}.farm-nav{background:#f9fbf4}
.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collection-tile .crop-art{width:100%;height:148px}
.collection-tile.unknown .crop-art{filter:none;opacity:.72}.collection-tile h3{font-size:12px;line-height:1.5}
.rarity-label{display:block;font-size:10px;color:var(--rarity);font-weight:700;margin:10px 0 5px}
.shop-grid{grid-template-columns:1fr}.shop-crop .crop-art{width:100%;height:176px}.crop-details>.crop-art{height:130px}
.shop-crop strong{font-size:14px}.shop-crop small{font-size:11px}.batch-actions button{font-size:11px}
@media(min-width:1400px){.scene{height:770px}}
@media(max-width:760px){
 .scene{height:420px}.scene #world{width:100%;height:100%;bottom:0}
 .farm-hud{left:10px;right:10px}.profile{max-width:64%}.profile strong{font-size:9px}.profile small{font-size:6px}
 .side-tools{top:87px;right:9px;display:flex;gap:9px}.side-tools button{font-size:8px}.side-tools button>svg{width:33px;height:33px;padding:7px}
 .plot-countdown{display:none}.garden-timing{padding:0 13px 12px;font-size:10px;text-align:left}
 .batch-actions button{font-size:10px;gap:3px}.batch-actions svg{width:15px}.quest-shortcut{margin-bottom:12px}
 .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-tile .crop-art{height:133px}
 .collection-tile h3{font-size:11px}.rarity-label{font-size:10px}.shop-crop .crop-art{height:100px}
 .shop-crop strong{font-size:12px}.shop-grid{grid-template-columns:1fr}.crop-details>.crop-art{height:100px}
 .toast{max-width:94%;bottom:2px;font-size:10px}.visit-label{top:85px;left:10px;font-size:8px;padding:6px 9px;max-width:58%}.visit-label strong{font-size:9px}
}

/* A portrait plate keeps the moon below the mobile HUD. */
.crop .plant-shell{overflow:visible}.crop .plant-sprite{overflow:hidden}
/* Each nested sprite viewport ends at the root, so its bottom center stays planted. */
.crop .plant-wind{transform-box:view-box;transform-origin:50% 100%;animation:plant-sway var(--plant-duration,7s) ease-in-out var(--plant-delay,0s) infinite}
.scene.motion-paused .crop .plant-wind{animation-play-state:paused}
@keyframes plant-sway{0%,100%{transform:rotate(calc(-1 * var(--plant-sway,2.5deg)))}50%{transform:rotate(var(--plant-sway,2.5deg))}}
@media(prefers-reduced-motion:reduce){.crop .plant-wind{animation:none!important;transform:none}}
@media(max-width:760px){
 .scene{height:440px}
 .scene-backdrop{background-image:none;background-size:cover;background-position:center top}
 .scene #world{height:auto;width:100%;bottom:0}
 .side-tools{top:72px;right:9px;flex-direction:column;gap:8px}
}
