:root{--bg: #ffffff;--card: #f7f9f7;--fg: #1a1c1a;--muted: #5c635c;--line: #dfe3df;--accent: #3f7d3f;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color:var(--fg);background:var(--bg);-webkit-text-size-adjust:100%}@media(prefers-color-scheme:dark){:root{--bg: #141714;--card: #1c201c;--fg: #e8ebe8;--muted: #9aa39a;--line: #2b302b;--accent: #7cb87c}button.primary{color:#10210f}}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--fg)}.app{min-height:100dvh;display:flex;flex-direction:column}.content{flex:1;padding-bottom:5rem}.screen{max-width:34rem;margin:0 auto;padding:1.75rem 1.25rem 1rem}.screen.boot{padding-top:25vh;text-align:center}h1{margin:0 0 .15rem;font-size:1.6rem;letter-spacing:-.02em}.tagline{margin:0 0 1.5rem;color:var(--muted);font-size:.95rem}.section{margin:2rem 0 .6rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}.muted{color:var(--muted)}.empty{padding:1.5rem 1rem;border:1px dashed var(--line);border-radius:.6rem;color:var(--muted);text-align:center;font-size:.92rem}.error{color:#c0392b}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.tile{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.9rem .25rem;border:1px solid var(--line);border-radius:.7rem;background:var(--card);color:var(--fg);font:inherit;font-size:.78rem;cursor:pointer}.tile:active{transform:scale(.97)}.tile.on{border-color:var(--accent);color:var(--accent)}.tile-solo{grid-column:2}.devreset{position:fixed;top:.5rem;right:.5rem;z-index:50;padding:.35rem .6rem;border:1px solid var(--line);border-radius:.4rem;background:var(--card);color:var(--muted);font:inherit;font-size:.7rem;cursor:pointer}.glyph{font-size:1.4rem;line-height:1}.chipwrap{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.4rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);font:inherit;font-size:.85rem;cursor:pointer}.chip.on{border-color:var(--accent);color:var(--accent)}.chip.remove{display:inline-flex;align-items:center;gap:.35rem}.loglist,.assetlist{list-style:none;margin:0;padding:0}.loglist li{position:relative;padding:.8rem 4.5rem .8rem 0;border-bottom:1px solid var(--line)}.log-main{display:flex;align-items:baseline;gap:.5rem}.log-type{font-weight:600;font-size:.95rem}.log-qty{color:var(--accent);font-size:.9rem;font-variant-numeric:tabular-nums}.log-sub{color:var(--muted);font-size:.88rem;margin-top:.1rem}.log-note{font-size:.9rem;margin-top:.25rem}.log-time{position:absolute;top:.85rem;right:0;color:var(--muted);font-size:.8rem}.assetlist li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.assetlist li.gone{opacity:.55}.asset-name{font-weight:600;font-size:.95rem}.asset-meta{color:var(--muted);font-size:.85rem;text-align:right}.field{display:block;margin-bottom:1rem}.field>span{display:block;font-size:.85rem;margin-bottom:.3rem}.field input,.field select,.field textarea{width:100%;padding:.65rem .7rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--fg);font:inherit;font-size:1rem}.field textarea{resize:vertical}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.hint{display:block;margin-top:.3rem;color:var(--muted);font-size:.8rem}button.primary{width:100%;padding:.8rem 1rem;border:0;border-radius:.55rem;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}button.primary:disabled{opacity:.4;cursor:not-allowed}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{width:100%;max-width:34rem;background:var(--bg);border-radius:1rem 1rem 0 0;padding:1rem 1.25rem 1.75rem;max-height:88dvh;overflow-y:auto}@media(min-width:40rem){.sheet-backdrop{align-items:center}.sheet{border-radius:1rem}}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.sheet-head h2{margin:0;font-size:1.1rem}button.icon{border:0;background:none;color:var(--muted);font-size:1.1rem;cursor:pointer;padding:.25rem .4rem}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;border-top:1px solid var(--line);background:var(--bg);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .25rem .7rem;border:0;background:none;color:var(--muted);font:inherit;font-size:.72rem;cursor:pointer}.tabbar button.on{color:var(--accent);font-weight:600}.tabbar .glyph{font-size:1.15rem}button.back{border:0;background:none;color:var(--accent);font:inherit;font-size:.95rem;cursor:pointer;padding:0 0 .75rem;margin-left:-.15rem}.assetrow{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;width:100%;padding:0;border:0;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}.chev{color:var(--muted);margin-left:.5rem}.costbox{border:1px solid var(--line);border-radius:.6rem;padding:.35rem .9rem;background:var(--card)}.costrow{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.92rem;border-bottom:1px solid var(--line)}.costrow:last-child{border-bottom:0}.costrow span:last-child{font-variant-numeric:tabular-nums}.costrow.strong{font-weight:700;font-size:1rem;color:var(--accent)}.growthchart{border:1px solid var(--line);border-radius:.6rem;padding:.6rem .6rem .4rem;background:var(--card);touch-action:none}.chart-tick,.chart-endlabel{font-size:.6rem;fill:var(--muted)}.chart-endlabel{fill:var(--fg);font-weight:600}.chart-tooltip{margin:.3rem 0 0;text-align:center;font-size:.8rem;color:var(--muted)}.chart-tooltip strong{color:var(--fg);font-variant-numeric:tabular-nums}.costchart{border:1px solid var(--line);border-radius:.6rem;padding:.6rem .6rem .4rem;background:var(--card)}.stat{margin:.75rem 0 1.25rem}.stat-value{display:block;font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums}.stat-label{display:block;margin-top:.15rem;color:var(--muted);font-size:.85rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.actions button{flex:1;min-width:9rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:.5rem;background:var(--card);color:var(--fg);font:inherit;font-size:.88rem;cursor:pointer}.screen.auth{max-width:24rem;padding-top:12vh}.screen.auth form{margin-top:1.5rem}.screen.auth button.linkish{display:block}button.linkish{border:0;background:none;color:var(--accent);font:inherit;font-size:.88rem;cursor:pointer;padding:.75rem 0;text-decoration:underline}.notice{padding:.6rem .8rem;border-radius:.45rem;background:var(--card);color:var(--fg);font-size:.88rem}.banner{padding:.55rem 1rem;background:var(--card);border-bottom:1px solid var(--line);color:var(--muted);font-size:.8rem;text-align:center}.banner.warn{color:#a4571c}.banner code{font-size:.95em}.account{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:0;padding:0 1rem 1rem;color:var(--muted);font-size:.8rem}.account button.linkish{padding:0;font-size:.8rem}.syncbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 1rem;background:var(--card);border-bottom:1px solid var(--line);color:var(--muted);font-size:.78rem}.syncbar button.linkish{padding:0;font-size:.78rem}.syncbar.syncing span{color:var(--accent)}.syncbar.error span{color:#c0392b}.syncbar.offline span{color:#a4571c}.logrow{position:relative;display:block;width:100%;padding:0;border:0;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}button.danger{width:100%;margin-top:.75rem;padding:.7rem 1rem;border:1px solid var(--line);border-radius:.5rem;background:none;color:#c0392b;font:inherit;font-size:.9rem;cursor:pointer}.confirm{margin-top:.75rem;padding:.9rem 1rem;border:1px solid #c0392b40;border-radius:.55rem;background:var(--card)}.confirm p{margin:0 0 .75rem;font-size:.88rem}.confirm .actions,.confirm .actions button{margin-top:0}@media(prefers-color-scheme:dark){button.danger{color:#e88b7d}}.remaining{color:var(--accent);font-variant-numeric:tabular-nums}.hint.warn{color:#a4571c}.tiles{grid-template-columns:repeat(3,1fr)}.tasklist{list-style:none;margin:0;padding:0}.tasklist li{display:flex;align-items:center;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.task-body{flex:1;display:flex;flex-direction:column}.task-name{font-size:.95rem}.task-when{color:var(--muted);font-size:.8rem}.tasklist li.late .task-when{color:#a4571c;font-weight:600}button.tick{flex:none;width:1.9rem;height:1.9rem;border:1px solid var(--line);border-radius:50%;background:none;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}button.tick:active{background:var(--accent);color:#fff}button.task-drop{flex:none;border:0;background:none;color:var(--muted);font-size:.85rem;cursor:pointer;padding:.3rem}.pair{display:flex;gap:.75rem}.pair .field{flex:1}.weatherstrip{display:flex;align-items:center;gap:.75rem;width:100%;margin-bottom:1.25rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:.6rem;background:var(--card);color:var(--fg);font:inherit;font-size:.88rem;text-align:left;cursor:pointer}.weatherstrip.empty{color:var(--muted);justify-content:center}.weatherstrip.watch{border-color:#b8a03060}.weatherstrip.warn{border-color:#a4571c60}.weatherstrip.severe{border-color:#c0392b60}.wx-now{font-size:1.3rem;font-weight:600;font-variant-numeric:tabular-nums}.wx-msg{flex:1}.wxdays{list-style:none;margin:0;padding:0}.wxdays li{display:flex;align-items:center;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.wx-day{flex:1}.wx-temps{font-variant-numeric:tabular-nums}.wx-low{color:var(--muted);margin-left:.4rem}.wx-precip{width:3rem;text-align:right;color:var(--accent);font-size:.85rem}.warnlist{list-style:none;margin:0;padding:0}.warnlist li{padding:.7rem .85rem;margin-bottom:.5rem;border-left:3px solid var(--line);border-radius:0 .4rem .4rem 0;background:var(--card)}.warnlist li.watch{border-left-color:#b8a030}.warnlist li.warn{border-left-color:#a4571c}.warnlist li.severe{border-left-color:#c0392b}.warn-head{display:flex;gap:.5rem;align-items:baseline}.warn-when{color:var(--muted);font-size:.8rem;min-width:2.2rem}.warn-title{font-weight:600;font-size:.9rem}.warn-advice{margin:.3rem 0 0 2.7rem;font-size:.85rem;color:var(--muted)}h3.section{margin-top:1.5rem}.screen.setup{max-width:26rem;padding-top:3rem}.steps{display:flex;gap:.4rem;list-style:none;margin:0 0 2rem;padding:0}.steps li{height:3px;flex:1;border-radius:2px;background:var(--line)}.steps li.on{background:var(--accent)}.steps li.done{background:var(--accent);opacity:.45}.setup .tagline{margin-bottom:2rem}.setup-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.countlist{list-style:none;margin:0 0 1rem;padding:0}.countlist li{display:flex;align-items:center;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.countlist label{flex:1;font-size:.95rem}.countlist input{width:5rem;padding:.45rem .6rem;text-align:right;border:1px solid var(--line);border-radius:.45rem;background:var(--bg);color:var(--fg);font:inherit;font-size:1rem;font-variant-numeric:tabular-nums}button.farmname{border:0;background:none;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline dotted;text-underline-offset:2px}.account-sep{color:var(--line)}.account{flex-wrap:wrap}
