:root,[data-theme=light]{--hs-bg:#f2eee5;--hs-surface:#fdfbf6;--hs-surface-2:#e9e3d7;--hs-surface-3:#ded6c7;--hs-text:#211d18;--hs-text-2:#6a6257;--hs-text-3:#9b9285;--hs-border:#ddd4c4;--hs-border-2:#c9beac;--hs-accent:#1f7a68;--hs-accent-2:#155749;--hs-accent-soft:#d8ebe4;--hs-on-accent:#fff;--hs-amber:#c98a2e;--hs-danger:#b4462f;--hs-p-1:#1f7a68;--hs-p-2:#c0553f;--hs-p-3:#4a7fa8;--hs-p-4:#8a6fb0;--hs-p-5:#3f8f5f;--hs-p-6:#b5872f;--s1:0 1px 2px #0000001a;--s2:0 4px 12px #00000024;--s3:0 -8px 32px #0003}[data-theme=dark]{--hs-bg:#141311;--hs-surface:#1e1c19;--hs-surface-2:#272420;--hs-surface-3:#322e28;--hs-text:#ece6dc;--hs-text-2:#a89f92;--hs-text-3:#736a5f;--hs-border:#332e27;--hs-border-2:#453f36;--hs-accent:#46b398;--hs-accent-2:#6fd3ba;--hs-accent-soft:#1c322c;--hs-on-accent:#0f1512;--hs-amber:#e0a94f;--hs-danger:#e0715c}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--hs-bg);color:var(--hs-text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-family:ui-rounded,SF Pro Rounded,Segoe UI Variable,system-ui,sans-serif;font-size:14px;line-height:1.5}#app{height:100%}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}::selection{background:var(--hs-accent-soft)}.font-num{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.hs-app{flex-direction:column;width:100%;max-width:560px;height:100dvh;margin:0 auto;display:flex}.hs-header{z-index:20;background:var(--hs-surface);border-bottom:1px solid var(--hs-border);box-shadow:var(--s1);align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}.hs-header:after{content:"";pointer-events:none;position:absolute;inset:0}[data-epoch=evening] .hs-header:after{background:linear-gradient(#c98a2e1a,#0000)}[data-epoch=night] .hs-header:after{background:linear-gradient(#2a3b6b26,#0000)}.hs-greeting{letter-spacing:-.02em;font-size:20px;font-weight:800}.hs-date{color:var(--hs-text-2);font-size:12px;font-weight:500}.hs-header-spacer{flex:1}.hs-iconbtn{border:1px solid var(--hs-border);background:var(--hs-surface);width:38px;height:38px;color:var(--hs-text-2);border-radius:12px;place-items:center;font-size:18px;display:grid}.hs-iconbtn:active{background:var(--hs-surface-2)}.sync-dot{color:var(--hs-text-2);align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:inline-flex}.sync-dot .dot{background:var(--hs-accent);border-radius:50%;width:8px;height:8px}.sync-dot.pending .dot{background:var(--hs-amber)}.sync-dot.syncing .dot{border:2px solid var(--hs-accent);background:0 0;animation:.8s linear infinite hs-spin}.sync-dot.offline .dot{background:var(--hs-text-3)}.sync-dot.error .dot{background:var(--hs-danger)}@keyframes hs-spin{to{transform:rotate(360deg)}}.hs-main{padding:16px 16px calc(96px + env(safe-area-inset-bottom));scroll-behavior:smooth;flex:1;overflow-y:auto}.hs-page-title{letter-spacing:-.02em;margin:4px 0 14px;font-size:26px;font-weight:800}.hs-section-label{letter-spacing:.03em;text-transform:uppercase;color:var(--hs-text-3);margin:18px 0 8px;font-size:10.5px;font-weight:600}.hs-card{background:var(--hs-surface);border:1px solid var(--hs-border);border-radius:14px;margin-bottom:10px;padding:14px}.hs-row{border-bottom:1px solid var(--hs-border);align-items:center;gap:12px;padding:12px 0;display:flex}.hs-row:last-child{border-bottom:0}.hs-row-title{font-size:15px;font-weight:650}.hs-row-sub{color:var(--hs-text-2);font-size:12px}.hs-row-spacer{flex:1}.person-dot{border-radius:50%;flex:none;width:10px;height:10px}.p1{background:var(--hs-p-1)}.p2{background:var(--hs-p-2)}.p3{background:var(--hs-p-3)}.p4{background:var(--hs-p-4)}.p5{background:var(--hs-p-5)}.p6{background:var(--hs-p-6)}.btn{border:1px solid var(--hs-border);background:var(--hs-surface);color:var(--hs-text);border-radius:12px;padding:10px 16px;font-size:14px;font-weight:650}.btn:active{background:var(--hs-surface-2)}.btn-primary{background:var(--hs-accent);border-color:var(--hs-accent);color:var(--hs-on-accent)}.btn-primary:active{background:var(--hs-accent-2)}.btn-block{width:100%;display:block}.btn-sm{border-radius:10px;padding:6px 12px;font-size:12.5px}.btn-danger{color:var(--hs-danger);border-color:color-mix(in srgb, var(--hs-danger) 40%, transparent)}.chip{background:var(--hs-surface-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip-accent{background:var(--hs-accent-soft);color:var(--hs-accent-2)}[data-theme=dark] .chip-accent{color:var(--hs-accent-2)}.hs-fab{right:max(20px,50vw - 260px);bottom:calc(84px + env(safe-area-inset-bottom));background:var(--hs-accent);width:52px;height:52px;color:var(--hs-on-accent);box-shadow:var(--s2);z-index:30;border:none;border-radius:50%;place-items:center;font-size:26px;display:grid;position:fixed}@media (min-width:560px){.hs-fab{right:calc(50% - 260px)}}.hs-fab:active{transform:scale(.96)}.hs-nav{background:var(--hs-surface);border-top:1px solid var(--hs-border);width:100%;max-width:560px;padding:6px 4px max(8px, env(safe-area-inset-bottom));z-index:25;box-shadow:var(--s1);justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.hs-nav-item{min-width:40px;color:var(--hs-text-3);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;font-size:10.5px;font-weight:600;display:flex}.hs-nav-item .ico{font-size:22px;line-height:1}.hs-nav-item.active{color:var(--hs-accent)}.hs-nav-item.active .ico{transform:translateY(-1px)}.month-strip{scrollbar-width:none;gap:6px;padding-bottom:6px;display:flex;overflow-x:auto}.month-strip::-webkit-scrollbar{display:none}.month-cell{text-align:center;border:1px solid var(--hs-border);background:var(--hs-surface);border-radius:12px;flex:none;min-width:52px;padding:8px 4px}.month-cell.today{border-color:var(--hs-accent);background:var(--hs-accent-soft)}.month-cell .dow{color:var(--hs-text-3);text-transform:uppercase;font-size:10px;font-weight:600}.month-cell .num{font-size:18px;font-weight:700}.month-cell .count{color:var(--hs-accent);font-size:9px;font-weight:700}.agenda-day{color:var(--hs-text-2);margin:14px 0 6px;font-size:12px;font-weight:700}.event-row{border-bottom:1px solid var(--hs-border);gap:10px;padding:10px 0;display:flex}.event-time{color:var(--hs-text-2);flex:none;width:52px;padding-top:2px;font-size:12px;font-weight:700}.event-bar{border-radius:4px;flex:none;width:4px}.event-body{flex:1;min-width:0}.event-title{font-size:15px;font-weight:650}.event-meta{color:var(--hs-text-2);font-size:12px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-dow{text-align:center;color:var(--hs-text-3);text-transform:uppercase;padding:4px 0;font-size:10px;font-weight:600}.cal-cell{aspect-ratio:1;border:1px solid var(--hs-border);background:var(--hs-surface);border-radius:10px;flex-direction:column;gap:2px;padding:4px;display:flex;overflow:hidden}.cal-cell.other{opacity:.4}.cal-cell .n{font-size:13px;font-weight:600}.cal-cell.today{border-color:var(--hs-accent)}.cal-cell.today .n{color:var(--hs-accent)}.cal-dots{flex-wrap:wrap;gap:2px;display:flex}.cal-dots i{border-radius:50%;width:5px;height:5px}.task-row{border-bottom:1px solid var(--hs-border);align-items:center;gap:12px;padding:12px 0;display:flex}.checkbox{border:2px solid var(--hs-border-2);width:24px;height:24px;color:var(--hs-on-accent);border-radius:8px;flex:none;place-items:center;font-size:14px;display:grid}.checkbox.done{background:var(--hs-accent);border-color:var(--hs-accent)}.task-title{font-size:15px;font-weight:600}.task-title.done{color:var(--hs-text-3);text-decoration:line-through}.list-group{background:var(--hs-surface);border:1px solid var(--hs-border);border-radius:14px;margin-bottom:10px;padding:12px 14px}.list-group h3{align-items:center;gap:8px;margin:0 0 6px;font-size:15px;font-weight:700;display:flex}.li-row{align-items:center;gap:10px;padding:7px 0;display:flex}.li-check{border:2px solid var(--hs-border-2);border-radius:6px;flex:none;place-items:center;width:20px;height:20px;font-size:12px;display:grid}.li-check.done{background:var(--hs-accent);border-color:var(--hs-accent);color:var(--hs-on-accent)}.li-name{flex:1;font-size:14px}.li-name.done{color:var(--hs-text-3);text-decoration:line-through}.meal-slot{border-bottom:1px solid var(--hs-border);align-items:center;gap:12px;padding:12px 0;display:flex}.meal-emoji{font-size:26px}.meal-title{font-size:15px;font-weight:650}.money{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:18px;font-weight:700}.goal-bar{background:var(--hs-surface-3);border-radius:4px;height:8px;margin-top:6px;overflow:hidden}.goal-bar>span{background:var(--hs-accent);border-radius:4px;height:100%;display:block}.book-row{border-bottom:1px solid var(--hs-border);gap:12px;padding:12px 0;display:flex}.book-cover{background:var(--hs-surface-3);border-radius:6px;flex:none;place-items:center;width:44px;height:60px;font-size:20px;display:grid}.progress-line{color:var(--hs-text-2);font-size:12px}.plant-row{border-bottom:1px solid var(--hs-border);align-items:center;gap:12px;padding:12px 0;display:flex}.plant-emoji{font-size:26px}.empty{text-align:center;color:var(--hs-text-3);padding:40px 20px;font-size:14px}.empty .big{margin-bottom:10px;font-size:40px}.sheet-backdrop{z-index:40;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--hs-surface);width:100%;max-width:560px;padding:8px 16px max(24px, env(safe-area-inset-bottom));box-shadow:var(--s3);border-radius:26px 26px 0 0;max-height:88dvh;animation:.28s cubic-bezier(.32,.72,0,1) hs-sheet;overflow-y:auto}@keyframes hs-sheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{background:var(--hs-border-2);border-radius:2px;width:40px;height:4px;margin:6px auto 14px}.sheet h2{margin:0 0 14px;font-size:18px;font-weight:800}@media (min-width:768px){.sheet-backdrop{align-items:center}.sheet{border-radius:20px}}.field{margin-bottom:14px}.field label{color:var(--hs-text-2);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.input,.select,.textarea{border:1px solid var(--hs-border);background:var(--hs-surface);border-radius:12px;width:100%;padding:11px 12px;font-size:15px}.textarea{resize:vertical;min-height:72px}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.seg{gap:6px;display:flex}.seg button{border:1px solid var(--hs-border);background:var(--hs-surface);border-radius:10px;flex:1;padding:9px;font-size:13px;font-weight:600}.seg button.on{background:var(--hs-accent);border-color:var(--hs-accent);color:var(--hs-on-accent)}.auth{flex-direction:column;justify-content:center;width:100%;max-width:420px;min-height:100dvh;margin:0 auto;padding:32px 24px;display:flex}.auth-logo{margin-bottom:8px;font-size:40px}.auth h1{letter-spacing:-.02em;margin:0 0 6px;font-size:30px;font-weight:800}.auth p.sub{color:var(--hs-text-2);margin:0 0 24px}.auth .btn{margin-top:10px}.auth-toggle{text-align:center;color:var(--hs-text-2);margin-top:18px;font-size:13px}.auth-toggle a{color:var(--hs-accent);font-weight:650;text-decoration:none}.form-error{color:var(--hs-danger);margin:10px 0;font-size:13px;font-weight:600}.toast{left:50%;bottom:calc(120px + env(safe-area-inset-bottom));background:var(--hs-text);color:var(--hs-bg);z-index:60;box-shadow:var(--s2);border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600;position:fixed;transform:translate(-50%)}@media (min-width:1024px){.hs-app{max-width:none}.hs-main{padding-left:280px}.hs-nav{border-right:1px solid var(--hs-border);border-top:none;flex-direction:column;align-items:stretch;width:240px;max-width:none;padding:20px 12px;left:0;transform:none}.hs-nav-item{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 12px;font-size:14px}.hs-fab{display:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
