:root{--tg-bg: #18222d;--tg-text: #ffffff;--tg-hint: #7d8b99;--tg-link: #5ea9dd;--tg-button: #4db151;--tg-button-text: #ffffff;--tg-secondary-bg: #131b22;--farm-accent: #4db151;--lab-accent: #9b6dff;--radius: 14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--tg-bg);color:var(--tg-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px}.center{display:flex;height:100%;align-items:center;justify-content:center;text-align:center;color:var(--tg-hint);padding:24px}.app{display:flex;flex-direction:column;height:100dvh}.header{padding:10px 14px 8px;background:var(--tg-secondary-bg);border-bottom:1px solid rgba(255,255,255,.06)}.hdr-row{display:flex;align-items:center;justify-content:space-between}.hdr-stats{display:flex;gap:8px}.chip{background:#ffffff14;padding:4px 9px;border-radius:999px;font-weight:600;font-size:13px}.hdr-right{font-size:13px;color:var(--tg-hint)}.xpbar{margin-top:8px;height:4px;background:#ffffff1a;border-radius:999px;overflow:hidden}.xpbar-fill{height:100%;background:var(--farm-accent);transition:width .4s}.screen{flex:1;overflow-y:auto;padding:14px}.screen-title{margin:4px 0 12px;font-size:18px}.empty-hint{color:var(--tg-hint);text-align:center;padding:24px 8px}.nba{background:#4db15124;border:1px solid rgba(77,177,81,.3);color:#cdebcf;padding:9px 12px;border-radius:var(--radius);font-size:14px;margin-bottom:14px}.plot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.plot{aspect-ratio:1;border-radius:var(--radius);border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--tg-secondary-bg);color:var(--tg-text);cursor:pointer;font:inherit}.plot-emoji{font-size:26px}.plot-sub{font-size:11px;color:var(--tg-hint)}.plot.empty{border:1px dashed rgba(255,255,255,.18)}.plot.empty .plot-emoji{color:var(--tg-hint)}.plot.growing{background:#4db1511a}.plot.ready{background:#4db15147;box-shadow:0 0 0 2px var(--farm-accent) inset;animation:pulse 1.6s infinite}.plot.ready .plot-sub{color:#d6f5d8}.plot.locked{opacity:.5}@keyframes pulse{0%,to{box-shadow:0 0 0 2px var(--farm-accent) inset}50%{box-shadow:0 0 0 3px var(--farm-accent) inset}}.btn{border:none;border-radius:12px;padding:10px 14px;font:inherit;font-weight:600;background:#ffffff1a;color:var(--tg-text);cursor:pointer}.btn.primary{background:var(--tg-button);color:var(--tg-button-text)}.btn.ghost{background:transparent;color:var(--tg-hint)}.btn.tiny{padding:5px 10px;font-size:12px;border-radius:9px}.btn.wide{width:100%;margin-top:14px}.toast{position:fixed;left:50%;bottom:78px;transform:translate(-50%);background:#000000d9;color:#fff;padding:9px 16px;border-radius:999px;font-size:13px;z-index:50}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;z-index:40}.sheet{background:var(--tg-bg);width:100%;border-radius:18px 18px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.sheet-title{font-weight:700;font-size:16px;margin-bottom:12px}.seed-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.seed-item{display:flex;align-items:center;gap:12px;background:var(--tg-secondary-bg);border:none;border-radius:12px;padding:10px 12px;color:var(--tg-text);font:inherit;cursor:pointer;text-align:left}.seed-item.disabled{opacity:.45}.seed-emoji{font-size:22px}.seed-name{font-weight:600;flex:1}.seed-meta{font-size:12px;color:var(--tg-hint)}.inv-section{margin-bottom:18px}.inv-cat{font-size:13px;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.inv-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.inv-emoji{font-size:20px}.inv-name{flex:1}.inv-qty{color:var(--tg-hint);font-variant-numeric:tabular-nums}.order-card{background:var(--tg-secondary-bg);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:12px;margin-bottom:12px}.order-card.ready{border-color:#4db15180}.order-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.order-title{font-weight:700}.order-npc{font-size:12px;color:var(--tg-hint)}.order-flavor{font-size:12px;color:var(--tg-hint);margin-bottom:10px}.order-reqs,.order-rewards{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.req{background:#ffffff12;border-radius:999px;padding:3px 10px;font-size:13px;font-variant-numeric:tabular-nums}.req.met{background:#4db15138;color:#d6f5d8}.reward{font-size:13px;color:var(--tg-hint)}.btn.wide:disabled{opacity:.5}.stub{text-align:center;padding-top:48px}.stub-emoji{font-size:48px}.segbar{display:flex;gap:6px;margin-bottom:14px}.seg{flex:1;border:none;border-radius:999px;padding:8px 10px;font:inherit;font-weight:600;font-size:13px;background:#ffffff12;color:var(--tg-hint);cursor:pointer}.seg.active{background:#9b6dff40;color:#e7dcff}.lab-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.lab-slot{aspect-ratio:1;border-radius:12px;border:1px dashed rgba(255,255,255,.18);background:var(--tg-secondary-bg);color:var(--tg-text);display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit;cursor:pointer}.lab-slot.filled{border-style:solid;border-color:var(--lab-accent);background:#9b6dff1f}.slot-emoji{font-size:24px}.slot-qty{font-size:11px;color:var(--tg-hint)}.slot-empty{font-size:24px;color:var(--tg-hint)}.lab-cat{font-size:13px;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 8px}.comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.comp-card{background:var(--tg-secondary-bg);border:none;border-radius:12px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--tg-text);font:inherit;cursor:pointer}.comp-emoji{font-size:22px}.comp-name{font-size:11px;text-align:center}.comp-qty{font-size:11px;color:var(--tg-hint)}.recipe-hint{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--tg-secondary-bg);border-radius:10px;margin-bottom:8px}.recipe-hint.hidden{opacity:.6}.recipe-name{font-weight:600;font-size:14px}.recipe-formula{font-size:12px;color:var(--tg-hint)}.experiment{text-align:center;padding:24px 0}.exp-emoji{font-size:56px}.exp-title{font-weight:700;margin-top:8px}.exp-timer{font-size:26px;font-variant-numeric:tabular-nums;margin:8px 0;color:var(--lab-accent)}.exp-bar{height:6px;background:#ffffff1a;border-radius:999px;overflow:hidden;margin:12px 24px}.exp-bar-fill{height:100%;background:var(--lab-accent);transition:width 1s linear}.sheet.reveal{text-align:center}.reveal-title{font-weight:700;color:var(--lab-accent)}.reveal-emoji{font-size:64px;margin:8px 0}.reveal-name{font-size:20px;font-weight:700}.reveal-sub{color:var(--tg-hint);margin-top:4px}.reveal-bonus{margin-top:6px;font-size:14px}.coll-progress{font-weight:600;margin-bottom:12px}.coll-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.coll-card{background:var(--tg-secondary-bg);border-radius:12px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.coll-card.hidden{opacity:.55}.coll-emoji{font-size:34px}.coll-name{font-weight:600;font-size:14px}.coll-rarity{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:#ffffff14}.coll-rarity.r-rare{color:#6fb1ff}.coll-rarity.r-epic{color:#c08bff}.coll-rarity.r-legendary{color:#ffcf5e}.coll-hint{font-size:11px;color:var(--tg-hint)}.tabbar{display:flex;background:var(--tg-secondary-bg);border-top:1px solid rgba(255,255,255,.06);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;background:none;border:none;color:var(--tg-hint);padding:8px 0;display:flex;flex-direction:column;align-items:center;gap:2px;font:inherit;cursor:pointer}.tab.active{color:var(--farm-accent)}.tab-emoji{font-size:20px}.tab-label{font-size:11px}
