:root{--bg:#0b1120;--panel:#131c31;--panel-2:#1b2740;--border:#2f3e5e;--text:#eef3fb;--muted:#c6d3ea;--teal:#2dd4bf;--teal-dark:#0f766e;--amber:#f59e0b;--red:#ef4444;--green:#22c55e;--danger:#f87171;--success:#4ade80;--warn:#fbbf24;--link:#5eead4;--radius:14px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;max-width:100%;overflow-x:hidden}code,pre{overflow-wrap:anywhere;word-break:break-word}a{color:var(--link);text-decoration:underline;text-underline-offset:2px}a:hover{color:#99f6e4}.container{max-width:960px;margin:0 auto;padding:20px 16px 80px}header.app-header{justify-content:space-between;gap:12px;margin-bottom:18px}.brand,header.app-header{display:flex;align-items:center}.brand{gap:10px}.brand .logo{width:40px;height:40px;display:block;object-fit:contain}.brand h1{font-size:18px;margin:0;letter-spacing:.2px}.brand small{color:var(--muted);font-weight:500}.tabs{display:flex;flex-wrap:wrap;gap:6px;background:var(--panel);padding:4px;border-radius:10px}.tabs button{border:0;background:transparent;color:var(--muted);padding:8px 14px;border-radius:8px;cursor:pointer;font-size:14px}.tabs button.active{background:var(--panel-2);color:var(--text)}.mode-tabs button{color:var(--muted)}.mode-tabs button.active{background:var(--panel-2);color:var(--text);outline:2px solid var(--teal);outline-offset:-2px;font-weight:700}.brand-home{cursor:pointer;border-radius:10px}.brand-home:hover{opacity:.9}.brand-home:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.subtabs{display:flex;gap:6px;background:var(--panel-2);padding:4px;border-radius:10px;margin-top:8px}.subtabs button{border:0;background:transparent;color:var(--muted);padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px}.subtabs button.active{background:var(--panel);color:var(--text)}.settings-hub{display:grid;grid-template-columns:190px 1fr;grid-gap:16px;gap:16px;align-items:start}.settings-nav{display:flex;flex-direction:column;gap:2px;position:-webkit-sticky;position:sticky;top:12px}.settings-nav button{text-align:left;border:0;background:transparent;color:var(--muted);padding:10px 12px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px}.settings-nav button.active,.settings-nav button:hover{background:var(--panel-2);color:var(--text)}.settings-content{min-width:0;display:grid;grid-gap:16px;gap:16px}.settings-adv-toggle{text-align:left;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:600;font-style:italic}.admin-menu,.settings-adv-toggle:hover{color:var(--text)}.admin-menu{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:15px;font-weight:600}.pref-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin:16px 0 6px}.prefs-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 16px;gap:12px 16px}.prefs-grid .field{width:100%}.prefs-grid input,.prefs-grid select{width:100%;box-sizing:border-box}@media (max-width:560px){.prefs-grid{grid-template-columns:1fr}}@media (max-width:720px){.settings-hub{grid-template-columns:1fr}.settings-nav{flex-direction:row;overflow-x:auto;position:static;padding-bottom:4px}.settings-nav button{white-space:nowrap;flex:0 0 auto}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(3,7,18,.66);display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{background:var(--panel);border:1px solid var(--teal);border-radius:var(--radius);padding:20px;width:100%;max-width:460px;max-height:85vh;overflow:auto;box-shadow:0 18px 50px rgba(0,0,0,.5)}@media (prefers-reduced-motion:no-preference){.modal-card{animation:modal-pop .16s ease-out}@keyframes modal-pop{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}}.modal-card .whatsnew-list{display:grid;grid-gap:10px;gap:10px;margin:12px 0 0;padding:0;list-style:none}.modal-card .whatsnew-list li{display:flex;gap:10px;font-size:14px;line-height:1.4}.modal-card .whatsnew-list li:before{content:"✨";flex:0 0 auto}.grid{display:grid;grid-gap:14px;gap:14px}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid.two{grid-template-columns:1fr 1fr}@media (max-width:720px){.grid.two{grid-template-columns:1fr}}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-size:26px;font-weight:800;margin-top:4px}.stat .sub{color:var(--muted);font-size:12px;margin-top:2px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-head button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:16px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal-dow{color:var(--muted);font-size:12px;text-align:center;padding-bottom:4px}.cal-cell{aspect-ratio:1/1;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:transform .05s ease,outline-color .1s ease}.cal-cell:hover{transform:translateY(-1px)}.cal-cell.empty{background:transparent;border-color:transparent;cursor:default}.cal-cell.today{outline:2px solid var(--teal)}.cal-cell.selected{outline:2px solid #fff}.cal-cell .dnum{font-size:13px;font-weight:700}.cal-cell .u{font-size:11px;color:var(--muted)}.cal-cell.dry{background:#0c3b34;border-color:#14b8a6}@media (max-width:640px){.cal-grid{gap:4px}.cal-cell{aspect-ratio:auto;min-height:40px;gap:0}.cal-cell .dnum{font-size:12px}.cal-cell .u{font-size:10px;line-height:1.1}}.cal-cell.dry .u{color:#6ee7d7}.cal-cell .dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%}.legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:10px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}label.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}input[type=number],input[type=text],input[type=time],select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px;min-width:90px}button.btn{background:var(--teal);color:#04201c;border:0;border-radius:9px;padding:9px 14px;font-weight:700;cursor:pointer;font-size:14px}button.btn.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}button.btn.danger{background:transparent;color:var(--red);border:1px solid var(--red)}button.btn.dry{background:#0f766e;color:#d7fff7}.entry{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel-2)}.entry .meta{color:var(--muted);font-size:12px}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}.pill.low{background:#0c3b34;color:#6ee7d7}.pill.increasing{background:#3b2f0c;color:#fcd34d}.pill.higher{background:#3b1414;color:#fca5a5}.progress{height:12px;border-radius:999px;background:var(--panel-2);overflow:hidden;border:1px solid var(--border)}.progress>span{display:block;height:100%}.section-title{font-size:14px;margin:4px 0 8px;text-transform:uppercase;letter-spacing:.6px}.muted,.section-title{color:var(--muted)}.hidden{display:none}.button,a.button,button{background:var(--teal);color:#04201c;border:0;border-radius:9px;padding:9px 14px;font-weight:600;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;line-height:1}button:disabled{opacity:.5;cursor:not-allowed}.ghost,button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.danger,button.danger{background:transparent;color:var(--red);border:1px solid var(--red)}.cal-head button,.tabs button{padding:8px 12px}.tabs button{font-weight:600}.bulk-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.cal-cell.multi{outline:2px solid var(--teal);background:#0c3b34}label.field input,label.field select{color-scheme:dark}:focus-visible{outline:3px solid var(--link);outline-offset:2px;border-radius:6px}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--link);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--panel);color:var(--text);padding:10px 16px;border:2px solid var(--link);border-radius:8px;font-weight:700}.skip-link:focus{left:8px;top:8px}.btn,.button,button,input[type=checkbox],input[type=radio],select{min-height:24px}input[type=checkbox],input[type=radio]{min-width:18px;width:18px;height:18px}html[data-font=large]{font-size:118%}html[data-font=xlarge]{font-size:136%}html[data-spacing=loose] body{line-height:1.8;letter-spacing:.04em;word-spacing:.1em}html[data-spacing=loose] li,html[data-spacing=loose] p{margin-bottom:.6em}html[data-motion=reduce] *,html[data-motion=reduce] :after,html[data-motion=reduce] :before{transition:none!important;animation:none!important;scroll-behavior:auto!important}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.001ms!important;animation-duration:.001ms!important}}html[data-theme=midnight]{--bg:#0a0a1a;--panel:#151435;--panel-2:#20204a;--border:#3b3b70;--text:#eef0ff;--muted:#bcbfe6;--teal:#a78bfa;--link:#c4b5fd}html[data-theme=ocean]{--bg:#04121f;--panel:#0b2436;--panel-2:#123249;--border:#255073;--text:#e6f4ff;--muted:#c2ddf0;--teal:#38bdf8;--link:#7dd3fc}html[data-theme=sunset]{--bg:#1a0f14;--panel:#2b1720;--panel-2:#3a1f2b;--border:#5e3245;--text:#ffeef2;--muted:#e7bcc7;--teal:#fb7185;--link:#fda4af}html[data-theme=forest]{--bg:#08140d;--panel:#0f2418;--panel-2:#163524;--border:#2c5a3e;--text:#e8f7ee;--muted:#c9ecd8;--teal:#34d399;--link:#6ee7b7}html[data-theme=mono]{--bg:#0c0c0e;--panel:#17171a;--panel-2:#202024;--border:#3a3a40;--text:#f2f2f4;--muted:#c2c2c8;--teal:#e5e7eb;--link:#d1d5db}html[data-theme=slate]{--bg:#0d1117;--panel:#161b22;--panel-2:#21262d;--border:#30363d;--text:#e6edf3;--muted:#bac4d0;--teal:#58a6ff;--link:#79c0ff}html[data-theme=rose]{--bg:#1a1016;--panel:#2a1922;--panel-2:#3a2330;--border:#5e3a4d;--text:#fdeef6;--muted:#e6c2d6;--teal:#f472b6;--link:#f9a8d4}html[data-theme=nord]{--bg:#2e3440;--panel:#3b4252;--panel-2:#434c5e;--border:#4c566a;--text:#eceff4;--muted:#d0d8e6;--teal:#88c0d0;--link:#8fbcbb}html[data-theme=light]{--bg:#f2f6fc;--panel:#fff;--panel-2:#eaf0f8;--border:#ccd8ea;--text:#0b1120;--muted:#43536c;--teal:#0d9488;--link:#0e7490;--danger:#b91c1c;--success:#15803d;--warn:#b45309}html[data-theme=light] .btn,html[data-theme=light] .button,html[data-theme=light] a.button,html[data-theme=light] button{color:#fff}html[data-theme=light] .btn.secondary,html[data-theme=light] .ghost,html[data-theme=light] button.ghost{color:var(--text);background:var(--panel-2)}html[data-theme=light] .btn.danger,html[data-theme=light] .danger,html[data-theme=light] button.danger{color:var(--danger);background:transparent}html[data-theme=light] .brand .logo{color:#fff}html[data-theme=light] .tabs button{color:var(--muted)}html[data-theme=light] .tabs button.active{color:var(--text)}html[data-theme=light] label.field input,html[data-theme=light] label.field select{color-scheme:light}html[data-theme=light] .cal-cell.dry{background:#d1faf3;border-color:#5eead4}html[data-theme=light] .cal-cell.dry .u{color:#0f766e}html[data-contrast=high]{--bg:#000308;--panel:#0a1120;--panel-2:#14203a;--border:#8aa0c8;--text:#fff;--muted:#e8eefb;--teal:#5eead4;--link:#7ff0dd;--danger:#ffb0b0;--success:#9df5b4;--warn:#ffe08a}html[data-contrast=high] .btn.secondary,html[data-contrast=high] .cal-cell,html[data-contrast=high] .card,html[data-contrast=high] .entry{border-color:var(--border)}html[data-contrast=high] .pill{outline:1px solid currentColor}html[data-contrast=high] .muted{color:var(--muted)}.tabs-mobile{display:none;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:16px;font-weight:600;min-width:130px}@media (max-width:640px){header.app-header{flex-wrap:wrap;gap:8px}header.app-header nav.tabs{display:none}header.app-header nav.tabs.nav-persist{display:flex}.tabs-mobile{display:inline-block}}