.ss{--ss-l0:color-mix(in srgb, var(--dark-purple) 8%, var(--pure-white));--ss-l1:color-mix(in srgb, var(--cloud-purple) 42%, var(--pure-white));--ss-l2:var(--cloud-purple);--ss-l3:var(--dark-purple);gap:var(--space-6);min-width:0;display:grid}.ss-split{align-items:start}.ss-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ss-today{gap:var(--space-6);min-width:0;display:grid}.ss-streak{gap:var(--space-2);display:grid}.ss-streak-figure{align-items:flex-end;gap:var(--space-3);margin:0;display:flex}.ss-flame{flex:none;width:44px;height:56px;margin-bottom:14px}.ss-flame path{fill:var(--ss-l0);stroke:var(--soft-grey);stroke-width:3px;stroke-linejoin:round;transition:fill var(--duration-base) var(--ease-out), stroke var(--duration-base) var(--ease-out)}.ss-flame .ss-flame-core{fill:var(--pure-white)}.ss-streak.is-live .ss-flame path{fill:var(--phoenix-pink);stroke:var(--dark-purple)}.ss-streak.is-live .ss-flame .ss-flame-core{fill:var(--cream-paper)}.ss-streak-value{color:var(--dark-purple);letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-family:Plus Jakarta Sans Variable,Plus Jakarta Sans,system-ui,sans-serif;font-size:clamp(88px,12vw,136px);font-weight:300;line-height:.85}.ss-streak-unit{color:var(--ink-text);font-family:Plus Jakarta Sans Variable,Plus Jakarta Sans,system-ui,sans-serif;font-size:var(--text-2xl);letter-spacing:-.03em;margin-bottom:12px;font-weight:700}.ss-streak.is-bump .ss-streak-value{animation:ss-bump .36s var(--ease-out);display:inline-block}.ss-streak-line{color:var(--soft-grey);font-size:var(--text-base);margin:0}.ss-milestone{margin:var(--space-1) 0 0;padding:var(--space-2) var(--space-4);border-left:3px solid var(--phoenix-pink);color:var(--ink-text);justify-self:start;font-weight:650}.ss-today-head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);padding-bottom:var(--space-2);border-bottom:2px solid var(--wash-purple);flex-wrap:wrap;display:flex}.ss-habits{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.ss-habit{align-items:center;gap:var(--space-4);width:100%;min-height:76px;padding:var(--space-3) var(--space-6) var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--pure-white);color:var(--ink-text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out);border:1.5px solid #e2e0ea;display:flex}.ss-habit:hover{border-color:var(--cloud-purple)}.ss-habit[aria-pressed=true]{border-color:var(--dark-purple);background:var(--wash-purple)}.ss-box{border:2.5px solid var(--silver-beak);background:var(--pure-white);width:40px;height:40px;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border-radius:11px;flex:none;display:block;position:relative}.ss-habit:hover .ss-box{border-color:var(--cloud-purple)}.ss-habit[aria-pressed=true] .ss-box{border-color:var(--dark-purple);background:var(--dark-purple)}.ss-habit[aria-pressed=true] .ss-box:after{content:"";border:solid var(--pure-white);border-width:0 3.5px 3.5px 0;width:10px;height:19px;position:absolute;top:5px;left:12px;transform:rotate(45deg)}.ss-habit.is-ticking .ss-box{animation:ss-tick .3s var(--ease-out)}.ss-habit:active .ss-box{transform:scale(.92)}.ss-habit-text{gap:2px;min-width:0;display:grid}.ss-habit-name{font-size:var(--text-lg);overflow-wrap:anywhere;font-weight:650;line-height:1.3}.ss-habit-state{color:var(--soft-grey);font-size:var(--text-sm)}.ss-habit[aria-pressed=true] .ss-habit-state{color:var(--dark-purple);font-weight:600}.ss-rule{align-items:center;gap:var(--space-2);color:var(--soft-grey);font-size:var(--text-sm);margin:0;font-weight:600;display:flex}.ss-rule-mark{background:var(--ss-l2);border-radius:4px;flex:none;width:14px;height:14px}.ss-empty{text-align:center;justify-items:stretch}.ss-empty .sticker,.ss-empty p{justify-self:center}.ss-empty .ss-add{text-align:left;justify-self:center;width:100%;max-width:460px}.ss-add-row{gap:var(--space-2);display:flex}.ss-add-row .tk-input{flex:auto;min-width:0}.ss-add-row .tk-btn{flex:none;min-height:48px}.ss-edit{gap:var(--space-3);display:grid}.ss-edit[hidden]{display:none}.ss-edit-toggle{padding:0 var(--space-4);margin-left:calc(var(--space-4) * -1);color:var(--dark-purple);justify-self:start}.ss-edit-panel{gap:var(--space-4);padding-top:var(--space-2);display:grid}.ss-edit-panel[hidden]{display:none}.ss-edit-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.ss-edit-item{align-items:center;gap:var(--space-2);display:flex}.ss-edit-item .tk-input{flex:auto;min-width:0}.ss-history{gap:var(--space-6);min-width:0;display:grid}.ss-history-head{gap:var(--space-4);display:grid}.ss-stats{gap:var(--space-4) var(--space-9)}.ss-heat-wrap{--ss-gap:5px;--ss-label:34px;gap:var(--space-2);display:grid}.ss-months{gap:var(--ss-gap);margin-left:calc(var(--ss-label) + var(--ss-gap));color:var(--soft-grey);font-size:var(--text-xs);grid-template-columns:repeat(16,minmax(0,1fr));font-weight:600;display:grid}.ss-months span{white-space:nowrap;min-width:0;overflow:visible}.ss-heat-body{grid-template-columns:var(--ss-label) minmax(0, 1fr);gap:var(--ss-gap);display:grid}.ss-weekdays{gap:var(--ss-gap);color:var(--soft-grey);font-size:var(--text-xs);grid-template-rows:repeat(7,minmax(0,1fr));font-weight:600;display:grid}.ss-weekdays span{align-items:center;display:flex}.ss-heat{gap:var(--ss-gap);grid-template-rows:repeat(7,auto);grid-template-columns:repeat(16,minmax(0,1fr));grid-auto-flow:column;display:grid}.ss-cell{aspect-ratio:1;background:var(--ss-l0);cursor:default;transition:background-color var(--duration-base) var(--ease-out);border-radius:5px;display:block}.ss-cell.ss-l1{background:var(--ss-l1)}.ss-cell.ss-l2{background:var(--ss-l2)}.ss-cell.ss-l3{background:var(--ss-l3)}.ss-cell.is-future{background:0 0;box-shadow:inset 0 0 0 1px #eceaf1}.ss-cell.is-today{outline:2px solid var(--ink-text);outline-offset:1px}.ss-cell:focus-visible{outline:3px solid var(--dark-purple);outline-offset:2px;z-index:1;position:relative}.ss-heat-foot{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.ss-heat-caption{min-height:1.5em;color:var(--ink-text);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.ss-legend{color:var(--soft-grey);font-size:var(--text-xs);align-items:center;gap:4px;font-weight:600;display:flex}.ss-legend span:first-child{margin-right:4px}.ss-legend span:last-child{margin-left:4px}.ss-legend i{background:var(--ss-l0);border-radius:4px;width:14px;height:14px;display:block}.ss-legend .ss-l1{background:var(--ss-l1)}.ss-legend .ss-l2{background:var(--ss-l2)}.ss-legend .ss-l3{background:var(--ss-l3)}.ss-tools{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid #e7e5ec;flex-wrap:wrap;display:flex}@keyframes ss-tick{0%{transform:scale(.8)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes ss-bump{0%{transform:translateY(0)}40%{transform:translateY(-6px)}to{transform:translateY(0)}}@media (width<=1040px){.ss-history-head{grid-template-columns:minmax(0,1fr)}}@media (width<=680px){.ss-heat-wrap{--ss-gap:3px;--ss-label:28px}.ss-cell{border-radius:3px}.ss-habit{min-height:72px;padding-right:var(--space-4)}.ss-streak-unit{font-size:var(--text-xl)}.ss-tools .tk-actions{flex-direction:column;align-items:stretch;width:100%}.ss-tools .tk-btn{width:100%}.ss-add-row{flex-direction:column}.ss-add-row .tk-btn{width:100%}}@media (prefers-reduced-motion:reduce){.ss-habit,.ss-box,.ss-cell,.ss-flame path{transition:none}.ss-habit.is-ticking .ss-box,.ss-streak.is-bump .ss-streak-value{animation:none}}@media print{.tk-page .ss{color:var(--dark-purple);display:block}.tk-page .ss-split{display:block}.tk-page .ss-today-head,.tk-page #ss-habits,.tk-page .ss-heat-caption,.tk-page .ss-streak-line{display:none}.tk-page .ss-streak{margin-bottom:6mm}.tk-page .ss-streak-value,.tk-page .ss-streak-unit,.tk-page .ss-milestone,.tk-page .tk-stat-value,.tk-page .tk-stat-label,.tk-page .ss-months,.tk-page .ss-weekdays,.tk-page .ss-legend,.tk-page .tk-subtitle{color:var(--dark-purple)}.tk-page .ss-history{gap:5mm;display:grid}.tk-page .ss-cell,.tk-page .ss-legend i,.tk-page .ss-flame path{-webkit-print-color-adjust:exact;print-color-adjust:exact}.tk-page .ss-cell.is-future{box-shadow:inset 0 0 0 .6pt #d8cec2}}
