@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:400;src:url(./comfortaa-latin-400-normal-Cs52v-fJ.woff2)format("woff2"),url(./comfortaa-latin-400-normal-CxqV1cRw.woff)format("woff")}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:500;src:url(./comfortaa-latin-500-normal-Bc8WElh3.woff2)format("woff2"),url(./comfortaa-latin-500-normal-CZsHoEzp.woff)format("woff")}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:600;src:url(./comfortaa-latin-600-normal-BgHTI9Cz.woff2)format("woff2"),url(./comfortaa-latin-600-normal-DSfhJPm3.woff)format("woff")}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:700;src:url(./comfortaa-latin-700-normal-DOtxUU44.woff2)format("woff2"),url(./comfortaa-latin-700-normal-K_GTRK4c.woff)format("woff")}*,:before,:after{box-sizing:border-box}:root{--radius:28px;--gutter:clamp(16px,3vw,32px);--banner-top:max(20px,env(safe-area-inset-top));--banner:56px;--below-banner:calc(var(--banner-top) + var(--banner) + 20px);--fade:36px;--paper:#dcdcdc;--muted:#6b6b6b;--late:#b3303e;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-synthesis:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#111;background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Comfortaa,ui-sans-serif,system-ui,sans-serif}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}a{color:inherit}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible{outline-offset:4px;outline:2px solid}#viewport{width:100vw;height:100dvh;position:absolute;top:0;left:0;overflow:hidden}#background{pointer-events:none;z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}#app{z-index:1;width:100%;height:100%;position:relative}.glass{border-radius:var(--radius);background:0 0;border:0}.no-webgl .glass{box-shadow:inset 0 0 0 1px}.no-webgl #background{visibility:hidden}.banner{top:var(--banner-top);left:var(--gutter);right:var(--gutter);height:var(--banner);z-index:2;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute}.wordmark{letter-spacing:-1px;white-space:nowrap;font-size:30px;font-weight:700}.bubbles{gap:12px;min-width:0;display:flex}.bubble{min-height:var(--banner);padding:0 var(--radius);white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.bubble.off{color:var(--muted)}.scroll{top:var(--below-banner);overscroll-behavior:contain;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--fade));mask-image:linear-gradient(to bottom,transparent,#000 var(--fade));-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--fade));position:absolute;bottom:0;left:0;right:0;overflow:auto}.content{max-width:1180px;padding:12px var(--gutter) calc(var(--gutter) + env(safe-area-inset-bottom));gap:16px;margin:0 auto;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toolbar .spacer{flex:1}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{align-items:center;gap:8px;min-height:40px;padding:0 18px;font-size:13px;font-weight:600;display:flex}.chip.off{color:var(--muted)}.chip.off .swatch{background:0 0!important}.panel{padding:var(--radius)}h1{letter-spacing:-1.2px;margin:0;font-size:clamp(28px,4vw,40px);font-weight:600;line-height:1.15}h2{letter-spacing:-.5px;margin:0 0 14px;font-size:20px;font-weight:600}h3{letter-spacing:.2px;margin:18px 0 8px;font-size:13px;font-weight:700}h3:first-child{margin-top:0}.note{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.5}.empty{color:var(--muted);padding:6px 0;font-size:13px}.swatch{border:1px solid #000;flex-shrink:0;width:12px;height:12px;display:inline-block}.item{border-bottom:1px solid #0000001a;grid-template-columns:12px minmax(0,1fr) auto;align-items:start;gap:4px 12px;padding:10px 0;display:grid}.item:last-child{border-bottom:0}.item .swatch{margin-top:3px}.item .t{font-size:14px;font-weight:600;line-height:1.35}.item .meta{font:12px/1.5 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;grid-column:2}.item .acts{grid-area:1/3/3;gap:2px;display:flex}.item.done .t{color:var(--muted);text-decoration:line-through}.act{color:#111;border-radius:50%;place-items:center;width:32px;height:32px;font-size:14px;text-decoration:none;display:grid}.act:hover{background:#0000000d}.tag{vertical-align:1px;white-space:nowrap;border:1px solid;border-radius:999px;margin-left:8px;padding:0 8px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.tag.late{color:var(--late)}.tag.ok{color:var(--muted)}.sheet{background:#fff;border:1px solid #000}.sheet-pad{padding:4px 20px}.nav{align-items:center;gap:8px;margin-bottom:16px;display:flex}.nav .label{text-align:center;flex:1;font-size:15px;font-weight:700}.nav .bubble{min-height:44px;padding:0 20px}.week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.day{border-right:1px solid #0000001a;flex-direction:column;min-height:220px;display:flex}.day:last-child{border-right:0}.day-head{border-bottom:1px solid #111;justify-content:space-between;align-items:baseline;padding:8px 10px;font-size:12px;font-weight:700;display:flex}.day-head b{font:600 15px var(--mono)}.day.today .day-head{color:#fff;background:#111}.day-body{align-content:start;gap:6px;padding:6px;display:grid}.ev{border-left:4px solid var(--c);background:color-mix(in srgb,var(--c) 18%,#fff);padding:4px 6px 5px 8px;font-size:12px;line-height:1.3}.ev b{font-weight:600;display:block}.ev span{font:11px var(--mono);color:var(--muted)}.ev.done b{color:var(--muted);text-decoration:line-through}.month{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month .wd{text-align:center;border-bottom:1px solid #111;padding:8px 0;font-size:11px;font-weight:700}.cell{text-align:left;border-bottom:1px solid #0000001a;border-right:1px solid #0000001a;flex-direction:column;gap:3px;min-height:92px;padding:6px;display:flex;overflow:hidden}.cell:nth-child(7n+7){border-right:0}.cell .n{font:600 12px var(--mono)}.cell.out .n{color:#0000004d}.cell.today .n{color:#fff;background:#111;border-radius:999px;align-self:flex-start;padding:1px 6px}.cell.sel{background:#0000000a}.cell .bar{border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 18%,#fff);white-space:nowrap;text-overflow:ellipsis;padding:1px 4px;font-size:10.5px;line-height:1.35;overflow:hidden}.cell .more{color:var(--muted);font-size:10px}.cell .dots{flex-wrap:wrap;gap:3px;display:none}.cell .dots i{background:var(--c);border:1px solid #000;width:7px;height:7px}.day-detail{border-top:1px solid #111;padding:4px 20px 8px}.day-detail h3{margin-top:14px}.lock{place-items:center;padding:24px;display:grid;position:absolute;inset:0}.lock .wordmark{top:var(--banner-top);left:var(--gutter);line-height:var(--banner);position:absolute}.lock-card{width:min(100%,420px);padding:36px}.lock-card h1{margin-bottom:24px}.lock-card input[type=password]{border-radius:var(--radius);background:0 0;border:1px solid;width:100%;min-height:52px;padding:10px 20px;font-size:16px}.lock-card label{align-items:center;gap:10px;margin-top:16px;font-size:13px;display:flex}.lock-card label input{accent-color:#111;width:16px;height:16px;margin:0}.lock-error{min-height:20px;color:var(--late);margin-top:12px;font-size:13px}.begin{border-top:1px solid #0003;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:48px;margin-top:20px;padding:12px 0 0;font-size:14px;font-weight:600;display:flex}.begin span{font-size:20px}.loading{z-index:20;cursor:progress;place-content:center;justify-items:center;gap:8px;display:grid;position:fixed;inset:0}.loading img{width:160px;height:auto}.loading p{-webkit-text-stroke:5px #fff;paint-order:stroke fill;margin:0;font-size:22px;font-weight:700}.loading span{animation:1.2s infinite both loading-dot}.loading span:nth-child(2){animation-delay:.2s}.loading span:nth-child(3){animation-delay:.4s}@keyframes loading-dot{0%,20%{opacity:0}50%,to{opacity:1}}@media (prefers-reduced-motion:reduce){.loading span{animation:none}}@media (width<=760px){:root{--banner:48px}.wordmark{font-size:24px}.banner .bubble{padding:0 16px;font-size:13px}.banner .wide{display:none}.week{grid-template-columns:1fr}.day{border-bottom:1px solid #111;border-right:0;min-height:0}.day:last-child{border-bottom:0}.day-head{border-bottom:1px solid #0000001a}.day-body:empty{display:none}.cell{min-height:52px;padding:4px}.cell .bar,.cell .more{display:none}.cell .dots{display:flex}.panel{padding:20px}.sheet-pad,.day-detail{padding-left:14px;padding-right:14px}.toolbar .bubble{padding:0 18px}.lock-card{padding:28px}}
