:root{--ink: #151515;--muted: #5a5a5a;--bg: #f7f7f5;--accent: #6a4df5;--accent-soft: #f4f2ff;--cyan: #4fc3f7;--yellow: #ffd54f;--danger: #c62828;--r-card: 30px;--r-ctl: 18px;font-family:Nunito Sans,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);overscroll-behavior:none}h1,p{margin:0}h1{font-size:28px;font-weight:800;letter-spacing:-.02em}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px 16px;text-align:center}.logo{font-family:"Baloo 2",sans-serif;font-size:40px;font-weight:700}.logo b{color:var(--cyan);font-weight:inherit}.logo i{color:var(--yellow);font-style:normal}.card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px;padding:32px 24px;border-radius:var(--r-card);background:#fff;box-shadow:0 2px 8px #1515150a,0 16px 36px #15151510}.dim{color:var(--muted)}.error{color:var(--danger);font-weight:700}.code{width:100%;padding:16px;border:0;border-radius:var(--r-ctl);background:var(--bg);font-size:36px;font-weight:800;letter-spacing:.15em;text-align:center}.btn{padding:16px 24px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-size:18px;font-weight:800;cursor:pointer}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{background:var(--accent-soft);color:var(--accent)}.row{display:flex;gap:12px}.row .btn{flex:1}.lock{gap:16px;background:radial-gradient(circle at 50% 35%,var(--accent-soft),var(--bg) 60%)}.lock .mascot{width:min(320px,78vw)}.lock .track{fill:none;stroke:#e9e5ff;stroke-width:14}.lock .ring{fill:none;stroke:var(--accent);stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.when{display:flex;flex-direction:column;gap:4px}.timer{font-size:56px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--accent)}.feed{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none}.feed::-webkit-scrollbar{display:none}.slide{position:relative;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always}.thumb,.player,.player iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.player{position:fixed;background:#000}.thumb{object-fit:contain;background:#000}.thumb.off{visibility:hidden}.tap{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.play{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#9d8aff,var(--accent));box-shadow:0 12px 32px #6a4df566}.play svg{width:64px;height:64px;margin-left:6px;fill:#fff;stroke:#fff;stroke-width:3;stroke-linejoin:round}.play.sound{animation:nudge-pulse 1.6s ease-in-out infinite}.play.sound svg{margin-left:0}.play.sound .wave{fill:none;stroke-linecap:round}@keyframes nudge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.chain{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#fffe;color:var(--accent);box-shadow:0 6px 16px #15151533;cursor:pointer}.swipe{position:fixed;top:50%;right:max(16px,env(safe-area-inset-right));transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;padding:12px 10px;border-radius:999px;background:#fffe;box-shadow:0 6px 16px #15151533;pointer-events:none}.swipe svg{width:26px;height:26px;fill:var(--accent);stroke:var(--accent);stroke-width:4;stroke-linejoin:round}.swipe .up{animation:nudge-up 1.6s ease-in-out infinite}.swipe .down{animation:nudge-down 1.6s ease-in-out infinite}@keyframes nudge-up{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-5px);opacity:1}}@keyframes nudge-down{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(5px);opacity:1}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#000c}@media (prefers-reduced-motion: reduce){.feed{scroll-behavior:auto}}
