@import"https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--bg-primary: #0a0a0b;--bg-secondary: #141416;--bg-tertiary: #1c1c1f;--bg-elevated: #232328;--bg-overlay: rgba(10, 10, 11, .92);--text-primary: #f5f4f1;--text-secondary: #a8a5a0;--text-tertiary: #6b6966;--text-muted: #4a4845;--accent: #d4a853;--accent-hover: #e4bc6a;--accent-muted: rgba(212, 168, 83, .15);--accent-glow: rgba(212, 168, 83, .3);--success: #4ade80;--success-muted: rgba(74, 222, 128, .15);--warning: #fbbf24;--error: #f87171;--border: #2a2a2e;--border-subtle: #1f1f22;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-glow: 0 0 24px var(--accent-glow);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--font-display: "Crimson Pro", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--nav-height: 72px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary)}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.25rem;font-weight:600}h4{font-size:1.1rem;font-weight:500}p{color:var(--text-secondary);margin-bottom:0}strong{font-weight:600;color:var(--text-primary)}button{font-family:var(--font-body);font-size:.9375rem;font-weight:500;padding:.75rem 1.25rem;border-radius:var(--radius-md);border:none;background-color:var(--accent);color:var(--bg-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:hover{background-color:var(--accent-hover);transform:translateY(-1px)}button:active{transform:translateY(0) scale(.98)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}button.secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}button.secondary:hover{background-color:var(--bg-elevated);border-color:var(--text-tertiary)}button.ghost{background-color:transparent;color:var(--text-secondary);padding:.5rem}button.ghost:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}button.icon-btn{width:44px;height:44px;padding:0;border-radius:var(--radius-lg)}button.small{font-size:.8125rem;padding:.5rem .875rem}input[type=text],input[type=email],input[type=url],input[type=number],textarea{font-family:var(--font-body);font-size:1rem;padding:.875rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--bg-tertiary);color:var(--text-primary);width:100%;transition:all .2s ease;-webkit-appearance:none}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical;min-height:100px}input[type=checkbox]{width:24px;height:24px;min-width:24px;border-radius:var(--radius-sm);border:2px solid var(--border);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--bg-tertiary);transition:all .2s ease;position:relative;flex-shrink:0}input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:12px;border:solid var(--bg-primary);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}input[type=checkbox].missed{background-color:var(--error);border-color:var(--error)}input[type=checkbox].missed:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:2px;background-color:var(--bg-primary);transform:translate(-50%,-50%) rotate(45deg);border:none}input[type=checkbox].missed:before{content:"";position:absolute;left:50%;top:50%;width:10px;height:2px;background-color:var(--bg-primary);transform:translate(-50%,-50%) rotate(-45deg);border:none}input[type=checkbox]:focus{box-shadow:0 0 0 3px var(--accent-muted)}.card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid var(--border-subtle);transition:all .2s ease}.card-elevated{background-color:var(--bg-tertiary);box-shadow:var(--shadow-md)}.container{width:100%;max-width:680px;margin:0 auto;padding-top:env(safe-area-inset-top,0px);padding-left:var(--space-md);padding-right:var(--space-md);padding-bottom:calc(var(--nav-height) + var(--safe-area-bottom) + var(--space-xl))}.page-header{padding:var(--space-lg) 0 var(--space-xl);text-align:center}.page-header h1{margin-bottom:var(--space-xs)}.page-header p{font-size:.9375rem}.progress-bar-container{display:flex;align-items:center;gap:var(--space-md)}.progress-bar{flex:1;height:8px;background-color:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:var(--radius-full);transition:width .5s cubic-bezier(.4,0,.2,1);position:relative}.progress-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);min-width:2.5rem;text-align:right}.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--space-sm) 0;-webkit-tap-highlight-color:transparent}.checkbox-label span{padding-top:2px;line-height:1.4}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.text-accent{color:var(--accent)}.text-muted{color:var(--text-tertiary)}.text-success{color:var(--success)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-up{animation:slideUp .3s ease-out}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}@media print{body{background-color:#fff;color:#000}.no-print{display:none!important}.card{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}}@media(min-width:768px){:root{--nav-height: 0px}h1{font-size:2.5rem}h2{font-size:1.75rem}.container{padding:var(--space-xl);padding-bottom:var(--space-2xl)}}.monthly-view{display:flex;flex-direction:column;gap:var(--space-xl)}.month-summary{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid var(--accent-muted)}.summary-row{display:flex;justify-content:space-around;flex-wrap:wrap;gap:var(--space-md)}.summary-stat{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;min-width:80px}.summary-stat .stat-value{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--accent);line-height:1}.summary-stat .stat-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-xs)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.section-header h2{margin:0;font-size:1.25rem}.collapsible-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:color .2s ease;margin-bottom:var(--space-md)}.collapsible-header:hover{color:var(--accent)}.collapsible-header span{flex:1}.collapsible-header .chevron{flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1);color:var(--text-tertiary)}.collapsible-header:hover .chevron{color:var(--accent)}.collapsible-header .chevron.collapsed{transform:rotate(-90deg)}.section-content{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.section-content.collapsed{grid-template-rows:0fr}.section-content-inner{min-height:0;overflow:hidden}.habits-section h2{font-size:1.25rem}.habits-table{background-color:var(--bg-secondary);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-subtle)}.habits-header,.habit-row{display:grid;grid-template-columns:50px minmax(120px,2fr) 1fr 1fr 1fr;gap:2px;align-items:center}.habits-header{background-color:var(--bg-tertiary);padding:var(--space-sm) var(--space-md);font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.habit-row{padding:var(--space-md);border-top:1px solid var(--border-subtle)}.habit-row:hover{background-color:var(--bg-tertiary)}.habit-week-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.habit-col{display:flex;justify-content:center;align-items:center}.habit-icon{font-weight:600;font-size:.6875rem}.habit-col input[type=checkbox]{width:26px;height:26px}.habit-col-wide{display:flex;align-items:flex-start;justify-content:flex-start}.kids-col{display:flex;flex-direction:column;gap:var(--space-sm);width:100%}.kid-checkbox{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.kid-checkbox input[type=checkbox]{width:24px;height:24px;min-width:24px;flex-shrink:0}.kid-checkbox span{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.close-rate-col{min-width:50px}.close-rate-input{width:100%;max-width:50px;padding:var(--space-xs);font-size:.75rem;text-align:center;background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);-moz-appearance:textfield}.close-rate-input::-webkit-outer-spin-button,.close-rate-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.close-rate-input:focus{outline:none;border-color:var(--accent)}.habits-legend{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);margin-top:var(--space-md);font-size:.75rem;color:var(--text-tertiary)}.habits-legend span{display:inline-flex;gap:var(--space-xs)}.habits-legend strong{color:var(--text-secondary)}.work-metrics-section h2{font-size:1.25rem}.metrics-table{background-color:var(--bg-secondary);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-subtle)}.metrics-header,.metric-row{display:grid;grid-template-columns:50px 1fr 1fr 60px 1fr;gap:2px;align-items:center}.metrics-header{background-color:var(--bg-tertiary);padding:var(--space-sm) var(--space-md);font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.metric-row{padding:var(--space-md);border-top:1px solid var(--border-subtle)}.metric-row:hover{background-color:var(--bg-tertiary)}.metric-row.totals-row{background-color:var(--bg-tertiary);border-top:2px solid var(--border);font-weight:600}.metric-row.totals-row:hover{background-color:var(--bg-elevated)}.metric-week-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.metric-col{display:flex;justify-content:center;align-items:center}.metric-ratio{font-size:.875rem;color:var(--text-secondary);font-weight:500}.metric-input{width:100%;max-width:80px;padding:var(--space-sm) var(--space-md);font-size:.875rem;text-align:center;background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;transition:all .2s ease}.metric-input::-webkit-outer-spin-button,.metric-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.metric-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.metric-input::placeholder{color:var(--text-muted)}.posts-list{display:flex;flex-direction:column;gap:var(--space-md)}.post-item{display:flex;flex-direction:column;gap:var(--space-sm)}.post-header{display:flex;justify-content:space-between;align-items:center}.post-channel{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background-color:var(--bg-tertiary);color:var(--text-secondary)}.post-channel.social-good{background-color:var(--accent-muted);color:var(--accent)}.post-channel.professional-engineering{background-color:var(--success-muted);color:var(--success)}.post-date{font-size:.8125rem;color:var(--text-tertiary)}.post-url{font-size:.8125rem;color:var(--accent);text-decoration:none;word-break:break-all;display:block;margin-top:var(--space-xs)}.post-url:hover{text-decoration:underline}.post-url-placeholder{font-size:.8125rem;color:var(--text-muted);font-style:italic;margin-top:var(--space-xs)}.books-list{display:flex;flex-direction:column;gap:var(--space-md)}.book-item{display:flex;align-items:flex-start;gap:var(--space-md)}.book-item.completed .book-title{text-decoration:line-through;color:var(--text-tertiary)}.book-status{flex-shrink:0;padding-top:2px}.book-details{flex:1;display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.book-title{font-weight:600;color:var(--text-primary)}.book-author{font-size:.9375rem;color:var(--text-secondary)}.book-category{font-size:.75rem;color:var(--text-tertiary);text-transform:capitalize}.editable-text{cursor:pointer;padding:2px 4px;margin:-2px -4px;border-radius:var(--radius-sm);transition:background-color .2s ease;display:inline-block;max-width:100%}.editable-text:hover{background-color:var(--bg-tertiary)}.editable-text.placeholder{color:var(--text-muted);font-style:italic}.editable-input{font-family:inherit;font-size:inherit;font-weight:inherit;padding:2px 4px;margin:-2px -4px;border:1px solid var(--accent);border-radius:var(--radius-sm);background-color:var(--bg-tertiary);color:inherit;width:calc(100% + 8px)}.editable-input:focus{outline:none;box-shadow:0 0 0 2px var(--accent-muted)}.add-form{margin-bottom:var(--space-md)}.add-form h4{margin-bottom:var(--space-md);font-size:1rem}.form-row{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.form-row label{font-size:.875rem;color:var(--text-secondary)}.form-row select{font-family:var(--font-body);font-size:1rem;padding:var(--space-md);background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a8a5a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;padding-right:calc(var(--space-md) * 2 + 12px)}.form-row select:focus{outline:none;border-color:var(--accent)}.form-actions{display:flex;gap:var(--space-sm)}.form-actions button{flex:1}.empty-section{text-align:center;padding:var(--space-xl)}.empty-section p{color:var(--text-tertiary);font-size:.9375rem}.delete-btn{align-self:flex-start;color:var(--text-tertiary);font-size:.8125rem}.delete-btn:hover{color:var(--error);background-color:#f871711a}@media(min-width:768px){.summary-stat .stat-value{font-size:2.5rem}.habits-header,.habit-row{grid-template-columns:80px minmax(150px,2fr) 1fr 1fr 1fr}.metrics-header,.metric-row{grid-template-columns:80px 1fr 1fr 60px 1fr}.metric-input{max-width:100px}.book-item{flex-direction:row;align-items:center}.delete-btn{margin-left:auto}}@media print{.monthly-view{padding:0}.habits-table{border:1px solid #ddd}.card{border:1px solid #ddd;box-shadow:none}}.notes-textarea{width:100%;min-height:120px;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.9375rem;line-height:1.6;resize:vertical;transition:border-color .2s ease}.notes-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.notes-textarea::placeholder{color:var(--text-tertiary)}.journal-actions{display:flex;gap:var(--space-md);flex-wrap:wrap}.journal-btn{padding:var(--space-md) var(--space-lg);background-color:var(--accent);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1;min-width:150px}.journal-btn:hover{background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.journal-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}@media(max-width:767px){.journal-actions{flex-direction:column}.journal-btn{width:100%}}.fitness-section h2{font-size:1.25rem}.fitness-content{display:flex;flex-direction:column;gap:var(--space-xl)}.fitness-group{display:flex;flex-direction:column;gap:var(--space-md)}.fitness-group h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.fitness-metrics{display:flex;gap:var(--space-lg);flex-wrap:wrap}.fitness-metric{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:150px}.fitness-metric label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.fitness-metric .fitness-input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-size:1rem;font-weight:600}.fitness-metric .fitness-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.fitness-target{font-size:.875rem;color:var(--text-tertiary);margin-top:var(--space-xs)}.skating-skills-list{display:flex;flex-direction:column;gap:var(--space-sm)}.fitness-checkbox{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);transition:background-color .2s ease}.fitness-checkbox:hover{background-color:var(--bg-tertiary)}.fitness-checkbox input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:0;align-self:center}.fitness-checkbox input[type=checkbox]:checked:after{left:6px;top:2px;width:5px;height:10px}.fitness-checkbox span{font-size:.9375rem;color:var(--text-primary);-webkit-user-select:none;user-select:none}@media(max-width:767px){.fitness-metrics{flex-direction:column}.fitness-metric{min-width:100%}}.goals-section h2,.notes-section h2,.journal-section h2{font-size:1.25rem}.goals-list{display:flex;flex-direction:column;gap:var(--space-sm)}.goal-checkbox{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);transition:background-color .2s ease}.goal-checkbox:hover{background-color:var(--bg-tertiary)}.goal-checkbox input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:0;align-self:center}.goal-checkbox input[type=checkbox]:checked:after{left:6px;top:2px;width:5px;height:10px}.goal-checkbox span{font-size:.9375rem;color:var(--text-primary);-webkit-user-select:none;user-select:none}.overview{display:flex;flex-direction:column;gap:var(--space-lg)}.overview-header{text-align:center;padding-top:env(safe-area-inset-top,0px);padding-left:calc(var(--space-md) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-md) + env(safe-area-inset-right,0px));padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-subtle)}.overview-header h1{margin-bottom:var(--space-sm);font-size:1.75rem}.theme{font-size:1.125rem;margin:0;color:var(--text-primary)}.theme strong{color:var(--accent);font-weight:600}.theme-subtitle{font-size:.9375rem;color:var(--text-secondary);font-style:italic;max-width:500px;margin:var(--space-sm) auto 0;line-height:1.5}section.card{background-color:var(--bg-secondary);border:1px solid var(--border-subtle)}section.card h2{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle);font-size:1.125rem}.life-events,.fitness-goals,.career-goals{display:flex;flex-direction:column;gap:var(--space-md)}.life-event,.fitness-item,.career-item{padding:var(--space-md);background-color:var(--bg-tertiary);border-radius:var(--radius-md)}.completion-link{color:var(--text-secondary);font-size:.875rem}.link-button{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit;transition:color .2s ease}.link-button:hover{color:var(--accent-hover);text-decoration:none}.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.checkbox-label input[type=checkbox]{margin-top:2px;flex-shrink:0}.checkbox-label span{line-height:1.5}.note{margin:var(--space-sm) 0 0 0;font-size:.8125rem;color:var(--text-tertiary);font-style:italic;padding-left:calc(24px + var(--space-md))}.progress-bar-container{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.progress-bar{flex:1;height:8px;background-color:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:var(--radius-full);transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-bar-fill span{display:none}.progress-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);min-width:3rem;text-align:right}.skating-skills{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.skating-skills span{padding:var(--space-xs) var(--space-md);background-color:var(--bg-secondary);border-radius:var(--radius-full);font-size:.8125rem;color:var(--text-secondary);text-transform:capitalize}.skating-skills span.completed{background-color:var(--success);color:var(--bg-primary)}.skating-skills span{position:relative}.link-button-inline{background:none;border:none;padding:0;margin-left:var(--space-xs);color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;opacity:.8;transition:opacity .2s ease;text-decoration:none}.link-button-inline:hover{opacity:1;text-decoration:underline}.book-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.book-category{display:flex;flex-direction:column;align-items:center;padding:var(--space-md);background-color:var(--bg-tertiary);border-radius:var(--radius-md);text-align:center}.book-category span:first-child{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--accent);margin-bottom:var(--space-xs)}.book-category span:last-child{font-size:.75rem;color:var(--text-tertiary);text-transform:capitalize}.goal-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-md)}.goal-list li{padding:var(--space-md);background-color:var(--bg-tertiary);border-radius:var(--radius-md)}.milestone-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.milestone-list li{padding:var(--space-sm) var(--space-md);background-color:var(--bg-secondary);border-radius:var(--radius-sm)}.stretch-goal{margin-top:var(--space-lg);padding:var(--space-md);background-color:var(--bg-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--warning)}.metrics-summary{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--accent-muted) 100%);border:1px solid var(--accent-muted)}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.metric{text-align:center;padding:var(--space-md);background-color:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.metric-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--accent);margin-bottom:var(--space-xs);line-height:1}.metric-label{font-size:.6875rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}@media(min-width:768px){.overview-header h1{font-size:2rem}.book-categories{grid-template-columns:repeat(4,1fr)}.metrics-grid{grid-template-columns:repeat(6,1fr)}.metric-value{font-size:2rem}.metric-label{font-size:.75rem}}@media print{section.card{page-break-inside:avoid;margin-bottom:var(--space-lg)}.overview-header{margin-bottom:var(--space-lg)}section.card h2{font-size:1.125rem}}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--bg-overlay);z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-md);animation:fadeIn .2s ease-out}.settings-panel{background-color:var(--bg-secondary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:500px;max-height:85vh;max-height:85dvh;overflow-y:auto;border:1px solid var(--border);border-bottom:none}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;background-color:var(--bg-secondary);z-index:1}.settings-header h2{margin:0}.settings-content{padding:var(--space-md)}.settings-section{padding:var(--space-lg) 0;border-bottom:1px solid var(--border-subtle)}.settings-section:last-child{border-bottom:none}.settings-section h3{margin-bottom:var(--space-md);font-size:1.1rem}.section-description{font-size:.875rem;color:var(--text-tertiary);margin-bottom:var(--space-lg);line-height:1.5}.settings-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.backup-actions{display:flex;flex-direction:column;gap:var(--space-md)}.backup-btn,.backup-actions .secondary{width:100%}.about-info{display:flex;flex-direction:column;gap:var(--space-xs)}.about-info p{margin:0}.about-info .version{font-size:.8125rem;color:var(--text-muted);margin-top:var(--space-sm)}@media(min-width:768px){.settings-overlay{align-items:center;padding:var(--space-xl)}.settings-panel{border-radius:var(--radius-xl);max-height:80vh;border-bottom:1px solid var(--border)}.backup-actions{flex-direction:row}.backup-btn,.backup-actions .secondary{flex:1}}.backup-reminder{padding:var(--space-sm) var(--space-md);padding-top:calc(var(--space-sm) + env(safe-area-inset-top,0px))}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:slideDown .3s ease-out}.backup-reminder-content{display:flex;align-items:center;gap:var(--space-md);background:linear-gradient(135deg,var(--accent-muted) 0%,var(--bg-secondary) 100%);border:1px solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-md);max-width:600px;margin:0 auto;box-shadow:var(--shadow-lg)}.backup-reminder-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--accent);color:var(--bg-primary);border-radius:var(--radius-md);flex-shrink:0}.backup-reminder-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.backup-reminder-text strong{font-size:.9375rem;color:var(--text-primary)}.backup-reminder-text span{font-size:.8125rem;color:var(--text-secondary)}.backup-reminder-actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.backup-now-btn{background-color:var(--accent);color:var(--bg-primary)}.dismiss-btn{color:var(--text-tertiary);padding:var(--space-sm)}.dismiss-btn:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}@media(max-width:480px){.backup-reminder-content{flex-wrap:wrap}.backup-reminder-text{flex:1 1 calc(100% - 56px)}.backup-reminder-actions{flex:1 1 100%;justify-content:flex-end;margin-top:var(--space-sm)}}@media print{.backup-reminder{display:none}}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--bg-primary)}.notification-area{position:fixed;top:0;left:0;right:0;z-index:50;pointer-events:none}.notification-area>*{pointer-events:auto}.main-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.month-view-wrapper{display:flex;flex-direction:column;gap:var(--space-md)}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-top:env(safe-area-inset-top,0px);padding-bottom:0;padding-left:calc(var(--space-md) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-md) + env(safe-area-inset-right,0px))}.month-nav-btn{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);flex-shrink:0}.month-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);text-align:center}.month-display h1{margin:0;font-size:1.75rem;line-height:1}.year-badge{font-size:.75rem;color:var(--accent);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.month-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) 0}.month-pill{padding:var(--space-sm) var(--space-md);font-size:.75rem;font-weight:500;background-color:var(--bg-secondary);color:var(--text-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);transition:all .2s ease}.month-pill:hover{background-color:var(--bg-tertiary);color:var(--text-secondary);transform:none}.month-pill.active{background-color:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.go-today-btn{align-self:center;margin-bottom:var(--space-md)}.goals-view{padding-top:var(--space-md)}.goals-header{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl);text-align:center}.goals-header h1{margin:0}.toggle-overview-btn{width:100%}.toggle-overview-btn.active{background-color:var(--accent);color:var(--bg-primary)}.overview-container{margin-bottom:var(--space-xl)}.goals-placeholder{display:flex;align-items:center;justify-content:center;min-height:40vh;padding:var(--space-xl)}.placeholder-content{text-align:center;max-width:300px}.placeholder-icon{width:80px;height:80px;margin:0 auto var(--space-lg);background-color:var(--bg-tertiary);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--accent)}.placeholder-content h3{margin-bottom:var(--space-sm);font-size:1.25rem}.placeholder-content p{font-size:.9375rem;color:var(--text-tertiary);line-height:1.5}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background-color:var(--bg-secondary);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:var(--space-sm) var(--space-md);padding-bottom:env(safe-area-inset-bottom,var(--space-sm));padding-left:calc(var(--space-md) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-md) + env(safe-area-inset-right,0px));z-index:40;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-sm) var(--space-sm);background:none;border:none;color:var(--text-tertiary);font-size:.6875rem;font-weight:500;letter-spacing:.02em;border-radius:var(--radius-md);transition:all .2s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.nav-item:hover{background-color:var(--bg-tertiary);color:var(--text-secondary);transform:none}.nav-item.active{color:var(--accent);background-color:var(--accent-muted)}.nav-item svg{width:24px;height:24px;stroke-width:1.75}@media(min-width:768px){.bottom-nav{position:static;background-color:transparent;border-top:none;justify-content:center;gap:var(--space-md);padding:var(--space-lg);max-width:500px;margin:0 auto;-webkit-backdrop-filter:none;backdrop-filter:none}.nav-item{flex:none;flex-direction:row;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-size:.9375rem;border:1px solid var(--border);background-color:var(--bg-secondary)}.nav-item:hover{border-color:var(--text-tertiary)}.nav-item.active{border-color:var(--accent)}.nav-item svg{width:20px;height:20px}.month-display h1{font-size:2.25rem}.month-pills{gap:var(--space-sm)}.month-pill{padding:var(--space-sm) var(--space-lg);font-size:.8125rem}.goals-header{flex-direction:row;justify-content:space-between;align-items:center;text-align:left}.toggle-overview-btn{width:auto}.goals-placeholder{min-height:50vh}}@media print{.bottom-nav,.notification-area,.month-nav,.month-pills,.go-today-btn{display:none}}
