@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Nunito", "Manrope", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;font-family:var(--font);background:#cfe6f3;margin:0;overflow:hidden}#app{position:fixed;inset:0}canvas{width:100%;height:100%;display:block}.message{text-align:center;color:#1d3550;place-items:center;padding:24px;font-size:1.1rem;display:grid;position:absolute;inset:0}:root{--navy:#1d3550;--cream:#f4e9d2;--glass:#ffffff94;--line:#ffffffb3;--muted:#5d7388;--accent:#e0734a}body{color:var(--navy);font-family:Nunito Variable,Nunito,ui-rounded,system-ui,sans-serif}#ui{pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;inset:0}#ui>*{pointer-events:auto}body.ui-hidden #ui{opacity:0;pointer-events:none;transition:opacity .3s}button{font:inherit;color:inherit;cursor:pointer}.wordmark{pointer-events:none;letter-spacing:.32em;opacity:.8;font-size:12px;font-weight:800;position:absolute;top:18px;left:20px}.card,.panel{background:var(--glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 24px #1d35501f}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800;display:block}.ring-card{right:20px;top:calc(var(--cutout,0px) + 12px);align-items:center;gap:12px;padding:12px 18px 12px 12px;display:flex;position:absolute}.ring-card svg{flex:none;width:56px;height:56px;transform:rotate(-90deg)}.ring-track{fill:none;stroke:#1d35501f;stroke-width:5px}.ring-bar{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round;transition:stroke-dashoffset .8s}.ring-text b{font-size:34px;font-weight:300;line-height:1.05;display:block}.ring-epoch{color:var(--muted);font-size:12px;display:block}.ring-next{color:var(--muted);font-size:11px;display:block}.ring-note{color:var(--accent);font-size:11px;display:block}.ring-note:empty{display:none}.toolbar{gap:8px;display:flex;position:absolute;bottom:20px;left:20px}.pill{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(14px);border-radius:18px;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:13px;font-weight:700;display:flex}.pill .cloud{fill:#f4f8fb}.pill svg{display:block}.pill[aria-expanded=true] .cloud{fill:var(--navy)}.pill[aria-expanded=true]{background:var(--navy);color:var(--cream)}.panel{width:min(360px,100vw - 40px);max-height:calc(100vh - 170px);padding:18px 20px;position:absolute;bottom:72px;left:20px;overflow:auto}.panel[hidden],[hidden]{display:none!important}.panel h2{margin:0 0 8px;font-size:18px;font-weight:800}.panel h3{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px;font-size:10px;font-weight:800}.panel-note{color:var(--muted);margin:6px 0;font-size:12px;line-height:1.4}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip,.btn{background:#fff9;border:1px solid #1d355026;border-radius:14px;padding:6px 12px;font-size:12px;font-weight:700}.chip[aria-pressed=true],.btn.primary{background:var(--navy);color:var(--cream);border-color:var(--navy)}.btn{margin-top:8px;display:block}.btn.danger{color:#fff;background:#b8402f;border-color:#b8402f}.row{align-items:center;gap:8px;display:flex}.row .btn{margin-top:8px}.panel input,.panel select{width:100%;font:inherit;color:var(--navy);background:#fffc;border:1px solid #1d355033;border-radius:12px;margin-top:6px;padding:8px 10px;font-size:13px}.panel input[type=range]{accent-color:var(--accent);padding:0}.panel output{white-space:nowrap;color:var(--muted);font-size:12px}.upcoming{border-top:1px solid #1d35501a;margin-top:14px;padding-top:8px}.upcoming summary{cursor:pointer;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:4px 0;font-size:10px;font-weight:800}.upcoming .day h3{text-transform:none;letter-spacing:.02em;margin:12px 0 0;font-size:12px}.task-list{margin:8px 0 0;padding:0;list-style:none}.task{padding:7px 0 7px calc(var(--depth,0) * 20px);border-bottom:1px solid #1d355012;align-items:center;gap:10px;font-size:14px;transition:opacity .4s;display:flex}.task.done{opacity:.35;text-decoration:line-through}.task small{color:var(--accent);margin-left:auto;font-size:10px;font-weight:800}.check{border:2px solid var(--muted);background:0 0;border-radius:50%;flex:none;width:22px;height:22px;padding:0}.prio-4 .check{border-color:#d1453b}.prio-3 .check{border-color:#eb8909}.prio-2 .check{border-color:#246fe0}@media (width<=640px){.pill-text{display:none}.pill{padding:0 12px}.ring-card{left:auto;right:12px}.wordmark{top:18px;left:16px}.toolbar{bottom:14px;left:12px}.panel{width:calc(100vw - 24px);max-height:calc(100vh - var(--panel-top,150px) - 72px);max-height:calc(100dvh - var(--panel-top,150px) - 72px);bottom:62px;left:12px}}@media (prefers-reduced-motion:reduce){.ring-bar,.task{transition:none;animation:none}}.sound-row{gap:8px;display:flex;position:absolute;bottom:20px;right:20px}.sound{padding-left:6px}.sound .play{width:26px;height:26px;color:var(--navy);background:#f3c24b;border-radius:50%;place-items:center;font-size:10px;display:grid}@media (width<=640px){.sound-row{bottom:14px;right:12px}}.slider-row{align-items:center;gap:12px;margin-top:6px;font-size:13px;font-weight:700;display:flex}.slider-row span{flex:none;width:54px}.slider-row input{margin-top:0}.celebrate{z-index:5;-webkit-backdrop-filter:blur(6px);background:#1d355073;place-items:center;padding:16px;animation:.4s both fade-in;display:grid;position:absolute;inset:0}.celebrate.leaving{opacity:0;transition:opacity .35s}.celebrate-card{text-align:center;width:min(440px,100%);padding:20px 22px 22px;animation:.6s cubic-bezier(.2,1.3,.4,1) both pop;position:relative}.celebrate-card h2{margin:4px 0 0;font-size:26px;font-weight:800}.celebrate-card p{color:var(--muted);margin:0 0 14px}.stage{--s:min(46vh, 74vw, 340px);width:var(--s);height:var(--s);margin:0 auto}.stage canvas{width:100%!important;height:100%!important}.btn.big{border-radius:22px;margin:0 auto;padding:12px 22px;font-size:15px}.confetti{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}@keyframes fade-in{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.8)translateY(20px)}}@media (prefers-reduced-motion:reduce){.celebrate,.celebrate-card{animation:none}}.celebrate.epoch{background:radial-gradient(circle at 50% 42%,#ffd67880,#1d3550e6 68%);overflow:hidden}.epoch-rays{background:repeating-conic-gradient(#fff0be33 0 6deg, transparent 6deg 18deg);width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;animation:50s linear infinite spin;position:absolute;top:42%;left:50%;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 22%);mask-image:radial-gradient(circle,#000 0,#0000 22%)}.epoch-card{text-align:center;color:#fff6dc;width:min(480px,100%);animation:.8s cubic-bezier(.2,1.3,.4,1) both pop;position:relative}.epoch-card .kicker{color:#ffe9a8}.epoch-name{letter-spacing:.02em;color:#ffe9a8;text-shadow:0 4px 24px #ffbe508c,0 2px #78461480;margin:6px 0 0;font-size:clamp(44px,14vw,84px);font-weight:800;line-height:1}.epoch-from{letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-top:8px;font-size:13px;font-weight:700}.epoch-card h2{margin:26px 0 6px;font-size:24px;font-weight:800}.epoch-card p{opacity:.92;max-width:360px;margin:0 auto 18px;line-height:1.45}.epoch-pips{justify-content:center;gap:8px;margin-bottom:22px;display:flex}.epoch-pips i{background:#fff6dc40;border-radius:3px;width:34px;height:6px}.epoch-pips i.on{background:#ffd978}.epoch-card .btn.primary{color:#1d3550;background:#ffd978;border-color:#ffd978}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.epoch-rays,.epoch-card{animation:none}}@media (width<=460px){.toolbar{gap:6px}.pill{height:34px;padding:0 10px}.sound-row{gap:6px}.sound-row .pill{padding-right:10px;font-size:12px}.sound .play{width:22px;height:22px}.ring-card{gap:8px;max-width:calc(100vw - 118px);padding:8px 12px 8px 8px}.ring-card svg{width:44px;height:44px}.ring-text b{font-size:28px}.ring-epoch,.ring-next{font-size:10.5px}}
