:root[data-theme=light]{--bg-primary:#f5f5f5;--bg-secondary:#fff;--text-primary:#212121;--text-secondary:#757575;--border-color:#e0e0e0;--shadow:#00000014;--button-bg:#1976d2;--button-hover:#1565c0;--button-text:#fff}:root[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1e1e1e;--text-primary:#e0e0e0;--text-secondary:#b0b0b0;--border-color:#333;--shadow:#0000004d;--button-bg:#90caf9;--button-hover:#64b5f6;--button-text:#000}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:var(--bg-primary);font-family:Segoe UI,Arial,sans-serif;min-height:100vh}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow);justify-content:space-between;padding:16px 32px;position:sticky;top:0;z-index:100}.app-header,.header-content{align-items:center;display:flex}.header-content{gap:32px}.app-header h1{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}nav.navigation{display:flex;gap:8px}nav.navigation a{border-radius:8px;color:var(--text-primary);font-weight:500;padding:10px 16px;position:relative;text-decoration:none;transition:all .2s ease}nav.navigation a:hover{background-color:var(--bg-primary);color:var(--button-bg)}nav.navigation a.active{background-color:var(--button-bg);color:var(--button-text)}nav.navigation a:active{transform:scale(.98)}.main-content{margin:0 auto;max-width:1200px;padding:32px 24px}@media (max-width:768px){.app-header{flex-wrap:wrap;padding:12px 16px}.header-content{gap:16px}.app-header h1{font-size:1.25rem}nav.navigation{gap:4px}nav.navigation a{font-size:.9rem;padding:8px 12px}.main-content{padding:24px 16px}}.theme-toggle{align-items:center;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;transition:all .2s ease;width:44px}.theme-toggle:hover{border-color:var(--button-bg);transform:scale(1.1)}.theme-toggle:active{transform:scale(.95)}.about-page{background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px var(--shadow);line-height:1.7;margin:0 auto;max-width:800px;padding:32px}.about-page h2{color:var(--text-primary);font-size:1.75rem;font-weight:600;margin-bottom:20px}.about-page p{color:var(--text-secondary);font-size:1.05rem;margin-bottom:16px}@media (max-width:768px){.about-page{padding:24px}.about-page h2{font-size:1.5rem}.about-page p{font-size:1rem}}.habit-form-container{background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px var(--shadow);margin-bottom:32px;padding:24px}.form-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 20px}.habit-form{flex-direction:column}.form-row,.habit-form{display:flex;gap:16px}.form-row-split{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-field{display:flex;flex:1 1;flex-direction:column;gap:6px}.form-label{font-size:.875rem;font-weight:500;margin-bottom:2px}.form-input,.form-label{color:var(--text-primary)}.form-input{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:15px;padding:12px 16px;transition:all .2s ease}.form-input:focus{border-color:var(--button-bg);box-shadow:0 0 0 3px #1976d21a;outline:none}.form-input::placeholder{color:var(--text-secondary);opacity:.6}.submit-button{align-items:center;background:var(--button-bg);border:none;border-radius:8px;color:var(--button-text);cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:14px 24px;transition:all .2s ease}.submit-button:hover{background:var(--button-hover);box-shadow:0 4px 12px var(--shadow);transform:translateY(-1px)}.submit-button:active{transform:translateY(0)}.submit-button span{font-size:20px;font-weight:700}.habit-list-container{margin-top:32px}.list-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 24px}.habit-date-group{margin-bottom:32px}.habit-date-group:last-child{margin-bottom:0}.date-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.date-title{color:var(--text-primary);font-size:1.15rem;font-weight:600;margin:0}.habit-count{background:var(--bg-primary);border-radius:12px;color:var(--text-secondary);font-size:.9rem;font-weight:500;padding:4px 12px}.habit-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.habit-card{background:var(--bg-secondary);border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px var(--shadow);padding:20px;transition:all .2s ease}.habit-card:hover{border-color:var(--border-color);box-shadow:0 4px 16px var(--shadow);transform:translateY(-2px)}.habit-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.habit-name{color:var(--text-primary);flex:1 1;font-size:1.1rem;font-weight:600;margin:0;word-break:break-word}.habit-status{border-radius:20px;flex-shrink:0;font-size:.85rem;font-weight:600;padding:6px 12px;white-space:nowrap}.status-completed{background:#c8e6c9;color:#256029}.status-todo{background:#fff9c4;color:#8d6e00}.status-notcompleted{background:#ffcdd2;color:#b71c1c}.status-skipped{background:#e0e0e0;color:#424242}.habit-list-empty{background:var(--bg-secondary);border-radius:12px;color:var(--text-secondary);margin-top:32px;padding:60px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.habit-list-empty p{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 8px}.habit-list-empty span{font-size:.95rem;opacity:.7}@media (max-width:768px){.habit-form-container{padding:20px}.form-row-split{grid-template-columns:1fr}.habit-date-group{margin-bottom:24px}.date-header{align-items:flex-start;flex-direction:column;gap:8px}.date-title{font-size:1rem}.habit-list{grid-template-columns:1fr}.habit-card{padding:16px}.habit-card-header{align-items:flex-start;flex-direction:column}.habit-status{align-self:flex-start}}@media (max-width:480px){.form-title,.list-title{font-size:1.1rem}.habit-form-container{padding:16px}.submit-button{font-size:15px;padding:12px 20px}}.form-actions{display:flex;gap:12px;margin-top:8px}.cancel-button{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s ease}.cancel-button:hover{background:var(--bg-secondary);border-color:var(--button-bg)}.submit-button{flex:1 1}.category-filter{background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px var(--shadow);margin-bottom:32px;padding:20px}.filter-label{color:var(--text-primary);display:block;font-size:.95rem;font-weight:600;margin-bottom:12px}.category-buttons{display:flex;flex-wrap:wrap;gap:8px}.category-filter-btn{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:20px;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.category-filter-btn:hover{box-shadow:0 2px 8px var(--shadow);transform:translateY(-1px)}.category-filter-btn.active{box-shadow:0 2px 8px var(--shadow);font-weight:600}.habit-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.category-badge{align-self:flex-start;border-radius:12px;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 10px}.habit-card-actions{border-top:1px solid var(--border-color);display:flex;gap:8px;margin-top:12px;padding-top:12px}.action-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:8px 12px;transition:all .2s ease}.edit-btn{background:#e3f2fd;color:#1976d2}.edit-btn:hover{background:#bbdefb;transform:translateY(-1px)}.delete-btn{background:#ffebee;color:#c62828}.delete-btn:hover{background:#ffcdd2;transform:translateY(-1px)}.action-btn:active{transform:translateY(0)}@media (max-width:768px){.category-buttons{flex-direction:column}.category-filter-btn{text-align:left;width:100%}.form-actions,.habit-card-actions{flex-direction:column}}.trends-page{margin:0 auto;max-width:1400px}.trends-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 32px}.trends-empty{background:var(--bg-secondary);border-radius:12px;padding:80px 20px;text-align:center}.trends-empty .empty-icon{font-size:5rem;margin-bottom:20px;opacity:.5}.trends-empty h2{color:var(--text-primary);font-size:1.5rem;margin:0 0 12px}.trends-empty p{color:var(--text-secondary);font-size:1.05rem}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:40px}.stat-card{align-items:center;background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px var(--shadow);display:flex;gap:20px;padding:24px;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 16px var(--shadow);transform:translateY(-2px)}.stat-icon{font-size:2.5rem;line-height:1}.stat-content{flex:1 1}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1;margin-bottom:6px}.stat-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.insights-section{margin-bottom:40px}.section-title{color:var(--text-primary);font-size:1.35rem;font-weight:600;margin:0 0 20px}.insights-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.insight-card{background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px var(--shadow);padding:20px;position:relative}.insight-card h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 12px}.insight-stat{color:var(--button-bg);font-size:1.5rem;font-weight:700;margin-bottom:8px}.insight-rank{align-items:center;background:var(--button-bg);border-radius:50%;color:var(--button-text);display:flex;font-size:.9rem;font-weight:700;height:32px;justify-content:center;position:absolute;right:16px;top:16px;width:32px}.streak-badge{background:#fff3e0;border-radius:16px;color:#e65100;display:inline-block;font-size:.85rem;font-weight:600;margin-top:8px;padding:6px 12px}.insight-help{color:var(--text-secondary);font-size:.9rem;margin-top:8px}.breakdown-section{margin-bottom:40px}.habits-table{background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px var(--shadow);overflow:hidden}.table-header,.table-row{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:2fr .8fr 1.5fr 1.2fr 1fr;padding:16px 20px}.table-header{background:var(--bg-primary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table-row{border-bottom:1px solid var(--border-color);transition:background .2s ease}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--bg-primary)}.habit-name-cell{color:var(--text-primary);font-weight:600;margin-bottom:4px}.habit-meta{color:var(--text-secondary);font-size:.85rem}.days-badge{background:var(--bg-primary);border-radius:12px;color:var(--text-primary);display:inline-block;font-size:.9rem;font-weight:600;padding:4px 12px}.progress-bar-container{background:var(--bg-primary);border-radius:4px;height:8px;margin-bottom:4px;overflow:hidden;width:100%}.progress-bar{border-radius:4px;height:100%;transition:width .3s ease}.progress-bar.excellent{background:linear-gradient(90deg,#4caf50,#66bb6a)}.progress-bar.good{background:linear-gradient(90deg,#2196f3,#42a5f5)}.progress-bar.fair{background:linear-gradient(90deg,#ff9800,#ffa726)}.progress-bar.needs-work{background:linear-gradient(90deg,#f44336,#ef5350)}.progress-label{font-size:.85rem}.progress-label,.streak-indicator{color:var(--text-primary);font-weight:600}.streak-indicator{align-items:center;display:inline-flex;gap:4px}.longest-streak{font-size:.8rem;font-weight:400}.longest-streak,.no-streak{color:var(--text-secondary)}.trend-badge{border-radius:16px;display:inline-block;font-size:.85rem;font-weight:600;padding:6px 12px}.trend-improving{background:#c8e6c9;color:#256029}.trend-stable{background:#e3f2fd;color:#0d47a1}.trend-declining{background:#ffcdd2;color:#b71c1c}@media (max-width:1024px){.table-header,.table-row{gap:12px;grid-template-columns:2fr .7fr 1.2fr 1fr .9fr;padding:14px 16px}}@media (max-width:768px){.trends-title{font-size:1.5rem;margin-bottom:24px}.stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:20px}.stat-icon{font-size:2rem}.stat-value{font-size:1.5rem}.insights-grid{grid-template-columns:1fr}.table-header{display:none}.table-row{gap:12px;grid-template-columns:1fr;padding:20px}.col-days,.col-habit,.col-rate,.col-streak,.col-trend{align-items:center;display:flex;justify-content:space-between}.col-habit{align-items:flex-start;flex-direction:column}.col-habit:before{display:none}.col-days:before{content:"Days Tracked:"}.col-days:before,.col-rate:before{color:var(--text-secondary);font-size:.85rem;font-weight:600}.col-rate:before{content:"Completion:"}.col-streak:before{content:"Current Streak:"}.col-streak:before,.col-trend:before{color:var(--text-secondary);font-size:.85rem;font-weight:600}.col-trend:before{content:"Trend:"}.progress-bar-container{max-width:150px}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.progress-bar-wrapper{display:flex;flex-direction:column;gap:6px;width:100%}.progress-bar-header{align-items:center;display:flex;justify-content:space-between}.progress-bar-label{color:var(--text-primary);font-size:.875rem;font-weight:500}.progress-bar-percent{color:var(--text-secondary);font-size:.875rem;font-weight:600}.progress-bar-track{background:var(--border-color);border-radius:999px;height:10px;overflow:hidden;width:100%}.stat-progress{margin-top:8px}.progress-bar-fill{background:var(--button-bg);border-radius:999px;height:100%;transition:width .4s ease}.summary-section{margin-bottom:32px}@media (max-width:768px){.summary-section .stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.summary-section .stats-grid{gap:12px;grid-template-columns:1fr}}
/*# sourceMappingURL=main.fac693e0.css.map*/