:root{--bg:#0b0d10;--ink:#f2f4f8;--muted:#b4bac6;--dim:#5c6370;--under:#3ddc97;--over:#ff8a3d;--ahead:#ffd166;--glass:hsla(0,0%,100%,.08);--glass-strong:hsla(0,0%,100%,.11);--line:hsla(0,0%,100%,.16);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}a,button,input{color:inherit}.shell{position:relative;min-height:100dvh;max-width:520px;margin:0 auto;overflow:hidden;display:flex;flex-direction:column}.blob{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,var(--c),transparent)}.b1{--c:#2b4bb8;left:-260px;top:-80px;width:640px;height:640px;opacity:.6}.b2{--c:#1e8a5c;right:-270px;top:200px;height:620px;opacity:.5}.b2,.b3{width:620px}.b3{--c:#b8521e;left:-100px;bottom:-220px;height:580px;opacity:.45}.glow-b .b1{--c:#1e8a5c;top:40px}.glow-b .b2{--c:#b8521e;top:-120px}.glow-c .b2{--c:#b8521e}.glow-d .b1{--c:#b8521e;left:auto;right:-260px;top:-100px}.glow-d .b2{--c:#2b4bb8;right:auto;left:-280px;top:220px}.page{position:relative;flex:1 1;padding:calc(18px + env(safe-area-inset-top)) 16px 64px;flex-direction:column;gap:12px}.page,.tabs{display:flex}.tabs{position:-webkit-sticky;position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));margin:0 16px calc(12px + env(safe-area-inset-bottom));gap:0;padding:6px;border-radius:28px;z-index:5}.tab{flex:1 1;min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:22px;text-decoration:none;font-size:12px;font-weight:700;position:relative;z-index:1}.tab.on{color:var(--bg)}.glass{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}.card{border-radius:24px;padding:16px}.strong{background:var(--glass-strong)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:var(--muted)}.h1{font-size:26px;margin:0}.big,.h1{font-weight:800}.big{font-size:32px;line-height:1.1}.small{font-size:13px}.grid7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.chip{min-height:40px;padding:0 14px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;text-decoration:none;border:1px solid var(--line);background:var(--glass);cursor:pointer}.chip.warn{background:rgba(255,138,61,.18);border-color:rgba(255,138,61,.5);color:#ffb27d}.chip.on{background:var(--under);border-color:var(--under);color:var(--bg)}.iconbtn{width:44px;height:44px;border-radius:22px;border:1px solid var(--line);background:var(--glass);display:inline-flex;justify-content:center;text-decoration:none;font-size:18px}.day,.iconbtn{align-items:center;cursor:pointer}.day{display:flex;flex-direction:column;min-height:50px;padding:1px 0;border-radius:14px;border:0;background:transparent}.day[disabled]{cursor:default}.day.sel{background:hsla(0,0%,100%,.16)}.day span{font-size:10px;font-weight:700;color:var(--muted)}.day[disabled] span{color:var(--dim)}.list{display:flex;flex-direction:column;gap:8px;font-size:14px}.btn{border-radius:26px;border:0;background:var(--ink);color:var(--bg);font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.btn,.input{min-height:52px;width:100%}.input{border-radius:16px;border:1px solid var(--line);background:var(--glass);padding:0 16px;font-size:18px}:focus-visible{outline:2px solid var(--under);outline-offset:2px}@keyframes ringfill{0%{stroke-dasharray:0 999}}@keyframes ringburst{0%{transform:scale(.7);opacity:0}50%{transform:scale(1.12);opacity:1}to{transform:scale(1.2);opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ringfill{animation:ringfill .9s cubic-bezier(.2,.8,.2,1) both}.ringburst{transform-box:fill-box;transform-origin:center;animation:ringburst .9s ease-out .9s both}.rise{animation:rise .35s ease both}@media (prefers-reduced-motion:reduce){.ringburst,.ringfill,.rise{animation:none}.ringburst{opacity:0}}@keyframes sheetup{0%{transform:translateY(100%)}to{transform:none}}@keyframes draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes growx{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:none}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}@keyframes dot{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}@keyframes fillbar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.page>*{animation:rise .42s cubic-bezier(.2,.8,.2,1) both}.page>:nth-child(2){animation-delay:.04s}.page>:nth-child(3){animation-delay:.08s}.page>:nth-child(4){animation-delay:.12s}.page>:nth-child(5){animation-delay:.16s}.page>:nth-child(6){animation-delay:.2s}.page>:nth-child(n+7){animation-delay:.24s}.sheetup{animation:sheetup .38s cubic-bezier(.2,.9,.25,1) both}.draw{stroke-dasharray:1;animation:draw 1s cubic-bezier(.4,0,.2,1) both}.grow{animation:growx .6s cubic-bezier(.2,.8,.2,1) both}.pop{animation:pop .4s cubic-bezier(.3,1.4,.5,1) both}.shake{animation:shake .4s ease}.typing span{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:var(--muted);animation:dot 1s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.press{transition:transform .12s ease}.press:active{transform:scale(.96)}.btn,.chip,.iconbtn,.tab{transition:transform .12s ease,background-color .2s ease,color .2s ease}.btn:active,.chip:active,.iconbtn:active{transform:scale(.95)}.chip.on{animation:pop .3s cubic-bezier(.3,1.4,.5,1)}.thumb{top:3px;bottom:3px;left:3px;border-radius:19px;transition:transform .35s cubic-bezier(.3,1.25,.5,1);z-index:0}.tabthumb,.thumb{position:absolute;background:var(--ink)}.tabthumb{top:6px;bottom:6px;left:6px;border-radius:22px;transition:transform .4s cubic-bezier(.3,1.2,.5,1)}.fade{transition:opacity .25s ease}@media (prefers-reduced-motion:reduce){.chip.on,.draw,.grow,.page>*,.pop,.shake,.sheetup,.typing span{animation:none!important}.btn,.chip,.iconbtn,.press,.tab,.tabthumb,.thumb{transition:none!important}.draw{stroke-dasharray:none}}@keyframes growy{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes fadein{0%{opacity:0}to{opacity:1}}.fadein{animation:fadein .8s ease both}@media (prefers-reduced-motion:reduce){.fadein{animation:none}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes spinback{to{transform:rotate(-1turn)}}@keyframes breathe{0%{stroke-dasharray:4 100}50%{stroke-dasharray:70 100}to{stroke-dasharray:4 100}}.loader-a,.loader-b{transform-box:fill-box;transform-origin:center}.loader-a{animation:spin 1.4s linear infinite,breathe 1.4s ease-in-out infinite}.loader-b{animation:spinback 1.1s linear infinite,breathe 1.1s ease-in-out .3s infinite}@media (prefers-reduced-motion:reduce){.loader-a,.loader-b{animation:none;stroke-dasharray:60 100}}