:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f8f9fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh}:root{--primary-color: #2563eb;--primary-light: #3b82f6;--success-color: #059669;--failure-color: #dc2626;--background-color: #f1f5f9;--card-background: white;--text-primary: #1e293b;--text-secondary: #64748b;--border-radius: 12px;--transition-speed: .2s}.container{max-width:800px;margin:0 auto;padding:2rem;font-family:system-ui,-apple-system,sans-serif;color:var(--text-primary)}header{text-align:center;margin-bottom:3rem;animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}h1{color:var(--primary-color);font-size:2.75rem;margin-bottom:1rem;font-weight:800;letter-spacing:-.025em;line-height:1.2}.mission-statement{font-size:1.1rem;color:var(--text-secondary);line-height:1.6;max-width:600px;margin:0 auto}.status-section{margin-bottom:3rem;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.status-card{background:var(--card-background);padding:2rem;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000001a,0 10px 15px -3px #0000000d;transition:transform var(--transition-speed),box-shadow var(--transition-speed)}.status-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a,0 12px 20px -3px #0000000d}h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.status{font-size:.95rem;font-weight:600;margin:.75rem 0;padding:.6rem;border-radius:var(--border-radius);line-height:1.3;text-align:center}.success{color:var(--success-color)}.failure{color:var(--failure-color)}.streak{font-size:1.2rem;color:var(--primary-color);font-weight:600;padding:.75rem 1rem;border-radius:var(--border-radius);display:block;text-align:center;margin:0 auto}.day-entry{margin-bottom:1.5rem;animation:fadeIn .5s ease-out backwards}.date-header{font-size:1.3rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary);border-bottom:2px solid var(--background-color);padding-bottom:.5rem}.session-details{display:grid;gap:1rem}.workout-details,.sauna-details{display:grid;grid-template-columns:100px minmax(200px,1fr) minmax(200px,1fr) auto;gap:1rem;align-items:center;padding:1rem;background:var(--background-color);border-radius:var(--border-radius);transition:background-color var(--transition-speed)}.workout-details span,.sauna-details span{white-space:nowrap}.workout-details:hover,.sauna-details:hover{background:#e2e8f0}.label{font-weight:600;color:var(--primary-color);background:#dbeafe;padding:.5rem 1rem;border-radius:var(--border-radius)}.time-info{text-align:center;margin-top:1.5rem;color:var(--text-secondary);font-size:.9rem}@media (max-width: 640px){.container{padding:1rem}h1{font-size:2rem}.mission-statement{font-size:1rem}.workout-details,.sauna-details{grid-template-columns:1fr;gap:.75rem}.workout-details span,.sauna-details span{white-space:normal}.status-card{padding:1.5rem}}.waiting{color:var(--primary-light);background:#eff6ff}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:.5rem}.total-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem;background:var(--card-background);border-radius:var(--border-radius);box-shadow:0 1px 3px #0000001a,0 10px 15px -3px #0000000d;transition:transform var(--transition-speed),box-shadow var(--transition-speed)}.total-item:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a,0 12px 20px -3px #0000000d;background:var(--card-background)}.total-item .label{font-weight:600;color:var(--text-secondary);background:none;padding:0;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.total-item .value{font-size:2.5rem;font-weight:800;color:var(--primary-color);line-height:1.2}.total-item .unit{font-size:1rem;color:var(--text-secondary);margin-top:.25rem}@media (max-width: 768px){.totals{grid-template-columns:repeat(2,1fr)}.totals .total-item:last-child{grid-column:1 / -1}}@media (max-width: 640px){.totals{grid-template-columns:1fr}.totals .total-item:last-child{grid-column:auto}.total-item{padding:1.5rem}.total-item .value{font-size:2rem}}.section-divider{border:none;border-top:2px solid var(--background-color);margin:2rem 0;width:100%;opacity:.8}.year-view{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:2rem 0}.calendar{background:var(--card-background);border-radius:var(--border-radius);padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:transform var(--transition-speed),box-shadow var(--transition-speed);cursor:pointer}.calendar:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.calendar-month{text-align:center;margin-bottom:1rem;color:var(--primary-color);font-size:1.1rem;font-weight:600}.calendar-grid{display:flex;flex-direction:column;gap:.5rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.calendar-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-date{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;border-radius:4px;cursor:default;transition:background-color var(--transition-speed)}.calendar-date.empty{background:transparent}.calendar-date.complete{background:var(--success-color);color:#fff}.calendar-date.partial{background:var(--primary-light);color:#fff}@media (max-width: 1024px){.year-view{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.year-view{grid-template-columns:1fr}.calendar{padding:1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:var(--card-background);border-radius:var(--border-radius);padding:2rem;width:90%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a,0 12px 20px -3px #0000000d;animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.modal-header h2{margin:0;color:var(--primary-color)}.close-button{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;line-height:1;transition:color var(--transition-speed)}.close-button:hover{color:var(--text-primary)}.modal-body{position:relative;width:100%;height:400px;margin-bottom:1rem}@media (max-width: 640px){.modal-content{padding:1rem;width:95%}.modal-body{height:300px}}
