.area-tabs{padding:0 16px;max-width:900px;width:100%;margin:0 auto}.area-tabs-list{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px}.area-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px 8px 0 0;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}.area-tab:hover{background:var(--bg-input)}.area-tab.active{background:var(--bg-input);color:var(--accent-gold);border-bottom-color:var(--bg-input)}.area-tab-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.area-tab-input{background:var(--bg-page);border:1px solid var(--accent-gold);border-radius:4px;color:var(--text-primary);padding:2px 6px;font-size:.85rem;width:100px}.area-tab-edit,.area-tab-delete{background:none;color:var(--text-secondary);font-size:.75rem;padding:2px;line-height:1;opacity:.5;transition:opacity .15s}.area-tab-edit:hover,.area-tab-delete:hover{opacity:1}.area-tab-delete{font-size:1rem;font-weight:700;color:var(--grid-bad)}.area-tab-add{padding:8px 16px;background:var(--bg-card);border:1px dashed var(--border);border-radius:8px 8px 0 0;color:var(--accent-gold);font-size:1.1rem;font-weight:600;transition:all .15s ease}.area-tab-add:hover{background:var(--bg-input);border-color:var(--accent-gold)}.toolbar{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:10px 14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.toolbar-modes{display:flex;gap:4px}.toolbar-actions{display:flex;gap:4px;margin-left:auto}.toolbar-btn{padding:6px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.8rem;font-weight:500;transition:all .15s ease;white-space:nowrap}.toolbar-btn:hover{border-color:var(--accent-gold);color:var(--text-primary)}.toolbar-btn.active{background:var(--accent-gold);color:#1a1a1a;border-color:var(--accent-gold);font-weight:600}.toolbar-btn-danger:hover{border-color:var(--grid-bad);color:var(--grid-bad)}.toolbar-btn-apply{background:var(--accent-gold);color:#1a1a1a;border-color:var(--accent-gold);font-weight:600}.toolbar-btn-apply:hover{opacity:.9}.toolbar-resize{width:100%;display:flex;align-items:center;gap:10px;padding-top:8px;border-top:1px solid var(--border);margin-top:2px}.toolbar-resize label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.toolbar-resize input{width:54px;padding:4px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.85rem;text-align:center}.toolbar-resize input:focus{border-color:var(--accent-gold)}.resize-x{color:var(--text-secondary);font-size:.85rem}@media(max-width:480px){.toolbar{padding:8px 10px}.toolbar-modes,.toolbar-actions{flex-wrap:wrap}.toolbar-btn{padding:5px 8px;font-size:.75rem}}.grid-wrapper{position:relative}.grid-scroll{overflow-x:auto;padding:4px 0}.grid{display:grid;gap:3px;width:fit-content;margin:0 auto}.grid-cell{border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;position:relative;-webkit-user-select:none;user-select:none}.grid-cell:hover{transform:scale(1.04);z-index:1}.grid-cell.empty{background:var(--grid-empty);border:2px solid var(--border);box-shadow:inset 0 2px 4px #0000004d}.grid-cell.planted{border:2px solid rgba(0,0,0,.15);box-shadow:inset 0 2px 4px #ffffff26,inset 0 -2px 4px #0003,0 1px 3px #0003}.grid-cell.disabled{background:var(--grid-disabled);border:2px solid rgba(42,74,58,.3);opacity:.5;cursor:default}.grid-cell.disabled.shape-mode{cursor:pointer;opacity:.7}.grid-cell.disabled.shape-mode:hover{opacity:1}.grid-cell.shape-mode{cursor:crosshair}.cell-disabled-mark{color:var(--border);font-size:.7rem;font-weight:700}.cell-content{display:flex;flex-direction:column;align-items:center;gap:0px;line-height:1}.cell-emoji{font-size:1.2em;line-height:1}.cell-label{font-size:.5rem;font-weight:600;color:#0009;line-height:1;text-align:center}.grid-tooltip{position:fixed;transform:translate(-50%,-100%);background:var(--bg-card);border:1px solid var(--accent-gold);border-radius:8px;padding:10px 14px;z-index:1000;box-shadow:var(--shadow);min-width:180px;max-width:260px;pointer-events:none}.tooltip-header{font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--text-primary)}.tooltip-companions{display:flex;flex-direction:column;gap:3px}.tooltip-companion{font-size:.8rem;color:var(--text-secondary);padding:2px 0}.tooltip-companion.friend{color:var(--grid-good)}.tooltip-companion.foe{color:var(--grid-bad)}.tooltip-empty{font-size:.8rem;color:var(--text-secondary);font-style:italic}.palette{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.palette-header{display:flex;align-items:center;justify-content:space-between}.palette-title{font-size:1rem;font-weight:600;color:var(--accent-gold)}.palette-add-toggle{padding:5px 12px;background:var(--bg-input);border:1px solid var(--accent-gold);border-radius:6px;color:var(--accent-gold);font-size:.8rem;font-weight:600;transition:all .15s}.palette-add-toggle:hover{background:var(--accent-gold);color:#1a1a1a}.palette-add-form{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.form-row{display:flex;gap:8px}.form-input{flex:1;padding:6px 10px;background:var(--bg-page);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.85rem}.form-input:focus{border-color:var(--accent-gold)}.form-emoji{flex:0 0 50px;text-align:center}.form-submit{padding:6px 16px;background:var(--accent-gold);border-radius:6px;color:#1a1a1a;font-size:.85rem;font-weight:600;align-self:flex-end;transition:opacity .15s}.form-submit:hover{opacity:.85}.palette-search{padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem}.palette-search:focus{border-color:var(--accent-gold)}.palette-search::placeholder{color:#d6d3c766}.palette-categories{display:flex;flex-wrap:wrap;gap:4px}.palette-cat-btn{padding:4px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.75rem;font-weight:500;transition:all .15s}.palette-cat-btn:hover{border-color:var(--accent-gold)}.palette-cat-btn.active{border-color:var(--accent-gold);color:var(--accent-gold);background:#c2a75a1a}.cat-vegetable,.cat-all{color:var(--text-secondary)}.cat-herb{color:#a3c9a8}.cat-flower{color:#e8a0b4}.cat-fruit{color:#f0c698}.cat-custom{color:#b0c4de}.cat-vegetable.active{color:#86efac;border-color:#86efac;background:#86efac14}.cat-herb.active{color:#a3c9a8;border-color:#a3c9a8;background:#a3c9a814}.cat-flower.active{color:#e8a0b4;border-color:#e8a0b4;background:#e8a0b414}.cat-fruit.active{color:#f0c698;border-color:#f0c698;background:#f0c69814}.cat-custom.active{color:#b0c4de;border-color:#b0c4de;background:#b0c4de14}.palette-plants{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow-y:auto;padding:4px 0}.palette-empty{color:var(--text-secondary);font-size:.8rem;padding:20px;text-align:center;width:100%}.palette-plant-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:.78rem;font-weight:500;color:var(--text-primary);transition:all .15s;position:relative}.cat-bg-vegetable{background:#86efac14}.cat-bg-herb{background:#a3c9a814}.cat-bg-flower{background:#e8a0b414}.cat-bg-fruit{background:#f0c69814}.cat-bg-custom{background:#b0c4de14}.palette-plant-btn:hover{border-color:var(--accent-gold);transform:translateY(-1px)}.palette-plant-btn.selected{border-color:var(--accent-gold);box-shadow:0 0 12px #c2a75a66;background:#c2a75a26}.plant-btn-emoji{font-size:1rem}.plant-btn-name{white-space:nowrap}.plant-btn-count{background:var(--accent-gold);color:#1a1a1a;font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:10px;margin-left:2px}@media(max-width:480px){.palette-plant-btn{padding:4px 8px;font-size:.72rem}}.plant-summary{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.summary-title{font-size:.85rem;font-weight:600;color:var(--accent-gold);margin-bottom:8px}.summary-list{display:flex;flex-wrap:wrap;gap:8px}.summary-item{display:flex;align-items:center;gap:5px;padding:4px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;font-size:.8rem}.summary-emoji{font-size:.95rem}.summary-name{color:var(--text-secondary)}.summary-count{color:var(--accent-gold);font-weight:600}.legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:8px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.legend-item{display:flex;align-items:center;gap:6px}.legend-swatch{width:18px;height:18px;border-radius:3px;border:2px solid;box-shadow:inset 0 1px 2px #0003}.legend-label{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:20px 24px 12px;text-align:center}.app-title{font-size:1.6rem;font-weight:700;color:var(--accent-gold);letter-spacing:-.02em}.app-icon{font-size:1.4rem}.app-subtitle{font-size:.85rem;color:var(--text-secondary);font-weight:400;margin-top:2px;letter-spacing:.02em}.app-main{flex:1;max-width:900px;width:100%;margin:0 auto;padding:0 16px 40px;display:flex;flex-direction:column;gap:16px}@media(max-width:640px){.app-header{padding:16px 16px 8px}.app-title{font-size:1.3rem}.app-main{padding:0 8px 32px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-page: #0b2328;--bg-card: #12322a;--bg-input: #16392c;--text-primary: #f5f5f2;--text-secondary: #d6d3c7;--accent-gold: #c2a75a;--border: #2a4a3a;--grid-empty: #16392c;--grid-planted: #d6d3c7;--grid-good: #86efac;--grid-bad: #fda4af;--grid-mixed: #c2a75a;--grid-disabled: #0b2328;--shadow: 0 30px 60px rgba(0, 0, 0, .35);--font: "Inter", system-ui, -apple-system, sans-serif}html{font-size:16px}body{font-family:var(--font);background:var(--bg-page);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:var(--font);cursor:pointer;border:none;outline:none}input{font-family:var(--font);outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-card)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-gold)}
