:root[data-theme="light"]{--bg:#edf0e4;--surface:#fffcf3;--ink:#304738;--muted:#657461;--line:#cfd6bd;--accent:#557a45;--on-accent:#fffbed;--code-bg:#f8f9ef;--soil:#e0d0ad;--soil-2:#c9b590;--leaf:#4f7a42;--ripe:#da9a43;--seed:#b78551;--rot:#5a4335;--preview:#5e879b;--mono:'DejaVu Sans Mono','Apple Symbols','Segoe UI Symbol',ui-monospace,monospace}
body{font-family:Avenir,'Segoe UI',system-ui,sans-serif;background:radial-gradient(ellipse at 12% 0,#f7f5e7 0,transparent 50%),var(--bg)}
.topbar h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,48px);font-weight:400;letter-spacing:-1px;line-height:1.08}.topbar h1 small{display:block;font:11px/1.8 Avenir,'Segoe UI',system-ui,sans-serif;text-transform:uppercase;letter-spacing:2.6px;color:#788065;margin-top:3px}.topbar .intro{font-size:14px;max-width:78ch;line-height:1.65}
.plot,.editor{background:#fffcf3d9;border:1px solid #ced4bd;border-radius:18px;padding:20px;box-shadow:0 10px 35px #6173440b}.field-stage{border-radius:13px;overflow:hidden;box-shadow:inset 0 0 0 1px #c0b28b55}.field-head{padding-bottom:8px}.field-title{font-family:Georgia,serif;font-size:18px}.stats{gap:10px}.stat{border-radius:10px}.stat strong{font-variant-numeric:tabular-nums}.legend{font-size:12px}
button,.panel-buttons button{border-radius:9px;min-height:36px}button.primary{background:#5a7b47;border-color:#5a7b47;color:#fffbed;box-shadow:0 3px 10px #54704422}.controls{gap:8px}.framed,textarea{border-radius:10px}.frame-edge{color:#5a704c}.code-note,.hint{font-size:13px;line-height:1.6}.panel{border-color:#c7d0b4;background:#fffcf5;box-shadow:-10px 0 45px #4d683b15}.panel h2,.panel h3{font-family:Georgia,serif;font-weight:400}.site-footer{font-size:11px}.word,.glyph{min-height:34px}
@media(max-width:640px){.wrap{padding:18px 12px}.topbar h1{font-size:34px}.topbar .intro{font-size:12px}.panel-buttons{gap:6px}.panel-buttons button{font-size:12px;padding:7px 10px}.plot,.editor{padding:12px;border-radius:13px}.farm-bar{font-size:12px}.code-note,.hint{font-size:12px}.field-title{font-size:16px}}
