@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500&family=Space+Grotesk:wght@300;500&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0a;--bg-subtle: #111111;--text: #fafafa;--text-muted: #666666;--accent: #ffffff;--progress-bg: #1a1a1a;--progress-fill: #fafafa;--font-display: "Space Grotesk", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif;--border: #2a2a2a;--border-focus: #444444;--success: #22c55e;--error: #ef4444;--button-bg: #1a1a1a;--button-hover: #2a2a2a;--input-bg: #111111;--modal-bg: #0f0f0f;--overlay: rgba(0, 0, 0, .8)}html{font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--text);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;line-height:1.6}#root{width:100%;display:flex;align-items:center;justify-content:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:400px){body{padding:1.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.progress-section{margin-bottom:3rem;opacity:0;animation:fadeIn 1s ease .2s forwards}.progress-bar{height:4px;background:var(--progress-bg);border-radius:2px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:var(--progress-fill);border-radius:2px;width:0%;transition:width 1.5s cubic-bezier(.4,0,.2,1)}.progress-text{font-size:.875rem;color:var(--text-muted);font-weight:400}.percentage{font-family:var(--font-display);color:var(--text);font-weight:500}.stats{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:4rem;opacity:0;animation:fadeIn 1s ease .4s forwards}.stat{display:flex;flex-direction:column;align-items:center}.stat-number{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,3.5rem);font-weight:500;color:var(--accent);line-height:1.1;letter-spacing:-.02em}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:.5rem}.stat-divider{width:1px;height:3rem;background:var(--progress-bg)}.stat:hover .stat-number{opacity:.8}@media(max-width:400px){.stats{gap:1.5rem}.stat-divider{height:2.5rem}}.grid-section{margin-bottom:3rem;opacity:0;animation:fadeIn 1s ease .5s forwards}.days-grid{display:grid;grid-template-columns:repeat(auto-fill,6px);gap:3px;justify-content:center;max-width:100%;padding:0 1rem}.day-dot{width:6px;height:6px;border-radius:1px;background:var(--progress-bg);transition:background .3s ease}.day-dot.filled{background:var(--accent)}.day-dot.today{background:#3b82f6;box-shadow:0 0 6px #3b82f680}.live-timer-section{margin-bottom:3rem;opacity:0;animation:fadeIn 1s ease .45s forwards}.live-timer{display:flex;align-items:baseline;justify-content:center;gap:.25rem;font-family:var(--font-display)}.timer-segment{display:inline-flex;align-items:baseline}.timer-value{font-size:clamp(1.75rem,6vw,2.5rem);font-weight:500;color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.timer-label{font-size:.75rem;color:var(--text-muted);margin-left:.1rem}.timer-colon{font-size:clamp(1.5rem,5vw,2rem);color:var(--text-muted);font-weight:300;margin:0 .1rem}.timer-ms .timer-value{font-size:clamp(1rem,3vw,1.25rem);color:var(--text-muted)}.timer-ms .timer-colon{font-size:clamp(1rem,3vw,1.25rem);margin:0}.timer-caption{font-size:.75rem;color:var(--text-muted);margin-top:.75rem;text-transform:uppercase;letter-spacing:.1em}.auth-side{position:fixed;top:50%;transform:translateY(-50%);z-index:10;opacity:0;animation:fadeIn 1s ease .8s forwards;text-align:center}.auth-side-left{left:3rem}.auth-side-right{right:3rem}.auth-avatars{position:relative;width:100px;height:80px;margin:0 auto 1rem}.auth-avatar{position:absolute;width:36px;height:36px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;animation:float 3s ease-in-out infinite}.auth-avatar-1{top:0;left:10px;animation-delay:0s}.auth-avatar-2{top:5px;right:10px;animation-delay:.5s}.auth-avatar-3{bottom:5px;left:0;animation-delay:1s}.auth-avatar-4{bottom:0;right:0;animation-delay:1.5s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-side-text{font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:400;color:var(--text);line-height:1.2;letter-spacing:-.02em;margin-bottom:.5rem}.auth-side-subtext{font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);line-height:1.5}.auth-pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border:1px solid var(--border);border-radius:50%;opacity:.3;animation:pulse-ring 2s ease-out infinite;pointer-events:none}@keyframes pulse-ring{0%{transform:translate(-50%,-50%) scale(.8);opacity:.4}to{transform:translate(-50%,-50%) scale(1.4);opacity:0}}.auth-side-right{position:fixed;display:flex;flex-direction:column;align-items:center}.auth-side-label{font-family:var(--font-display);font-size:.9rem;font-weight:500;color:var(--text);margin-bottom:.75rem}.auth-side-cta{font-family:var(--font-display);font-size:.9rem;font-weight:500;color:var(--bg);background:var(--accent);border:none;padding:.65rem 1.5rem;border-radius:8px;cursor:pointer;transition:opacity .2s ease,transform .2s ease;position:relative;z-index:1}.auth-side-cta:hover{opacity:.9;transform:scale(1.02)}.auth-side-cta:active{transform:scale(.98)}.auth-side-note{font-family:var(--font-body);font-size:.65rem;color:var(--text-muted);margin-top:.5rem}@media(max-width:1100px){.auth-side{display:none}}.auth-modal-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .2s ease}.auth-modal{background:var(--modal-bg);border:1px solid var(--border);border-radius:16px;padding:2rem;width:100%;max-width:380px;position:relative}.auth-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s ease}.auth-modal-close:hover{color:var(--text)}.auth-modal-title{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--text);margin-bottom:.5rem;text-align:center}.auth-modal-subtitle{font-size:.875rem;color:var(--text-muted);text-align:center;margin-bottom:1.5rem}.auth-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1rem;background:var(--button-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease}.auth-google-btn:hover:not(:disabled){background:var(--button-hover);border-color:var(--border-focus)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-divider span{padding:0 1rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.5rem}.auth-field label{font-size:.875rem;color:var(--text-muted)}.auth-field input{padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:.9rem;transition:border-color .2s ease}.auth-field input::placeholder{color:var(--text-muted);opacity:.5}.auth-field input:focus{outline:none;border-color:var(--border-focus)}.auth-field input:disabled{opacity:.6}.auth-error{font-size:.875rem;color:var(--error);text-align:center;margin:0}.auth-success{font-size:.875rem;color:var(--success);text-align:center;margin:0}.auth-submit-btn{padding:.75rem 1rem;background:var(--accent);border:none;border-radius:8px;color:var(--bg);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s ease;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){opacity:.9}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:1.5rem;text-align:center;font-size:.875rem;color:var(--text-muted)}.auth-switch button{background:none;border:none;color:var(--accent);font-family:var(--font-body);font-size:.875rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.auth-switch button:hover:not(:disabled){opacity:.8}.auth-switch button:disabled{opacity:.6;cursor:not-allowed}.user-menu{position:fixed;top:1.5rem;right:1.5rem;z-index:100}.user-menu-trigger{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;transition:opacity .2s ease}.user-menu-trigger:hover{opacity:.8}.user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.user-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:var(--button-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.9rem;font-weight:500;color:var(--text)}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--modal-bg);border:1px solid var(--border);border-radius:12px;min-width:200px;overflow:hidden;animation:fadeIn .15s ease}.user-menu-header{padding:1rem;display:flex;flex-direction:column;gap:.25rem}.user-menu-name{font-family:var(--font-display);font-size:.9rem;font-weight:500;color:var(--text)}.user-menu-email{font-size:.75rem;color:var(--text-muted)}.user-menu-divider{height:1px;background:var(--border)}.user-menu-item{display:block;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);cursor:pointer;text-decoration:none;transition:background .2s ease,color .2s ease}.user-menu-item:hover{background:var(--button-hover);color:var(--text)}.username-setup{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.username-setup-card{width:100%;max-width:400px;text-align:center;opacity:0;animation:fadeIn .5s ease forwards}.username-setup-title{font-family:var(--font-display);font-size:1.75rem;font-weight:400;color:var(--text);margin-bottom:.5rem}.username-setup-subtitle{font-size:.9rem;color:var(--text-muted);margin-bottom:2rem}.username-setup-form{display:flex;flex-direction:column;gap:1rem}.username-input-wrapper{display:flex;align-items:center;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .2s ease}.username-input-wrapper:focus-within{border-color:var(--border-focus)}.username-prefix{padding:.75rem 0 .75rem 1rem;color:var(--text-muted);font-size:.9rem;white-space:nowrap}.username-input-wrapper input{flex:1;padding:.75rem 1rem .75rem 0;background:transparent;border:none;color:var(--text);font-family:var(--font-body);font-size:.9rem;outline:none}.username-input-wrapper input::placeholder{color:var(--text-muted);opacity:.5}.username-error{font-size:.85rem;color:var(--error);text-align:left}.username-setup-form button{padding:.75rem 1.5rem;background:var(--accent);border:none;border-radius:8px;color:var(--bg);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s ease}.username-setup-form button:hover:not(:disabled){opacity:.9}.username-setup-form button:disabled{opacity:.5;cursor:not-allowed}.task-input{display:flex;gap:.5rem;margin-bottom:1rem}.task-input input{flex:1;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:.9rem;transition:border-color .2s ease}.task-input input::placeholder{color:var(--text-muted);opacity:.6}.task-input input:focus{outline:none;border-color:var(--border-focus)}.task-input input:disabled{opacity:.5}.task-input button{padding:.75rem 1rem;background:var(--button-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-display);font-size:1.25rem;font-weight:500;line-height:1;cursor:pointer;transition:background .2s ease,border-color .2s ease}.task-input button:hover:not(:disabled){background:var(--button-hover);border-color:var(--border-focus)}.task-input button:disabled{opacity:.5;cursor:not-allowed}.task-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;transition:border-color .2s ease,background .2s ease}.task-item.active{border-color:var(--accent);background:#ffffff08}.task-item.completed{opacity:.6}.task-item.completed .task-item-title{text-decoration:line-through}.task-item-content{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.task-item-title{font-size:.9rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.task-item-duration{font-family:var(--font-display);font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0}.task-item.active .task-item-duration{color:var(--accent)}.task-item-actions{display:flex;gap:.5rem;flex-shrink:0}.task-btn{padding:.35rem .6rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:.7rem;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.task-btn:hover{background:var(--button-hover)}.task-btn-play{color:var(--success);border-color:var(--success)}.task-btn-play:hover{background:#22c55e1a}.task-btn-stop{color:var(--text-muted)}.task-btn-complete{color:var(--success)}.task-btn-complete:hover{background:#22c55e1a}.task-btn-delete{color:var(--error)}.task-btn-delete:hover{background:#ef44441a}.task-timer{padding:1.5rem;background:var(--bg-subtle);border:1px solid var(--accent);border-radius:12px;margin-bottom:1.5rem}.task-timer-display{font-family:var(--font-display);font-size:clamp(2rem,8vw,3rem);font-weight:500;font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:-.02em;margin-bottom:.5rem}.task-timer-label{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-timer-stop{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-family:var(--font-body);font-size:.8rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.task-timer-stop:hover{background:var(--button-hover);border-color:var(--border-focus);color:var(--text)}.task-section{margin:2rem 0;text-align:left;opacity:0;animation:fadeIn 1s ease .3s forwards}.task-section-title{font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--text);margin-bottom:1rem;text-align:center}.task-section-subtitle{font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:1.5rem 0 .75rem}.task-list{display:flex;flex-direction:column;gap:.5rem}.task-loading,.task-empty{text-align:center;font-size:.875rem;color:var(--text-muted);padding:2rem 0}.task-error{text-align:center;font-size:.875rem;color:var(--error);margin-bottom:1rem}.day-selector{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.day-selector-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--button-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.day-selector-btn:hover:not(:disabled){background:var(--button-hover);border-color:var(--border-focus)}.day-selector-btn:disabled{opacity:.3;cursor:not-allowed}.day-selector-date{display:flex;flex-direction:column;align-items:center;gap:.25rem}.day-selector-label{font-family:var(--font-display);font-size:1rem;font-weight:500;color:var(--text)}.day-selector-today{background:none;border:none;padding:0;font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .2s ease}.day-selector-today:hover{color:var(--text)}.daily-log{margin:2rem 0;padding:1.5rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;opacity:0;animation:fadeIn 1s ease .4s forwards}.daily-log-title{font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--text);margin-bottom:1rem;text-align:center}.daily-log-summary{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--border)}.daily-log-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.daily-log-stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--accent)}.daily-log-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.daily-log-stat-divider{width:1px;height:2rem;background:var(--border)}.daily-log-list{display:flex;flex-direction:column;gap:.5rem}.daily-log-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .75rem;background:var(--bg);border-radius:6px}.daily-log-item-title{font-size:.875rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;display:flex;align-items:center;gap:.5rem}.daily-log-item-status{font-size:.65rem;color:var(--text-muted);background:var(--surface);padding:.15rem .4rem;border-radius:4px;flex-shrink:0}.daily-log-item-duration{font-family:var(--font-display);font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0}.daily-log-loading,.daily-log-empty{text-align:center;font-size:.875rem;color:var(--text-muted);padding:1rem 0}.dashboard{width:100%;max-width:500px;margin:0 auto;padding:2rem;min-height:100vh}.dashboard-header{text-align:center;margin-bottom:2rem;opacity:0;animation:fadeIn 1s ease forwards}.dashboard-greeting{font-family:var(--font-display);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:400;color:var(--text);margin-bottom:.5rem;letter-spacing:-.02em}.dashboard-subtitle{font-size:.9rem;color:var(--text-muted)}.public-profile{width:100%;max-width:600px;margin:0 auto;padding:3rem 2rem;min-height:100vh}.public-profile:has(.year-view){max-width:800px}.profile-loading,.profile-not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted)}.profile-not-found h1{font-family:var(--font-display);font-size:4rem;font-weight:300;color:var(--text)}.profile-not-found a{color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:color .2s ease}.profile-not-found a:hover{color:var(--text)}.profile-header{text-align:center;margin-bottom:2rem;opacity:0;animation:fadeIn .5s ease forwards}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:1rem}.profile-avatar-placeholder{width:80px;height:80px;border-radius:50%;background:var(--bg-subtle);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:2rem;font-weight:500;color:var(--text);margin:0 auto 1rem}.profile-name{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--text);margin-bottom:.25rem}.profile-username{font-size:.9rem;color:var(--text-muted)}.profile-start-btn{margin-top:1rem;padding:.6rem 1.5rem;background:transparent;border:1px solid var(--accent);border-radius:8px;font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--accent);cursor:pointer;transition:all .2s ease}.profile-start-btn:hover{background:var(--button-hover)}.profile-view-toggle{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem;opacity:0;animation:fadeIn .5s ease .05s forwards}.view-toggle-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);border-radius:6px;font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.view-toggle-btn:hover{background:var(--button-hover);color:var(--text)}.view-toggle-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-muted);font-weight:600}.profile-stats{display:flex;align-items:center;justify-content:center;gap:2rem;padding:1.5rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;margin-bottom:2rem;opacity:0;animation:fadeIn .5s ease .1s forwards}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.profile-stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--accent)}.profile-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.profile-stat-divider{width:1px;height:2.5rem;background:var(--border)}.profile-activity{margin-bottom:2rem;opacity:0;animation:fadeIn .5s ease .15s forwards}.activity-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.activity-cell{aspect-ratio:1;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:default;transition:transform .15s ease}.activity-cell:hover{transform:scale(1.1)}.activity-cell.level-0{background:var(--bg-subtle);border:1px solid var(--border)}.activity-cell.level-1{background:#6366f133;border:1px solid rgba(99,102,241,.3)}.activity-cell.level-2{background:#6366f166;border:1px solid rgba(99,102,241,.5)}.activity-cell.level-3{background:#6366f199;border:1px solid rgba(99,102,241,.7)}.activity-cell.level-4{background:#6366f1d9;border:1px solid var(--accent)}.activity-day{font-size:.5rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.activity-date{font-family:var(--font-display);font-size:.75rem;font-weight:500;color:var(--text)}.activity-cell.level-3 .activity-day,.activity-cell.level-4 .activity-day{color:#ffffffb3}.activity-cell.level-3 .activity-date,.activity-cell.level-4 .activity-date{color:#fffffff2}.profile-activity.year-view{width:100%}.year-grid{display:grid;grid-template-columns:repeat(auto-fill,10px);gap:3px;justify-content:center;max-width:100%}.year-cell{width:10px;height:10px;border-radius:2px;background:var(--progress-bg);transition:background .3s ease}.year-cell.level-1{background:#6366f14d}.year-cell.level-2{background:#6366f180}.year-cell.level-3{background:#6366f1b3}.year-cell.level-4{background:var(--accent)}.year-legend{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:1rem;font-size:.65rem;color:var(--text-muted)}.year-legend .year-cell{flex-shrink:0}.year-legend-label{margin:0 4px}.profile-recent{opacity:0;animation:fadeIn .5s ease .2s forwards}.profile-section-title{font-family:var(--font-display);font-size:1rem;font-weight:500;color:var(--text);margin-bottom:1rem}.profile-log-list{display:flex;flex-direction:column;gap:1rem}.profile-log-day{background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;overflow:hidden}.profile-log-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.profile-log-date{font-size:.85rem;font-weight:500;color:var(--text)}.profile-log-time{font-family:var(--font-display);font-size:.8rem;color:var(--accent)}.profile-log-tasks{display:flex;flex-direction:column}.profile-log-task{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid var(--border)}.profile-log-task:last-child{border-bottom:none}.profile-log-task.completed{opacity:.7}.profile-log-task.completed .profile-log-task-title{text-decoration:line-through}.profile-log-task-title{font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-log-task-time{font-family:var(--font-display);font-size:.75rem;color:var(--text-muted);flex-shrink:0;margin-left:1rem}.profile-footer{margin-top:3rem;text-align:center;opacity:0;animation:fadeIn .5s ease .3s forwards}.profile-footer a{font-size:.8rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.profile-footer a:hover{color:var(--text)}main{width:100%;max-width:480px;text-align:center;position:relative}header{position:relative}.year{font-family:var(--font-display);font-size:clamp(4rem,15vw,8rem);font-weight:300;letter-spacing:-.03em;color:var(--accent);margin-bottom:3rem;opacity:0;animation:fadeIn 1s ease forwards}footer{opacity:0;animation:fadeIn 1s ease .6s forwards}.tagline{font-size:.875rem;color:var(--text-muted);font-weight:300;font-style:italic}.year{transition:opacity .3s ease}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-muted);font-size:.9rem}.home-actions{display:flex;gap:1rem;justify-content:center;margin:2rem 0;opacity:0;animation:fadeIn .5s ease .3s forwards}.btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s ease;cursor:pointer}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-hover);transform:translateY(-1px)}
