*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--bg-card:#141414;--bg-card-hover:#1a1a1a;--bg-input:#1a1a1a;--border:#262626;--text:#fafafa;--text-secondary:#a3a3a3;--text-muted:#525252;--accent:#f97316;--accent-glow:#f9731626;--success:#22c55e;--danger:#ef4444;--radius:16px;--radius-sm:10px;--nav-height:68px;--safe-bottom:env(safe-area-inset-bottom,0px)}body,html{-webkit-font-smoothing:antialiased;background:#0a0a0a;background:var(--bg);color:#fafafa;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,system-ui,sans-serif;height:100%;overscroll-behavior:none}body{overflow:hidden;position:fixed;width:100%}#root,.app{height:100%}.app{display:flex;flex-direction:column;margin:0 auto;max-width:480px;overflow:hidden;position:relative}.main-content{-webkit-overflow-scrolling:touch;flex:1 1;max-width:100%;overflow-x:hidden;overflow-y:auto;padding:20px 20px calc(92px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 24px)}.loading-screen{align-items:center;display:flex;height:100vh;justify-content:center}.loading-icon{animation:pulse 1.5s ease-in-out infinite;font-size:48px}@keyframes pulse{0%,to{transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}.bottom-nav{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#141414f2;border-top:1px solid #262626;border-top:1px solid var(--border);bottom:0;height:68px;height:var(--nav-height);justify-content:space-around;left:0;margin:0 auto;max-width:480px;padding-bottom:env(safe-area-inset-bottom,0);padding-bottom:var(--safe-bottom);position:fixed;right:0;z-index:100}.bottom-nav,.nav-btn{align-items:center;display:flex}.nav-btn{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#525252;color:var(--text-muted);cursor:pointer;flex-direction:column;font-size:10px;gap:2px;padding:8px 12px;transition:color .2s}.nav-btn.active{color:#f97316;color:var(--accent)}.nav-icon{font-size:22px;line-height:1}.nav-label{font-weight:600;letter-spacing:.3px}h1{font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:4px}h2{color:#a3a3a3;color:var(--text-secondary);font-size:16px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}h2,h3{font-weight:600}h3{font-size:18px}.subtitle{color:#a3a3a3;color:var(--text-secondary);font-size:15px;margin-bottom:20px}.muted{color:#525252;color:var(--text-muted);font-size:13px;line-height:1.6}.section{margin-top:28px}.view{animation:fadeIn .2s ease;padding-bottom:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.landing-view{padding-bottom:0!important}.landing-hero{padding:48px 0 40px;text-align:center}.landing-logo{font-size:64px;margin-bottom:16px}.landing-title{font-size:42px;font-weight:900;letter-spacing:-1.5px;line-height:1.1;margin-bottom:16px}.landing-title-sub{font-size:32px;font-weight:700}.landing-tagline,.landing-title-sub{color:#a3a3a3;color:var(--text-secondary)}.landing-tagline{font-size:17px;line-height:1.6;margin-bottom:32px}.landing-no-signup{color:#525252;color:var(--text-muted);font-size:13px;margin-top:12px}.btn-glow{box-shadow:0 0 30px #f973164d}.btn-glow:hover{box-shadow:0 0 40px #f9731673}.landing-section{border-top:1px solid #262626;border-top:1px solid var(--border);padding:32px 0}.landing-h2{color:#fafafa;color:var(--text);font-size:22px;letter-spacing:-.3px;margin-bottom:12px;text-transform:none}.landing-body{color:#a3a3a3;color:var(--text-secondary);font-size:15px;line-height:1.7;margin-bottom:20px}.landing-tasks{display:flex;flex-direction:column;gap:10px}.landing-task{align-items:center;background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);color:#a3a3a3;color:var(--text-secondary);display:flex;font-size:15px;gap:12px;padding:10px 14px}.landing-task span:first-child{flex-shrink:0;font-size:20px}.landing-proof{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr;text-align:center}.proof-stat{background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);padding:20px 12px}.proof-number{color:#f97316;color:var(--accent);display:block;font-size:36px;font-weight:800;margin-bottom:4px}.proof-label{color:#525252;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.landing-features{display:flex;flex-direction:column;gap:12px}.landing-feature-card{align-items:flex-start;background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);display:flex;gap:14px;padding:16px}.landing-feature-icon{flex-shrink:0;font-size:24px;margin-top:2px}.landing-feature-card strong{display:block;font-size:15px;margin-bottom:4px}.landing-feature-card p{color:#a3a3a3;color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0}.landing-challenge-pills{display:flex;flex-wrap:wrap;gap:8px}.l-pill{border:1px solid;border-radius:20px;font-size:13px;font-weight:600;padding:8px 14px}.landing-privacy-card{background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);padding:28px 20px;text-align:center}.landing-privacy-icon{display:block;font-size:36px;margin-bottom:12px}.landing-privacy-card h3{font-size:18px;margin-bottom:10px}.landing-privacy-card p{color:#a3a3a3;color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0}.landing-cta,.landing-footer{text-align:center}.landing-footer{padding:32px 0}.landing-footer p{color:#525252;color:var(--text-muted);font-size:13px}.hero{padding:32px 0 24px;text-align:center}.hero-emoji{font-size:56px;margin-bottom:12px}.hero h1{font-size:32px;margin-bottom:8px}.dashboard-header{margin-bottom:20px}.greeting{color:#525252;color:var(--text-muted);font-size:14px;font-weight:500;letter-spacing:1px;margin-bottom:2px;text-transform:uppercase}.challenge-title-small{font-size:24px}.dashboard-card{background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);padding:28px 20px;text-align:center}.main-card{margin-bottom:16px}.day-display{align-items:baseline;display:flex;gap:8px;justify-content:center;margin-bottom:20px}.day-label{color:#525252;color:var(--text-muted);font-size:14px;font-weight:700;letter-spacing:3px;text-transform:uppercase}.day-number{font-size:72px;font-weight:800;letter-spacing:-3px;line-height:1}.day-total{color:#525252;color:var(--text-muted);font-size:18px;font-weight:500}.progress-ring-container{height:130px;margin:0 auto 20px;position:relative;width:130px}.progress-ring{height:100%;transform:rotate(-90deg);width:100%}.progress-ring-bg{fill:none;stroke:#262626;stroke:var(--border);stroke-width:7}.progress-ring-fill{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dasharray .8s ease}.progress-ring-text{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.progress-ring-text .pct{font-size:26px;font-weight:700}.milestone-banner{background:#f9731626;background:var(--accent-glow);border-radius:10px;border-radius:var(--radius-sm);margin-top:16px;padding:12px}.milestone-banner p{color:#f97316;color:var(--accent);font-size:14px;font-weight:600}.stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:20px}.stat-card{background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);padding:16px 12px;text-align:center}.stat-value{display:block;font-size:22px;font-weight:700;margin-bottom:2px}.stat-label{color:#525252;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.today-complete-card{background:#141414;background:var(--bg-card);border:1px solid #22c55e40;border-radius:16px;border-radius:var(--radius);padding:24px;text-align:center}.check-big{display:block;font-size:36px;margin-bottom:8px}.today-complete-card h3{margin-bottom:12px}.quote{color:#525252;color:var(--text-muted);font-size:13px;font-style:italic;line-height:1.5}.btn{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:10px;border-radius:var(--radius-sm);box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;justify-content:center;margin-top:8px;padding:14px 24px;transition:all .2s;width:100%}.btn-primary{background:#f97316;background:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{transform:scale(.98)}.btn-large{border-radius:16px;border-radius:var(--radius);font-size:17px;padding:18px 24px}.btn-ghost{background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);color:#fafafa;color:var(--text)}.btn-ghost:hover{background:#1a1a1a;background:var(--bg-card-hover)}.btn-danger-ghost{background:#0000;border:1px solid #ef444433;color:#ef4444;color:var(--danger);font-size:14px}.btn-danger-ghost:hover{background:#ef444414}.btn-small{font-size:14px;padding:10px 16px}.link-btn{color:#f97316;color:var(--accent);font-size:inherit;padding:0;text-decoration:underline}.btn-icon,.link-btn{background:none;border:none;cursor:pointer}.btn-icon{border-radius:6px;color:#525252;color:var(--text-muted);font-size:20px;padding:4px 8px}.btn-icon:hover{background:#ef44441a;color:#ef4444;color:var(--danger)}.challenge-list{display:flex;flex-direction:column;gap:12px}.challenge-card{background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);box-sizing:border-box;cursor:pointer;overflow:hidden;padding:20px;text-align:left;transition:all .2s;width:100%}.challenge-card:not(.static):hover{background:#1a1a1a;background:var(--bg-card-hover);border-color:#f97316;border-color:var(--accent)}.challenge-card:not(.static):active{transform:scale(.99)}.challenge-card.static{cursor:default}.challenge-card-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.challenge-name{font-size:18px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis}.challenge-days{background:#f9731626;background:var(--accent-glow);border-radius:20px;color:#f97316;color:var(--accent);flex-shrink:0;font-size:12px;font-weight:700;padding:4px 12px;white-space:nowrap}.challenge-desc{color:#a3a3a3;color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:12px}.challenge-tasks{display:flex;flex-wrap:wrap;gap:6px}.task-pill{background:#1a1a1a;background:var(--bg-input);border-radius:20px;color:#a3a3a3;color:var(--text-secondary);font-size:11px;padding:4px 10px;white-space:normal;word-break:break-word}.challenge-start-hint{color:#525252;color:var(--text-muted);font-size:13px;font-weight:500;margin-top:14px}.attempt-card{background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);margin-bottom:8px;padding:16px}.attempt-header{align-items:center;display:flex;font-weight:600;justify-content:space-between;margin-bottom:6px}.status-badge{border-radius:20px;font-size:11px;font-weight:600;padding:3px 10px}.status-completed{background:#22c55e1f;color:#22c55e;color:var(--success)}.status-failed{background:#ef44441f;color:#ef4444;color:var(--danger)}.attempt-meta{color:#a3a3a3;color:var(--text-secondary);font-size:13px}.today-header{margin-bottom:20px}.today-header-top{align-items:flex-start;display:flex;justify-content:space-between}.today-date{color:#a3a3a3;color:var(--text-secondary);font-size:14px;margin-top:2px}.header-check{font-size:28px}.future-day{background:#141414;background:var(--bg-card);border-radius:16px;border-radius:var(--radius);color:#a3a3a3;color:var(--text-secondary);padding:32px;text-align:center}.task-list{display:flex;flex-direction:column;gap:8px}.task-item{-webkit-tap-highlight-color:transparent;align-items:center;background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);color:#fafafa;color:var(--text);cursor:pointer;display:flex;font-size:15px;gap:14px;padding:16px;text-align:left;transition:all .2s;width:100%}.task-item:active{transform:scale(.98)}.task-done{background:#22c55e0a;border-color:#22c55e40}.task-check{flex-shrink:0;line-height:0}.task-emoji{flex-shrink:0;font-size:18px}.task-label{flex:1 1;font-weight:500}.photo-capture-btn{align-items:center;background:#141414;background:var(--bg-card);border:2px dashed #262626;border:2px dashed var(--border);border-radius:16px;border-radius:var(--radius);color:#a3a3a3;color:var(--text-secondary);cursor:pointer;display:flex;font-size:15px;gap:12px;padding:20px;transition:all .2s;width:100%}.photo-capture-btn:hover{border-color:#f97316;border-color:var(--accent);color:#fafafa;color:var(--text)}.photo-icon{font-size:24px}.photo-preview{overflow:hidden;position:relative}.photo-preview,.photo-preview img{border-radius:16px;border-radius:var(--radius)}.photo-preview img{display:block;width:100%}.photo-retake{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3!important;bottom:12px;position:absolute;right:12px;width:auto!important}.notes-input{background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);color:#fafafa;color:var(--text);font-family:inherit;font-size:15px;min-height:60px;outline:none;padding:14px;resize:vertical;transition:border-color .2s;width:100%}.notes-input:focus{border-color:#f97316;border-color:var(--accent)}.notes-input::placeholder{color:#525252;color:var(--text-muted)}.day-complete-banner{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #f9731633;border-radius:16px;border-radius:var(--radius);margin-top:24px;padding:28px 20px;text-align:center}.share-card-content h2{font-size:22px;margin:8px 0}.share-card-content p{color:#a3a3a3;color:var(--text-secondary);font-size:14px;margin-bottom:12px}.fire-emoji{font-size:40px}.share-tasks{display:flex;font-size:16px;gap:10px;justify-content:center;margin-bottom:8px}.share-hint{color:#525252!important;color:var(--text-muted)!important;font-size:12px!important;margin-bottom:0!important}.calendar-stats{display:flex;gap:20px;justify-content:center;margin-bottom:16px}.cal-stat{color:#a3a3a3;color:var(--text-secondary);font-size:13px;font-weight:500}.calendar-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr);margin-bottom:16px}.cal-day{-webkit-tap-highlight-color:transparent;align-items:center;aspect-ratio:1;background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:2px;transition:all .15s}.cal-day:hover:not(.cal-future){border-color:#f97316;border-color:var(--accent)}.cal-num{font-size:11px;font-weight:700;line-height:1}.cal-icon{font-size:10px;line-height:1;margin-top:1px}.cal-missed{background:#ef44440a;border-color:#ef444426}.cal-today{background:#f9731626;background:var(--accent-glow);border-color:#f97316;border-color:var(--accent)}.cal-future{cursor:default;opacity:.3}.calendar-legend{color:#525252;color:var(--text-muted);display:flex;font-size:12px;gap:16px;justify-content:center}.progress-hero{margin:20px 0 16px;text-align:center}.big-number{font-size:64px;font-weight:800;letter-spacing:-2px;line-height:1}.big-label{color:#a3a3a3;color:var(--text-secondary);display:block;font-size:14px;margin-top:4px}.progress-bar-container{background:#262626;background:var(--border);border-radius:5px;height:10px;margin-bottom:6px;overflow:hidden;width:100%}.progress-bar-container.small{height:5px;margin-bottom:0}.progress-bar{border-radius:5px;height:100%;transition:width .8s ease}.progress-pct{color:#a3a3a3;color:var(--text-secondary);font-size:13px;font-weight:600;margin-bottom:4px;text-align:center}.progress-stats{margin-top:20px}.task-stat{margin-bottom:16px}.task-stat-header{display:flex;font-size:13px;justify-content:space-between;margin-bottom:6px}.task-stat-pct{color:#a3a3a3;color:var(--text-secondary);font-weight:700}.photo-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:16px}.photo-card{border-radius:10px;border-radius:var(--radius-sm);overflow:hidden;position:relative}.photo-card img{aspect-ratio:3/4;display:block;object-fit:cover;width:100%}.photo-date{background:linear-gradient(#0000,#000000b3);bottom:0;font-size:12px;font-weight:600;left:0;padding:6px;position:absolute;right:0;text-align:center}.empty-view{padding:48px 20px;text-align:center}.empty-view.inline{padding:32px 20px}.empty-icon{font-size:48px;margin-bottom:16px}.empty-view h2{color:#fafafa;color:var(--text);font-size:20px;letter-spacing:normal;text-transform:none}.empty-view p{color:#a3a3a3;color:var(--text-secondary);font-size:15px;margin-bottom:20px}.form-group{margin-bottom:20px;max-width:100%;overflow:hidden}.form-group label{color:#a3a3a3;color:var(--text-secondary);display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.form-group input[type=number],.form-group input[type=text],.form-group textarea{background:#1a1a1a;background:var(--bg-input);border:1px solid #262626;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);color:#fafafa;color:var(--text);font-family:inherit;font-size:16px;outline:none;padding:14px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#f97316;border-color:var(--accent)}.form-group textarea{min-height:70px;resize:vertical}.task-edit-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.emoji-input{flex-shrink:0;text-align:center;width:50px!important}.task-label-input{flex:1 1}.form-actions{display:flex;gap:8px;margin-top:24px}.form-actions .btn{margin-top:0}.color-picker{display:flex;gap:10px}.color-dot{border:3px solid #0000;border-radius:50%;cursor:pointer;height:36px;transition:all .2s;width:36px}.color-dot.selected{border-color:#fff;transform:scale(1.15)}.modal-overlay{align-items:center;animation:fadeInFast .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:200}.modal-card{background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);box-sizing:border-box;max-width:360px;overflow:hidden;padding:28px 24px;width:100%}.modal-card h3{font-size:20px;margin-bottom:6px}.modal-card .btn{box-sizing:border-box;max-width:100%}.modal-desc{color:#a3a3a3;color:var(--text-secondary);font-size:14px;margin-bottom:20px}.date-input{appearance:none;background:#1a1a1a;background:var(--bg-input);border:1px solid #262626;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);box-sizing:border-box;color:#fafafa;color:var(--text);color-scheme:dark;font-family:inherit;font-size:16px;outline:none;padding:14px;width:100%}.date-input:focus{border-color:#f97316;border-color:var(--accent)}@keyframes fadeInFast{0%{opacity:0}to{opacity:1}}.install-banner{align-items:center;animation:slideUp .3s ease;background:#141414;background:var(--bg-card);border:1px solid #f97316;border:1px solid var(--accent);border-radius:16px;border-radius:var(--radius);bottom:calc(76px + env(safe-area-inset-bottom, 0px));bottom:calc(var(--nav-height) + var(--safe-bottom) + 8px);box-shadow:0 8px 32px #00000080;display:flex;gap:12px;justify-content:space-between;left:12px;margin:0 auto;max-width:456px;padding:14px 16px;position:fixed;right:12px;z-index:99}.install-banner-content{align-items:center;display:flex;flex:1 1;gap:10px}.install-banner-icon{flex-shrink:0;font-size:28px}.install-banner-text strong{display:block;font-size:14px;margin-bottom:1px}.install-banner-text p{color:#525252;color:var(--text-muted);font-size:12px;margin:0}.install-banner-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.install-banner-actions .btn-small{margin:0;padding:8px 16px;width:auto}.install-instructions{background:#141414;background:var(--bg-card);border:1px solid #262626;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);padding:12px}.install-instructions p{margin-bottom:6px}.install-instructions p:last-child{margin-bottom:0}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.about-section{padding-top:20px;text-align:center}.main-content::-webkit-scrollbar{width:0}@supports (padding:max(0px)){.bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}}@media (min-width:481px){.app{border-left:1px solid #262626;border-left:1px solid var(--border);border-right:1px solid #262626;border-right:1px solid var(--border)}}.task-done{animation:checkPop .25s ease}@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.015)}to{transform:scale(1)}}.premium-locked{border:1px dashed var(--muted)!important;opacity:.85}.premium-locked:hover{border-color:#f97316!important;color:#f97316}.premium-teaser{padding:16px 0;text-align:center}.premium-teaser .muted{margin-bottom:12px}.premium-badge-inline{color:#f97316;font-weight:600;margin-bottom:8px}
/*# sourceMappingURL=main.be268b87.css.map*/