:root{--soil: #3d2b1f;--moss: #5f7a3e;--sun: #f2d38a;--clay: #c47a4a;--ink: #1f1712;--paper: #f7efe2;--mist: rgba(31, 23, 18, .08);--danger: #8b2e2e;--ok: #2f6b3a;font-family:"Source Sans 3",sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 10%,#fff6df 0%,transparent 40%),radial-gradient(circle at 80% 0%,#d9e7c4 0%,transparent 35%),linear-gradient(180deg,#efe2c8,#d7c4a5)}*{box-sizing:border-box}body{margin:0;min-height:100vh}#app{max-width:960px;margin:0 auto;padding:1.25rem 1rem 2rem}.topbar{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem}.brand{font-family:Fraunces,Georgia,serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;letter-spacing:-.02em}.status{font-size:.95rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;background:var(--mist)}.status.connected{color:var(--ok)}.status.error{color:var(--danger)}.lobby{display:grid;gap:.9rem;margin-bottom:1rem;max-width:36rem}.lead{margin:0;line-height:1.45;font-size:1.05rem}.field{display:grid;gap:.35rem;font-size:.9rem;font-weight:600}.field.grow{flex:1}input{font:inherit;font-weight:400;padding:.65rem .75rem;border:2px solid rgba(31,23,18,.18);border-radius:10px;background:#ffffffb3;color:var(--ink)}input:focus{outline:2px solid var(--moss);border-color:transparent}.actions,.join-row,.hud-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}button{font:inherit;font-weight:600;border:0;border-radius:10px;padding:.7rem 1rem;background:var(--soil);color:var(--paper);cursor:pointer}button:hover{filter:brightness(1.08)}button.secondary{background:var(--moss)}button:disabled{opacity:.55;cursor:not-allowed}.error{margin:0;color:var(--danger);font-weight:600}.hud{margin-bottom:.75rem;padding:.85rem 1rem;border-radius:14px;background:#ffffff8c;border:1px solid rgba(31,23,18,.08)}.label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.value{font-weight:700}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.hint{margin:.75rem 0 0;font-size:.92rem;opacity:.85}.tools{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.tool{background:#ffffffa6;color:var(--ink);border:2px solid rgba(31,23,18,.15);padding:.45rem .75rem;font-size:.9rem}.tool:hover{filter:none;border-color:var(--moss)}.tool.active{background:var(--moss);color:var(--paper);border-color:transparent}.seed-crop-field{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--ink)}.seed-crop-field select{font:inherit;padding:.35rem .45rem;border:2px solid rgba(31,23,18,.15);border-radius:6px;background:#ffffffbf}.shop-row.locked{opacity:.55}.shop-row.locked button{cursor:not-allowed}.shop-panel{margin:.75rem 0 1rem;padding:.9rem 1rem;max-width:28rem;background:#f7efe2f2;border:2px solid rgba(61,43,31,.25);border-radius:12px}.shop-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem}.shop-header h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.shop-balance{margin:0 0 .75rem;font-weight:700}.shop-rows{display:grid;gap:.55rem}.shop-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.shop-label{font-weight:600}.shop-meta{font-size:.85rem;opacity:.75}.trade-panel{max-width:36rem}.trade-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.trade-grid h3{margin:0 0 .5rem;font-family:Fraunces,Georgia,serif;font-size:1.05rem}.trade-field{display:grid;gap:.25rem;margin-bottom:.45rem;font-size:.9rem}.trade-field input{width:100%;padding:.35rem .5rem;border:2px solid rgba(31,23,18,.15);border-radius:8px;font:inherit}@media (max-width: 640px){.trade-grid{grid-template-columns:1fr}}#game-root{width:100%;max-width:800px;aspect-ratio:800 / 600;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px #3d2b1f38;border:3px solid rgba(61,43,31,.35);background:#6f9a4d}#game-root canvas{display:block;width:100%!important;height:100%!important}@media (max-width: 640px){.topbar{flex-direction:column;align-items:flex-start}.join-row{align-items:stretch}.join-row button{width:100%}}
