[data-t=hall]{--bg:#0A0B10;--surf:#14151D;--surf2:#1D1E29;--sunk:#0E0F15;--ln:#262736;--ln2:#343549;--tx:#F6F3EC;--tx2:#BEB9AE;--tx3:#948F85;--tx4:#67635C;--cr:#F0B429;--onCr:#1A1407;--crL:#FFC94D;--crT:#F7C85A;--crBg:#2A2110;--crD:#F0B429;--go:#F08C3C;--goT:#F5A45C;--goBg:#2B1D11;--te:#3DD5A0;--onTe:#052018;--teBg:#0D2C24;--rd:#F0555E;--rdBg:#2C1418;--sh:0 1px 2px rgba(0,0,0,.34);--shL:0 14px 40px rgba(0,0,0,.5)}[data-t=day]{--bg:#FBF7EF;--surf:#FFFFFF;--surf2:#F3ECDE;--sunk:#EDE5D4;--ln:#E5DAC6;--ln2:#D3C5AB;--tx:#1A1611;--tx2:#564E42;--tx3:#6E6557;--tx4:#968C7B;--cr:#E0A415;--onCr:#1A1407;--crL:#C68B00;--crT:#8A5A00;--crBg:#FCF2DA;--crD:#E0A415;--go:#D4701C;--goT:#9A4B0C;--goBg:#FDEFE2;--te:#0F7A5A;--onTe:#FFFFFF;--teBg:#E0F2EB;--rd:#C8302F;--rdBg:#FBEAE9;--sh:0 1px 2px rgba(60,44,20,.07),0 4px 14px rgba(60,44,20,.05);--shL:0 10px 34px rgba(60,44,20,.12)}:root{--r:16px;--rs:11px;--rl:22px;--d:"Bricolage Grotesque",system-ui,sans-serif;--b:"Manrope",system-ui,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%}#root{height:100%}body{background:#0a0a0b;font-family:var(--b);overscroll-behavior:none}::-webkit-scrollbar{width:0;height:0}h1,h2,h3,.dsp{font-family:var(--d);margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.1}#stage{min-height:100%;display:flex;align-items:center;justify-content:center}#phone{width:100%;max-width:430px;height:100vh;max-height:100vh;background:var(--bg);color:var(--tx);position:relative;overflow:hidden;display:flex;flex-direction:column}@media(min-width:900px){#stage{padding:26px;gap:36px}#phone{height:870px;max-height:93vh;border-radius:44px;border:1px solid #2A2A2C;box-shadow:0 40px 120px #000000a6,0 0 0 11px #141415,0 0 0 12px #2e2d30}#side{width:286px;flex-shrink:0}}@media(max-width:899px){#side{display:none}}#view{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:14px}.pad{padding:0 18px}.safe{height:env(safe-area-inset-top,0px);min-height:6px}.hud{display:flex;align-items:center;gap:6px;padding:8px 16px 10px;position:sticky;top:0;z-index:40;background:var(--bg)}.hud .st{display:flex;align-items:center;gap:5px;min-height:44px;font-family:var(--d);font-size:15px;font-weight:700;padding:6px 12px;border-radius:30px;background:var(--surf2)}.hud .st.f{color:var(--goT)}.hud .st.x{color:var(--crT)}.hud .sp{flex:1}.ib{width:44px;height:44px;border-radius:50%;background:var(--surf2);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;border:0;color:var(--tx);position:relative}.ib:active{transform:scale(.92)}.av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--d);font-size:14px;font-weight:700;cursor:pointer;flex-shrink:0;color:#fff}#tabs{display:flex;background:var(--bg);border-top:1px solid var(--ln);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));flex-shrink:0}#tabs button{flex:1;background:none;border:0;color:var(--tx4);padding:7px 2px 5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:var(--b);min-width:0;min-height:48px}#tabs button.on{color:var(--crT)}#tabs button span{font-size:9.5px;font-weight:800}#tabs button.lk{opacity:.42}.prac{border-radius:var(--rl);overflow:hidden;box-shadow:var(--shL);position:relative}.prac .hd{padding:18px 18px 15px;position:relative;color:#fff}.prac .hd .glow{position:absolute;width:250px;height:250px;border-radius:50%;filter:blur(56px);opacity:.42;right:-70px;top:-120px}.prac .ey{font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;opacity:.82;position:relative}.prac h1{font-size:25px;margin:7px 0 4px;position:relative;color:#fff}.prac .sub{font-size:12.5px;opacity:.85;position:relative}.prac .bits{background:var(--surf);padding:5px 14px 14px}.pbit{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--ln)}.pbit:last-of-type{border-bottom:0}.pbit .n{width:25px;height:25px;border-radius:50%;background:var(--surf2);color:var(--tx3);display:flex;align-items:center;justify-content:center;font-family:var(--d);font-size:11px;font-weight:700;flex-shrink:0}.pbit .bd{flex:1;min-width:0}.pbit b{display:block;font-size:13px;font-weight:700}.pbit span{font-size:11px;color:var(--tx3)}.pbit .m{font-size:11px;color:var(--tx3);font-weight:700;flex-shrink:0}.cta{display:block;width:100%;border:0;border-radius:13px;padding:15px;font-family:var(--b);font-size:15.5px;font-weight:800;background:var(--cr);color:var(--onCr);cursor:pointer;margin-top:12px;min-height:52px;text-align:center}.cta:active{transform:scale(.98)}.path{position:relative;padding:4px 0 0}.path:before{content:"";position:absolute;left:21px;top:16px;bottom:18px;width:2px;background:var(--ln)}.node{display:flex;gap:13px;align-items:center;padding:7px 0;position:relative;cursor:pointer}.node .dot{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;border:3px solid var(--bg);color:#fff}.node .dot.todo{background:var(--surf2);color:var(--tx4)}.node .dot.done{background:var(--te);color:var(--onTe)}.node .dot.here{background:var(--cr);color:var(--onCr)}.node .bd{flex:1;min-width:0}.node b{display:block;font-size:13.5px;font-weight:700}.node span{font-size:11.5px;color:var(--tx3)}.node.now b{color:var(--crT)}.node.lk{opacity:.5}.shelf{display:flex;gap:11px;overflow-x:auto;padding:2px 18px 6px;margin:0 -18px;scroll-padding:18px}.shelf::-webkit-scrollbar{display:none}.cardi{min-width:140px;width:140px;cursor:pointer}.cardi .art{height:140px;border-radius:var(--r);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:11px;box-shadow:var(--sh)}.cardi .art .lk{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a08088c;display:flex;align-items:center;justify-content:center;color:#fff;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.cardi b{display:block;font-size:13px;font-weight:700;margin-top:9px;line-height:1.25}.cardi span{font-size:11px;color:var(--tx3);display:block;margin-top:1px}.cardi.wide{min-width:200px;width:200px}.cardi.wide .art{height:112px}.row{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer;min-height:44px}.row .art{width:50px;height:50px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--sh)}.row .bd{flex:1;min-width:0}.row b{display:block;font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row span{font-size:11.5px;color:var(--tx3);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .rt{flex-shrink:0;color:var(--tx3);font-size:11.5px}.row.lk{opacity:.5}.sec{display:flex;align-items:baseline;justify-content:space-between;margin:22px 0 10px;gap:10px}.sec h3{font-family:var(--d);font-size:17px;font-weight:600}.sec .more{font-size:12px;color:var(--crT);font-weight:800;cursor:pointer;flex-shrink:0;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:flex-end;padding:0 2px}.sec .hint{font-size:11px;color:var(--tx3);flex-shrink:0}.card{background:var(--surf);border-radius:var(--r);padding:15px;box-shadow:var(--sh)}.card.f{background:var(--surf2);box-shadow:none}.tiny{font-size:11.5px;color:var(--tx3);line-height:1.5}.mu{color:var(--tx3)}.btn{width:100%;border:0;border-radius:13px;padding:15px;font-family:var(--b);font-size:15px;font-weight:800;background:var(--cr);color:var(--onCr);cursor:pointer}.btn:active{transform:scale(.98)}.btn.g{background:var(--surf2);color:var(--tx)}.btn.o{background:transparent;color:var(--tx);box-shadow:inset 0 0 0 1.5px var(--ln2)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:11px 15px;min-height:44px;min-width:44px;border-radius:30px;background:var(--surf2);font-size:13px;font-weight:700;cursor:pointer;border:1.5px solid transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--tx)}.chip.on{background:var(--crD);border-color:var(--crD);color:var(--onCr)}.chip.lg{padding:14px 15px;border-radius:14px;justify-content:flex-start;gap:12px;width:100%}.pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;padding:4px 9px;border-radius:20px;background:var(--surf2);color:var(--tx2);letter-spacing:.02em}.pill.c{background:var(--crBg);color:var(--crT)}.pill.g{background:var(--goBg);color:var(--goT)}.pill.t{background:var(--teBg);color:var(--te)}.bar{height:6px;background:var(--sunk);border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;border-radius:9px;background:var(--cr);transition:width .7s var(--ease)}.hr{height:1px;background:var(--ln);margin:14px 0}.streak{display:flex;align-items:center;gap:13px;background:var(--goBg);border-radius:var(--r);padding:13px 15px}.streak .n{font-family:var(--d);font-size:29px;font-weight:700;color:var(--goT);line-height:1}.dots{display:flex;gap:5px;margin-top:6px}.dots i{flex:1;height:4px;border-radius:3px;background:var(--ln2)}.dots i.on{background:var(--go)}.stageWrap{flex:1;display:flex;flex-direction:column;padding:0 18px 18px}.ring{width:186px;height:186px;margin:0 auto;position:relative}.ring svg{transform:rotate(-90deg)}.ring .mid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring .mid .n{font-family:var(--d);font-size:40px;font-weight:700;line-height:1}.ring .mid .l{font-size:10.5px;color:var(--tx3);font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-top:3px}.meter{height:58px;position:relative;margin:16px 0}.meter .tk{position:absolute;top:50%;transform:translateY(-50%);width:2px;background:var(--ln2);border-radius:2px}.meter .nd{position:absolute;top:50%;left:50%;width:3px;height:42px;background:var(--te);border-radius:3px;transform:translate(-50%,-50%);box-shadow:0 0 16px var(--te);transition:left .09s linear,background .2s}.meter .ctr{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--ln2)}.note{font-family:var(--d);font-size:50px;font-weight:700;text-align:center;line-height:1}.cents{text-align:center;font-size:12px;color:var(--tx3);font-weight:700;margin-top:4px}#cel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:var(--bg);color:var(--tx)}#cel .burst{width:116px;height:116px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:#fff;animation:pop .7s var(--ease) both}@keyframes pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}#cel h1{font-size:28px;margin-bottom:10px;animation:rise .5s .16s var(--ease) both}#cel p{color:var(--tx2);font-size:14px;line-height:1.6;max-width:300px;margin:0 0 28px;animation:rise .5s .26s var(--ease) both}#cel .btn{animation:rise .5s .36s var(--ease) both;max-width:300px}.spark{position:absolute;width:6px;height:6px;border-radius:50%;pointer-events:none}.spark{animation:spark-out var(--spark-duration) var(--spark-delay) cubic-bezier(.2,.8,.3,1) both}@keyframes spark-out{0%{transform:translate(-50%,-50%);opacity:1}to{transform:translate(calc(-50% + var(--spark-x)),calc(-50% + var(--spark-y))) scale(0);opacity:0}}#sheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;background:#00000080;animation:fade .2s both}@keyframes fade{0%{opacity:0}to{opacity:1}}#sheet .pane{background:var(--bg);color:var(--tx);width:100%;border-radius:26px 26px 0 0;padding:8px 18px calc(20px + env(safe-area-inset-bottom,0px));max-height:84%;overflow-y:auto;animation:up .3s var(--ease) both}@keyframes up{0%{transform:translateY(100%)}to{transform:none}}.grab{width:38px;height:4px;background:var(--ln2);border-radius:3px;margin:0 auto 14px}#toast{position:absolute;left:16px;right:16px;bottom:86px;z-index:95;background:var(--tx);color:var(--bg);border-radius:13px;padding:13px 16px;font-size:13px;font-weight:700;animation:up .26s var(--ease) both;box-shadow:var(--shL)}.top{display:flex;align-items:center;gap:11px;padding:10px 18px;position:sticky;top:0;z-index:40;background:var(--bg)}.top h2{font-size:18px;flex:1;min-width:0;font-family:var(--d);font-weight:600}.top.b{border-bottom:1px solid var(--ln)}.fade{animation:rise .3s var(--ease) both}#side .sc{background:#141415;border:1px solid #262527;border-radius:15px;padding:15px;margin-bottom:11px}#side h4{font-family:var(--d);font-size:13.5px;margin:0 0 4px;font-weight:600;color:#f4f3f2}#side p{margin:0;font-size:11px;color:#817e7b;line-height:1.5}#side .th{display:flex;gap:6px;margin-top:10px}#side .th button{flex:1;border:0;border-radius:9px;padding:0 0 5px;height:52px;cursor:pointer;position:relative;overflow:hidden;font-family:var(--b);font-size:10px;font-weight:800;color:#fff;display:flex;align-items:flex-end;justify-content:center}#side .th button.on{box-shadow:0 0 0 2px #e23b4a}#side .lv{display:flex;gap:5px;margin-top:9px}#side .lv button{flex:1;border:0;background:#201f21;color:#817e7b;border-radius:7px;padding:8px 0;font-family:var(--b);font-size:11.5px;font-weight:800;cursor:pointer}#side .lv button.on{background:#e23b4a;color:#fff}#side .ctl{display:flex;flex-direction:column;gap:5px;margin-top:9px}#side .ctl button{border:0;background:#201f21;color:#b4b1ae;border-radius:7px;padding:9px 10px;font-family:var(--b);font-size:11.5px;font-weight:600;cursor:pointer;text-align:left}#side .ctl button:hover{background:#e23b4a;color:#fff}#side .kv{display:flex;justify-content:space-between;font-size:11px;padding:3px 0;color:#817e7b}#side .kv b{color:#b4b1ae}@media(pointer:coarse){.row{min-height:48px}.btn{padding:16px}}.tile{border-radius:var(--r);padding:14px;position:relative;overflow:hidden;cursor:pointer;min-height:104px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;box-shadow:var(--sh)}.tile:active{transform:scale(.975)}.tile b{font-family:var(--d);font-size:15px;font-weight:600;line-height:1.18;position:relative;display:block}.tile span{font-size:11px;opacity:.86;margin-top:3px;position:relative;display:block;line-height:1.35}.tile .ic{position:absolute;right:11px;top:11px;opacity:.9}.bgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bcard{background:var(--surf);border-radius:var(--r);padding:14px 11px;text-align:center;box-shadow:var(--sh)}.bcard .ic{width:44px;height:44px;border-radius:13px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;color:#fff}.bcard b{font-size:12.5px;display:block;line-height:1.25}.bcard .d{font-size:10.5px;color:var(--tx3);margin-top:3px;line-height:1.35}.bcard.off{opacity:.45}.bcard.off .ic{background:var(--surf2);color:var(--tx4)}.teach{border-radius:var(--rl);overflow:hidden;box-shadow:var(--shL);cursor:pointer}.teach .hd{padding:16px 16px 14px;color:#fff;position:relative}.teach .hd .g{position:absolute;width:210px;height:210px;border-radius:50%;filter:blur(50px);opacity:.4;right:-60px;top:-90px}.teach .ey{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.84;position:relative}.teach h3{font-size:19px;margin:6px 0 4px;position:relative;color:#fff;font-family:var(--d)}.teach p{margin:0;font-size:12.5px;opacity:.88;position:relative;line-height:1.45}.teach .ft{background:var(--surf);padding:12px 16px;display:flex;align-items:center;gap:11px}.teach .ft .who{display:flex;align-items:center;gap:-8px}.teach .ft .f{width:28px;height:28px;border-radius:50%;border:2px solid var(--surf);margin-left:-8px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;font-family:var(--d)}.teach .ft .f:first-child{margin-left:0}.teach .ft b{font-size:12px;flex:1;min-width:0}.go{background:var(--crD);color:var(--onCr);border:0;border-radius:30px;padding:10px 16px;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--b);font-size:12.5px;font-weight:800;cursor:pointer;flex-shrink:0}.teach .ft .go{background:var(--crD);color:var(--onCr);border:0;border-radius:30px;padding:10px 16px;min-height:44px;font-family:var(--b);font-size:12.5px;font-weight:800;cursor:pointer;flex-shrink:0}.goal{display:flex;align-items:center;gap:10px;background:var(--surf2);border-radius:var(--r);padding:11px 13px;margin-top:11px}.goal .rg{width:40px;height:40px;position:relative;flex-shrink:0}.goal .rg .t{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--d);font-size:11px;font-weight:700}.goal .bd{flex:1;min-width:0}.goal b{font-size:13px;display:block}.freeze{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;padding:4px 9px;border-radius:20px;background:var(--teBg);color:var(--te)}.post{background:var(--surf);border-radius:var(--rl);overflow:hidden;margin-bottom:16px;box-shadow:var(--sh)}.ph{display:flex;align-items:center;gap:10px;padding:12px 13px 10px;cursor:pointer;min-height:56px}.ph>div{min-height:44px;display:flex;flex-direction:column;justify-content:center}.ph b{display:block}.pv{position:relative;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.pv.big{aspect-ratio:1/1;border-radius:0}.pv.sm{aspect-ratio:1/1;border-radius:var(--rs)}.pv .pg{position:absolute;width:230px;height:230px;border-radius:50%;filter:blur(60px);opacity:.45;right:-60px;top:-80px}.pv .pp{position:relative;width:62px;height:62px;border-radius:50%;background:#0000006b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;color:#fff;border:1.5px solid rgba(255,255,255,.3)}.pv.sm .pp{width:40px;height:40px}.pv .pd{position:absolute;right:10px;bottom:10px;background:#0000008c;color:#fff;font-size:10.5px;font-weight:700;padding:3px 7px;border-radius:6px}.pb{padding:12px 13px 6px}.pb p{margin:0 0 10px;font-size:13px;line-height:1.5}.pa{display:flex;align-items:center;gap:16px;padding-bottom:10px}.pa span{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--tx3);cursor:pointer;min-height:44px;min-width:44px}.pa span.on{color:var(--rd)}.thread{display:flex;flex-direction:column}.bub{max-width:80%;padding:10px 13px;border-radius:16px;margin-bottom:8px;position:relative}.bub span{display:block;font-size:13.5px;line-height:1.45}.bub i{display:block;font-size:9.5px;font-style:normal;opacity:.6;margin-top:4px}.bub.them{align-self:flex-start;background:var(--surf);border-bottom-left-radius:5px}.bub.me{align-self:flex-end;background:var(--cr);color:var(--onCr);border-bottom-right-radius:5px}.cbar{display:flex;align-items:center;gap:9px}.cbar input{flex:1;background:var(--surf2);border:1.5px solid var(--ln);border-radius:26px;padding:13px 16px;font-family:var(--b);font-size:14px;color:var(--tx);outline:none;min-height:48px}.cbar input::placeholder{color:var(--tx4)}.cbar .go{background:var(--cr);color:var(--onCr);border:0;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.ladder{display:flex;align-items:center;gap:11px;background:var(--surf);border-radius:var(--r);padding:12px 13px;margin-top:14px;box-shadow:var(--sh);cursor:pointer;border:1px solid var(--ln)}.ladder .lr{display:flex;gap:3px;flex-direction:column;flex-shrink:0}.ladder .lr i{width:4px;height:7px;border-radius:2px;background:var(--ln2)}.ladder .lr i.on{background:var(--cr)}.ladder .bd{flex:1;min-width:0}.ladder b{display:block;font-size:13px}.ladder span{display:block;font-size:11px;color:var(--tx3);margin-top:1px}.ladder .go{background:var(--cr);color:var(--onCr);border:0;border-radius:30px;padding:10px 14px;min-height:44px;font-family:var(--b);font-size:11.5px;font-weight:800;cursor:pointer;flex-shrink:0}.hw{background:var(--sunk);border-radius:10px;padding:9px 11px;margin-top:4px}.hw span{display:block;font-size:9.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--tx3)}.hw b{display:block;font-size:12.5px;margin-top:3px;line-height:1.4}.stars{display:flex;gap:2px;align-items:center}.stars i{display:inline-flex;color:var(--goT)}.stars i.off{opacity:.28}.seg{display:flex;gap:4px;background:var(--surf2);border-radius:13px;padding:4px;margin-bottom:14px}.seg button{flex:1;border:0;background:transparent;color:var(--tx3);font-family:var(--b);font-size:12.5px;font-weight:800;padding:10px 6px;min-height:44px;border-radius:10px;cursor:pointer}.seg button.on{background:var(--surf);color:var(--tx);box-shadow:var(--sh)}
