@layer components{:root{--safe-t:calc(var(--tg-safe-area-inset-top,env(safe-area-inset-top,0px)) + var(--tg-content-safe-area-inset-top,0px));--safe-b:max(var(--tg-safe-area-inset-bottom,0px), env(safe-area-inset-bottom,0px));--vh:100vh}@supports (height:100dvh){:root{--vh:100dvh}}html.tg{--vh:var(--tg-viewport-stable-height,100vh)}body{overscroll-behavior-y:none}#app{min-height:var(--vh)}.page{width:100%;max-width:600px;min-height:var(--vh);padding:calc(var(--safe-t) + 18px) 18px calc(var(--safe-b) + 24px);flex-direction:column;gap:16px;margin:0 auto;display:flex}.page.has-tabbar{padding-bottom:calc(var(--safe-b) + 84px)}.page .grow{flex:1}.actions{gap:4px;padding-top:4px;display:grid}.topfade{z-index:30;height:var(--safe-t);background:var(--bg);box-shadow:0 1px 0 var(--sep);opacity:0;pointer-events:none;transition:opacity .15s;position:fixed;top:0;left:0;right:0}html.scrolled .topfade{opacity:1}button.glass{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background-color .12s}button.glass:active{background:var(--bg-2)}.web-back{height:34px;color:var(--text-2);font:500 14.5px/1 var(--font);cursor:pointer;background:0 0;border:0;border-radius:10px;align-self:flex-start;align-items:center;gap:2px;margin:-6px 0 -4px -6px;padding:0 12px 0 6px;display:inline-flex}.web-back:hover{background:var(--fill);color:var(--text)}.web-back svg{width:18px;height:18px}.tabbar{z-index:40;padding:0 max(8px, calc((100% - 520px) / 2)) var(--safe-b);background:var(--bg);box-shadow:0 -1px 0 var(--sep);transition:transform .22s var(--ease), opacity .15s;border-radius:0;grid-template-columns:repeat(4,1fr);justify-content:center;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar.hide{opacity:0;pointer-events:none;transform:translateY(100%)}.tabbar .ind{display:none}.tabbar button{height:58px;color:var(--text-3);font:500 11px/1 var(--font);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:color .15s;display:flex}.tabbar button svg{stroke-width:1.7px;width:23px;height:23px}.tabbar button.on{color:var(--text)}.tabbar button.on svg{stroke-width:2.1px}.hello{justify-content:space-between;align-items:center;gap:12px;padding-top:6px;display:flex}.avatar{width:34px;height:34px;color:var(--bg);font:600 14px/1 var(--font);background:var(--text);border-radius:50%;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.avatar img{z-index:1;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.avatar.xl{width:60px;height:60px;font-size:22px}.avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0}.statline{color:var(--text-2);flex-wrap:wrap;align-items:center;margin-top:-6px;font-size:14.5px;display:flex}.statline button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:5px;padding:4px 0;display:inline-flex}.statline button+button:before{content:"·";color:var(--text-3);margin:0 10px}.statline b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.hero{gap:16px;padding:20px;display:grid}.hero-item{align-items:center;gap:14px;display:flex}.hero-item>div{gap:3px;min-width:0;display:grid}.hero-item .h3{font:500 19px/1.25 var(--font-display);letter-spacing:-.005em}.hero-center{text-align:center;justify-items:center;padding:30px 22px 22px}.hero-center .h2{max-width:22ch}.hero-center p{max-width:34ch;margin:0}.big-reward{font:500 20px/1.2 var(--font-display);color:var(--accent)}.quote{border-left:2px solid var(--accent);background:var(--bg-2);text-align:left;border-radius:0 10px 10px 0;margin:0;padding:12px 14px;font-size:15px;line-height:1.5}.quote b{color:var(--text-2);margin-bottom:2px;font-size:13px;font-weight:500;display:block}.soft-note{background:var(--bg-2);color:var(--text-2);border-radius:10px;align-items:flex-start;gap:10px;padding:11px 13px;font-size:14.5px;line-height:1.45;display:flex}.soft-note svg{width:18px;height:18px;color:var(--green);flex:none;margin-top:1px}.then{color:var(--text-3);align-items:center;gap:9px;font-size:14px;display:flex}.then svg{flex:none;width:16px;height:16px}.then b{color:var(--text-2);font-weight:500}.warn{color:var(--accent)}.card{padding:18px}.card-list{overflow:hidden}.card-head{justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 4px;display:flex}.link-btn{color:var(--text-2);font:500 14px/1 var(--font);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:4px 0;display:inline-flex}.link-btn svg{width:15px;height:15px}.note-card{align-items:center;gap:14px;padding:14px 16px;display:flex}.note-card .main{flex:1;gap:2px;min-width:0;display:grid}.note-card b{font-weight:500}.note-card small{color:var(--text-2);font-size:13.5px;line-height:1.4}.note-card>svg{width:17px;height:17px;color:var(--text-3);flex:none}.module-card{gap:10px;padding:16px 18px;display:grid}.module-top{justify-content:space-between;gap:12px;display:flex}.module-top b{font-weight:500}.row.is-current{background:var(--accent-soft)}.row.is-current .tile{--c:var(--accent);--cs:var(--surface)}.row.is-locked .t,.row.is-locked .s{color:var(--text-3)}.msteps{align-items:flex-start;padding:2px 0;display:flex}.mstep{width:52px;font:500 11.5px/1.2 var(--font);color:var(--text-3);cursor:pointer;background:0 0;border:0;flex:none;justify-items:center;gap:6px;padding:0;display:grid}.mstep .dot{width:34px;height:34px;font:500 15px/1 var(--font);color:var(--text-2);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);border-radius:50%;place-items:center;display:grid}.mstep .dot svg{width:15px;height:15px}.mstep.cur{color:var(--text)}.mstep.cur .dot{color:var(--on-accent);background:var(--accent);box-shadow:none}.mstep.done .dot{color:var(--text);background:var(--fill-2);box-shadow:none}.mstep.locked .dot{color:var(--text-3);background:0 0}.mline{background:var(--border);flex:1;height:1px;margin-top:17px}.module{overflow:hidden}.module-head{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;gap:8px;padding:18px;display:grid}.module-head .pill{justify-self:start}.module-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.module-title .h2{font-size:21px}.module-title svg{width:18px;height:18px;color:var(--text-3);flex:none}.module-body{border-top:1px solid var(--sep);padding-bottom:4px}.goal{color:var(--text-2);align-items:center;gap:8px;margin:14px 16px 2px;font-size:14px;display:flex}.goal svg{width:17px;height:17px;color:var(--text-3);flex:none}.part+.part{border-top:1px solid var(--sep)}.part-head{width:100%;font:500 13px/1.3 var(--font);color:var(--text-3);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:14px 16px 2px;display:flex}.part-head svg{width:16px;height:16px;color:var(--text-3)}.video{aspect-ratio:16/9;color:#fff;background:#1f1e1d;border:0;border-radius:14px;place-items:center;width:100%;padding:0;display:grid;position:relative;overflow:hidden}.video iframe,.video video{background:#000;border:0;width:100%;height:100%;position:absolute;inset:0}.video.facade{cursor:pointer;background-position:50%;background-size:cover}.video.facade:after{content:"";background:#0000002e;position:absolute;inset:0}.video .play{z-index:1;color:#141413;width:58px;height:58px;box-shadow:none;transition:transform .15s var(--ease);background:#faf9f5;border-radius:50%;place-items:center;display:grid;position:relative}.video.facade:active .play{transform:scale(.94)}.video .play svg{fill:currentColor;width:24px;height:24px;margin-left:3px}.video.empty{background:var(--fill);color:var(--text-3);place-content:center;justify-items:center;gap:8px;font-size:14px}.video.empty svg{width:28px;height:28px}.crumbs{margin-top:2px}.pills{flex-wrap:wrap;gap:6px;display:flex}.prose{overflow-wrap:anywhere;font-size:16px;line-height:1.6}.prose.small{font-size:15px}.section-label{margin:6px 2px -6px}.center-block{text-align:center;justify-items:center;gap:12px;padding:24px 8px 8px;display:grid}.center-block p{max-width:34ch;margin:0}.grow-center{flex:1;align-content:center}.center-screen{text-align:center;flex:1;place-content:center;justify-items:center;gap:14px;min-height:60vh;display:grid}.center-screen p{margin:0}.stars{justify-content:center;gap:2px;margin:18px 0;display:flex}.stars button{width:48px;height:48px;color:var(--fill-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.stars button svg{fill:currentColor;stroke:none;width:34px;height:34px}.stars button.on{color:var(--accent)}.task-top{gap:8px;display:flex}.meta-line{margin:-8px 0 0;font-size:14.5px}.steps{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.steps li{align-items:flex-start;gap:12px;font-size:15.5px;line-height:1.45;display:flex}.steps .n{width:24px;height:24px;color:var(--text-2);box-shadow:inset 0 0 0 1px var(--border);font:500 12.5px/1 var(--font);border-radius:50%;flex:none;place-items:center;margin-top:-1px;display:grid}.steps small{color:var(--text-2);margin-top:2px;font-size:13.5px;display:block}.mic-card{text-align:center;justify-items:center;gap:4px;width:100%;padding:28px 20px 24px;display:grid}.mic-card b{font-weight:500}.mic-card small{color:var(--text-2)}.mic{width:68px;height:68px;color:var(--on-accent);background:var(--accent);border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.mic svg{width:28px;height:28px}.mic.live{background:var(--red);animation:1.4s ease-in-out infinite breathe}.lite .mic.live{animation:none}@keyframes breathe{50%{opacity:.72}}.rec-time{font-size:26px;font-weight:500}.is-busy-card{opacity:.7}.btn-pair{gap:8px;margin-top:12px;display:flex}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.help-link{font:400 14px/1.3 var(--font);color:var(--text-3);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:8px;display:inline-flex}.help-link svg{width:16px;height:16px}.input-group{align-items:center;gap:8px;display:flex}.input-group .input{flex:1;min-width:0}.input-group .btn{flex:none;height:46px}.err{color:var(--red);font-size:13.5px}.upload{text-align:center;border:1px dashed #0000;justify-items:center;gap:4px;width:100%;padding:24px 18px;display:grid;box-shadow:inset 0 0 0 1px var(--border)!important}.upload b{font-weight:500}.upload small{color:var(--text-2)}.upload .tile{margin-bottom:6px}.shot{background:var(--fill);cursor:zoom-in;border:0;border-radius:12px;width:100%;padding:0;display:block;overflow:hidden}.shot img{object-fit:contain;width:100%;max-height:380px}.thumb{object-fit:cover;border-radius:10px;width:64px;height:64px}audio{width:100%;height:42px;display:block}.reward-card{align-items:center;gap:14px;padding:18px;display:flex}.reward-card b{font:500 22px/1.2 var(--font-display);display:block}.reward-card small{color:var(--text-2)}.step-open{background:var(--bg-2);border-radius:12px;gap:12px;margin:4px 8px 8px;padding:16px;display:grid}.step-open p{margin:0;font-size:15px;line-height:1.5}.step-title{align-items:center;gap:12px;display:flex}.step-title>div{gap:1px;display:grid}.step-title b{font-weight:500}.step-open .upload{padding:18px}.accent{color:var(--accent);font-weight:500}.rows.flush .row{padding-left:0;padding-right:0}.profile{align-items:center;gap:14px;padding:4px 0 2px;display:flex}.profile .h2{font-size:24px}.profile p{margin:3px 0 0}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{gap:2px;padding:14px 8px;display:grid;text-align:center!important}.stat b{font:500 22px/1.15 var(--font-display)}.stat span{color:var(--text-3);font-size:12.5px}.level-card{gap:10px;padding:16px;display:grid}.level-top{align-items:center;gap:12px;display:flex}.level-top .main{flex:1;gap:1px;display:grid}.level-top b{font-weight:500}.level-top>svg{width:17px;height:17px;color:var(--text-3)}.balance{text-align:center;justify-items:center;gap:4px;padding:26px 20px 20px;display:grid}.balance-num{align-items:center;gap:8px;display:flex}.balance-num svg{width:26px;height:26px;color:var(--text-3)}.balance-num b,.balance-big{font:500 44px/1.1 var(--font-display);letter-spacing:-.02em}.balance .btn{margin-top:12px}.plus{color:var(--green)}.minus{color:var(--text-2)}.place{text-align:center;justify-items:center;gap:4px;padding:24px 20px;display:grid}.place-num{font:500 48px/1.1 var(--font-display);letter-spacing:-.02em}.place-gap{color:var(--accent);margin-top:6px;font-size:14px;font-weight:500}.lb{min-height:52px}.lb .num{font-size:15px;font-weight:500}.lb.is-me{background:var(--accent-soft)}.lb.dots{min-height:28px;color:var(--text-3);justify-content:center}.rows .lb+.lb:before{left:58px}.medal,.rank{width:28px;height:28px;font:500 13px/1 var(--font);color:var(--text-2);background:var(--fill);border-radius:50%;flex:none;place-items:center;display:grid}.m1{color:var(--on-accent);background:var(--accent)}.rank{color:var(--text-3);background:0 0}.shop{gap:10px;display:grid}.shop-item{gap:14px;padding:16px;display:grid}.shop-top{align-items:flex-start;gap:12px;display:flex}.shop-top .main{gap:2px;display:grid}.shop-top b{font-weight:500}.shop-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex}.price{align-items:center;gap:5px;font-size:16px;font-weight:500;display:inline-flex}.price svg{width:17px;height:17px;color:var(--text-3)}.copy-field{border:1px solid var(--border);background:var(--bg-2);width:100%;height:46px;color:var(--text);font:400 15px/1 var(--font);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;display:flex}.copy-field span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.copy-field svg{width:17px;height:17px;color:var(--text-3);flex:none}.center-card{text-align:center;justify-items:center;gap:8px;padding:26px 20px;display:grid}.center-card b{font-weight:500}.w100{gap:6px;width:100%;margin:8px 0;display:grid}.note-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.note-head b{font-weight:500}.curator{gap:16px;display:grid}.curator-top{align-items:center;gap:14px;display:flex}.curator-top>div{gap:1px;display:grid}.curator-top b{font-weight:500}.faq details+details{border-top:1px solid var(--sep)}.faq summary{cursor:pointer;align-items:center;gap:14px;padding:11px 16px;font-weight:500;line-height:1.35;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary>.q{flex:1}.faq summary>svg{width:17px;height:17px;color:var(--text-3);transition:transform .2s var(--ease)}.faq details[open] summary>svg{transform:rotate(180deg)}.faq .answer{color:var(--text-2);padding:0 16px 16px 68px;font-size:15px;line-height:1.55}.dots{justify-content:center;gap:6px;padding:4px 0;display:flex}.dots i{background:var(--fill-2);width:6px;height:6px;transition:width .25s var(--ease), background-color .25s;border-radius:3px}.dots i.on{background:var(--text);width:18px}.dots i.done{background:var(--text-3)}.ob-head{padding:8px 0 0}.ob-hero{text-align:center;justify-items:center;gap:10px;padding:30px 20px;display:grid}.ob-hero b{font:500 22px/1.2 var(--font-display)}.prize{align-items:center;gap:14px;display:flex}.prize b{font-weight:500}.prize-list{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.empty{text-align:center;color:var(--text-3);justify-items:center;gap:10px;padding:40px 20px;font-size:15px;display:grid}.empty svg{width:32px;height:32px}.lead{margin:-8px 0 0;font-size:15px}.stack-8{gap:8px;display:grid}.stack-12{gap:12px;display:grid}.top-12{margin-top:12px}.top-16{margin-top:16px}.center{text-align:center;justify-items:center;display:grid}.pad{margin:0;padding:4px 16px 16px}.pad-x{margin:-6px 0 0;padding:0 4px}.small-btn{height:40px;font-size:14px}@media (min-width:560px){.shop{grid-template-columns:1fr 1fr}}@media (min-width:900px){.page{max-width:640px;padding-top:calc(var(--safe-t) + 44px)}.h1{font-size:34px}}.confirm-text{text-align:center;margin:4px 0 18px}.sk-title{border-radius:10px;width:55%;height:30px;display:block}.sk-avatar{border-radius:50%;width:44px;height:44px}.sk-hero{border-radius:22px;height:210px;margin-top:14px}.sk-card{border-radius:22px;height:150px;margin-top:14px}.sk-tile{border-radius:13px;width:42px;height:42px}.sk-line{width:60%;height:14px;display:block}.sk-line.short{width:35%;height:11px;margin-top:8px}.sk-field{height:50px}}
