:root {
  --ink: #20302a; --muted: #748078; --paper: #f5f3ed; --paper-2: #ece9e0;
  --card: #fffefa; --line: #dddcd4; --primary: #315f4f; --primary-dark: #23483c;
  --primary-soft: #dce8df; --accent: #bd8741; --danger: #a34e49; --shadow: 0 16px 48px rgba(39,51,44,.08);
  --sidebar: #1d3c32; --sidebar-text: #f8f5ed; --background-art: none;
}

html[data-theme="space"] { --ink:#f0f5ff; --muted:#aebbd1; --paper:#070d1d; --paper-2:#101a31; --card:#131f38; --line:#293858; --primary:#91c9ff; --primary-dark:#bbddff; --primary-soft:#223654; --accent:#d9b4ff; --sidebar:#030713; --sidebar-text:#f5f8ff; --shadow:0 18px 50px rgba(0,0,0,.32); --background-art:radial-gradient(circle at 82% 8%,rgba(92,116,226,.24),transparent 26%),radial-gradient(circle at 15% 34%,rgba(255,255,255,.09) 0 1px,transparent 2px); }
html[data-theme="forest"] { --ink:#eaf1e8; --muted:#afc1b3; --paper:#14251f; --paper-2:#1b3027; --card:#20372d; --line:#365044; --primary:#d5b36b; --primary-dark:#e7c77f; --primary-soft:#314d3d; --accent:#e0b765; --sidebar:#0e1c17; --sidebar-text:#f6f0df; --shadow:0 18px 50px rgba(0,0,0,.2); --background-art:radial-gradient(circle at 86% 4%,rgba(102,139,96,.22),transparent 28%),linear-gradient(150deg,transparent 45%,rgba(26,68,47,.25)); }
html[data-theme="ocean"] { --ink:#e9f7f8; --muted:#a9c6ca; --paper:#0f2931; --paper-2:#163740; --card:#1a414b; --line:#315963; --primary:#71d1d0; --primary-dark:#96e3e0; --primary-soft:#29545c; --accent:#f0bf72; --sidebar:#091d24; --sidebar-text:#edfafa; --shadow:0 18px 50px rgba(0,16,22,.24); --background-art:radial-gradient(circle at 88% 3%,rgba(75,180,188,.22),transparent 30%),linear-gradient(160deg,transparent 50%,rgba(14,93,108,.22)); }
html[data-theme="desert"] { --ink:#493427; --muted:#806b5c; --paper:#f3e4c9; --paper-2:#ead5b2; --card:#fff7e8; --line:#ddc49e; --primary:#9f5838; --primary-dark:#7d422c; --primary-soft:#ecd0b4; --accent:#a87532; --sidebar:#5b3428; --sidebar-text:#fff4df; --shadow:0 16px 45px rgba(93,58,36,.12); --background-art:radial-gradient(circle at 88% 2%,rgba(255,247,222,.72),transparent 31%),linear-gradient(155deg,transparent 55%,rgba(196,126,71,.10)); }
html[data-theme="sky"] { --ink:#243446; --muted:#738397; --paper:#eef5f8; --paper-2:#e3edf1; --card:#fcfeff; --line:#d3e0e5; --primary:#3f7183; --primary-dark:#315d6d; --primary-soft:#dbeaf0; --accent:#c6845b; --sidebar:#294c5a; --background-art:radial-gradient(circle at 85% 0%,rgba(255,255,255,.8),transparent 30%); }
html[data-theme="sunset"] { --ink:#4d2831; --muted:#86606a; --paper:#f9dfcf; --paper-2:#f2c9b7; --card:#fff1e7; --line:#e5b7a5; --primary:#a84558; --primary-dark:#843444; --primary-soft:#f1bbc0; --accent:#d97742; --sidebar:#632b48; --sidebar-text:#fff5eb; --shadow:0 16px 46px rgba(112,46,59,.13); --background-art:radial-gradient(circle at 86% 0%,rgba(255,193,118,.75),transparent 30%),linear-gradient(160deg,transparent 54%,rgba(201,82,92,.12)); }
html[data-theme="arctic"] { --ink:#173449; --muted:#607f92; --paper:#edf8fb; --paper-2:#dceff4; --card:#fbfeff; --line:#c7e0e8; --primary:#247a96; --primary-dark:#185f77; --primary-soft:#cae8f0; --accent:#527cbb; --sidebar:#17465c; --sidebar-text:#f4fcff; --background-art:radial-gradient(circle at 84% 3%,rgba(255,255,255,.95),transparent 29%),linear-gradient(150deg,transparent 52%,rgba(99,184,207,.10)); }
html[data-theme="mountain"] { --ink:#eef0e8; --muted:#b8bdaf; --paper:#202820; --paper-2:#2a342a; --card:#323c31; --line:#4b5749; --primary:#d6bc7a; --primary-dark:#ead39b; --primary-soft:#465143; --accent:#a7bf8b; --sidebar:#121812; --sidebar-text:#f7f5eb; --shadow:0 18px 50px rgba(0,0,0,.24); --background-art:linear-gradient(145deg,transparent 55%,rgba(115,139,102,.14)),radial-gradient(circle at 88% 5%,rgba(208,190,133,.15),transparent 25%); }

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--paper); }
body { margin:0; min-height:100vh; color:var(--ink); background-color:var(--paper); background-image:var(--background-art); background-attachment:fixed; font-family:ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif; transition:background .25s,color .25s; }
button,input,textarea { font:inherit; }
button { color:inherit; }
button:focus-visible,input:focus-visible,textarea:focus-visible,.file-button:focus-within { outline:3px solid color-mix(in srgb,var(--primary) 38%,transparent); outline-offset:2px; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:226px 1fr; }
.sidebar { position:sticky; top:0; height:100vh; padding:30px 22px; display:flex; flex-direction:column; background:var(--sidebar); color:var(--sidebar-text); z-index:10; }
.brand { display:flex; flex-direction:column; align-items:center; align-self:center; gap:8px; width:132px; margin:0 0 34px; color:inherit; text-align:center; text-decoration:none; font-size:22px; font-weight:800; letter-spacing:-.6px; }
.brand-mark,.mobile-brand { display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:12px; background:#071b33; color:#fff; font-weight:850; }
.brand img.brand-mark,.mobile-brand img{display:block;width:100%;height:100%;border-radius:inherit}.brand>span{display:grid;justify-items:center;line-height:1}.brand>span b{font-size:18px}.brand>span small{margin-top:5px;color:rgba(255,255,255,.55);font-size:7px;font-weight:650;letter-spacing:1.2px;text-transform:uppercase}
nav { display:grid; gap:7px; }
.nav-item { display:flex; align-items:center; gap:11px; border:0; border-radius:11px; padding:11px 13px; color:rgba(255,255,255,.66); background:transparent; text-align:left; cursor:pointer; font-weight:650; transition:160ms ease; }
.nav-item:hover,.nav-item.active { color:#fff; background:rgba(255,255,255,.105); }
.nav-icon { display:grid; place-items:center; width:21px; font-size:17px; }
.privacy-pill { display:flex; align-items:center; gap:10px; margin-top:auto; padding:13px 12px; border:1px solid rgba(255,255,255,.11); border-radius:13px; }
.privacy-pill div { display:grid; gap:2px; }.privacy-pill strong{font-size:11px}.privacy-pill small{font-size:9px;color:rgba(255,255,255,.54)}
.status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#82c28d; box-shadow:0 0 0 4px rgba(130,194,141,.12); }
main { min-width:0; }
.topbar { height:70px; padding:0 5vw; display:flex; align-items:center; justify-content:flex-end; gap:16px; border-bottom:1px solid var(--line); backdrop-filter:blur(10px); }
.mobile-brand { display:none; }.topbar-date{font-size:13px;color:var(--muted);font-weight:650}.offline-badge{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:10px;font-weight:700}.offline-badge .status-dot{width:6px;height:6px}
.view { display:none; max-width:1180px; margin:auto; padding:54px 5vw 85px; animation:rise .28s ease; }.view.active{display:block}@keyframes rise{from{opacity:0;transform:translateY(4px)}}
.hero-row { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:34px; }.hero-row.compact{margin-bottom:30px}
.eyebrow,.tiny-label { margin:0; color:var(--accent); font-size:10px; font-weight:850; letter-spacing:1.6px; }
h1,h2,h3,p{transition:color .25s}h1,h2,h3{letter-spacing:-.9px}h1{margin:6px 0 8px;font-size:clamp(36px,4.5vw,54px);line-height:1.04}h2{font-size:18px}.hero-row.compact h1{font-size:42px}.subtitle{margin:0;color:var(--muted);font-size:15px}.hero-actions{display:flex;gap:9px}
.primary-button,.secondary-button,.quiet-button,.ghost-button,.danger-button { border:0; border-radius:11px; padding:11px 17px; cursor:pointer; font-weight:750; transition:160ms ease; white-space:nowrap; }
.primary-button{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(35,75,61,.16)}.primary-button:hover{background:var(--primary-dark);transform:translateY(-1px)}
html[data-theme="forest"] .primary-button,html[data-theme="ocean"] .primary-button,html[data-theme="space"] .primary-button,html[data-theme="mountain"] .primary-button{color:#17271f}.secondary-button{background:var(--primary-soft);color:var(--primary-dark)}.quiet-button{border:1px solid var(--line);background:var(--card);color:var(--ink)}.ghost-button{background:transparent;color:var(--muted)}.danger-button{background:#f4dfdc;color:var(--danger)}
.summary-grid{display:grid;grid-template-columns:1.7fr .8fr .8fr;gap:13px;margin-bottom:45px}.progress-card,.metric-card{min-height:112px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:16px}.summary-main{display:flex;align-items:center;gap:20px}.summary-main h2{margin:5px 0 4px}.summary-main p{margin:0;color:var(--muted);font-size:12px}
.morning-focus{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;margin:-27px 0 44px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:15px;background:linear-gradient(110deg,color-mix(in srgb,var(--primary-soft) 72%,var(--card)),var(--card));box-shadow:var(--shadow)}.morning-focus-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--primary);color:#fff;font-size:19px}.morning-focus-copy span{display:block;margin-bottom:3px;color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.2px}.morning-focus-copy strong{font-size:14px}.morning-focus-copy p{margin:3px 0 0;color:var(--muted);font-size:11px}.morning-focus-meta{text-align:right}.morning-focus-meta strong{display:block;font-size:18px}.morning-focus-meta span{color:var(--muted);font-size:9px}
.ring{--percent:0;flex:0 0 72px;width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--percent)*1%),var(--paper-2) 0);position:relative}.ring::after{content:"";position:absolute;width:57px;height:57px;border-radius:50%;background:var(--card)}.ring span{position:relative;z-index:1;font-size:13px;font-weight:850}
.metric-card{display:flex;align-items:center;gap:13px}.metric-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:19px}.metric-card div{display:grid}.metric-card strong{font-size:24px;letter-spacing:-1px}.metric-card span:last-child{color:var(--muted);font-size:10px}
.skip-banner{display:flex;align-items:center;gap:14px;margin:-10px 0 24px;padding:14px 17px;border:1px solid #d7c18d;border-radius:13px;background:#f7efd9;color:#5e5235}.skip-banner>span{font-size:24px}.skip-banner div{flex:1}.skip-banner p{margin:3px 0 0;font-size:11px}.skip-banner button{border:0;background:transparent;text-decoration:underline;cursor:pointer}.hidden{display:none!important}
.backup-reminder{display:flex;align-items:center;gap:12px;margin:-10px 0 24px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--primary-soft) 62%,var(--card))}.backup-reminder-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:11px;background:var(--primary);color:#fff}.backup-reminder div{flex:1}.backup-reminder strong{font-size:12px}.backup-reminder p{margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.4}.backup-reminder button{padding:8px 11px;font-size:9px}.backup-status{display:block;margin-top:9px;color:var(--primary);font-size:9px;font-weight:750}.backup-status.due{color:var(--accent)}
.section-title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.section-title-row h2{margin:4px 0 0;font-size:22px}.section-title-row>span{color:var(--muted);font-size:12px}
.habit-section{margin-top:28px}.habit-section:first-child{margin-top:0}.section-head{display:flex;justify-content:space-between;margin:0 2px 10px}.section-head h3{margin:0;font-size:13px}.section-head span{font-size:10px;color:var(--muted)}.habit-list{display:grid;gap:9px}
.habit-card{min-height:72px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:13px;padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:13px;transition:160ms ease}.habit-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));box-shadow:0 7px 20px rgba(35,50,42,.05)}.habit-card.done{background:color-mix(in srgb,var(--primary-soft) 45%,var(--card))}.habit-card.done .habit-title{text-decoration:line-through;color:var(--muted)}
.check-button{width:31px;height:31px;border:1.5px solid var(--muted);border-radius:10px;background:transparent;color:transparent;font-weight:900;cursor:pointer}.done .check-button{border-color:var(--primary);background:var(--primary);color:#fff}.habit-title{font-size:14px;font-weight:750}.habit-note{margin-top:2px;color:var(--muted);font-size:11px}.habit-meta{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10px}.streak{padding:4px 8px;border-radius:20px;background:#f4e6cf;color:#9b682a;font-weight:750}.more-button{opacity:0;border:0;background:transparent;color:var(--danger);cursor:pointer;font-size:18px}.habit-card:hover .more-button,.goal-card:hover .more-button{opacity:1}
.journal-card{margin-top:40px;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:16px}.journal-head{display:flex;justify-content:space-between}.journal-head h2{margin:4px 0 0}.save-state{color:var(--muted);font-size:10px}.mood-row{display:flex;gap:10px;margin:19px 0 13px}.mood-row button{width:26px;height:26px;border:0;border-radius:50%;background:transparent;cursor:pointer;font-size:28px;line-height:1;color:#c8ccc7;transition:.15s}.mood-row button:nth-child(1){color:#ba7370}.mood-row button:nth-child(2){color:#b49a7b}.mood-row button:nth-child(3){color:#c6b95c}.mood-row button:nth-child(4){color:#79a683}.mood-row button:nth-child(5){color:#3f7a5d}.mood-row button:not(.active){opacity:.28}.mood-row button:hover,.mood-row button.active{opacity:1;transform:scale(1.12)}
textarea{width:100%;min-height:100px;resize:vertical;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);outline:0;line-height:1.55}.journal-card textarea{border:0;padding:13px 0 0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.empty-state{margin:40px auto;padding:38px;max-width:450px;text-align:center;border:1px dashed var(--line);border-radius:18px}.empty-icon{width:54px;height:54px;margin:auto;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:23px}.empty-state h2{margin-bottom:7px}.empty-state p{color:var(--muted);font-size:13px}
.segmented{display:flex;padding:4px;border-radius:11px;background:var(--paper-2)}.segmented button{border:0;padding:8px 13px;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:750}.segmented button.active{background:var(--card);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.calendar-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:14px}.calendar-toolbar h2{flex:1;margin:0 8px;font-size:20px}.calendar-toolbar>button:not(.quiet-button){width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--card);cursor:pointer}.calendar-toolbar .quiet-button{padding:8px 12px;font-size:11px}
.calendar-surface{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday{padding:12px;text-align:center;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--line)}.calendar-day{position:relative;min-height:105px;padding:10px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{opacity:.35}.calendar-day.today .day-number{background:var(--primary);color:#fff}.day-number{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;font-size:11px;font-weight:750}.day-summary{position:absolute;left:10px;right:10px;bottom:10px}.day-progress{height:4px;border-radius:4px;background:var(--paper-2);overflow:hidden}.day-progress i{display:block;height:100%;background:var(--primary)}.day-flags{display:flex;gap:4px;height:9px;margin-top:6px}.day-flags i{width:5px;height:5px;border-radius:50%}.day-flags .note{background:var(--accent)}.day-flags .skip{background:#a891c4}.week-calendar .calendar-day{min-height:260px}.week-calendar .day-detail{margin-top:15px;color:var(--muted);font-size:10px;line-height:1.6}.week-calendar .day-note-preview{margin-top:12px;padding:9px;border-radius:8px;background:var(--paper);font-size:10px;line-height:1.4}
.year-calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.mini-month{padding:18px;background:var(--card)}.mini-month h3{margin:0 0 10px;font-size:12px}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.mini-grid span,.mini-grid button{aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:3px;background:transparent;font-size:7px;color:var(--muted)}.mini-grid button{cursor:pointer}.mini-grid button:hover{outline:1px solid var(--primary)}.mini-grid .has-progress{background:var(--primary-soft);color:var(--primary-dark)}.mini-grid .full{background:var(--primary);color:#fff}.mini-grid .protected{outline:1px solid #a891c4}.calendar-key{display:flex;gap:18px;margin:13px 2px;color:var(--muted);font-size:9px}.calendar-key span{display:flex;align-items:center;gap:5px}.key-dot{width:7px;height:7px;border-radius:50%}.key-dot.complete{background:var(--primary)}.key-dot.partial{background:var(--primary-soft)}.key-dot.note{background:var(--accent)}.key-dot.skip{background:#a891c4}
.insight-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.insight-stat{padding:19px;background:var(--card);border:1px solid var(--line);border-radius:14px}.insight-stat span{color:var(--muted);font-size:10px}.insight-stat strong{display:block;margin-top:7px;font-size:25px;letter-spacing:-1px}.insight-stat small{color:var(--primary);font-size:9px}.insight-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.panel{padding:22px;background:var(--card);border:1px solid var(--line);border-radius:16px}.panel-head{display:flex;justify-content:space-between;align-items:start}.panel-head h2{margin:4px 0 0}.panel-head>strong{font-size:22px}.bar-chart{height:220px;display:flex;align-items:end;gap:8px;padding-top:26px}.bar-column{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.bar-column i{width:min(26px,70%);min-height:3px;border-radius:7px 7px 2px 2px;background:var(--primary);transition:height .3s}.bar-column span{color:var(--muted);font-size:8px}.performance-list{display:grid;gap:18px;margin-top:22px}.performance-item{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:11px}.performance-item strong{font-size:11px}.performance-track{grid-column:1/-1;height:5px;background:var(--paper-2);border-radius:8px;overflow:hidden}.performance-track i{display:block;height:100%;background:var(--primary);border-radius:inherit}.goal-progress-panel{margin-top:20px}.goal-insight-row{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.goal-insight-row:last-child{border:0}.goal-insight-row strong{font-size:12px}.goal-insight-row span{color:var(--muted);font-size:10px}.goal-insight-row .progress-track{height:6px}
.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.goal-card{position:relative;overflow:hidden;padding:23px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(30,40,34,.04)}.goal-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}.goal-card-top{display:flex;justify-content:space-between;gap:12px}.goal-card h2{margin:0 0 4px;font-size:18px}.goal-target{color:var(--muted);font-size:11px}.goal-progress-copy{display:flex;justify-content:space-between;margin:24px 0 7px;font-size:10px;font-weight:750}.progress-track{height:7px;overflow:hidden;background:var(--paper-2);border-radius:20px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 60%,#aaa));border-radius:inherit;transition:width .4s}.goal-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.goal-stat{padding:0 10px;border-right:1px solid var(--line)}.goal-stat:first-child{padding-left:0}.goal-stat:last-child{border:0}.goal-stat strong{display:block;font-size:15px}.goal-stat span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.5px}.update-progress{display:flex;gap:8px;margin-top:18px}.update-progress input{flex:1;min-width:0}.mini-button{border:0;border-radius:9px;padding:9px 11px;background:var(--primary-soft);color:var(--primary-dark);cursor:pointer;font-weight:750;font-size:11px}
.goal-category{display:inline-block;margin-bottom:7px;color:var(--accent);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.milestone-list{display:grid;gap:7px;margin-top:18px}.milestone-item{display:flex;align-items:center;gap:9px;padding:9px;border-radius:9px;background:var(--paper);cursor:pointer}.milestone-item input{width:16px;height:16px;margin:0}.milestone-item span{font-size:11px}.milestone-item.done span{text-decoration:line-through;color:var(--muted)}.compact-empty{margin:0;max-width:none;padding:18px}.compact-empty p{margin:0}
.settings-stack{display:grid;gap:16px}.settings-panel{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start}.settings-copy h2{margin:0 0 7px}.settings-copy p,.privacy-panel p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.theme-card{padding:8px;border:1px solid var(--line);border-radius:12px;background:transparent;text-align:left;cursor:pointer}.theme-card.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}.theme-card strong,.theme-card small{display:block;margin:8px 3px 0;font-size:10px}.theme-card small{margin-top:2px;color:var(--muted);font-size:8px}.theme-preview{height:65px;display:flex;align-items:end;gap:4px;padding:8px;border-radius:8px;background:#f2eee6}.theme-preview i{display:block;width:20%;border-radius:3px;background:#315f4f}.theme-preview i:nth-child(1){height:45%}.theme-preview i:nth-child(2){height:80%}.theme-preview i:nth-child(3){height:62%}.theme-preview.ink{background:#eee}.theme-preview.ink i{background:#111}.theme-preview.forest{background:linear-gradient(145deg,#173126,#294c3b)}.theme-preview.forest i{background:#d8b56b}.theme-preview.sky{background:linear-gradient(145deg,#eaf5f8,#cadfe7)}.theme-preview.sky i{background:#44798b}.settings-actions{display:flex;gap:9px}.file-button{display:inline-block}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.privacy-panel{display:flex;align-items:center;gap:18px;background:var(--primary-soft)}.privacy-panel h2{margin:4px 0 7px}.privacy-lock{display:grid;place-items:center;flex:0 0 55px;height:55px;border-radius:50%;background:var(--card);color:var(--primary);font-size:25px}.danger-zone{align-items:center}.danger-zone .danger-button{justify-self:end}
.theme-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.theme-preview.ocean{background:linear-gradient(145deg,#0d3440,#247481)}.theme-preview.ocean i{background:#7bd4d1}.theme-preview.desert{background:linear-gradient(145deg,#efd9ad,#c98552)}.theme-preview.desert i{background:#7d422c}.theme-preview.space{background:radial-gradient(circle at 70% 25%,#7869b8,transparent 24%),#090e22}.theme-preview.space i{background:#a9d4ff}.theme-preview.sunset{background:linear-gradient(145deg,#f5bc7c,#b44268)}.theme-preview.sunset i{background:#fff0d6}.theme-preview.arctic{background:linear-gradient(145deg,#f5feff,#a7d8e5)}.theme-preview.arctic i{background:#287b98}.theme-preview.mountain{background:linear-gradient(145deg,#1c271e,#6b765c)}.theme-preview.mountain i{background:#d7be7d}
.measurement-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:480px}.measurement-picker button{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);text-align:left;cursor:pointer}.measurement-picker button.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.measurement-picker strong,.measurement-picker small{display:block}.measurement-picker strong{font-size:12px}.measurement-picker small{margin-top:3px;color:var(--muted);font-size:9px}.unit-hint{margin:9px 2px 0;color:var(--muted);font-size:9px;line-height:1.45}
.goal-today-title{margin-top:38px}.today-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.today-goal{padding:17px;background:var(--card);border:1px solid var(--line);border-radius:13px}.today-goal-head{display:flex;align-items:center;gap:9px;margin-bottom:12px}.goal-type-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--primary-soft);color:var(--primary);font-size:14px}.today-goal-head strong{font-size:13px}.today-goal-head span{display:block;color:var(--muted);font-size:9px}.goal-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid var(--line)}.goal-action p{margin:0;font-size:11px;line-height:1.4}.goal-action button{flex:0 0 auto}
.achievement-panel{margin-top:20px}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.achievement{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--paper);opacity:.48}.achievement.unlocked{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 45%,var(--line));opacity:1}.achievement-icon{font-size:23px}.achievement strong{display:block;margin-top:8px;font-size:11px}.achievement span{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}
.smart-insights-panel{margin-top:20px}.local-analysis-badge{padding:6px 9px;border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:8px;font-weight:750}.smart-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.smart-insight{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:15px;border-radius:13px;background:var(--paper)}.smart-insight-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:16px}.smart-insight strong{display:block;margin-bottom:4px;font-size:11px}.smart-insight p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}
.year-review{position:relative;overflow:hidden;margin-top:20px;padding:26px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(145deg,#071b33,#102d4d 62%,#153c58);color:#fff;box-shadow:0 18px 45px rgba(7,27,51,.2)}.year-review::after{content:"";position:absolute;right:-35px;top:-55px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 65%)}.year-review .eyebrow{color:#d5b36b}.year-review-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:start;gap:20px}.year-review h2{margin:5px 0 4px;font-size:27px}.year-review-head p{margin:0;color:rgba(255,255,255,.65);font-size:11px}.year-share-button{position:relative;z-index:2;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:9px 13px;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;font-size:10px;font-weight:750}.year-stat-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.year-stat{padding:13px;border-radius:12px;background:rgba(255,255,255,.08)}.year-stat strong{display:block;font-size:20px}.year-stat span{color:rgba(255,255,255,.62);font-size:8px;text-transform:uppercase;letter-spacing:.7px}.year-highlight{position:relative;z-index:1;margin-top:11px;padding:12px 14px;border-radius:11px;background:rgba(213,179,107,.14);color:#f6e4b8;font-size:10px;line-height:1.45}
dialog{width:min(560px,calc(100vw - 26px));padding:0;border:0;border-radius:19px;color:var(--ink);background:var(--card);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(15,28,22,.58);backdrop-filter:blur(3px)}dialog form{display:grid;gap:19px;padding:28px}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal-head h2{margin:4px 0 0;font-size:25px}.close-button{border:0;background:transparent;color:var(--muted);font-size:27px;cursor:pointer}.modal-copy{margin:0;color:var(--muted);font-size:12px;line-height:1.55}label,legend{color:var(--ink);font-size:11px;font-weight:750}.optional{color:var(--muted);font-weight:400}input,select{width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);outline:0}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}fieldset{margin:0;padding:0;border:0}legend{margin-bottom:7px}.segment-control{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;border-radius:10px;background:var(--paper-2)}#goalForm .segment-control{grid-template-columns:1fr 1fr}.segment-control input{position:absolute;opacity:0}.segment-control span{display:block;padding:8px;border-radius:7px;color:var(--muted);text-align:center;cursor:pointer}.segment-control input:checked+span{background:var(--card);color:var(--primary);box-shadow:0 2px 7px rgba(0,0,0,.06)}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.input-row.three{grid-template-columns:1fr 1fr .8fr}.estimate-preview{padding:13px 15px;border-radius:10px;background:var(--primary-soft);color:var(--primary-dark);font-size:11px;line-height:1.5}.form-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:4px}.mood-row.large{margin:0;justify-content:center;gap:23px}.mood-row.large button{width:32px;height:32px;font-size:34px}
.toast{position:fixed;left:50%;bottom:24px;z-index:30;transform:translate(-50%,12px);padding:10px 16px;border-radius:30px;background:var(--ink);color:var(--card);opacity:0;pointer-events:none;transition:.2s;font-size:11px}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:980px){.summary-grid{grid-template-columns:1.5fr 1fr}.summary-main{grid-row:span 2}.insight-grid{grid-template-columns:1fr}.insight-metrics{grid-template-columns:repeat(2,1fr)}.theme-grid{grid-template-columns:repeat(2,1fr)}.year-calendar{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;z-index:20;width:100%;height:calc(64px + env(safe-area-inset-bottom));padding:6px 10px env(safe-area-inset-bottom);display:block}.brand,.privacy-pill{display:none}nav{height:58px;grid-template-columns:repeat(5,1fr);gap:1px}.nav-item{display:grid;place-items:center;gap:1px;padding:6px 2px;font-size:9px}.nav-icon{font-size:16px}.topbar{height:58px;padding:0 18px;justify-content:space-between}.mobile-brand{display:grid}.topbar-date{margin-left:auto}.offline-badge{display:none}.view{padding:38px 18px 60px}.hero-row,.hero-row.compact{display:block;margin-bottom:27px}.hero-row h1,.hero-row.compact h1{font-size:38px}.hero-actions{margin-top:20px}.hero-actions>*{flex:1}.hero-row>.primary-button{width:100%;margin-top:20px}.hero-row .segmented{margin-top:20px;width:max-content}.summary-grid{grid-template-columns:1fr 1fr}.summary-main{grid-column:1/-1;grid-row:auto}.metric-card{min-height:88px;padding:14px}.metric-icon{display:none}.more-button{opacity:1}.calendar-day{min-height:72px;padding:6px}.day-number{width:21px;height:21px;font-size:9px}.day-summary{left:6px;right:6px;bottom:7px}.weekday{padding:9px 2px;font-size:7px}.week-calendar .calendar-day{min-height:160px}.week-calendar .day-detail,.week-calendar .day-note-preview{display:none}.year-calendar{grid-template-columns:1fr}.insight-metrics{grid-template-columns:1fr 1fr}.bar-chart{height:180px}.goal-grid{grid-template-columns:1fr}.settings-panel{grid-template-columns:1fr;gap:18px}.theme-grid{grid-template-columns:repeat(2,1fr)}.danger-zone .danger-button{justify-self:start}.calendar-key{flex-wrap:wrap}.goal-insight-row{grid-template-columns:1fr auto}.goal-insight-row .progress-track{grid-row:2;grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(max-width:410px){.summary-grid{grid-template-columns:1fr}.summary-main{grid-column:auto}.metric-card{min-height:70px}.insight-metrics{grid-template-columns:1fr}.goal-stats{gap:0}.input-row,.input-row.three{grid-template-columns:1fr}dialog form{padding:22px}.theme-grid{grid-template-columns:1fr 1fr}.calendar-toolbar h2{font-size:15px}}
@media(max-width:980px){.achievement-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.mobile-brand{padding:0}.today-goals{grid-template-columns:1fr}}
@media(max-width:760px){.morning-focus{grid-template-columns:auto 1fr;margin-top:-27px}.morning-focus-meta{display:none}.smart-insight-grid{grid-template-columns:1fr}.year-review{padding:21px}.year-review-head{display:block}.year-share-button{margin-top:15px}.year-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.backup-reminder{display:grid;grid-template-columns:auto 1fr}.backup-reminder .quiet-button{grid-column:1/2}.backup-reminder .secondary-button{grid-column:2/3}.backup-reminder-icon{grid-row:1}.backup-reminder div{grid-column:2;grid-row:1}}
@media(max-width:410px){.year-stat-grid{grid-template-columns:1fr 1fr}.local-analysis-badge{display:none}}
