:root{color-scheme:dark;--bg:#0b1712;--surface:#13251c;--surface2:#1a3025;--text:#edf4ee;--muted:#9aafa0;--line:#294235;--accent:#9bc9a6;--accent-dark:#183c2a;--danger:#e5a2a2;--shadow:0 12px 32px #0003;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}.app-shell{max-width:760px;margin:auto;padding:env(safe-area-inset-top) 18px calc(104px + env(safe-area-inset-bottom))}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:22px 2px 18px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--accent);font-weight:700}.topbar h1{font-size:25px;letter-spacing:3px;margin:4px 0 0}.dot{color:var(--accent)}.install-btn{border:1px solid var(--line);background:var(--surface2);color:var(--text);padding:10px 14px;border-radius:12px;font-weight:600}.hidden{display:none!important}
.view{display:none}.view.active{display:block;animation:appear .18s ease}@keyframes appear{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
.welcome{padding:22px 20px 24px;background:linear-gradient(145deg,#1a3828,#12251b);border:1px solid #31513d;border-radius:22px;margin:8px 0 25px}.date-label{font-size:12px;color:var(--accent)}h2{font-size:25px;line-height:1.2;margin:12px 0 9px;letter-spacing:-.5px}.welcome p,.page-head p{color:var(--muted);font-size:14px;line-height:1.55;margin:0;max-width:520px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 2px 12px}.section-heading h3,.panel h3{font-size:16px;margin:0}.muted,.small{color:var(--muted)}.small{font-size:11px}.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:11px}.summary-card{position:relative;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:16px 14px;color:var(--text);min-height:125px}.card-kicker{display:block;color:var(--accent);font-size:10px;letter-spacing:1.5px;margin-bottom:12px}.summary-card strong{display:block;font-size:16px}.card-status{display:block;color:var(--muted);font-size:12px;margin-top:7px}.card-arrow{position:absolute;right:14px;top:13px;color:var(--accent)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:17px;margin-bottom:14px;box-shadow:var(--shadow)}.habit-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0}.habit-row+.habit-row{border-top:1px solid var(--line)}.habit-row b{font-size:14px;display:block}.habit-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.round-check{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface2);color:transparent;font-size:17px}.round-check.checked{background:var(--accent);color:#102319;border-color:var(--accent)}.footnote{color:var(--muted);font-size:11px;line-height:1.5;margin:13px 4px}
.page-head{padding:16px 2px 20px}.page-head h2{font-size:29px}.form-panel{display:flex;flex-direction:column;gap:20px}.form-panel>label,.form-panel label:not(.check-row){display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:600}.form-panel input[type=date],.form-panel input[type=number],.form-panel textarea,.task-form input,.task-form select{width:100%;background:#0d1c14;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:13px;font:inherit;outline:none}.form-panel textarea{resize:vertical;line-height:1.5}.form-panel input:focus,.form-panel textarea:focus,.task-form input:focus{border-color:var(--accent)}
.field{display:flex;flex-direction:column;gap:12px}.label-line{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600}.label-line output{color:var(--accent);font-size:12px}input[type=range]{width:100%;accent-color:var(--accent)}.range-hints{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:-7px}.rating{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.rating button{height:43px;border-radius:11px;border:1px solid var(--line);background:#0d1c14;color:var(--muted);font-weight:700}.rating button.selected{background:var(--accent-dark);border-color:var(--accent);color:var(--accent)}
.primary-btn{border:0;border-radius:13px;background:var(--accent);color:#102319;padding:14px 16px;font-weight:750;font-size:14px}.secondary-btn{border:1px solid var(--line);background:var(--surface2);color:var(--text);padding:11px 13px;border-radius:11px;font-size:12px;font-weight:650}.form-message{font-size:12px;color:var(--accent);min-height:14px;margin:0}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-row{display:flex;align-items:center;gap:9px;padding:12px;background:#0d1c14;border:1px solid var(--line);border-radius:11px;font-size:13px}.check-row input{accent-color:var(--accent);width:17px;height:17px}
.task-form{display:grid;grid-template-columns:1fr auto;gap:9px}.task-form input{grid-column:1/-1}.task-form select{min-width:0}.task-filters{display:flex;gap:8px;margin:16px 0}.filter{border:1px solid var(--line);background:transparent;color:var(--muted);padding:8px 13px;border-radius:20px;font-size:12px}.filter.active{background:var(--accent-dark);color:var(--accent);border-color:var(--accent)}.task-item{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px;margin-bottom:8px}.task-item input{accent-color:var(--accent);width:18px;height:18px}.task-text{flex:1;font-size:13px}.task-text.done{text-decoration:line-through;color:var(--muted)}.task-meta{display:block;font-size:10px;color:var(--muted);margin-top:4px}.delete-task{border:0;background:transparent;color:var(--muted);font-size:18px;padding:4px 7px}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:15px}.stat-card span{display:block;color:var(--muted);font-size:11px}.stat-card strong{display:block;font-size:24px;margin-top:8px;color:var(--accent)}.section-heading.inner{margin:0 0 12px}.history-entry{padding:12px 0;border-bottom:1px solid var(--line)}.history-entry:last-child{border:0}.history-entry strong{font-size:13px}.history-entry p{font-size:12px;color:var(--muted);line-height:1.5;margin:5px 0}.backup-panel p{font-size:12px;line-height:1.5}.button-row{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0}.file-label{display:inline-flex;align-items:center;cursor:pointer}.file-label input{display:none}.text-btn{border:0;background:transparent;padding:7px 0;font-size:12px}.danger{color:var(--danger)}
.bottom-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;padding:9px 8px calc(9px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;background:#0d1b14ed;backdrop-filter:blur(18px);border-top:1px solid var(--line)}.nav-item{border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px;min-width:48px;padding:3px 4px}.nav-item span{font-size:20px;line-height:22px}.nav-item small{font-size:9px}.nav-item.active{color:var(--accent)}.toast{position:fixed;bottom:calc(82px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,15px);opacity:0;background:var(--accent);color:#102319;padding:11px 16px;border-radius:12px;font-size:12px;font-weight:700;transition:.2s;pointer-events:none;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:650px){.app-shell{padding-left:28px;padding-right:28px}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(700px,100%);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}.welcome{padding:28px}.welcome h2{font-size:30px}}
@media(prefers-color-scheme:light){:root{color-scheme:light;--bg:#f3f6f1;--surface:#fff;--surface2:#edf3ed;--text:#1b2b20;--muted:#6b7c70;--line:#dce6dc;--accent:#397b4e;--accent-dark:#e2efe4;--shadow:0 8px 24px #18301a0d}.welcome{background:linear-gradient(145deg,#e3f0e5,#f3f7f2);border-color:#d1e3d3}.form-panel input[type=date],.form-panel input[type=number],.form-panel textarea,.task-form input,.task-form select,.rating button,.check-row{background:#f7faf6}.bottom-nav{background:#ffffffed}.round-check{background:#f2f6f1}}
