.gapped{text-align:center}.gapped-page-header{color:var(--text);max-width:420px;margin:0 auto var(--space-sm)}.gapped-tagline{color:var(--text-muted);font-size:var(--text-sm);letter-spacing:.05em;margin:0 0 var(--space-lg);font-style:italic}.gapped-widget{max-width:1400px;padding:var(--space-xl) var(--space-lg);content-visibility:auto;contain-intrinsic-size:auto 500px;margin:0 auto;position:relative}.gapped-widget+.gapped-widget:before{content:"";background:var(--border-muted);height:1px;top:0;left:var(--space-lg);right:var(--space-lg);display:block;position:absolute}.gapped-widget-header{margin-bottom:var(--space-lg);justify-content:center;align-items:center;display:flex}.gapped-widget-header h2{color:var(--text);font-size:var(--text-lg);margin:0;font-weight:600}.widget-card{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;border-radius:var(--surface-radius);box-shadow:var(--card-shadow);border:1px solid #0000}.widget-loading{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-xl) 0;color:var(--text-muted);font-size:.875rem;display:flex}.widget-loading:before{content:"";border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite widget-spin}@keyframes widget-spin{to{transform:rotate(360deg)}}.gapped-modal{width:90%;max-width:500px}.gapped-modal h3{color:var(--text);text-align:center;margin:0 0 .75rem;font-size:1.25rem}.gapped-modal .modal-date{color:var(--text-muted);text-align:center;margin:0 0 1.5rem;font-size:.875rem}.gapped-modal--wide{max-width:600px}.gapped-modal--narrow{max-width:450px}@media (max-width:768px){.gapped-widget{padding:var(--space-lg) var(--space-md)}.gapped-widget+.gapped-widget:before{left:var(--space-md);right:var(--space-md)}.gapped-widget-header h2{font-size:1.25rem}.gapped-modal{width:95%;max-height:90vh;overflow-y:auto}}.goals-container{max-width:600px;margin:0 auto}.goal-card{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);content-visibility:auto;contain-intrinsic-size:auto 220px;border:1px solid #0000;border-radius:8px;margin-bottom:1rem;padding:1rem}.goal-header{align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.goal-number{background:var(--border);color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:flex}.goal-info{text-align:left;flex:1}.goal-info h4{color:var(--text);margin:0 0 .25rem;font-size:.875rem;font-weight:600}.goal-progress{color:var(--text-muted);font-size:.75rem}.goal-chart{margin-top:.5rem}.goal-progress-bar{background:var(--border);border-radius:4px;height:8px;margin-top:.5rem;overflow:hidden}.goal-progress-fill{background:var(--primary);border-radius:4px;height:100%;transition:width .3s}.goal-note{color:var(--text-muted);text-align:left;margin:.5rem 0 0;font-size:.6875rem}.targets-editor{background:var(--bg);border-radius:6px;margin:1rem 0;padding:.75rem}.editor-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .375rem;font-size:.6875rem;font-weight:600}.editor-label:not(:first-child){margin-top:.75rem}.targets-grid{grid-template-columns:repeat(6,1fr);gap:.5rem;margin-bottom:.75rem;display:grid}.target-input{text-align:center}.target-input label{color:var(--text-muted);margin-bottom:.25rem;font-size:.625rem;display:block}.target-input input{text-align:center;border:1px solid var(--border);background:var(--bg-light);width:100%;color:var(--text);border-radius:4px;padding:.25rem;font-size:.75rem}.btn-small{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:.25rem .5rem;font-size:.6875rem}.btn-small:hover{background:var(--border)}.btn-primary.btn-small{background:var(--primary);border-color:var(--primary);color:#fff}@media (max-width:480px){.targets-grid{grid-template-columns:repeat(4,1fr)}}.countdown{justify-content:center;align-items:center;gap:.75rem;margin:1.5rem 0;display:flex}.timer-card{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;color:var(--text);text-align:center;min-width:60px;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:8px;padding:.75rem 1rem;transition:all .2s}.timer-card:hover{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, radial-gradient(200px circle at var(--mx) var(--my), var(--primary), var(--card-edge-bottom) 60%) border-box;box-shadow:0 0 16px oklch(from var(--primary) l c h / .12), var(--card-shadow);border-color:#0000;transform:translateY(-2px)}.value{font-variant-numeric:tabular-nums;color:var(--text);margin-bottom:.25rem;font-size:1.75rem;font-weight:600;display:block}.label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;font-size:.7rem}.expired{background:var(--bg-light);border:1px solid var(--border);color:var(--danger);border-radius:8px;padding:1.5rem;font-size:1.25rem}.expired h2{color:var(--danger);margin:0;font-size:1.25rem}.habits-container{max-width:1200px;margin:0 auto;padding:1.5rem}.habits-header{justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.habits-header h2{color:var(--text);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:500}.month-nav-btn{background:var(--bg-light);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:.375rem .75rem;font-size:1.125rem;transition:all .2s;display:flex}.month-nav-btn:hover{background:var(--bg);border-color:var(--primary)}.habits-calendar{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:12px;margin-bottom:1.5rem;padding:0;overflow-x:auto}.calendar-header{background:var(--bg-light);z-index:10;border-bottom:1px solid var(--border-muted);grid-template-columns:70px repeat(31,minmax(0,1fr));gap:4px;margin-bottom:0;padding:8px 8px 14px;display:grid;position:sticky;top:0}.habit-label-cell{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding:.375rem .5rem;font-size:.7rem;font-weight:500;display:flex;overflow:hidden}.day-cell{color:var(--text-muted);text-align:center;justify-content:center;align-items:center;height:32px;padding:.375rem .125rem;font-size:.7rem;font-weight:500;display:flex}.habit-row{content-visibility:auto;contain-intrinsic-size:auto 28px;border-bottom:none;grid-template-columns:70px repeat(31,minmax(0,1fr));align-items:stretch;gap:4px;margin-bottom:0;padding:0 8px 8px;display:grid}.habit-row:first-of-type{padding-top:8px}.habit-row:last-child{border-bottom:none}.habit-label{color:var(--text);align-items:center;gap:.375rem;padding:.5rem .375rem;font-size:.7rem;font-weight:500;display:flex;overflow:hidden}.habit-label span:last-child{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.habit-color-dot{border-radius:50%;flex-shrink:0;width:4px;height:4px;box-shadow:0 0 4px}.habit-cell{aspect-ratio:1;border:1px solid var(--border);cursor:pointer;background:#ffffff0d;border-radius:8px;width:100%;max-width:32px;margin:0 auto;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.habit-cell:hover{opacity:.85;z-index:5;transform:scale(1.08)}.habit-cell.completed{opacity:1;border:none}.habit-cell.completed:hover{opacity:.85}.habit-tooltip{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);z-index:1000;pointer-events:none;text-align:center;border-radius:8px;max-width:300px;padding:.875rem;transition:opacity .15s;position:fixed}.habit-tooltip:after{content:"";background:var(--bg);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:12px;height:12px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.habit-tooltip h4{color:var(--text);text-align:center;margin:0 0 .5rem;font-size:1rem}.habit-tooltip .tooltip-date{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;margin:0 0 .75rem;font-size:.75rem}.habit-tooltip .tooltip-content{border-top:1px solid var(--border-muted);text-align:left;margin-top:.75rem;padding-top:.75rem}.habit-tooltip .tooltip-content strong{color:var(--text);letter-spacing:.02em;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;display:block}.habit-tooltip .tooltip-content ul{margin:0;padding:0;list-style:none}.habit-tooltip .tooltip-content li{color:var(--text);margin:.375rem 0;padding-left:1.25rem;font-size:.8125rem;line-height:1.5;position:relative}.habit-tooltip .tooltip-content li:before{content:"•";color:var(--primary);font-weight:600;position:absolute;left:.375rem}.habit-tooltip .tooltip-content p{color:var(--text);margin:.375rem 0 0;font-size:.8125rem;line-height:1.5}.habit-tooltip p{color:var(--text-muted);margin:.25rem 0;font-size:.875rem}.habit-tooltip strong{color:var(--text);font-weight:600}.habits-stats{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex;overflow-x:auto}.stat-card{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:8px;flex-direction:column;flex:none;width:150px;min-height:160px;padding:.625rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";opacity:.9;background:currentColor;width:2px;height:100%;position:absolute;top:0;left:0}.stat-card:hover{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, radial-gradient(200px circle at var(--mx) var(--my), var(--primary), var(--card-edge-bottom) 60%) border-box;box-shadow:0 0 16px oklch(from var(--primary) l c h / .1), 0 4px 12px #0000004d;border-color:#0000;transform:translateY(-2px)}@supports (color:lab(0% 0 0)){.stat-card:hover{box-shadow:0 0 16px oklch(from var(--primary) l c h / .1), 0 4px 12px lab(0% 0 0/.3)}}.stat-header{justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:.5rem;display:flex}.stat-title{flex:1;align-items:center;gap:.25rem;min-width:0;display:flex}.stat-header h3{color:var(--text);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;margin:0;font-size:.75rem;font-weight:600;overflow:hidden}.stat-header h3[data-long-name=true]{font-size:.625rem}.stat-progress{background:#ffffff0d;border-radius:999px;width:100%;height:2px;margin-bottom:.5rem;overflow:hidden}.stat-progress-bar{border-radius:999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.stat-summary{justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:.625rem;padding-bottom:0;display:flex}.stat-days{color:var(--text);letter-spacing:-.01em;font-size:.6875rem;font-weight:600}.trend{white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;border-radius:3px;flex-shrink:0;padding:.125rem .25rem;font-size:.5625rem;font-weight:700}.trend.positive{color:var(--success);background:#70c0901f}.trend.negative{color:var(--danger);background:#e080601f}.stat-streaks{border-top:1px solid #ffffff0d;grid-template-columns:1fr 1fr;gap:.625rem;margin-top:auto;padding-top:.5rem;display:grid}.stat-streak-item{min-width:0}.stat-streak-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);opacity:.7;margin-bottom:.25rem;font-size:.5rem;font-weight:600}.stat-streak-value{color:var(--text);white-space:nowrap;align-items:center;gap:.1875rem;font-size:.8125rem;font-weight:700;line-height:1.2;display:flex}.stat-streak-value.active{color:currentColor}.stat-streak-value.inactive{color:var(--text-muted)}.stat-streak-detail{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;opacity:.8;margin-top:.1875rem;font-size:.5rem;line-height:1.2;overflow:hidden}.habits-stats-minimal{gap:.5rem}.stat-card-minimal{border:1px solid var(--border);width:auto;min-height:auto;box-shadow:none;background:0 0;flex-direction:row;align-items:center;gap:.5rem;padding:.4rem .6rem}.stat-card-minimal:before{display:none}.stat-card-minimal:hover{box-shadow:none;transform:none}.stat-card-minimal .habit-color-dot{flex-shrink:0}.stat-minimal-name{color:var(--text);white-space:nowrap;font-size:.75rem;font-weight:600}.stat-minimal-streak{color:var(--text-muted);margin-left:auto;font-size:.6875rem}.stat-minimal-days{color:var(--text-muted);opacity:.7;font-size:.6875rem}.habits-view-toggle{justify-content:center;margin-bottom:1.25rem;display:flex}.habits-chart-view{flex-direction:column;gap:1rem;display:flex}.habits-chart-controls{justify-content:center;display:flex}.habits-chart-stats{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.chart-stat{flex-direction:column;align-items:center;gap:.125rem;display:flex}.chart-stat-value{color:var(--text);font-size:1.125rem;font-weight:600}.chart-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem}.chart-stat-best .chart-stat-value{color:var(--warning)}.habits-chart-container{margin-top:.5rem}@media (max-width:768px){.habits-chart-stats{gap:1rem}.chart-stat-value{font-size:1rem}}.week-nav-header{justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.week-range{color:var(--text);text-align:center;letter-spacing:-.01em;min-width:140px;font-size:1.25rem;font-weight:500}.habits-calendar-mobile{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:12px;padding:0;overflow:hidden}.calendar-header-mobile{background:var(--bg-light);z-index:10;border-bottom:1px solid var(--border);grid-template-columns:90px repeat(7,1fr);gap:4px;padding:8px;display:grid;position:sticky;top:0}.habit-label-cell-mobile{color:var(--text-muted);white-space:nowrap;align-items:center;padding:.5rem;font-size:.75rem;font-weight:500;display:flex}.day-cell-mobile{flex-direction:column;justify-content:center;align-items:center;gap:.125rem;padding:.25rem;display:flex}.day-cell-mobile .day-name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.625rem;font-weight:500}.day-cell-mobile .day-number{color:var(--text);font-size:.875rem;font-weight:600}.habit-row-mobile{border-bottom:1px solid var(--border-muted);grid-template-columns:90px repeat(7,1fr);align-items:center;gap:4px;padding:8px;display:grid}.habit-row-mobile:last-child{border-bottom:none}.habit-label-mobile{color:var(--text);align-items:center;gap:.375rem;padding:.5rem;font-size:.75rem;font-weight:500;display:flex;overflow:hidden}.habit-label-mobile span:last-child{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.habit-label-mobile .habit-color-dot{width:8px;height:8px}.habit-cell-mobile{aspect-ratio:1;border:2px solid var(--border);cursor:pointer;background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;width:100%;max-width:48px;margin:0 auto;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.habit-cell-mobile:active{transform:scale(.95)}.habit-cell-mobile.completed{opacity:1;border:none}.habit-link-icon-mobile{color:#fff;filter:drop-shadow(0 1px 2px #0000004d);justify-content:center;align-items:center;text-decoration:none;display:flex}@media (max-width:1200px){.calendar-header,.habit-row{grid-template-columns:60px repeat(31,minmax(0,1fr))}.habit-label,.habit-label-cell{padding:.375rem;font-size:.65rem}.habit-cell{max-width:28px;margin:.25rem auto}}@media (max-width:768px){.habits-container{padding:1rem}.habits-calendar-desktop,.habits-header{display:none}.habits-stats{flex-wrap:wrap;gap:.75rem}.stat-card{width:calc(50% - .375rem)}}@media (min-width:769px){.week-nav-header,.habits-calendar-mobile{display:none}}.habit-modal h3{font-size:1.5rem}.delete-confirm-modal{text-align:center}.delete-confirm-modal h3{color:var(--danger)}.delete-confirm-modal .modal-date{color:var(--text);margin:.5rem 0;font-weight:600}.modal-form{margin-bottom:1.5rem}.modal-form label{color:var(--text);margin:1rem 0 .5rem;font-size:.875rem;font-weight:500;display:block}.modal-form label:first-child{margin-top:0}.modal-form input,.modal-form textarea{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;padding:.75rem;font-family:inherit;font-size:.875rem;transition:border-color .2s}.modal-form input:focus,.modal-form textarea:focus{border-color:var(--primary);outline:none}.modal-form textarea{resize:vertical;min-height:100px}.exercise-activity-row{grid-template-columns:1fr 1.5fr auto;gap:.5rem;margin-bottom:.75rem;display:grid}.exercise-activity-row input{margin:0}.btn-remove-small{color:var(--danger);border:1px solid var(--danger);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;padding:.75rem;font-size:1.25rem;line-height:1;transition:all .2s;display:flex}.btn-remove-small:hover{background:var(--danger);color:var(--bg)}.btn-add-activity{color:var(--primary);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-top:.5rem;padding:.75rem;font-size:.875rem;transition:all .2s}.btn-add-activity:hover{border-color:var(--primary);background:var(--bg);border-style:solid}@media (max-width:768px){.exercise-activity-row{grid-template-columns:1fr}.btn-remove-small{width:100%;margin-top:.5rem}}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1rem;max-width:1400px;margin:0 auto;padding:1rem;display:grid}.project-card{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);content-visibility:auto;contain-intrinsic-size:auto 250px;border:1px solid #0000;border-radius:12px;transition:all .2s;overflow:hidden}.project-card:hover{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, radial-gradient(300px circle at var(--mx) var(--my), var(--primary), var(--card-edge-bottom) 60%) border-box;box-shadow:0 0 20px oklch(from var(--primary) l c h / .1), 0 4px 12px #00000059;border-color:#0000;transform:translateY(-2px)}@supports (color:lab(0% 0 0)){.project-card:hover{box-shadow:0 0 20px oklch(from var(--primary) l c h / .1), 0 4px 12px lab(0% 0 0/.35)}}.project-card-header{align-items:flex-start;gap:.75rem;padding:1rem;transition:opacity .2s;display:flex}.project-card-header.no-link{cursor:default}.project-card-header:not(.no-link):hover{opacity:.8}.project-arrow{width:32px;height:32px;color:var(--text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .3s cubic-bezier(.4,0,.2,1),color .3s,background .3s;display:flex;transform:rotate(180deg)}.project-card-header:hover .project-arrow{color:var(--primary);background:oklch(from var(--primary) l c h / .1);transform:rotate(0)}.project-icon{background:var(--bg);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;display:flex;overflow:hidden}.project-icon img{object-fit:cover;width:100%;height:100%}.project-info{text-align:left;flex:1;min-width:0}.project-info h3{color:var(--text);margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.project-info p{color:var(--text-muted);margin:0;font-size:.8125rem;line-height:1.4}.project-dates{opacity:.7;margin-top:.25rem!important;font-size:.75rem!important}.project-card-body{padding:0 1rem 1rem}.toggle-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;margin-left:auto;padding:.2rem .5rem;font-size:.7rem;transition:all .15s}.toggle-btn:hover{color:var(--text);border-color:var(--text-muted)}.project-preview{border-radius:8px;height:150px;position:relative;overflow:hidden}.project-preview iframe{transform-origin:0 0;pointer-events:none;border:none;border-radius:8px;width:300%;height:450px;transform:scale(.333333)}.project-coming-soon{height:150px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.875rem;font-style:italic;display:flex}.chart-tooltip{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;padding:.75rem}.chart-tooltip p{color:var(--text);margin:.25rem 0;font-size:.875rem}.chart-tooltip p:first-child{margin-bottom:.5rem;font-weight:600}@media (max-width:768px){.projects-grid{grid-template-columns:1fr;padding:.5rem}}.content-filter-pills{margin-bottom:var(--space-lg);flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.content-pill{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:.375rem .875rem;font-size:.8125rem;transition:all .2s}.content-pill:hover{border-color:var(--text-muted);color:var(--text)}.content-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.content-grid{grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1400px;margin:0 auto;padding:1rem;display:grid}.content-card{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);color:inherit;content-visibility:auto;contain-intrinsic-size:auto 200px;border:1px solid #0000;border-radius:12px;flex-direction:column;text-decoration:none;transition:all .2s;display:flex;overflow:hidden}.content-card:hover{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, radial-gradient(300px circle at var(--mx) var(--my), var(--primary), var(--card-edge-bottom) 60%) border-box;box-shadow:0 0 20px oklch(from var(--primary) l c h / .1), 0 4px 12px #00000059;border-color:#0000;transform:translateY(-2px)}@supports (color:lab(0% 0 0)){.content-card:hover{box-shadow:0 0 20px oklch(from var(--primary) l c h / .1), 0 4px 12px lab(0% 0 0/.35)}}.content-thumbnail{aspect-ratio:16/9;background:var(--bg);width:100%;position:relative;overflow:hidden}.content-thumbnail img{object-fit:cover;width:100%;height:100%}.content-thumbnail-empty{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.content-platform-badge{color:#fff;background:#0009;background:lab(0% 0 0/.6);border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:.5rem;right:.5rem}.content-card-info{text-align:left;flex-direction:column;flex:1;padding:.75rem;display:flex}.content-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .5rem;font-size:.875rem;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.content-meta{color:var(--text-muted);align-items:center;gap:.75rem;margin-top:auto;font-size:.75rem;display:flex}.content-metric{font-weight:500}@media (max-width:1024px){.content-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.content-grid{grid-template-columns:1fr;padding:.5rem}}.content-show-more{border:1px solid var(--card-edge-top);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;margin:1rem auto 0;padding:.5rem 1.5rem;font-size:.875rem;transition:all .2s;display:block}.content-show-more:hover{color:var(--text);border-color:var(--primary)}.time-container{text-align:center;max-width:1400px;margin:0 auto;padding:1.5rem}.time-container h2{text-align:center;color:var(--text);margin:0 0 1.5rem;font-size:1.75rem;font-weight:500}.time-header{justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.week-navigation{justify-content:center;align-items:center;gap:1rem;display:flex}.week-navigation button{background:var(--bg-light);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.375rem .75rem;font-size:1.125rem;transition:all .2s}.week-navigation button:hover{background:var(--bg);border-color:var(--primary)}.week-navigation span{color:var(--text);text-align:center;min-width:180px;font-size:.9375rem;font-weight:500}.view-toggle{background:var(--bg-light);border-radius:8px;gap:.5rem;padding:.25rem;display:flex}.view-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s}.view-toggle button:hover{color:var(--text)}.view-toggle button.active{background:var(--primary);color:#fff}.time-legend{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.time-legend .legend-item{align-items:center;gap:.5rem;display:flex}.time-legend .legend-color{border-radius:3px;width:14px;height:14px}.time-legend .legend-item span{color:var(--text);font-size:.8125rem;font-weight:500}.routine-panel{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;text-align:left;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:12px;margin-bottom:1rem;padding:1rem}.routine-header-row{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.routine-header-row h3{color:var(--text);margin:0;font-size:1.15rem;font-weight:700}.routine-header-copy{color:var(--text-muted);max-width:70ch;margin:0;font-size:.88rem;line-height:1.5}.routine-active-tag{border:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.routine-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.routine-controls label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:.375rem;font-size:.75rem;font-weight:600;display:flex}.routine-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.625rem;margin-bottom:.75rem;display:grid}.routine-stat-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.375rem;padding:.625rem;display:flex}.routine-stat-card span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:600}.routine-stat-card strong{color:var(--text);font-size:.95rem;font-weight:700}.routine-items{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.routine-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.routine-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:.875rem}.routine-card-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.routine-card-header strong{color:var(--text);font-size:.95rem}.routine-card-header span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.routine-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:.5rem;display:grid}.routine-schedule-grid label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:.3rem;font-size:.68rem;font-weight:700;display:flex}.routine-card-subtitle{color:var(--text-muted);margin:0 0 .75rem;font-size:.78rem}.routine-item-row{border:1px solid var(--border);background:var(--bg);border-radius:8px;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:.75rem;padding:.625rem;display:grid}.routine-item-check{color:var(--text);align-items:center;gap:.625rem;margin:0;font-size:.9rem;font-weight:500;display:flex}.routine-item-edit{grid-template-columns:auto minmax(120px,max-content) minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.routine-item-name{color:var(--text);white-space:nowrap;font-size:.84rem;font-weight:600}.routine-item-index{border:1px solid var(--border);background:var(--bg-light);width:20px;height:20px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:inline-flex}.routine-item-check input{cursor:pointer;width:16px;height:16px}.routine-item-duration{flex-direction:column;gap:.25rem;margin:0;display:flex}.routine-item-duration span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.625rem;font-weight:600}.routine-item-meta{text-align:right}.routine-order-controls{justify-content:flex-end;gap:.25rem;display:flex}.routine-item-duration .form-input{height:40px;padding:.5rem .625rem}.routine-add-item-row{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;display:grid}.routine-empty{color:var(--text-muted);margin:0;font-size:.875rem}.routine-empty-state{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.time-grid-container{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:12px;overflow:auto}.time-grid{grid-template-columns:60px repeat(7,1fr);min-width:900px;display:grid;position:relative}.time-header-cell{background:var(--bg-light);border-bottom:2px solid var(--border);z-index:10;position:sticky;top:0}.time-grid .day-header{background:var(--bg-light);border-bottom:2px solid var(--border);border-left:1px solid var(--border-muted);text-align:center;z-index:10;padding:.875rem .5rem;position:sticky;top:0}.time-grid .day-name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.6875rem;font-weight:600}.time-grid .day-date{color:var(--text);font-size:.875rem;font-weight:500}.hour-label{background:var(--bg-light);color:var(--text-muted);text-align:right;border-right:1px solid var(--border);border-top:1px solid var(--border-muted);z-index:5;padding:.5rem .5rem .5rem 0;font-size:.6875rem;position:sticky;left:0}.time-cell-hour{border-left:1px solid var(--border-muted);border-top:1px solid var(--border-muted);flex-direction:column;min-height:50px;display:flex;position:relative;overflow:visible}.time-cell-quarter{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg);border-bottom:1px dotted #ffffff0d;flex:1;min-height:12.5px;transition:background-color .1s}.time-cell-quarter:last-child{border-bottom:none}.time-cell-quarter:hover{background:#ffffff08}.time-cell-quarter.selected{border-color:var(--primary);background:#8b9cff26}.time-cell{border-left:1px solid var(--border-muted);border-top:1px solid var(--border-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg);min-height:50px;transition:background-color .1s;position:relative;overflow:visible}.time-cell:hover{background:#ffffff08}.time-cell.selected{border-color:var(--primary);background:#8b9cff26}.time-block{opacity:.95;cursor:pointer;border-radius:2px;transition:opacity .2s;position:absolute;inset:0}.time-block:hover{opacity:1;box-shadow:inset 0 0 0 1px #ffffff1a}.time-day-overlay{pointer-events:none;height:100%;position:relative}.time-block-continuous{pointer-events:all;z-index:2;transition:opacity .2s,box-shadow .2s}.time-block-continuous:hover{z-index:3;box-shadow:inset 0 0 0 2px #fff3;opacity:1!important}.time-entry-tooltip{background:var(--bg-light);border:1px solid var(--border);pointer-events:none;border-radius:8px;max-width:300px;padding:12px;box-shadow:0 4px 12px #00000026}.tooltip-description{color:var(--text);word-wrap:break-word;margin-bottom:8px;font-size:.875rem;line-height:1.4}.tooltip-image{margin-top:8px}.tooltip-image img{object-fit:cover;border-radius:4px;width:100%;max-height:200px;display:block}.time-modal h3{margin-bottom:1.5rem}.activity-options{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.activity-option{background:var(--bg-light);border:2px solid var(--border);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:1rem;transition:all .2s;display:flex}.activity-option:hover{border-color:var(--primary);background:var(--bg)}.activity-option.selected{border-color:var(--primary);background:var(--bg);box-shadow:0 0 0 2px #8b9cff33}.activity-color{border-radius:6px;flex-shrink:0;width:24px;height:24px}.activity-option span{color:var(--text);font-size:.9375rem;font-weight:500}.activity-option.add-new{border-style:dashed;border-color:var(--border-muted)}.activity-option.add-new:hover{border-color:var(--primary);border-style:dashed}.activity-option .add-icon{color:var(--text-muted);background:var(--bg);border:2px dashed var(--border);justify-content:center;align-items:center;font-size:1.5rem;font-weight:600;display:flex}.time-modal .modal-form{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.time-modal .modal-form label{color:var(--text);text-align:left;flex-direction:column;align-items:stretch;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;display:flex}.time-inputs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.time-inputs-grid label{color:var(--text);flex-direction:column;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;display:flex}.divider{background:var(--border);height:1px;margin:.5rem 0}.form-input{background:var(--bg);color:var(--text);border:1px solid var(--border);box-sizing:border-box;border-radius:6px;height:48px;padding:.75rem;font-size:.9375rem;transition:all .2s}.form-input:hover{border-color:var(--primary)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px oklch(from var(--primary) l c h / .1);outline:none}.time-range-display{background:var(--bg);border:1px solid var(--border);text-align:left;color:var(--text);border-radius:8px;margin-bottom:1rem;padding:1rem;font-size:.9375rem}.time-range-display strong{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.8125rem;font-weight:500}.form-select{background:var(--bg);color:var(--text);border:1px solid var(--border);cursor:pointer;box-sizing:border-box;border-radius:6px;height:48px;padding:.75rem;font-size:.9375rem;transition:all .2s}.form-select:hover{border-color:var(--primary)}.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px oklch(from var(--primary) l c h / .1);outline:none}.activity-select-wrapper{align-items:center;gap:.75rem;display:flex}.activity-select-wrapper .form-select{flex:1}.activity-select-wrapper .btn-add-activity{background:var(--bg);width:48px;height:48px;color:var(--primary);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex-shrink:0;margin:0;font-size:1.25rem;transition:all .2s}.activity-select-wrapper .btn-add-activity:hover{background:var(--primary);color:var(--bg);border-color:var(--primary)}.form-textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);resize:vertical;border-radius:6px;min-height:80px;padding:.75rem;font-family:inherit;font-size:.9375rem;transition:all .2s}.form-textarea:hover{border-color:var(--primary)}.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px oklch(from var(--primary) l c h / .1);outline:none}.form-file-input{background:var(--bg);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.75rem;font-size:.9375rem}.form-file-input::-webkit-file-upload-button{background:var(--primary);color:var(--bg);cursor:pointer;border:none;border-radius:4px;margin-right:.75rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.form-file-input::-webkit-file-upload-button:hover{background:oklch(from var(--primary) calc(l * .9) c h)}.image-preview-container{margin-top:.75rem;display:inline-block;position:relative}.image-preview{border:1px solid var(--border);border-radius:8px;max-width:100%;max-height:200px;display:block}.remove-image-btn{background:var(--danger);color:#fff;border:2px solid var(--bg);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.875rem;font-weight:600;transition:all .2s;display:flex;position:absolute;top:-8px;right:-8px}.remove-image-btn:hover{background:oklch(from var(--danger) calc(l * .85) c h);transform:scale(1.1)}.color-picker-wrapper{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.color-input{cursor:pointer;background:0 0;border:none;border-radius:6px;width:50px;height:40px}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:2px solid var(--border);border-radius:6px}.color-preview{border:2px solid var(--border);border-radius:6px;flex-shrink:0;width:24px;height:24px}.color-value{color:var(--text-muted);flex:1;font-family:Courier New,monospace;font-size:.875rem}.view-entry-info{flex-direction:column;gap:1rem;display:flex}.info-row{flex-direction:column;gap:.375rem;display:flex}.info-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:.75rem;font-weight:600}.info-value{color:var(--text);font-size:.9375rem}.description-text{white-space:pre-wrap;line-height:1.5}.activity-badge{color:#fff;border-radius:6px;padding:.375rem .75rem;font-size:.875rem;font-weight:500;display:inline-block}.view-image{border:1px solid var(--border);border-radius:8px;max-width:100%;margin-top:.5rem}.meals-container{max-width:1400px;margin:0 auto;padding:1.5rem}.meals-container h2{text-align:center;color:var(--text);margin:0 0 1.5rem;font-size:1.75rem;font-weight:500}.meals-header{justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.meals-header .week-range{color:var(--text);text-align:center;min-width:160px;font-size:1.125rem;font-weight:500}.meals-table-wrapper{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:12px;overflow-x:auto}.meals-table{border-collapse:collapse;width:100%;min-width:900px}.meals-table th,.meals-table td{text-align:left;border-bottom:1px solid var(--border-muted);padding:.625rem .5rem}.meals-table th{background:var(--bg-light);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;z-index:10;font-size:.75rem;font-weight:600;position:sticky;top:0}.meals-table th.cost-header,.meals-table th.total-header{text-align:right;width:50px}.meals-table tbody tr:hover{background:#ffffff05}.meals-table tbody tr:last-child td{border-bottom:none}.meals-date-cell{text-align:center;width:70px}.meals-date-cell .date-day{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.625rem;font-weight:600}.meals-date-cell .date-num{color:var(--text);font-size:1rem;font-weight:600}.meals-name-cell{min-width:80px;max-width:120px}.meals-name-cell.editable{cursor:pointer;transition:background .2s}.meals-name-cell.editable:hover{background:#8b9cff1a}.meal-name-content{color:var(--text);align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.meal-name-wrapper{flex-direction:column;gap:.125rem;display:flex}.meal-brand{color:var(--text-muted);font-size:.625rem;font-style:italic}.meal-cost{color:var(--text-muted);font-size:.625rem;font-weight:500}.empty-meal{color:var(--text-muted)}.meal-image-indicator{background:var(--primary);color:#fff;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:.625rem;font-weight:600;display:inline-flex}.meal-image-indicator:hover{background:oklch(from var(--primary) calc(l * .85) c h)}.meals-cost-cell{text-align:right;width:50px;color:var(--text-muted);font-family:Courier New,monospace;font-size:.75rem}.meals-total-cell{text-align:right;width:70px;color:var(--text);font-family:Courier New,monospace;font-size:.875rem;font-weight:600}.meals-mobile-list{flex-direction:column;gap:1rem;display:flex}.meals-day-card{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:12px;overflow:hidden}.meals-day-header{border-bottom:1px solid var(--border-muted);background:#ffffff08;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.meals-day-header .day-label{color:var(--text);font-size:.875rem;font-weight:600}.meals-day-header .day-total{color:var(--primary);font-family:Courier New,monospace;font-size:.875rem;font-weight:600}.meals-slots{flex-direction:column;display:flex}.meals-slot-row{border-bottom:1px solid var(--border-muted);justify-content:space-between;align-items:center;padding:.625rem 1rem;display:flex}.meals-slot-row:last-child{border-bottom:none}.meals-slot-row.editable{cursor:pointer;transition:background .2s}.meals-slot-row.editable:hover{background:#8b9cff1a}.meals-slot-row .slot-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;width:60px;font-size:.75rem;font-weight:500}.meals-slot-row .slot-content{flex:1;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.meals-slot-row .slot-name-wrapper{flex-direction:column;align-items:flex-end;gap:.125rem;display:flex}.meals-slot-row .slot-name{color:var(--text);align-items:center;gap:.375rem;font-size:.875rem;display:flex}.meals-slot-row .slot-brand{color:var(--text-muted);font-size:.625rem;font-style:italic}.meals-slot-row .slot-cost{color:var(--text-muted);text-align:right;min-width:50px;font-family:Courier New,monospace;font-size:.75rem}.meals-modal .cost-currency-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.meals-modal .cost-label,.meals-modal .currency-label{color:var(--text);flex-direction:column;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;display:flex}.meal-images-preview{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.meal-images-preview .image-preview-container{width:calc(50% - .375rem)}.meal-images-preview .image-preview{object-fit:cover;width:100%;height:100px}.meals-gallery-modal{width:95%;max-width:600px}.gallery-images{flex-direction:column;gap:1rem;max-height:70vh;margin-bottom:1.5rem;display:flex;overflow-y:auto}.gallery-image{border:1px solid var(--border);border-radius:8px;width:100%}@media (max-width:768px){.meals-container{padding:1rem}.meals-table-wrapper{display:none}}@media (min-width:769px){.meals-mobile-list{display:none}}.nl-inline{margin:0 auto var(--space-lg);justify-content:center;gap:.5rem;max-width:360px;display:flex;position:relative}.nl-inline-input{background:var(--bg-light);color:var(--text);border:1px solid var(--border);border-radius:6px;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;transition:border-color .2s}.nl-inline-input::placeholder{color:var(--text-muted)}.nl-inline-input:focus{border-color:var(--primary);outline:none}.nl-inline-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;transition:opacity .15s}.nl-inline-btn:hover{opacity:.85}.nl-inline-btn:disabled{opacity:.5;cursor:not-allowed}.nl-inline-error{color:var(--danger);font-size:.75rem;position:absolute;top:calc(100% + 4px);left:0}.nl-inline-success{color:var(--text-muted);margin:0 0 var(--space-lg);font-size:.8125rem}@media (max-width:480px){.nl-inline{padding:0 var(--space-lg);flex-direction:column;max-width:none}}.routines-nav{justify-content:center;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.routines-week-label{color:var(--text);text-align:center;cursor:pointer;min-width:180px;font-size:1rem;font-weight:500;transition:color .15s}.routines-week-label:hover{color:var(--primary)}.routines-today-btn{margin:0 auto var(--space-md);background:var(--bg-light);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--surface-radius);cursor:pointer;padding:.25rem .75rem;font-size:.75rem;transition:border-color .15s,color .15s;display:block}.routines-today-btn:hover{border-color:var(--primary);color:var(--text)}.routines-week-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:.75rem;max-width:900px;margin:0 auto;display:grid}.routines-day-card{flex-direction:column;min-height:120px;padding:.875rem;transition:border-color .2s,opacity .2s;display:flex}.routines-day-card.today{box-shadow:0 0 0 1px var(--primary);border-color:var(--primary)!important}.routines-day-card.all-complete{opacity:.6}.routines-day-header{border-bottom:1px solid var(--border-muted);align-items:baseline;gap:.25rem;margin-bottom:.5rem;padding-bottom:.375rem;display:flex}.routines-day-name{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.625rem;font-weight:600}.routines-day-num{color:var(--text);font-size:.9375rem;font-weight:600}.routines-day-card.today .routines-day-name,.routines-day-card.today .routines-day-num{color:var(--primary)}.routines-day-progress{background:var(--border-muted);border-radius:1px;height:2px;margin-bottom:.375rem;overflow:hidden}.routines-day-progress-fill{background:var(--primary);border-radius:1px;height:100%;transition:width .3s}.routine-section{margin-bottom:.375rem}.routine-section:last-child{margin-bottom:0}.routine-section-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;margin-bottom:2px;padding-top:.25rem;font-size:.6875rem;font-weight:600;display:flex}.routine-section-header svg{flex-shrink:0}.routine-item{-webkit-user-select:none;user-select:none;border-radius:3px;align-items:center;gap:4px;padding:1px 0;transition:transform .15s;display:flex}.routine-item:hover{background:#6363630a;background:lab(42% 0 0/.04)}.routine-item.dragging{background:var(--card-fill);border-radius:4px;position:relative;box-shadow:0 2px 8px #00000026;box-shadow:0 2px 8px lab(0% 0 0/.15)}.routine-checkbox{width:13px;height:13px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0}.routine-checkbox:disabled{cursor:default}.routine-item-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8125rem;line-height:1.3;overflow:hidden}.routine-item.completed .routine-item-label{color:var(--text-muted);text-decoration:line-through}.routine-drag-handle{color:var(--text-muted);cursor:grab;touch-action:none;opacity:0;flex-shrink:0;font-size:.6875rem;line-height:1;transition:opacity .15s}.routine-item:hover .routine-drag-handle,.routine-item-wrapper:hover .routine-drag-handle{opacity:.5}.routine-drag-handle:hover{color:var(--text);opacity:1!important}.routine-drag-handle:active{cursor:grabbing}.routine-item-wrapper{align-items:center;gap:2px;display:flex}.routine-item-wrapper .routine-item{flex:1;min-width:0}.routine-actual-delete{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:.6875rem;line-height:1;transition:opacity .15s}.routine-item-wrapper:hover .routine-actual-delete{opacity:.5}.routine-actual-delete:hover{color:var(--danger);opacity:1!important}.routine-add-inline{margin-top:1px}.routine-add-input{width:100%;color:var(--text-muted);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;padding:2px 0;font-size:.625rem;transition:border-color .15s,color .15s}.routine-add-input::placeholder{color:var(--text-muted);opacity:.4;font-size:.625rem}.routine-add-input:focus{border-bottom-color:var(--primary);color:var(--text)}.routines-empty-day{color:var(--text-muted);text-align:center;padding:var(--space-sm) 0;flex:1;justify-content:center;align-items:center;font-size:.6875rem;display:flex}.routines-empty{color:var(--text-muted);padding:var(--space-xl) 0;font-size:.875rem}@media (max-width:600px){.routines-week-grid{grid-template-columns:1fr;gap:.5rem}.routines-nav{gap:.375rem}.routines-week-label{min-width:140px;font-size:.875rem}.routines-day-card{padding:.75rem}.routine-item-label{font-size:.75rem}.routine-drag-handle,.routine-actual-delete{opacity:.4}}@media (max-width:768px){.time-container{padding:1rem}.time-header{flex-direction:column;align-items:stretch}.week-navigation span{min-width:auto}.time-legend{gap:1rem}.routine-controls,.routine-columns,.routine-schedule-grid{grid-template-columns:1fr}.routine-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-item-row,.routine-add-item-row{grid-template-columns:1fr}.time-grid{grid-template-columns:50px repeat(3,minmax(70px,1fr));min-width:400px}.time-cell{min-height:40px}.hour-label{padding:.375rem .375rem .375rem 0;font-size:.625rem}.time-grid .day-header{padding:.5rem .25rem}.time-grid .day-name{font-size:.625rem}.time-grid .day-date{font-size:.8125rem}}.scorecard-container{max-width:1000px;margin:0 auto;padding:0 1rem}.scorecard-nav{justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.scorecard-nav-center{flex-direction:column;align-items:center;min-width:200px;display:flex}.scorecard-week-label{color:var(--text);font-size:1.125rem;font-weight:600}.scorecard-week-range{color:var(--text-muted);font-size:.8125rem}.scorecard-table-wrapper{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:12px;overflow-x:auto}.scorecard-table{border-collapse:collapse;width:100%;min-width:700px}.scorecard-table th,.scorecard-table td{text-align:left;border-bottom:1px solid var(--border-muted);vertical-align:top;padding:.75rem 1rem}.scorecard-table th{background:var(--bg-light);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;z-index:10;font-size:.75rem;font-weight:600;position:sticky;top:0}.scorecard-date-col{width:80px}.scorecard-table th:nth-child(2),.scorecard-table th:nth-child(3),.scorecard-table th:nth-child(4){width:calc(33.3333% - 26.6667px)}.scorecard-day-row:hover{background:#ffffff05}.scorecard-today{background:#8b9cff0a}.scorecard-today:hover{background:#8b9cff12}.scorecard-date-cell{text-align:center;white-space:nowrap}.scorecard-day-name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.625rem;font-weight:600;display:block}.scorecard-day-num{color:var(--text);font-size:1.125rem;font-weight:600;display:block}.scorecard-today .scorecard-day-num{color:var(--primary)}.scorecard-month-row{background:#8b9cff0f}.scorecard-month-row td{border-bottom:2px solid var(--border-muted)}.scorecard-month-label{text-align:center;white-space:nowrap}.scorecard-month-icon{color:var(--primary);margin-bottom:.125rem;font-size:1rem;line-height:1;display:block}.scorecard-month-label span:last-child{text-transform:uppercase;letter-spacing:.5px;color:var(--primary);font-size:.6875rem;font-weight:600}.scorecard-monthly-goal-content{min-height:2rem;color:var(--text);font-size:.875rem}.scorecard-monthly-goal-content.editable{cursor:pointer;border-radius:6px;padding:.25rem .5rem;transition:background .2s}.scorecard-monthly-goal-content.editable:hover{background:#8b9cff14}.scorecard-week-summary-row{background:#8b9cff0a}.scorecard-week-summary-row td{border-bottom:none;border-top:2px solid var(--border-muted)}.scorecard-week-summary-label{text-align:center;white-space:nowrap}.scorecard-week-icon{color:var(--text-muted);margin-bottom:.125rem;font-size:1rem;font-weight:700;line-height:1;display:block}.scorecard-week-summary-label span:last-child{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:.6875rem;font-weight:600}.scorecard-summary-content{color:var(--text-muted);font-size:.8125rem}.scorecard-cell-content{min-height:2.5rem;color:var(--text);font-size:.875rem}.scorecard-cell-content.editable{cursor:pointer;border-radius:6px;padding:.25rem .5rem;transition:background .2s}.scorecard-cell-content.editable:hover{background:#8b9cff14}.scorecard-bullets{margin:0;padding:0;list-style:none}.scorecard-bullets li{color:var(--text);padding-left:1rem;font-size:.8125rem;line-height:1.6;position:relative}.scorecard-bullets li:before{content:"•";color:var(--text-muted);position:absolute;left:0}.scorecard-summary-content .scorecard-bullets li{color:var(--text-muted);font-size:.75rem}.scorecard-empty{color:var(--text-muted);opacity:.5;font-size:.8125rem}.scorecard-edit-cell{width:100%}.scorecard-textarea{width:100%;min-height:3rem;color:var(--text);background:var(--bg-light);border:1px solid var(--primary);resize:none;border-radius:6px;outline:none;padding:.5rem;font-family:inherit;font-size:.8125rem;line-height:1.6;overflow:hidden}.scorecard-textarea::placeholder{color:var(--text-muted);opacity:.5}.scorecard-hint{text-align:center;color:var(--text-muted);opacity:.5;margin-top:.75rem;font-size:.6875rem}.scorecard-month-banner{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.scorecard-month-banner-label{flex-direction:column;flex-shrink:0;align-items:center;min-width:70px;display:flex}.scorecard-month-banner-label span:last-child{text-transform:uppercase;letter-spacing:.5px;color:var(--primary);font-size:.6875rem;font-weight:600}.scorecard-month-banner-content{flex:1;min-width:0}.scorecard-mobile-list{flex-direction:column;gap:.75rem;display:none}.scorecard-day-card{background:linear-gradient(var(--card-fill), var(--card-fill)) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box;box-shadow:var(--card-shadow);border:1px solid #0000;border-radius:12px;overflow:hidden}.scorecard-today-card{border-color:#8b9cff4d}.scorecard-day-card-header{background:var(--bg-light);border-bottom:1px solid var(--border-muted);align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.scorecard-day-card-name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.6875rem;font-weight:600}.scorecard-day-card-num{color:var(--text);font-size:1rem;font-weight:600}.scorecard-today-card .scorecard-day-card-num{color:var(--primary)}.scorecard-day-card-fields{padding:.5rem 0}.scorecard-field{padding:.375rem 1rem}.scorecard-field+.scorecard-field{border-top:1px solid var(--border-muted)}.scorecard-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.625rem;font-weight:600;display:block}.scorecard-summary-card{background:linear-gradient(#8b9cff0a, #8b9cff0a) padding-box, linear-gradient(180deg, var(--card-edge-top), var(--card-edge-bottom)) border-box}.scorecard-summary-card .scorecard-day-card-header{background:#8b9cff0f}@media (max-width:768px){.scorecard-container{padding:0 .5rem}.scorecard-nav{flex-wrap:wrap;gap:.5rem}.scorecard-table-wrapper{display:none}.scorecard-mobile-list{display:flex}.scorecard-month-banner{flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem 1rem}.scorecard-month-banner-label{min-width:unset;flex-direction:row;gap:.5rem}}
