.habit-tracking,.ht-dialog{color:var(--ui-text)}.ht-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.ht-eyebrow{display:block;color:var(--ui-accent);font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:650}.ht-heading h2{font-size:22px;letter-spacing:-.035em;font-weight:700;margin:6px 0}.ht-footnote,.ht-heading p{color:var(--ui-text-subtle);font-size:11px!important;line-height:1.65}.ht-period{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ht-period>span{font-size:12px;text-transform:capitalize}.ht-icon-button,.ht-period button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--ui-border);border-radius:10px;color:var(--ui-text-muted);background:var(--ui-surface)}.ht-period button:hover{border-color:#3b82f6}.ht-period button:disabled{opacity:.3;cursor:default}.ht-period .ht-period-reset{width:auto;padding:0 10px;font-size:11px}.ht-table-scroll{width:100%;overflow:auto;border:1px solid var(--ui-border);border-radius:14px;scrollbar-width:thin;scrollbar-color:var(--ui-border) transparent}.habit-tracking table{border-collapse:separate;border-spacing:0;width:100%;text-align:center;font-size:12px}.ht-week-table{min-width:680px}.ht-month-table{min-width:1250px}.habit-tracking th{font-weight:500;color:var(--ui-text-muted)}.habit-tracking thead th{padding:12px 6px;background:var(--ui-surface-muted);font-size:10px}.ht-week-table thead span{display:block;text-transform:capitalize}.ht-week-table thead strong{display:block;font-size:18px;margin-top:3px;color:var(--ui-text);font-weight:650}.habit-tracking tbody td,.habit-tracking tbody th{border-top:1px solid var(--ui-border);padding:12px 6px}.habit-tracking th:first-child{position:sticky;left:0;z-index:1;text-align:left;width:230px;padding-left:15px;background:var(--ui-surface);border-right:1px solid var(--ui-border)}.habit-tracking th a{display:flex;align-items:center;gap:10px;color:var(--ui-text);font-size:12px}.habit-tracking th a>span:not(.ht-habit-icon){max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ht-habit-icon{width:38px;height:38px;flex-shrink:0;border-radius:12px;background:color-mix(in srgb,var(--ui-surface) 92%,#3b82f6)}.ht-day-button,.ht-habit-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-accent)}.ht-day-button{width:39px;height:39px;border:1px solid var(--ui-border);border-radius:12px;font-size:10px}.ht-day-button:not(:disabled):hover{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f612}.ht-day-button:disabled{cursor:default;opacity:.45}.ht-day-button.is-done,.ht-day-button.is-partial{color:var(--ht-progress-color);border-color:color-mix(in srgb,var(--ht-progress-color) 35%,transparent);background:color-mix(in srgb,var(--ht-progress-color) 10%,var(--ui-surface))}.ht-day-button.is-done{background:var(--ht-progress-color);color:white}.ht-today{background:#3b82f607}.ht-today strong{color:var(--ui-accent)!important}.ht-not-scheduled{color:var(--ui-text-subtle);opacity:.6}.ht-future-dot{width:4px;height:4px;background:var(--ui-text-subtle);border-radius:50%}.ht-legend{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:16px;margin:18px 0 10px;font-size:10px;color:var(--ui-text-subtle)}.ht-legend span{display:flex;align-items:center;gap:6px}.ht-legend i{width:8px;height:8px;border-radius:3px}.ht-legend-blue{background:#3b82f6}.ht-legend-green{background:#10b981}.ht-month-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px;border:1px solid var(--ui-border);border-radius:14px;background:linear-gradient(120deg,#3b82f608,transparent)}.ht-month-stats>div{display:flex;flex-direction:column;gap:6px}.ht-month-stats span{font-size:11px;color:var(--ui-text-muted)}.ht-month-stats strong{font-size:32px;letter-spacing:-.045em;font-weight:650;font-variant-numeric:tabular-nums}.ht-month-stats small{font-size:10px;color:var(--ui-text-subtle);letter-spacing:normal}.ht-month-stats strong small{font-size:16px}.ht-month-chart{height:240px;margin:25px 0}.ht-matrix-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 14px}.ht-matrix-heading h3{font-size:14px;font-weight:600}.ht-matrix-heading>span{font-size:10px;color:var(--ui-text-subtle)}.ht-month-table th:first-child{width:210px;min-width:210px}.ht-month-table tbody td{padding:12px 3px}.ht-map-cell{width:22px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:var(--ui-surface-muted);font-size:11px}.ht-map-cell.has-progress{background:color-mix(in srgb,var(--ht-progress-color) calc(var(--ht-opacity) * 100%),var(--ui-surface));color:var(--ui-text)}.ht-map-cell.is-future{opacity:.3;border:1px dashed var(--ui-border);background:none}.ht-map-cell.not-scheduled{background:none;color:var(--ui-text-subtle)}.ht-month-table tfoot td{font-size:8px;color:var(--ui-text-subtle);padding:12px 2px;border-top:1px solid var(--ui-border)}.ht-month-table tfoot th{font-size:10px;border-top:1px solid var(--ui-border)}.ht-state{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:12px;color:var(--ui-text-muted)}.ht-state button{color:var(--ui-accent)}.ht-dialog-overlay{position:fixed;inset:0;z-index:100;background:#060d1c9c;backdrop-filter:blur(7px)}.ht-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:101;width:min(490px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;padding:26px;border:1px solid color-mix(in srgb,var(--ui-border) 65%,#3b82f6);border-radius:24px;background:radial-gradient(ellipse at 80% 0,#3b82f614,transparent 48%),var(--ui-surface);box-shadow:0 25px 100px #0005}.ht-dialog-top{display:flex;align-items:center;gap:12px}.ht-dialog-top>div{min-width:0;flex:1}.ht-dialog-top h2{margin-top:5px;font-size:20px;font-weight:700;letter-spacing:-.025em;overflow-wrap:anywhere}.ht-dialog-top .ht-eyebrow{font-size:8px}.ht-dialog-description{font-size:12px;color:var(--ui-text-muted);line-height:1.65;margin:18px 0}.ht-register-pulse{display:flex;align-items:center;gap:22px;padding:18px 14px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface);margin-bottom:25px}.ht-register-orbit{position:relative;width:105px;height:105px;flex-shrink:0}.ht-register-orbit svg{width:100%;height:100%;fill:none;transform:rotate(-90deg)}.ht-ring-track{stroke:var(--ui-surface-muted);stroke-width:7}.ht-ring-value{stroke:var(--ht-progress-color);stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .25s}.ht-register-orbit>strong{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:650;letter-spacing:-.04em}.ht-register-orbit small{font-size:12px;color:var(--ui-text-subtle)}.ht-register-pulse>div:last-child>strong{display:block;font-size:25px;font-weight:650;letter-spacing:-.035em;margin-top:4px;overflow-wrap:anywhere}.ht-register-pulse p{font-size:11px;color:var(--ui-text-muted)}.ht-progress-message{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--ui-text-subtle);margin-top:10px}.ht-register-fields legend{font-size:14px;font-weight:600;margin-bottom:15px}.ht-duration-inputs{display:flex;align-items:center;justify-content:center;gap:18px}.ht-duration-inputs label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--ui-text-muted);flex:1}.ht-duration-inputs input{width:100%;padding:12px;text-align:center;font-size:30px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-muted);color:var(--ui-text)}.ht-duration-inputs>span{font-size:25px;padding-top:20px;color:var(--ui-text-subtle)}.ht-quick-values{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.ht-quick-values button{flex:1;white-space:nowrap;padding:8px 10px;font-size:11px;border:1px solid var(--ui-border);border-radius:9px;color:var(--ui-accent)}.ht-quick-values button:hover{background:#3b82f60e}.ht-register-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--ui-border);margin-top:22px;padding-top:20px}.ht-reset-button{gap:6px;color:var(--ui-text-subtle)}.ht-primary-button,.ht-reset-button{display:flex;align-items:center;font-size:12px}.ht-primary-button{gap:7px;background:#2865e2;color:white;font-weight:600;padding:12px 17px;border-radius:11px;box-shadow:0 5px 16px #2563eb20}.ht-dialog button:disabled{opacity:.4;cursor:default}.ht-field-label{font-size:11px;color:var(--ui-text-muted)}.ht-quantity-input{display:flex;gap:10px;align-items:center;margin:9px 0}.ht-quantity-input button{display:flex;align-items:center;justify-content:center;width:40px;height:44px;color:var(--ui-accent)}.ht-quantity-input button,.ht-quantity-input input{border:1px solid var(--ui-border);border-radius:12px}.ht-quantity-input input{min-width:0;flex:1;width:100%;padding:12px;font-size:30px;text-align:center;background:var(--ui-surface-muted);color:var(--ui-text)}.ht-input-hint{font-size:10px;color:var(--ui-text-subtle)}.ht-error{color:#ef4444;font-size:12px;line-height:1.5;margin-top:12px}.habit-tracking :is(a,button):focus-visible,.ht-dialog :is(button,input):focus-visible,.ht-table-scroll:focus-visible{outline:2px solid #3b82f6;outline-offset:3px}.ht-goal-label{pointer-events:none;filter:drop-shadow(0 5px 9px rgba(146,91,0,.18))}.ht-goal-label rect{fill:var(--ui-surface);stroke:#f59e0b;stroke-width:1.25px}.ht-goal-label circle{fill:#f59e0b}.ht-goal-label text{fill:#a16207;font-size:10px;font-weight:750;letter-spacing:.01em}.dark .ht-goal-label{filter:drop-shadow(0 5px 11px rgba(0,0,0,.5))}.dark .ht-goal-label rect{fill:#20242c;stroke:#fbbf24}.dark .ht-goal-label circle{fill:#fbbf24}.dark .ht-goal-label text{fill:#fde68a}@media (max-width:800px){.ht-heading{flex-direction:column;align-items:flex-start;gap:16px}.ht-month-stats{gap:12px;padding:16px}.ht-month-stats strong{font-size:26px}.ht-matrix-heading{align-items:flex-start;flex-direction:column}.habit-tracking th:first-child{width:175px}.habit-tracking th a>span:not(.ht-habit-icon){max-width:115px}.ht-month-table th:first-child{min-width:165px}.ht-month-table th a>span{max-width:100px!important}.ht-legend{justify-content:flex-start}}@media (max-width:460px){.ht-dialog{padding:20px}.ht-register-pulse{gap:10px;padding:12px 8px}.ht-register-orbit{width:90px;height:90px}.ht-register-pulse>div:last-child>strong{font-size:22px}.ht-month-stats{grid-template-columns:1fr 1fr}.ht-month-stats>div:last-child{grid-column:1/-1;border-top:1px solid var(--ui-border);padding-top:14px}.ht-heading h2{font-size:20px}}@media (prefers-reduced-motion:reduce){.habit-tracking *,.ht-dialog *{animation:none!important;transition:none!important}}