:root{--bg:#0b0d10;--text:#f6f1e8;--muted:#f6f1e8ad;--accent:#f2b84b;--love:#ff5a5f;--font-display:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background:var(--bg)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{background:var(--bg);overflow:hidden}button,input{font:inherit}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img,video{max-width:100%;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{height:100dvh;color:var(--text);background:radial-gradient(120% 80% at 50% -10%, #f2b84b29, transparent 55%), radial-gradient(80% 50% at 100% 100%, #ff5a5f1f, transparent 50%), var(--bg);position:relative;overflow:hidden}.topbar{z-index:20;padding:calc(.85rem + env(safe-area-inset-top)) 1rem .75rem;pointer-events:none;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:absolute;inset:0 0 auto}.topbar>*{pointer-events:auto}.brand{align-items:center;gap:.7rem;display:flex}.brand__mark{background:radial-gradient(circle at 35% 30%,#fff4c8 0%,#f2b84b 42%,#ff5a5f 100%);border-radius:.7rem;width:2.1rem;height:2.1rem;animation:3.2s ease-in-out infinite brand-pulse;box-shadow:0 8px 24px #f2b84b47}.brand__name{font-family:var(--font-display);letter-spacing:-.03em;text-shadow:0 2px 16px #00000073;margin:0;font-size:1.45rem;font-weight:800;line-height:1}.brand__tag{color:var(--muted);margin:.2rem 0 0;font-size:.72rem}.wallet-pill{color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#0c0e128c;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .75rem;font-weight:700;transition:transform .16s,background .16s;display:inline-flex}.wallet-pill:hover{background:#14161cb8;transform:translateY(-1px)}.wallet-pill small{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700}.wallet-pill__coin,.wallet-chip__coin,.coin-orb{background:radial-gradient(circle at 30% 30%,#fff2b0,#f2b84b 55%,#c4841a 100%);border-radius:50%;width:.95rem;height:.95rem;box-shadow:inset 0 -1px 2px #00000040}.feed{scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none;height:100%;overflow-y:auto}.feed::-webkit-scrollbar{display:none}.feed__slide{scroll-snap-align:start;scroll-snap-stop:always;height:100dvh}.clip{width:min(100%,480px);height:100%;margin:0 auto;position:relative}.clip__stage{cursor:pointer;position:absolute;inset:0}.clip__video{object-fit:cover;background:#111;width:100%;height:100%}.clip__veil{pointer-events:none;background:linear-gradient(#080a0e73 0%,#0000 22% 55%,#080a0ec7 100%),linear-gradient(90deg,#080a0e40,#0000 30%);position:absolute;inset:0}.clip__paused{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.clip__paused span{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000059;border-radius:50%;width:4.2rem;height:4.2rem;position:relative}.clip__paused span:before{content:"";border:.7rem solid #0000;border-left:1.15rem solid #fff;border-right-width:0;width:0;height:0;margin:auto;position:absolute;inset:0;transform:translate(2px)}.clip__meta{left:1rem;right:5.5rem;bottom:calc(5.4rem + env(safe-area-inset-bottom));z-index:5;animation:.52s cubic-bezier(.2,.8,.2,1) both rise-in;position:absolute}.clip.is-active .clip__meta{animation-name:rise-in}.clip__handle{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.clip__caption{text-wrap:pretty;margin:0;font-size:.95rem;font-weight:500;line-height:1.35}.clip__music{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.4rem;max-width:100%;margin:.55rem 0 0;font-size:.78rem;display:inline-flex;overflow:hidden}.clip__actions{right:.7rem;bottom:calc(5.6rem + env(safe-area-inset-bottom));z-index:6;flex-direction:column;align-items:center;gap:1rem;display:flex;position:absolute}.creator-avatar{width:3rem;height:3rem;font-family:var(--font-display);color:#1a1208;background:linear-gradient(145deg,#ffe08a,#f2b84b 55%,#ff7a59);border:2px solid #ffffffb3;border-radius:50%;place-items:center;font-weight:800;display:grid;box-shadow:0 8px 20px #00000059}.action-btn{color:#fff;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:.25rem;font-size:.78rem;font-weight:700;display:flex}.action-btn__icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c0e126b;border:1px solid #ffffff1f;border-radius:50%;place-items:center;width:3rem;height:3rem;font-size:1.35rem;transition:transform .16s,color .16s,background .16s;display:grid}.action-btn:hover .action-btn__icon{transform:scale(1.06)}.action-btn.is-loved .action-btn__icon{color:#ff5a5f;background:#ff5a5f2e;animation:.42s cubic-bezier(.2,1.4,.3,1) love-pop}.action-btn--coin .coin-orb{width:1.25rem;height:1.25rem}.dock{z-index:20;padding:.55rem .75rem calc(.65rem + env(safe-area-inset-bottom));color:#ffffff8c;text-align:center;background:linear-gradient(#0000,#080a0eeb 35%);grid-template-columns:repeat(5,1fr);align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;display:grid;position:absolute;inset:auto 0 0}.dock__item.is-active{color:#fff}.dock__item--create{color:#120d05;background:linear-gradient(90deg,#f2b84b,#ff7a59);border-radius:.45rem;place-items:center;width:2.6rem;height:1.9rem;margin:0 auto;font-size:1.2rem;font-weight:800;display:grid;box-shadow:0 0 0 2px #0b0d10,0 0 0 4px #f2b84b}.coin-sheet{z-index:40;position:absolute;inset:0}.coin-sheet__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#0405088c;border:0;position:absolute;inset:0}.coin-sheet__panel{width:min(100%,480px);padding:.7rem 1rem calc(1rem + env(safe-area-inset-bottom));background:linear-gradient(#241e16f5,#0e0f12fa);border-top:1px solid #ffffff14;border-radius:1.35rem 1.35rem 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) sheet-up;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -20px 50px #00000073}.coin-sheet__handle{background:#fff3;border-radius:999px;width:2.6rem;height:.28rem;margin:0 auto .9rem}.coin-sheet__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.coin-sheet__eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.coin-sheet__header h2{font-family:var(--font-display);letter-spacing:-.02em;margin:.25rem 0 0;font-size:1.35rem}.wallet-chip{background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .7rem;display:inline-flex}.gift-grid{grid-template-columns:repeat(4,1fr);gap:.55rem;display:grid}.gift-card{color:#fff;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:1rem;flex-direction:column;align-items:center;gap:.25rem;padding:.85rem .35rem;transition:transform .16s,border-color .16s,background .16s;display:flex}.gift-card:hover:not(:disabled){background:#f2b84b14;border-color:#f2b84b73;transform:translateY(-2px)}.gift-card:disabled{opacity:.4;cursor:not-allowed}.gift-card__icon{width:1.6rem;height:1.6rem;margin-bottom:.15rem;position:relative}.gift-card__icon--rose{background:radial-gradient(circle at 40% 35%,#ff9aa0,#ff5a5f 70%);border-radius:50% 50% 45% 45%;box-shadow:0 0 0 2px #ff5a5f33}.gift-card__icon--star{clip-path:polygon(50% 0%,63% 38%,100% 38%,70% 59%,81% 100%,50% 76%,19% 100%,30% 59%,0% 38%,37% 38%);background:#f2b84b}.gift-card__icon--crown{clip-path:polygon(8% 78%,8% 42%,28% 62%,50% 28%,72% 62%,92% 42%,92% 78%);background:linear-gradient(#ffe08a,#f2b84b)}.gift-card__icon--fire{background:radial-gradient(circle at 45% 70%,#ffd27a,#ff7a59 55%,#ff5a5f 100%);border-radius:50% 50% 45% 45%/65% 65% 40% 40%}.gift-card__name{font-size:.78rem;font-weight:700}.gift-card__cost{color:var(--muted);font-size:.68rem}.coin-sheet__footer{gap:.6rem;margin-top:1rem;display:flex}.btn-ghost,.btn-solid{cursor:pointer;border:0;border-radius:.9rem;flex:1;padding:.85rem 1rem;font-weight:700}.btn-ghost{color:#fff;background:#ffffff0f;border:1px solid #ffffff14}.btn-solid{color:#1a1208;background:linear-gradient(135deg,#f2b84b,#ff7a59)}.burst-layer{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.burst{width:0;height:0;position:absolute}.burst-particle{animation:.9s cubic-bezier(.15,.85,.25,1) forwards float-burst;animation-delay:calc(var(--i) * 20ms);opacity:0;position:absolute;top:0;left:0}.burst-particle.love{color:#ff5a5f;text-shadow:0 4px 12px #ff5a5f73;font-size:1.4rem}.burst-particle.coin{color:#f2b84b;text-shadow:0 4px 12px #f2b84b73;font-size:.95rem}.toast{left:50%;bottom:calc(6.5rem + env(safe-area-inset-bottom));z-index:60;color:#fff;white-space:nowrap;background:#12100ce0;border:1px solid #f2b84b47;border-radius:999px;padding:.7rem 1rem;font-size:.85rem;font-weight:600;animation:.22s toast-in;position:absolute;transform:translate(-50%)}@keyframes brand-pulse{0%,to{filter:saturate();transform:scale(1)}50%{filter:saturate(1.15);transform:scale(1.05)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes love-pop{0%{transform:scale(.8)}55%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes sheet-up{0%{opacity:.4;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}@keyframes float-burst{0%{opacity:0;transform:translate(0)scale(.5)}20%{opacity:1}to{opacity:0;transform:translate(var(--x), var(--y)) scale(1.15)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (width>=720px){.app{place-items:center;display:grid}.feed,.topbar,.dock,.coin-sheet__panel,.toast{width:min(100%,480px)}.topbar,.dock,.toast{left:50%;right:auto;transform:translate(-50%)}.toast{transform:translate(-50%)}.feed{border-inline:1px solid #ffffff0f;box-shadow:0 30px 80px #00000073}}@media (width<=380px){.gift-grid{grid-template-columns:repeat(2,1fr)}.brand__tag{display:none}}
