:root{--color-forest:#2d5016;--color-forest-dark:#1a3009;--color-forest-light:#4a7c2a;--color-moss:#7a9e4e;--color-paper:#f5f0e8;--color-paper-dark:#ede6d6;--color-charcoal:#2c2c2c;--color-tan:#c4a882;--color-tan-light:#d4bc9a;--color-result-bg:#1a3009;--color-result-text:#f5f0e8}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-paper);color:var(--color-charcoal);max-width:480px;min-height:100vh;margin:0 auto;font-family:Georgia,Times New Roman,serif}#root{flex-direction:column;min-height:100vh;display:flex}.screen{flex:1;padding:16px 16px 80px;overflow-y:auto}.app-header{line-height:0}.bottom-nav{background:var(--color-forest-dark);border-top:2px solid var(--color-moss);z-index:100;width:100%;max-width:480px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:var(--color-tan-light);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;min-height:56px;padding:10px 4px 8px;font-family:Georgia,serif;font-size:.65rem;display:flex}.bottom-nav button.active{color:var(--color-paper);background:#ffffff1a}.bottom-nav button span.icon{font-size:1.3rem}.card{border:1px solid var(--color-tan-light);background:#fff;border-radius:8px;margin-bottom:12px;padding:16px;box-shadow:0 1px 3px #00000014}.card h2{color:var(--color-forest);border-bottom:1px solid var(--color-tan-light);margin-bottom:8px;padding-bottom:6px;font-size:1rem}.result-card{background:var(--color-result-bg);color:var(--color-result-text);text-align:center;border-radius:8px;margin-bottom:12px;padding:20px}.result-card .result-value{color:#a8d878;font-size:2.5rem;font-weight:700}.result-card .result-unit{color:var(--color-tan-light);margin-top:2px;font-size:1rem}.result-card .result-label{color:var(--color-tan-light);margin-top:8px;font-size:.8rem}.source-note{color:#666;background:var(--color-paper-dark);border-left:3px solid var(--color-moss);border-radius:0 4px 4px 0;margin-top:8px;padding:6px 8px;font-size:.72rem;font-style:italic}.form-group{margin-bottom:14px}.form-group label{color:var(--color-forest);margin-bottom:4px;font-size:.85rem;font-weight:700;display:block}.form-group select,.form-group input{border:1.5px solid var(--color-tan);width:100%;color:var(--color-charcoal);background:#fff;border-radius:6px;min-height:44px;padding:10px 12px;font-family:Georgia,serif;font-size:1rem}.form-group select:focus,.form-group input:focus{border-color:var(--color-forest);outline:none}.stepper{align-items:center;gap:8px;display:flex}.stepper button{border:1.5px solid var(--color-tan);background:var(--color-paper-dark);cursor:pointer;width:44px;height:44px;color:var(--color-forest);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex}.stepper .value-display{text-align:center;border:1.5px solid var(--color-tan);background:#fff;border-radius:6px;flex:1;min-height:44px;padding:10px;font-size:1.2rem;font-weight:700}.btn{cursor:pointer;border:none;border-radius:8px;width:100%;min-height:50px;padding:14px;font-family:Georgia,serif;font-size:1rem;font-weight:700}.btn-primary{background:var(--color-forest);color:#fff}.btn-secondary{background:var(--color-paper-dark);color:var(--color-forest);border:1.5px solid var(--color-tan)}.btn-small{width:auto;min-height:36px;padding:8px 14px;font-size:.85rem}.btn-danger{color:#fff;background:#8b1a1a}.rule-chips{flex-wrap:wrap;gap:6px;display:flex}.rule-chip{border:1.5px solid var(--color-tan);cursor:pointer;color:var(--color-charcoal);background:#fff;border-radius:20px;min-height:36px;padding:8px 12px;font-family:Georgia,serif;font-size:.8rem}.rule-chip.active{background:var(--color-forest);color:#fff;border-color:var(--color-forest)}.warning-box{color:#5a4000;background:#fff3cd;border:1px solid #c8a000;border-radius:6px;margin-bottom:8px;padding:10px 12px;font-size:.82rem}.tally-list{margin:8px 0;list-style:none}.tally-list li{border-bottom:1px solid var(--color-paper-dark);justify-content:space-between;align-items:center;padding:6px 8px;font-size:.85rem;display:flex}.tally-list li:last-child{border-bottom:none}.tally-total{background:var(--color-paper-dark);border-radius:4px;justify-content:space-between;margin-top:4px;padding:8px;font-weight:700;display:flex}.home-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.home-card{border:1.5px solid var(--color-tan-light);text-align:center;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;display:flex;box-shadow:0 1px 3px #00000014}.home-card:active{background:var(--color-paper-dark)}.home-card .icon{font-size:2rem}.home-card .label{color:var(--color-forest);font-size:.8rem;font-weight:700}.page-title{color:var(--color-forest);margin-bottom:4px;font-size:1.2rem;font-weight:700}.page-subtitle{color:#666;margin-bottom:16px;font-size:.8rem;font-style:italic}.section-label{text-transform:uppercase;letter-spacing:1px;color:var(--color-moss);margin:16px 0 8px;font-size:.75rem;font-weight:700}.back-btn{color:var(--color-forest);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0 12px;font-family:Georgia,serif;font-size:.9rem;display:flex}.out-of-range{color:#8b1a1a;font-size:.85rem;font-style:italic}.method-tabs{gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.method-tab{border:1.5px solid var(--color-tan);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;padding:8px 12px;font-family:Georgia,serif;font-size:.8rem}.method-tab.active{background:var(--color-forest);color:#fff;border-color:var(--color-forest)}.formula-box{background:var(--color-paper-dark);border:1px solid var(--color-tan);color:var(--color-forest-dark);border-radius:6px;margin:8px 0;padding:10px 12px;font-family:monospace;font-size:.82rem}.stocking-svg{width:100%;height:auto}.stocking-point{cursor:pointer}.ref-item{border-bottom:1px solid var(--color-paper-dark);justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.ref-item .ref-title{font-size:.9rem;font-weight:700}.ref-item .ref-page{color:#888;white-space:nowrap;font-size:.75rem}.ref-item .ref-status{border-radius:10px;padding:2px 6px;font-size:.7rem}.status-verified{color:#155724;background:#d4edda}.status-review{color:#856404;background:#fff3cd}.about-section{margin-bottom:20px}.about-section h3{color:var(--color-forest);margin-bottom:8px;font-size:1rem}.about-section p{color:#444;font-size:.88rem;line-height:1.6}
