[data-rsbs-overlay]{border-top-left-radius:16px;border-top-left-radius:var(--rsbs-overlay-rounded,16px);border-top-right-radius:16px;border-top-right-radius:var(--rsbs-overlay-rounded,16px);display:flex;background:#fff;background:var(--rsbs-bg,#fff);flex-direction:column;height:0px;height:var(--rsbs-overlay-h,0px);transform:translateZ(0);transform:translate3d(0,var(--rsbs-overlay-translate-y,0px),0);will-change:height}[data-rsbs-overlay]:focus{outline:none}[data-rsbs-is-blocking=false] [data-rsbs-overlay]{box-shadow:0 -5px 60px #2659731c,0 -1px #2659730d}[data-rsbs-overlay],[data-rsbs-root]:after{max-width:auto;max-width:var(--rsbs-max-w,auto);margin-left:env(safe-area-inset-left);margin-left:var(--rsbs-ml,env(safe-area-inset-left));margin-right:env(safe-area-inset-right);margin-right:var(--rsbs-mr,env(safe-area-inset-right))}[data-rsbs-overlay],[data-rsbs-backdrop],[data-rsbs-root]:after{z-index:3;-ms-scroll-chaining:none;overscroll-behavior:none;touch-action:none;position:fixed;right:0;bottom:0;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}[data-rsbs-backdrop]{top:-60px;bottom:-60px;background-color:#0009;background-color:var(--rsbs-backdrop-bg,rgba(0, 0, 0, .6));will-change:opacity;cursor:pointer;opacity:1}[data-rsbs-is-dismissable=false] [data-rsbs-backdrop]{cursor:ns-resize}[data-rsbs-root]:after{content:"";pointer-events:none;background:#fff;background:var(--rsbs-bg,#fff);height:1px;transform-origin:bottom;transform:scale3d(1,0,1);transform:scale3d(1,var(--rsbs-antigap-scale-y,0),1);will-change:transform}[data-rsbs-footer],[data-rsbs-header]{flex-shrink:0;cursor:ns-resize;padding:16px}[data-rsbs-header]{text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-shadow:0 1px #2e3b4220;box-shadow:0 1px rgba(46,59,66,calc(var(--rsbs-content-opacity,1) * .125));z-index:1;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:8px}[data-rsbs-header]:before{position:absolute;content:"";display:block;width:36px;height:4px;top:calc(8px + env(safe-area-inset-top));left:50%;transform:translate(-50%);border-radius:2px;background-color:#00000024;background-color:var(--rsbs-handle-bg,hsla(0, 0%, 0%, .14))}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){[data-rsbs-header]:before{transform:translate(-50%) scaleY(.75)}}[data-rsbs-has-header=false] [data-rsbs-header]{box-shadow:none;padding-top:calc(12px + env(safe-area-inset-top))}[data-rsbs-scroll]{flex-shrink:1;flex-grow:1;-webkit-tap-highlight-color:revert;-webkit-touch-callout:revert;-webkit-user-select:auto;-ms-user-select:auto;-moz-user-select:auto;user-select:auto;overflow:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}[data-rsbs-scroll]:focus{outline:none}[data-rsbs-has-footer=false] [data-rsbs-content]{padding-bottom:env(safe-area-inset-bottom)}[data-rsbs-content]{overflow:hidden}[data-rsbs-footer]{box-shadow:0 -1px #2e3b4220,0 2px #fff;box-shadow:0 -1px rgba(46,59,66,calc(var(--rsbs-content-opacity,1) * .125)),0 2px 0 var(--rsbs-bg,#fff);overflow:hidden;z-index:1;padding-bottom:calc(16px + env(safe-area-inset-bottom))}[data-rsbs-is-dismissable=true] [data-rsbs-header]>*,[data-rsbs-is-dismissable=true] [data-rsbs-scroll]>*,[data-rsbs-is-dismissable=true] [data-rsbs-footer]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=opening] [data-rsbs-header]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=closing] [data-rsbs-header]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=opening] [data-rsbs-scroll]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=closing] [data-rsbs-scroll]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=opening] [data-rsbs-footer]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=closing] [data-rsbs-footer]>*{opacity:1;opacity:var(--rsbs-content-opacity,1)}[data-rsbs-is-dismissable=true] [data-rsbs-backdrop],[data-rsbs-is-dismissable=false][data-rsbs-state=opening] [data-rsbs-backdrop],[data-rsbs-is-dismissable=false][data-rsbs-state=closing] [data-rsbs-backdrop]{opacity:1;opacity:var(--rsbs-backdrop-opacity,1)}[data-rsbs-state=closed],[data-rsbs-state=closing]{pointer-events:none}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0}.serif{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto}.sans{font-family:IBM Plex Sans,-apple-system,sans-serif}.mono{font-family:JetBrains Mono,monospace}button{font-family:inherit;cursor:pointer;touch-action:manipulation}input{font-family:inherit}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:1rem;color:var(--ink)}.input:focus{outline:none;border-color:var(--accent)}.text-action{background:none;border:none;padding:8px 4px;margin:-8px -4px;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;text-decoration:none}.nav-btn{transition:color .15s,opacity .1s}.nav-btn:active{opacity:.55}.back-button{transition:background .15s,border-color .15s,color .15s,transform .06s}.back-button:active{background:var(--hover);border-color:var(--border);color:var(--ink);transform:scale(.98)}.day-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;border:1px solid transparent;border-radius:var(--radius);min-width:0;flex:1;cursor:pointer;transition:all .15s;font:inherit;color:inherit;text-align:inherit}.day-chip:active{transform:scale(.96)}.heatmap-grid{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;margin-bottom:32px}@media(max-width:480px){.heatmap-grid{grid-template-columns:repeat(7,1fr);gap:6px}}.row-timer-btn{transition:background .15s,border-color .15s,transform .06s}.row-timer-btn:hover{background:var(--hover);border-color:var(--accent)}.row-timer-btn:active{transform:scale(.94)}.today-row-title{display:flex;flex-direction:row;align-items:center;gap:12px}@media(max-width:520px){.today-row-title{flex-direction:column;align-items:flex-start;gap:2px}}.today-row-body.closed{overflow:hidden;max-height:0}.today-row-body.open{max-height:560px}@media(prefers-reduced-motion:no-preference){.today-row-body{overflow:hidden;transition:max-height .22s ease,opacity .18s ease}.today-row-body.closed{max-height:0;opacity:0}.today-row-body.open{max-height:560px;opacity:1}}@media(prefers-reduced-motion:no-preference){@keyframes check-pop{0%{transform:scale(1)}35%{transform:scale(1.3)}to{transform:scale(1)}}.check-popped{animation:check-pop .25s ease}}.timer-wrap{--phase: var(--accent);display:flex;flex-direction:column;align-items:center}.ring-hero{position:relative;width:286px;height:286px;max-width:80vw;max-height:80vw;margin:6px 0 26px}.ring-hero>svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--border-soft);stroke-width:9}.ring-prog{fill:none;stroke:var(--phase);stroke-width:9;stroke-linecap:round;transition:stroke .6s ease,stroke-dashoffset .2s linear}.ring-glow{position:absolute;top:16px;right:16px;bottom:16px;left:16px;border-radius:50%;z-index:-1;background:radial-gradient(circle,color-mix(in srgb,var(--phase) 30%,transparent) 0%,transparent 68%);opacity:0;transition:opacity .6s ease,background .6s ease}.timer-wrap.is-running .ring-glow{opacity:1;animation:glowPulse 2.4s ease-in-out infinite}@keyframes glowPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.05);opacity:1}}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;padding:0 40px}.timer-phase{font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;color:var(--phase);margin-bottom:8px;transition:color .6s ease}.timer-num{font-family:Fraunces,Georgia,serif;font-variant-numeric:tabular-nums;font-weight:500;font-size:3.4rem;color:var(--ink);letter-spacing:-.01em;transform-origin:center}.timer-num.tick{animation:numTick 1s ease-out}@keyframes numTick{0%{transform:scale(1.05);opacity:.85}40%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:1}}.timer-cycles{font-family:JetBrains Mono,monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px;min-height:.7rem}.timer-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}.ctrl-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:104px;min-height:44px;padding:0 20px;border:none;border-radius:40px;background:var(--ink);color:var(--bg);font-family:IBM Plex Sans,sans-serif;font-size:.86rem;font-weight:500;letter-spacing:.01em;transition:background .15s,transform .06s}.ctrl-primary:active{transform:scale(.97);background:var(--accent-pressed)}.ctrl-reset{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface-soft);color:var(--muted);transition:background .15s,color .15s,transform .06s}.ctrl-reset:active{transform:scale(.94);background:var(--hover);color:var(--ink)}.ctrl-reset:disabled{color:var(--disabled);border-color:var(--border-soft);cursor:default}.setting-row{width:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.dd{position:relative}.dd-chip{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid var(--border);border-radius:30px;background:var(--surface-soft);color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.04em;font-variant-numeric:tabular-nums;transition:background .13s,border-color .13s,transform .06s}.dd-chip:active{transform:scale(.97)}.dd-chip .gly{color:var(--accent);font-size:.86rem;line-height:1}.dd-chip .gly.gly-loop{font-size:1.3rem;font-weight:500;margin-top:-2px}.dd-chip .caret{color:var(--muted);font-size:.7rem;transition:transform .16s ease}.dd.open .dd-chip{border-color:var(--accent);background:var(--surface-tint)}.dd.open .dd-chip .caret{transform:rotate(180deg)}.dd-chip.is-on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.dd-pop{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);min-width:148px;max-height:260px;overflow-y:auto;padding:6px;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px #2a24192e;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s}.dd.open .dd-pop{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0)}.dd--down .dd-pop{bottom:auto;top:calc(100% + 8px);transform:translate(-50%) translateY(-4px)}.dd--down.open .dd-pop{transform:translate(-50%) translateY(0)}.dd-pop-head{font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.56rem;color:var(--muted);padding:5px 10px 7px}.dd-opt{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:8px 10px;border:none;border-radius:5px;background:none;text-align:left;color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:.74rem;letter-spacing:.03em;font-variant-numeric:tabular-nums;transition:background .12s}.dd-opt:active{background:var(--hover)}.dd-opt[aria-checked=true]{color:var(--accent);background:var(--surface-tint)}.dd-opt:disabled{color:var(--disabled);cursor:default}.dd-opt:disabled[aria-checked=true]{color:var(--accent)}.dd-opt .tick{margin-left:auto;color:var(--accent);opacity:0;font-size:.8rem}.dd-opt[aria-checked=true] .tick{opacity:1}.dd-sep{height:1px;background:var(--border-soft);margin:5px 6px}.dd-custom{display:flex;align-items:center;gap:7px;padding:6px 10px 4px}.dd-custom input{width:60px;min-height:32px;padding:4px 8px;border:1px solid var(--border);border-radius:20px;background:var(--surface-soft);color:var(--ink);font-family:JetBrains Mono,monospace;font-size:.78rem;text-align:center;font-variant-numeric:tabular-nums}.dd-custom input:focus{outline:none;border-color:var(--accent)}.dd-custom span{font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}@media(prefers-reduced-motion:reduce){.timer-wrap.is-running .ring-glow,.timer-num.tick{animation:none}.ring-prog{transition:stroke .6s ease}}.celebrate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}.celebrate-card{text-align:center;padding:24px 28px;border-radius:10px;background:var(--surface);border:1px solid var(--border-soft);box-shadow:0 12px 40px #00000047}.confetti-piece{position:absolute;top:-24px;border-radius:1px;opacity:0}@media(prefers-reduced-motion:no-preference){@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0);opacity:0}8%{opacity:1}to{transform:translateY(105vh) rotate(720deg);opacity:.95}}@keyframes celebrate-pop{0%{transform:scale(.7);opacity:0}45%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}@keyframes celebrate-overlay-fade{0%,72%{opacity:1}to{opacity:0}}.celebrate-overlay{animation:celebrate-overlay-fade 2.6s ease forwards}.celebrate-card{animation:celebrate-pop .5s ease}.confetti-piece{animation:confetti-fall var(--dur, 2s) linear var(--delay, 0s) forwards}}
