:root{color-scheme:light;--bg: #f8fafc;--card: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--green: #22c55e;--yellow: #fbbf24;--red: #f87171;--accent: #38bdf8;--shadow: 0 12px 30px rgba(15, 23, 42, .08);--green-strong: #16a34a;--yellow-strong: #f59e0b;--red-strong: #ef4444}:root[data-theme=dark]{color-scheme:dark;--bg: #0f172a;--card: #1e293b;--text: #f8fafc;--muted: #94a3b8;--border: #334155;--shadow: 0 12px 30px rgba(15, 23, 42, .6)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 20px 0;max-width:1080px;margin:0 auto;width:100%}.brand{display:flex;align-items:center;gap:12px}.brand-title{font-weight:700;margin:0}.brand-subtitle{margin:2px 0 0;font-size:.8rem;color:var(--muted)}.offline-pill{font-size:.75rem;background:#f8717126;color:#ef4444;padding:6px 10px;border-radius:999px;border:1px solid rgba(248,113,113,.3)}.app-icon{border-radius:14px;overflow:hidden;background:#38bdf81f;display:grid;place-items:center;border:1px solid rgba(56,189,248,.3)}.app-icon img{width:100%;height:100%;object-fit:cover}.app-icon-fallback{font-size:.7rem;font-weight:700;color:var(--text)}.content{flex:1;padding:20px 20px 190px}.page{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.page-header{display:flex;flex-direction:column;gap:8px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;color:var(--muted);margin:0}h1{margin:0;font-size:clamp(1.6rem,2vw + 1rem,2.5rem)}h2{margin:0;font-size:clamp(1.4rem,1.5vw + 1rem,2rem)}h3{margin:0 0 10px}h4{margin:0 0 8px;font-size:1rem}.subtle{color:var(--muted);margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px}.hero-card{padding:22px;gap:18px}.progress-card{gap:20px}.progress-grid{display:grid;gap:16px}.progress-row{display:flex;flex-direction:column;gap:8px}.progress-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.progress-label{font-weight:700;display:block}.progress-helper{font-size:.85rem;color:var(--muted);margin-top:4px;display:block}.progress-value{font-weight:600;font-size:.9rem;color:var(--text)}.progress-bar{width:100%;height:12px;border-radius:999px;background:#94a3b833;overflow:hidden}.progress-fill{height:100%;border-radius:999px;transition:width .3s ease}.progress-fill.green{background:var(--green)}.progress-fill.yellow{background:var(--yellow-strong)}.progress-fill.red{background:var(--red-strong)}.progress-fill.blue{background:var(--accent)}.primary,.ghost,.danger{border:none;border-radius:14px;padding:14px 18px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.primary:active,.ghost:active,.danger:active{transform:translateY(0);box-shadow:none}.primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 10px 20px #22c55e59}.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.danger{background:#b91c1c;color:#fff}.primary:hover:not(:disabled),.ghost:hover,.danger:hover{transform:translateY(-2px)}.status-selector{display:grid;gap:14px}.status-selector.compact{gap:10px}.status-selector.large{grid-template-columns:1fr}.status-selector.medium{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.status-button{border-radius:18px;border:2px solid transparent;padding:20px;text-align:left;font-size:1.1rem;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border .2s ease;color:#fff;min-height:140px;position:relative;overflow:hidden;touch-action:manipulation}:root[data-theme=dark] .status-button{color:#fff}.status-button.green{background:linear-gradient(135deg,var(--green),var(--green-strong));border-color:#ffffff4d}.status-button.yellow{background:linear-gradient(135deg,var(--yellow),var(--yellow-strong));border-color:#ffffff59;color:#1f2937}.status-button.red{background:linear-gradient(135deg,#fb7185,var(--red-strong));border-color:#ffffff4d}.status-button.selected{transform:translateY(-2px) scale(1.01);box-shadow:0 10px 18px #0f172a26;border-color:#ffffffe6}.status-button:not(.selected){filter:saturate(.95) brightness(.95);opacity:.9}.status-icon{font-size:1.6rem}.status-title{font-weight:700;font-size:1.2rem}.status-subtitle{font-size:.9rem;color:#ffffffd9}.status-button.yellow .status-subtitle{color:#1f2937bf}.status-check{position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:999px;background:#0f172a33;display:grid;place-items:center;font-weight:700;color:#fff;border:2px solid rgba(255,255,255,.8);z-index:2}.status-hold-ring{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:20px;background:conic-gradient(rgba(255,255,255,.9) var(--hold-progress),rgba(255,255,255,.18) 0);opacity:.6;pointer-events:none}.status-hold-label{font-size:.8rem;font-weight:600;color:#ffffffe6}.status-selector.compact .status-subtitle{display:none}.status-selector.compact .status-button{min-height:96px;padding:16px}.status-selector.compact .status-icon{font-size:1.4rem}.field{display:flex;flex-direction:column;gap:8px;font-weight:600}.field input,.field textarea,.field select{border-radius:12px;border:1px solid var(--border);padding:12px;font-size:1rem;background:transparent;color:var(--text)}.nudge{background:#3b82f61f;border:1px solid rgba(59,130,246,.25);padding:12px 16px;border-radius:14px;color:var(--text)}.celebration{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172a4d;animation:fade-in .2s ease;z-index:20}.celebration-inner{background:var(--card);padding:24px;border-radius:20px;text-align:center;min-width:240px;box-shadow:var(--shadow)}.celebration.green .celebration-inner{animation:bounce .6s ease}.celebration.yellow .celebration-inner{animation:pulse .8s ease}.celebration.red .celebration-inner{animation:shake .6s ease}@keyframes bounce{0%{transform:scale(.85)}70%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulse{0%{transform:scale(.95)}to{transform:scale(1.02)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.nav-tabs{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 16px 20px;background:var(--card);border-top:1px solid var(--border);z-index:10}.tracker-tabs{position:sticky;top:0;z-index:8;margin-bottom:12px}.tracker-tab-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.tracker-tab{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:8px 16px;font-weight:600;white-space:nowrap;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.tracker-tab.active{border-color:var(--accent);box-shadow:0 6px 18px #38bdf859}.tracker-tab.add{background:transparent;border-style:dashed}.nav-tab{background:transparent;border:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.8rem;padding:6px 4px;cursor:pointer}.nav-tab.active{color:var(--text);font-weight:600}.nav-icon{font-size:1.1rem}.calendar{display:flex;flex-direction:column;gap:8px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{text-align:center;font-size:.75rem;color:var(--muted)}.calendar-cell{border:1px solid var(--border);background:var(--card);min-height:60px;padding:8px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;justify-content:space-between;cursor:pointer}.calendar-cell.selected{outline:3px solid #38bdf8;box-shadow:0 6px 12px #38bdf84d}.calendar-cell.faded{opacity:.4}.calendar-date{font-size:.85rem}.calendar-dot{width:12px;height:12px;border-radius:50%}.calendar-dot.green{background:var(--green)}.calendar-dot.yellow{background:var(--yellow)}.calendar-dot.red{background:var(--red)}.month-controls{display:flex;flex-wrap:wrap;gap:12px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.toggle-label{font-weight:600;display:block}.toggle-description{font-size:.85rem;color:var(--muted)}.toggle-control{display:flex;align-items:center;gap:8px;position:relative}.toggle-control input{opacity:0;width:42px;height:24px;margin:0;position:absolute}.toggle-pill{width:44px;height:24px;border-radius:999px;background:var(--border);position:relative;transition:background .2s ease}.toggle-pill:after{content:"";width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:transform .2s ease}.toggle-control input:checked+.toggle-pill{background:#38bdf8}.toggle-control input:checked+.toggle-pill:after{transform:translate(20px)}.chart{display:flex;flex-direction:column;gap:6px}.chart-row{padding:8px 10px;border-radius:999px;font-size:.9rem;color:#0f172a}.chart-row.green{background:#86efac}.chart-row.yellow{background:#fde047}.chart-row.red{background:#fca5a5}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stat-value{font-size:1.6rem;font-weight:700;display:block}.stat-label{font-size:.85rem;color:var(--muted)}.score{font-size:2.4rem;font-weight:700;margin:0}.logging-card{gap:16px}.saved-toast{background:#22c55e26;color:#16a34a;border:1px solid rgba(34,197,94,.3);padding:6px 10px;border-radius:999px;font-weight:600}.daily-question{display:flex;flex-direction:column;gap:12px}.note-panel{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:16px;background:linear-gradient(145deg,#94a3b81f,#5eead414);border:1px solid rgba(148,163,184,.35)}.note-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.note-panel-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:right}.note-title{margin:4px 0}.note-count{font-size:.8rem;padding:6px 10px;border-radius:999px;background:#38bdf833;border:1px solid rgba(56,189,248,.35);font-weight:600}.note-hint{font-size:.75rem;color:var(--muted)}.note-composer{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:14px;background:#0f172a0a;border:1px solid rgba(148,163,184,.2)}.note-field textarea{min-height:90px}.note-history{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:#94a3b81f}.note-history-header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.note-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}.note-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--border)}.note-item-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.note-meta{font-size:.75rem;color:var(--muted)}.note-delete{border:1px solid rgba(239,68,68,.4);background:transparent;color:#b91c1c;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600;cursor:pointer}.note-delete:hover{background:#ef44441a}.note-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.log-summary{display:flex;flex-direction:column;gap:12px}.log-summary h2{margin:0}.status-summary{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:16px;font-weight:600;background:#94a3b833;gap:12px;border:1px solid rgba(148,163,184,.35)}.status-summary.pending{background:#38bdf829;border:1px solid rgba(56,189,248,.35)}.status-summary.green{background:#22c55e2e;border:1px solid rgba(34,197,94,.35)}.status-summary.yellow{background:#fbbf2433;border:1px solid rgba(251,191,36,.35)}.status-summary.red{background:#ef44442e;border:1px solid rgba(239,68,68,.35)}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:600;background:#94a3b833;border:1px solid rgba(148,163,184,.4);color:var(--text);width:fit-content}.status-chip.green{background:#22c55e2e;border-color:#22c55e66;color:#166534}.status-chip.yellow{background:#fbbf2433;border-color:#fbbf2466;color:#92400e}.status-chip.red{background:#ef444433;border-color:#ef444466;color:#991b1b}:root[data-theme=dark] .status-chip{color:var(--text)}:root[data-theme=dark] .status-chip.green{color:#bbf7d0}:root[data-theme=dark] .status-chip.yellow{color:#fde68a}:root[data-theme=dark] .status-chip.red{color:#fecaca}.status-meta{display:block;font-size:.85rem;font-weight:500;color:var(--muted);margin-top:4px}.status-summary-end{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.today-icon{font-size:1.6rem}.status-actions{display:flex;flex-direction:column;gap:12px}.insights-card{gap:18px}.insights-charts{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:center}.chart-block{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.chart-block.full{grid-column:1 / -1}.chart-meta{margin-top:8px}.donut-chart{position:relative;width:120px;height:120px}.donut-chart svg{transform:rotate(-90deg)}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-total{font-weight:700;font-size:1.4rem}.donut-label{font-size:.8rem;color:var(--muted)}.line-chart{width:100%;height:120px}.line-chart svg{width:100%;height:100%}.quote-card{align-items:flex-start}.quote-text{font-size:1.1rem;margin:0}.stats-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{background:#94a3b826;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px}.summary-line{font-weight:600;margin:0}.scorecard-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.goal-inputs,.badge-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.badge-section{display:flex;flex-direction:column;gap:12px}.badge-card{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;border:1px solid var(--border);background:#94a3b81a}.badge-card.locked{opacity:.55;filter:grayscale(.8)}.badge-icon{font-size:1.6rem}.badge-title{font-weight:700;margin:0 0 4px}.badge-earned{font-size:.75rem;color:var(--muted);margin:6px 0 0}.badge-celebration{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0f172a59;z-index:40;animation:fade-in .2s ease}.badge-celebration-card{background:var(--card);padding:28px;border-radius:20px;text-align:center;min-width:260px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow);animation:bounce .6s ease}.badge-celebration-icon{font-size:2rem}.badge-celebration-title{font-weight:700;margin:0}.insights-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}.tracker-settings{display:flex;flex-direction:column;gap:12px}.tracker-row{display:flex;flex-direction:column;gap:8px}.tracker-row input{border-radius:12px;border:1px solid var(--border);padding:10px 12px;font-size:1rem;background:transparent;color:var(--text)}.tracker-actions{display:flex;gap:10px;flex-wrap:wrap}.tiny{font-size:.75rem}.button-row{display:flex;flex-wrap:wrap;gap:12px}.error{color:#dc2626}.action-card{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.history-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.note-editor{display:flex;flex-direction:column;gap:12px}.note-actions{display:flex;gap:12px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#22c55e26;color:#16a34a;font-size:.85rem;font-weight:600}.onboarding .card{max-width:520px;margin:0 auto}.onboarding .page-header{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.onboarding-progress{display:flex;flex-direction:column;gap:6px}.progress-dots{display:flex;gap:6px}.dot{width:8px;height:8px;border-radius:999px;background:var(--border)}.dot.active{background:var(--accent)}.onboarding-card{text-align:center;gap:18px}.onboarding-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.status-explainer{display:grid;gap:12px;text-align:left}.status-explainer strong{display:inline-flex;margin-bottom:4px}.status-explainer .green{color:var(--green)}.status-explainer .yellow{color:#ca8a04}.status-explainer .red{color:var(--red)}.tiny-button{padding:8px 12px;font-size:.85rem}.protocol-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:20px;z-index:30;animation:fade-in .2s ease}.protocol-modal{background:var(--bg);border-radius:24px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow)}.protocol-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.protocol-start,.protocol-complete{text-align:center}.timer-controls{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.timer-display{font-weight:700;font-size:1.1rem}.protocol-body{display:flex;flex-direction:column;gap:16px}.protocol-timer .timer-status{display:flex;justify-content:space-between;align-items:center}.timer-label{color:var(--muted);font-size:.85rem}.next-step{background:#38bdf81f;border-radius:12px;padding:10px 12px;font-weight:600}.steps-grid{display:grid;gap:12px}.step-card{text-align:left;border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--card);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.step-card.checked{border-color:#22c55e80;box-shadow:0 8px 16px #22c55e26}.step-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.step-title{font-weight:600}.step-check{font-size:1.2rem}.protocol-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}@media (min-width: 720px){.status-selector.large{grid-template-columns:repeat(3,1fr)}.progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding-bottom:160px}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-tabs{position:sticky}}
