@font-face{font-family:Jost Variable;font-style:normal;font-display:block;font-weight:100 900;src:url(/assets/jost-latin-wght-ObQm3Zd1.woff2)format("woff2-variations"),url(/assets/jost-latin-wght-ObQm3Zd1.woff2)format("woff2")}:root{--paper:#f2efe8;--paper-2:#ebe7de;--ink:#2a2926;--ink-2:#6f6a61;--ink-3:#9b958a;--rim:#d8d2c6;--line:#e1dcd1;--accent:#4f8072;--accent-soft:#4f807224;--on-ink:#f2efe8;--scrim:#2a292647;--sheet:#f7f5f0;--shadow:0 -1px 0 #2a29260a, 0 -20px 60px #2a29261a;--font:"Jost Variable", "Jost", ui-sans-serif, system-ui, -apple-system, sans-serif;--ease:cubic-bezier(.22, .8, .24, 1);--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1b1c1b;--paper-2:#222322;--ink:#e7e3da;--ink-2:#a39f96;--ink-3:#75726c;--rim:#353735;--line:#2d2f2d;--accent:#7fae9f;--accent-soft:#7fae9f29;--on-ink:#1b1c1b;--scrim:#00000080;--sheet:#232423;--shadow:0 -1px 0 #ffffff0a, 0 -20px 60px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#1b1c1b;--paper-2:#222322;--ink:#e7e3da;--ink-2:#a39f96;--ink-3:#75726c;--rim:#353735;--line:#2d2f2d;--accent:#7fae9f;--accent-soft:#7fae9f29;--on-ink:#1b1c1b;--scrim:#00000080;--sheet:#232423;--shadow:0 -1px 0 #ffffff0a, 0 -20px 60px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;font-size:17px;font-weight:400;line-height:1.45;transition:background-color .4s,color .4s;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:12px}input:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:12px}[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:12px}.app{height:100%;min-height:100svh;padding:var(--sat) var(--sar) var(--sab) var(--sal);grid-template-rows:auto 1fr auto;display:grid;position:relative}.bar{justify-content:space-between;align-items:center;min-height:56px;padding:6px 10px 0;transition:opacity .8s;display:flex}.icon-btn{width:48px;height:48px;color:var(--ink-2);border-radius:50%;place-items:center;transition:color .2s,background-color .2s;display:grid}.icon-btn:active{background:var(--paper-2);color:var(--ink)}.icon-btn:disabled{opacity:.3;cursor:default}.app.is-running .bar .icon-btn{opacity:.35}.app .bar .icon-btn{transition:opacity 1.2s,color .2s,background-color .2s}.hint{letter-spacing:.01em;color:var(--ink-2);opacity:0;transition:opacity .6s ease, transform .6s var(--ease);pointer-events:none;text-align:center;margin:0;font-size:13px;transform:translateY(-2px)}.hint.show{opacity:1;transform:none}.stage{place-items:center;min-height:0;padding:0 24px;display:grid}.dial{--size:min(78vw, 46svh, 380px);width:var(--size);height:var(--size);place-items:center;display:grid;position:relative}.dial-ring{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible;transform:rotate(-90deg)}.dial-ring circle{fill:none}.rim{stroke:var(--rim);stroke-width:.34px;transition:stroke .4s}.arc{stroke:var(--accent);stroke-width:.7px;stroke-linecap:round;transition:stroke-dashoffset .5s ease-out,opacity .4s}.mark{fill:var(--paper);stroke:var(--ink-3);stroke-width:.3px;transition:fill .6s,stroke .6s}.mark.passed{fill:var(--accent);stroke:var(--accent)}.dial.is-paused .arc{opacity:.45}.ripple{border:1.25px solid var(--accent);opacity:0;pointer-events:none;border-radius:50%;animation:5.5s cubic-bezier(.1,.6,.3,1) forwards ripple;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes ripple{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.42)}}.dial-face{flex-direction:column;align-items:center;gap:6px;display:flex;transform:translateY(14px)}.time{font-weight:250;font-size:calc(var(--size) * .27);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink);line-height:1;transition:opacity .5s,color .4s}.time.digits-7{font-size:calc(var(--size) * .21)}.time.digits-8{font-size:calc(var(--size) * .19)}.colon{color:var(--ink-3);margin:0 .02em;display:inline-block;transform:translateY(-.06em)}.dial.is-paused .time{opacity:.55;animation:3.2s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.32}}.caption{color:var(--ink-2);letter-spacing:.01em;min-height:1.45em;max-width:calc(var(--size) * .7);text-align:center;font-size:14px;line-height:1.3}.controls{padding:8px 24px max(18px, calc(var(--sab) * .25 + 18px));flex-direction:column;align-items:center;gap:10px;display:flex}.primary{background:var(--ink);width:84px;height:84px;color:var(--on-ink);transition:transform .25s var(--ease), background-color .4s ease, color .4s ease, box-shadow .4s ease;border-radius:50%;place-items:center;display:grid;box-shadow:0 10px 30px -12px #2a292673}.primary .glyph{place-items:center;display:grid;transform:translate(1.5px)}.primary.is-pause .glyph{transform:none}.primary:active{transform:scale(.94)}.primary.is-pause{color:var(--ink);box-shadow:inset 0 0 0 1.25px var(--rim);background:0 0}.end{min-height:44px;color:var(--ink-2);opacity:0;visibility:hidden;transition:opacity .4s ease, transform .4s var(--ease), visibility 0s linear .4s;border-radius:22px;padding:0 18px;font-size:15px;transform:translateY(-4px)}.end.show{opacity:1;visibility:visible;transition:opacity .4s ease, transform .4s var(--ease), visibility 0s;transform:none}.end:active{background:var(--paper-2)}.end.delete{color:var(--ink-3,var(--ink-2));margin-top:-8px;font-size:14px}.end.delete.confirm{color:#b4533e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .end.delete.confirm{color:#e08a74}}:root[data-theme=dark] .end.delete.confirm{color:#e08a74}.sheet-root{z-index:10;position:fixed;top:0;bottom:0;left:0;right:0}.scrim{background:var(--scrim);opacity:0;transition:opacity .35s;position:absolute;top:0;bottom:0;left:0;right:0}.sheet-root.open .scrim{opacity:1}.sheet{max-width:560px;max-height:calc(100% - var(--sat) - 28px);background:var(--sheet);box-shadow:var(--shadow);transition:transform .38s var(--ease);-webkit-user-select:text;user-select:text;border-radius:28px 28px 0 0;outline:none;flex-direction:column;margin:0 auto;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(102%)}.sheet-root.open .sheet{transform:none}.sheet-head{touch-action:none;flex:none;justify-content:center;align-items:center;padding:18px 20px 6px;display:flex;position:relative}.grabber{background:var(--rim);border-radius:3px;width:36px;height:5px;margin-left:-18px;position:absolute;top:7px;left:50%}.sheet-head h2{letter-spacing:.005em;margin:4px 0 0;font-size:17px;font-weight:500}.sheet-head .close{position:absolute;top:10px;right:8px}.sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 20px calc(28px + var(--sab));overflow-y:auto}.sheet section{padding:18px 0 8px}.sheet section+section{border-top:1px solid var(--line)}.sheet h3{color:var(--ink-3);letter-spacing:.02em;margin:0 0 12px;font-size:13px;font-weight:500}.field{margin:0 0 18px}.field-label{color:var(--ink);margin:0 0 10px;font-size:15px;display:block}.note{color:var(--ink-2);margin:8px 0 0;font-size:13px;line-height:1.4}section>.note:first-of-type{margin:-4px 0 14px}.choice{flex-wrap:wrap;gap:8px;display:flex}.choice button{min-width:52px;min-height:44px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line);font-variant-numeric:tabular-nums;border-radius:22px;padding:0 16px;font-size:15px;transition:background-color .2s,color .2s,box-shadow .2s}.choice button.on{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1.25px var(--accent)}.choice button:active{background:var(--paper-2)}.choice.is-disabled{opacity:.4}.custom{color:var(--ink-2);align-items:center;gap:10px;margin-top:10px;font-size:15px;display:flex}.custom input{border:1px solid var(--line);background:var(--paper);width:92px;min-height:44px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;-webkit-appearance:none;appearance:none;border-radius:14px;padding:0 14px;font-size:17px}.custom input:focus{border-color:var(--accent);outline:none}.sounds{grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}.sound{text-align:left;width:100%;min-height:52px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:16px;align-items:center;gap:10px;padding:0 14px;font-size:15px;transition:background-color .2s,color .2s,box-shadow .2s;display:flex}.sound span:nth-child(2){flex:1}.sound svg{opacity:.5}.sound .dot{width:9px;height:9px;box-shadow:inset 0 0 0 1.25px var(--ink-3);border-radius:50%;flex:none}.sound.on{color:var(--ink);background:var(--accent-soft);box-shadow:inset 0 0 0 1.25px var(--accent)}.sound.on .dot{background:var(--accent);box-shadow:none}.slider{-webkit-appearance:none;appearance:none;--v:.7;background:0 0;width:100%;height:44px;margin:0}.slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) calc(var(--v) * 100%), var(--line) calc(var(--v) * 100%));border-radius:2px;height:4px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--sheet);width:28px;height:28px;box-shadow:0 0 0 1px var(--rim), 0 3px 10px #0000001f;border-radius:50%;margin-top:-12px}.slider::-moz-range-track{background:var(--line);border-radius:2px;height:4px}.slider::-moz-range-progress{background:var(--accent);border-radius:2px;height:4px}.slider::-moz-range-thumb{background:var(--sheet);width:28px;height:28px;box-shadow:0 0 0 1px var(--rim), 0 3px 10px #0000001f;border:0;border-radius:50%}.row{justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:6px 0;display:flex}.row-text{cursor:pointer;flex-direction:column;flex:1;gap:2px;display:flex}.row-label{font-size:15px}.row-detail{color:var(--ink-2);font-size:13px;line-height:1.35}.switch{-webkit-appearance:none;appearance:none;background:var(--line);cursor:pointer;border-radius:16px;flex:none;width:51px;height:31px;margin:0;transition:background-color .25s;position:relative}.switch:after{content:"";width:27px;height:27px;transition:transform .25s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #0000002e}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(20px)}.note.warn{color:var(--ink);margin:-2px 0 10px}.about p{color:var(--ink-2);max-width:60ch;margin:0 0 10px;font-size:14px;line-height:1.5}.about code{color:var(--ink);word-break:break-all;font-family:inherit}.totals{text-align:center;grid-template-columns:1fr 1fr;margin:10px 0 22px;display:grid}.totals div+div{border-left:1px solid var(--line)}.totals dt{color:var(--ink-2);margin-bottom:2px;font-size:13px}.totals dd{letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:0;font-size:30px;font-weight:300}.month-head{justify-content:space-between;align-items:center;margin:0 -8px 8px;display:flex}.month-title{flex-direction:column;align-items:center;display:flex}.month-title span:first-child{font-size:16px;font-weight:500}.month-sub{color:var(--ink-2);font-size:13px}.cal{text-align:center;grid-template-columns:repeat(7,1fr);row-gap:4px;display:grid}.wd{color:var(--ink-3);padding:6px 0;font-size:12px}.cell{aspect-ratio:1;font-variant-numeric:tabular-nums;max-height:52px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:14px;display:grid;position:relative}.cell .num{z-index:1;position:relative}.cell.has:before{content:"";width:calc(80% * var(--s,.6));aspect-ratio:1;background:var(--accent-soft);border-radius:50%;position:absolute;top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%)}.cell.has{color:var(--ink)}.cell.today .num{color:var(--ink);font-weight:600}.cell.today:after{content:"";background:var(--ink-2);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:9%;left:50%}.cell.picked{background:var(--paper-2)}.day-list{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.day-list h3{color:var(--ink);font-size:15px;font-weight:500}.day-list ul{margin:0;padding:0;list-style:none}.day-list li{font-variant-numeric:tabular-nums;align-items:center;gap:12px;min-height:44px;font-size:15px;display:flex}.day-list li+li{border-top:1px solid var(--line)}.day-list .dur{color:var(--ink-2);flex:1}.link{min-height:44px;color:var(--ink-3);padding:0 4px;font-size:14px}.empty-note{text-align:center;margin-top:20px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ripple{display:none}.dial.is-paused .time{animation:none}}@media (min-height:760px){.controls{padding-bottom:max(34px, calc(var(--sab) + 10px))}}
