.ad-slot-wrapper{position:fixed;left:0;right:0;bottom:var(--safe-bottom, 0px);z-index:19;pointer-events:auto;transition:transform .18s ease}.ad-slot-inner{width:100%;display:block}.ad-slot-label{display:none}.ad-slot-box{width:100%;height:60px;background:#fafafa;border-top:1px solid #d4d4d4;display:flex;align-items:center;padding:0 14px;gap:12px;cursor:pointer;transition:opacity .15s}.ad-slot-box:hover{opacity:.95}.ad-slot-logo{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:20px}.ad-slot-content{flex:1;min-width:0}.ad-slot-title{font-size:14px;font-weight:600;color:#1a1a1a;margin:0 0 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-slot-subtitle{font-size:11px;color:#666;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-slot-arrow{font-size:20px;color:#aaa;flex-shrink:0}.house-promo{display:flex;align-items:center;gap:12px;width:100%;height:76px;padding:0 16px;box-sizing:border-box;text-decoration:none;background:linear-gradient(180deg,var(--color-bg-warm) 0%,var(--color-bg) 100%);border-top:1px solid var(--color-border);border-left:3px solid #f97316;-webkit-tap-highlight-color:transparent}.house-promo__logo{width:48px;height:48px;flex-shrink:0;display:block;object-fit:contain;background:var(--color-cream);border-radius:22%;padding:8.4px 7.2px 6px;box-sizing:border-box}.house-promo__content{flex:1;min-width:0}.house-promo__heading{font-family:var(--font-display);font-weight:600;font-size:19px;line-height:1.15;color:var(--color-cream);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.house-promo__subline{font-family:var(--font-body);font-weight:400;font-size:13px;line-height:1.2;color:var(--color-cream-dim);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.house-promo__arrow{flex-shrink:0;font-size:18px;line-height:1;color:#f97316}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:linear-gradient(180deg,#1c1410eb,#140e0bf5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(219,166,80,.25);box-shadow:0 -10px 40px #0006;animation:cookie-slide-up .4s cubic-bezier(.4,0,.2,1);font-family:Outfit,Outfit Fallback,sans-serif;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px))}@keyframes cookie-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-banner__inner{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.cookie-banner__content{color:#f5e6d0}.cookie-banner__title{font-family:Cormorant Garamond,Cormorant Garamond Fallback,serif;font-size:17px;font-weight:700;color:#f5e6d0;margin:0 0 6px;letter-spacing:.01em}.cookie-banner__text{font-size:13px;line-height:1.5;color:#f5e6d0bf;margin:0}.cookie-banner__link{color:#dba650;text-decoration:none;font-weight:500}.cookie-banner__link:hover{text-decoration:underline}.cookie-banner__actions{display:flex;gap:10px;justify-content:flex-end}.cookie-banner__btn{padding:10px 22px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease;-webkit-tap-highlight-color:transparent;flex:1;max-width:160px}.cookie-banner__btn--decline{background:transparent;border:1px solid rgba(219,166,80,.3);color:#f5e6d0bf}.cookie-banner__btn--decline:hover{border-color:#dba65080;color:#f5e6d0}.cookie-banner__btn--accept{background:linear-gradient(135deg,#dba650,#b8873a);border:none;color:#1c1410;box-shadow:0 4px 14px #dba65040}.cookie-banner__btn--accept:hover{transform:translateY(-1px);box-shadow:0 6px 18px #dba65059}@media(min-width:640px){.cookie-banner__inner{flex-direction:row;align-items:center;gap:24px}.cookie-banner__actions{flex-shrink:0}.cookie-banner__btn{flex:none}}.gadatel-fab{position:fixed;right:18px;bottom:calc(var(--tabbar-height) + var(--ad-slot-height) + 16px);z-index:25;width:60px;height:60px;border:none;border-radius:50%;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#dba650,#b8873a);box-shadow:0 8px 20px #dba65066;display:flex;align-items:center;justify-content:center;transition:transform .14s ease,box-shadow .22s ease}.gadatel-fab:hover{box-shadow:0 10px 26px #dba6508c}.gadatel-fab:active{transform:scale(.94)}.gadatel-fab__cup{font-size:28px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.gadatel-fab__badge{position:absolute;top:-4px;right:-4px;padding:2px 6px;border-radius:999px;background:#1c1410;border:1px solid #dba650;color:#dba650;font-family:var(--font-body);font-size:9px;font-weight:600;letter-spacing:.04em;line-height:1;white-space:nowrap}.gadatel-fab.is-fresh{animation:gadatelFabAppear .4s cubic-bezier(.34,1.56,.64,1) both,gadatelFabPulse 2.4s ease-in-out .5s 1}@keyframes gadatelFabAppear{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes gadatelFabPulse{0%,to{box-shadow:0 8px 20px #dba65066}50%{box-shadow:0 8px 28px #dba650b3}}@media(prefers-reduced-motion:reduce){.gadatel-fab.is-fresh{animation:none}.gadatel-fab{transition:none}}.vote-share-reveal{display:flex;flex-direction:column;align-items:center;width:100%}.vote-share-reveal__prompt{margin:0 0 14px;font-family:Cormorant Garamond,Cormorant Garamond Fallback,Georgia,serif;font-style:italic;font-size:22px;color:#f5e6d0d9;text-align:center;max-height:100px;overflow:hidden;transition:opacity .2s ease,color .25s ease,transform .25s ease,max-height .35s ease,margin .35s ease}.vote-share-reveal.phase-thanking .vote-share-reveal__prompt{color:var(--color-accent, #d4a056);transform:scale(1.05)}.vote-share-reveal__thumbs{margin:0 0 16px;max-height:80px;overflow:hidden;transition:opacity .35s ease,max-height .35s ease,margin .35s ease}.vote-share-reveal__thumbs .vote-buttons{margin:0}.vote-share-reveal__share .share-image-btn{margin-top:0}.vote-share-reveal__share{display:flex;justify-content:center}.vote-share-reveal.phase-fading .vote-share-reveal__prompt,.vote-share-reveal.phase-fading .vote-share-reveal__thumbs{opacity:0;max-height:0;margin:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.vote-share-reveal__prompt,.vote-share-reveal__thumbs,.vote-share-reveal__share{transition:none}.vote-share-reveal.phase-thanking .vote-share-reveal__prompt{transform:none}}.horoscope{display:flex;flex-direction:column;align-items:stretch;gap:20px;animation:fadeSlideUp .42s ease-out}.horoscope__header{text-align:center}.horoscope__date{font-family:var(--font-body);font-weight:400;font-size:18px;letter-spacing:.04em;color:#f5e6d0cc;margin-bottom:6px}.horoscope__title{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,8vw,42px);color:var(--color-cream);letter-spacing:.02em;line-height:1.1}.horoscope__title:after{content:"";display:block;width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent) 50%,transparent);margin:12px auto 0}.horoscope__subtitle{margin-top:10px;font-family:var(--font-body);font-size:.95rem;color:var(--color-cream-dim);font-weight:300}.zodiac-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:4px 0}.zodiac-tile{min-height:104px;padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(160deg,var(--color-surface) 0%,var(--color-surface-light) 100%);border:1px solid var(--color-border);border-radius:18px;color:var(--color-cream);font-family:var(--font-body);cursor:pointer;transition:transform .16s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;-webkit-tap-highlight-color:transparent}.zodiac-tile:hover{border-color:#d4a05652;box-shadow:0 10px 22px #00000059}.zodiac-tile:active{transform:scale(.96)}.zodiac-tile:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.zodiac-tile__symbol{font-size:1.9rem;line-height:1;color:var(--color-accent);filter:drop-shadow(0 0 8px rgba(212,160,86,.3))}.zodiac-tile__name{font-size:1rem;font-weight:500;letter-spacing:.01em}.zodiac-tile__dates{font-size:.78rem;color:var(--color-cream-dim);font-weight:400;letter-spacing:.02em}.horoscope__back{align-self:flex-start;margin-top:-4px;padding:8px 14px 8px 10px;min-height:40px;display:inline-flex;align-items:center;gap:4px;background:transparent;color:var(--color-cream-dim);font-family:var(--font-body);font-size:.9rem;font-weight:400;border-radius:10px;cursor:pointer;transition:color .18s ease,background .18s ease;-webkit-tap-highlight-color:transparent}.horoscope__back:hover{color:var(--color-accent);background:var(--color-accent-glow)}.horoscope-card{position:relative;background:radial-gradient(120% 80% at 50% 0%,rgba(212,160,86,.08),transparent 60%),linear-gradient(160deg,var(--color-surface) 0%,var(--color-surface-light) 100%);border:1px solid var(--color-border);border-radius:28px;padding:64px 26px 26px;text-align:center;box-shadow:0 20px 52px #0000006b,0 1px #ffffff0a inset;display:flex;flex-direction:column;align-items:center;gap:4px;animation:fadeSlideUp .52s cubic-bezier(.2,.8,.2,1) both}.horoscope-card__badge{position:absolute;top:-36px;left:50%;transform:translate(-50%);width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.08),transparent 60%),linear-gradient(160deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);border:2px solid var(--color-bg);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px #00000073,0 0 0 4px #d4a0561f}.horoscope-card__badge-symbol{font-size:2rem;line-height:1;color:var(--color-bg);font-weight:600}.horoscope-card__sign{font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,5.5vw,2rem);color:var(--color-cream);letter-spacing:.01em}.horoscope-card__dates{font-family:var(--font-body);font-size:.9rem;color:var(--color-cream-dim);letter-spacing:.04em;margin-bottom:14px}.horoscope-card__text{font-family:var(--font-display);font-style:normal;font-weight:600;font-size:clamp(1.4rem,5.2vw,1.65rem);line-height:1.55;color:var(--color-cream);max-width:42ch;margin-bottom:18px}.mood-meters{width:100%;display:flex;flex-direction:column;gap:12px;margin-top:4px;padding-top:16px;border-top:1px dashed var(--color-border)}.mood{text-align:left}.mood__row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-family:var(--font-body)}.mood__label{font-size:.95rem;font-weight:500;color:var(--color-cream);letter-spacing:.01em}.mood__value{font-size:.88rem;font-weight:600;color:var(--color-accent);font-variant-numeric:tabular-nums}.mood__track{width:100%;height:8px;border-radius:999px;background:#1c14108c;overflow:hidden;border:1px solid var(--color-border)}.mood__fill{width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent-dark) 0%,var(--color-accent) 100%);transform:scaleX(var(--mood-target, 0));transform-origin:left center;transition:transform .65s cubic-bezier(.2,.8,.2,1);will-change:transform}@media(max-width:359px){.zodiac-grid{gap:8px}.zodiac-tile{min-height:92px;padding:10px 6px}.zodiac-tile__symbol{font-size:1.6rem}.zodiac-tile__name{font-size:.84rem}.zodiac-tile__dates{font-size:.64rem}.horoscope-card{padding:56px 18px 20px}}@media(min-width:769px){.zodiac-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.zodiac-tile{min-height:120px}.zodiac-tile__symbol{font-size:2.1rem}}@media(prefers-reduced-motion:reduce){.mood__fill{transition:none}.horoscope,.horoscope-card{animation:none}}.vote-buttons{display:flex;gap:16px;justify-content:center;margin:16px 0}.vote-btn{background:#dba65014;border:1px solid rgba(219,166,80,.25);border-radius:999px;padding:12px 22px;font-size:22px;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;line-height:1.4;font-family:inherit}.vote-btn:hover:not(:disabled){border-color:#dba65066}.vote-btn:disabled{cursor:default}.vote-btn.is-active{background:#dba65059;border-color:#dba650cc;filter:brightness(1.08)}.vote-btn.is-dimmed{opacity:.3}.joke{display:flex;flex-direction:column;align-items:stretch;gap:20px;animation:fadeSlideUp .42s ease-out}.joke__header{text-align:center}.joke__date{font-family:var(--font-body);font-weight:400;font-size:18px;letter-spacing:.04em;color:#f5e6d0cc;margin-bottom:6px}.joke__title{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,8vw,42px);color:var(--color-cream);letter-spacing:.02em;line-height:1.1}.joke__title:after{content:"";display:block;width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent) 50%,transparent);margin:12px auto 0}.joke-card{position:relative;background:radial-gradient(140% 80% at 50% 0%,rgba(212,160,86,.08),transparent 60%),linear-gradient(160deg,var(--color-surface) 0%,var(--color-surface-light) 100%);border:1px solid var(--color-border);border-radius:28px;padding:32px 24px 28px;display:flex;flex-direction:column;align-items:center;gap:18px;box-shadow:0 20px 52px #0000006b,0 1px #ffffff0a inset}.joke-card__emoji{font-size:2.6rem;line-height:1;animation:gentleBob 3.6s ease-in-out infinite;filter:drop-shadow(0 6px 14px rgba(0,0,0,.4))}.joke-card__setup{font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,5.6vw,1.85rem);line-height:1.55;color:var(--color-cream);text-align:center;max-width:44ch;margin:0}.joke-card__divider{width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent) 50%,transparent);margin:2px 0;transition:opacity .4s ease}.joke-card__divider--faded{opacity:.35}.joke-card__reveal-btn{min-height:48px;padding:12px 26px;border-radius:999px;background:linear-gradient(145deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);color:var(--color-bg);font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:.02em;border:none;cursor:pointer;box-shadow:0 10px 24px #d4a05647,0 0 0 1px #ffffff14 inset;transition:transform .14s ease,box-shadow .22s ease,filter .22s ease;-webkit-tap-highlight-color:transparent}.joke-card__reveal-btn:hover{filter:brightness(1.08);box-shadow:0 14px 32px #d4a05661,0 0 0 1px #ffffff1f inset}.joke-card__reveal-btn:active{transform:scale(.97)}.joke-card__reveal-btn:focus-visible{outline:2px solid var(--color-cream);outline-offset:3px}.joke-card__punchline{font-family:var(--font-display);font-weight:600;font-size:clamp(1.45rem,5.4vw,1.75rem);line-height:1.55;color:var(--color-accent);text-align:center;max-width:44ch;margin:0}.joke-card__punchline.is-fresh{animation:fadeSlideUp .56s cubic-bezier(.2,.8,.2,1) both}@media(max-width:359px){.joke-card{padding:26px 18px 22px;border-radius:24px;gap:14px}.joke-card__emoji{font-size:2.2rem}}@media(prefers-reduced-motion:reduce){.joke-card__emoji,.joke-card__punchline.is-fresh{animation:none}.joke-card__reveal-btn{transition:none}}.quote{display:flex;flex-direction:column;align-items:stretch;gap:22px;animation:fadeSlideUp .52s cubic-bezier(.2,.8,.2,1)}.quote__header{text-align:center}.quote__date{font-family:var(--font-body);font-weight:400;font-size:18px;letter-spacing:.04em;color:#f5e6d0cc;margin-bottom:6px}.quote__title{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,8vw,42px);color:var(--color-cream);letter-spacing:.02em;line-height:1.1}.quote__title:after{content:"";display:block;width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent) 50%,transparent);margin:12px auto 0}.quote-card{position:relative;padding:56px 30px 30px;border-radius:22px;background:linear-gradient(170deg,#3a2e24bf,#2a1e148c);border:1px solid var(--color-border);box-shadow:0 16px 36px #00000052,0 1px #ffffff0a inset;overflow:hidden}.quote-card:before,.quote-card:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:40%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,160,86,.35) 50%,transparent)}.quote-card:before{top:18px}.quote-card:after{bottom:18px}.quote-card__mark{position:absolute;top:10px;left:18px;font-family:var(--font-display);font-weight:700;font-size:5.5rem;line-height:1;color:var(--color-accent);opacity:.28;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 4px 14px rgba(212,160,86,.15)}.quote-card__text{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:clamp(1.5rem,5.6vw,1.85rem);line-height:1.55;color:var(--color-cream);text-align:center;margin:0 auto;max-width:38ch;position:relative;z-index:1}.quote-card__author{margin-top:24px;font-family:var(--font-body);font-size:1rem;font-weight:400;color:var(--color-cream-dim);text-align:right;letter-spacing:.02em}.quote-card__dash{color:var(--color-accent);font-weight:500;margin-right:2px}@media(max-width:359px){.quote-card{padding:48px 20px 22px;border-radius:18px}.quote-card__mark{font-size:4.2rem;left:12px;top:8px}.quote-card__text{line-height:1.5}.quote-card__author{margin-top:18px;font-size:.86rem}}@media(min-width:769px){.quote-card{padding:68px 48px 38px}.quote-card__mark{top:14px;left:28px;font-size:6.5rem}}@media(prefers-reduced-motion:reduce){.quote{animation:none}}.challenge{display:flex;flex-direction:column;align-items:stretch;gap:20px;animation:fadeSlideUp .42s ease-out}.challenge__header{text-align:center}.challenge__date{font-family:var(--font-body);font-weight:400;font-size:18px;letter-spacing:.04em;color:#f5e6d0cc;margin-bottom:6px}.challenge__title{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,8vw,42px);color:var(--color-cream);letter-spacing:.02em;line-height:1.1}.challenge__title:after{content:"";display:block;width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent) 50%,transparent);margin:12px auto 0}.challenge-card{position:relative;background:radial-gradient(140% 80% at 50% 0%,rgba(212,160,86,.08),transparent 60%),linear-gradient(160deg,var(--color-surface) 0%,var(--color-surface-light) 100%);border:1px solid var(--color-border);border-radius:28px;padding:34px 24px 28px;display:flex;flex-direction:column;align-items:center;gap:18px;box-shadow:0 20px 52px #0000006b,0 1px #ffffff0a inset;min-height:220px}.challenge-card__emoji{font-size:2.8rem;line-height:1;animation:gentleBob 3.6s ease-in-out infinite;filter:drop-shadow(0 6px 14px rgba(0,0,0,.4))}.challenge-card__prompt{font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,5.2vw,1.65rem);line-height:1.5;color:var(--color-cream-dim);text-align:center;max-width:30ch;margin:0}.challenge-card__reveal-btn{min-height:48px;padding:12px 26px;border-radius:999px;background:linear-gradient(145deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);color:var(--color-bg);font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:.02em;border:none;cursor:pointer;box-shadow:0 10px 24px #d4a05647,0 0 0 1px #ffffff14 inset;transition:transform .14s ease,box-shadow .22s ease,filter .22s ease;-webkit-tap-highlight-color:transparent}.challenge-card__reveal-btn:hover{filter:brightness(1.08);box-shadow:0 14px 32px #d4a05661,0 0 0 1px #ffffff1f inset}.challenge-card__reveal-btn:active{transform:scale(.97)}.challenge-card__reveal-btn:focus-visible{outline:2px solid var(--color-cream);outline-offset:3px}.challenge-card__text{font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,5.6vw,1.85rem);line-height:1.55;color:var(--color-cream);text-align:center;max-width:38ch;margin:0}.challenge-card__text.is-fresh{animation:fadeSlideUp .56s cubic-bezier(.2,.8,.2,1) both}.challenge-done-btn{align-self:center;min-height:48px;padding:12px 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--color-cream);border:1px solid rgba(212,160,86,.4);border-radius:999px;font-family:var(--font-body);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .12s ease;-webkit-tap-highlight-color:transparent}.challenge-done-btn:hover{background:var(--color-accent-glow);border-color:var(--color-accent)}.challenge-done-btn:active{transform:scale(.96)}.challenge-done-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.challenge-done-btn.is-done{background:var(--color-accent-glow);border-color:var(--color-accent);color:var(--color-accent);cursor:default}.challenge-done-btn.is-done:hover{background:var(--color-accent-glow);border-color:var(--color-accent)}.challenge-done-btn.is-done:active{transform:none}.challenge-done-btn[disabled]{opacity:1;pointer-events:none}@media(max-width:359px){.challenge-card{padding:26px 18px 22px;border-radius:24px;gap:14px;min-height:200px}.challenge-card__emoji{font-size:2.4rem}}@media(prefers-reduced-motion:reduce){.challenge-card__emoji,.challenge-card__text.is-fresh{animation:none}.challenge-card__reveal-btn,.challenge-done-btn{transition:none}}.song-tab{display:flex;flex-direction:column;align-items:stretch;gap:16px;animation:fadeSlideUp .42s ease-out;color:var(--color-cream)}.song-tab__header{text-align:center}.song-tab__date{font-family:var(--font-body);font-weight:400;font-size:18px;letter-spacing:.04em;color:#f5e6d0cc;margin-bottom:6px}.song-tab__title{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,8vw,42px);color:var(--color-cream);letter-spacing:.02em;line-height:1.1}.song-tab__title:after{content:"";display:block;width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent) 50%,transparent);margin:12px auto 0}.song-tab__embed{position:relative;width:100%;max-width:280px;margin:0 auto;border-radius:14px;overflow:hidden;box-shadow:0 8px 32px #0006;min-height:152px;background:linear-gradient(135deg,#281c16e6,#1c1410e6)}.song-tab__embed iframe{display:block;border:none;width:100%}.song-tab__spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#281c16f2,#1c1410f2);pointer-events:none}.song-tab__spinner--hidden{display:none}.song-tab__spinner-ring{width:32px;height:32px;border-radius:50%;border:3px solid rgba(212,160,86,.18);border-top-color:var(--color-accent);animation:song-spinner-spin .9s linear infinite}@keyframes song-spinner-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.song-tab__spinner-ring{animation:none;border-top-color:#d4a05699}}.song-tab__hint{text-align:center;font-size:14px;color:#f5e6d0d9;font-style:italic;margin:0}.song-tab__message{font-family:Cormorant Garamond,Cormorant Garamond Fallback,Georgia,serif;font-style:normal;font-weight:600;font-size:clamp(1.2rem,4.6vw,1.4rem);line-height:1.5;text-align:center;color:#f5e6d0;margin:0 24px;position:relative}.song-tab__message:after{content:"";display:block;width:24px;height:1px;background:#dba65066;margin:8px auto}.song-tab__actions{display:flex;flex-direction:column;gap:1px;align-items:center;margin:0}.song-tab__vote-row{display:flex;gap:10px;justify-content:center;align-items:center}.song-tab__vote-row .vote-buttons{margin:0}.song-tab__share-row{display:flex;justify-content:center}.song-tab__loading{text-align:center;color:#f5e6d099;padding:80px 0;font-style:italic}:root{--tabbar-height: calc(69px + var(--safe-bottom));--ad-slot-height: 76px;--bottom-overlay: calc(var(--tabbar-height) + var(--ad-slot-height))}.app{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(1200px 800px at 80% -10%,rgba(212,160,86,.08),transparent 60%),radial-gradient(900px 700px at -10% 110%,rgba(139,101,68,.18),transparent 65%),linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-warm) 100%);overflow:hidden}.bg-orbs{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.bg-orb{position:absolute;border-radius:50%;filter:blur(70px);will-change:transform}.bg-orb--1{width:340px;height:340px;top:-100px;left:-80px;background:radial-gradient(circle,rgba(212,160,86,.3) 0%,transparent 70%);animation:float 20s ease-in-out infinite}.bg-orb--2{width:440px;height:440px;bottom:5%;right:-140px;background:radial-gradient(circle,rgba(139,101,68,.35) 0%,transparent 70%);animation:floatSlow 28s ease-in-out infinite}.bg-orb--3{width:300px;height:300px;top:45%;left:35%;background:radial-gradient(circle,rgba(212,160,86,.12) 0%,transparent 70%);animation:float 24s ease-in-out infinite reverse}.app-main{position:relative;z-index:1;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:calc(var(--safe-top) + 28px) calc(var(--safe-right) + 20px) var(--bottom-overlay) calc(var(--safe-left) + 20px)}.app-inner{max-width:520px;margin:0 auto;width:100%}@media(max-width:359px){.app-main{padding-left:calc(var(--safe-left) + 14px);padding-right:calc(var(--safe-right) + 14px)}}@media(max-height:600px)and (orientation:landscape){.app-main{padding-top:calc(var(--safe-top) + 14px)}}@media(prefers-reduced-motion:reduce){.bg-orb{animation:none}}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-around;align-items:stretch;gap:2px;padding:6px 4px calc(6px + var(--safe-bottom)) 4px;background:#1c1410d1;backdrop-filter:saturate(140%) blur(16px);-webkit-backdrop-filter:saturate(140%) blur(16px);border-top:1px solid var(--color-border)}.tabbar__tab{flex:1 1 0;min-height:56px;min-width:44px;padding:8px 4px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;color:var(--color-cream-dim);font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:color .2s ease,transform .12s ease;-webkit-tap-highlight-color:transparent}.tabbar__tab:hover{color:var(--color-cream)}.tabbar__tab.is-active{color:var(--color-accent)}.tabbar__tab:active{transform:scale(.95)}.tabbar__icon{font-size:1.4rem;line-height:1;filter:grayscale(.15);transition:filter .2s ease,transform .2s ease}.tabbar__tab.is-active .tabbar__icon{filter:none;transform:translateY(-1px)}.tabbar__label{line-height:1;white-space:nowrap}.tabbar__dot{position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 8px #d4a056b3}.tabbar--just-revealed .tabbar__tab{opacity:0;transform:translateY(8px);animation:tabFadeIn .3s ease-out forwards;animation-delay:calc(var(--tab-index, 0) * 80ms)}@keyframes tabFadeIn{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.tabbar--just-revealed .tabbar__tab{animation:none;opacity:1;transform:none}}.toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translate(-50%,8px);z-index:30;max-width:calc(100vw - 32px);padding:12px 22px;background:var(--color-surface);color:var(--color-cream);border:1px solid var(--color-border);border-radius:999px;font-family:var(--font-body);font-size:.9rem;font-weight:500;box-shadow:0 10px 28px #00000073;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;white-space:nowrap}.toast.is-visible{opacity:1;transform:translate(-50%)}.share-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px}.share-btn{flex:1 1 140px;min-height:44px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--color-surface);color:var(--color-cream);border:1px solid var(--color-border);border-radius:999px;font-family:var(--font-body);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .12s ease;-webkit-tap-highlight-color:transparent}.share-btn:hover{background:var(--color-surface-light);border-color:#d4a05659}.share-btn:active{transform:scale(.97)}.share-image-btn{margin-top:24px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#dba650,#b8873a);border:none;color:#1c1410;padding:14px 28px;border-radius:999px;font-family:var(--font-body);font-size:20px;font-weight:600;cursor:pointer;letter-spacing:.02em;box-shadow:0 4px 16px #dba6504d;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,box-shadow .2s ease;align-self:center}.share-image-btn:hover{box-shadow:0 6px 22px #dba6506b}.share-image-btn:active{transform:scale(.97)}.share-image-btn:disabled{cursor:default;opacity:.75}@media(max-width:359px){.tabbar__tab{font-size:.66rem;padding:8px 2px 14px}.tabbar__icon{font-size:1.25rem}.share-btn{flex-basis:100%;padding:11px 18px}}@media(max-width:320px){.tabbar__tab{font-size:.6rem;letter-spacing:0}.tabbar__icon{font-size:1.15rem}}@media(prefers-reduced-motion:reduce){.toast,.tabbar__tab,.share-btn{transition:none}}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/Outfit-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/Outfit-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/Outfit-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond Fallback;src:local("Times New Roman"),local("Times"),local("Georgia");size-adjust:105%;ascent-override:90%;descent-override:25%;line-gap-override:0%}@font-face{font-family:Outfit Fallback;src:local("Arial"),local("Helvetica"),local("system-ui");size-adjust:100%;ascent-override:95%;descent-override:25%;line-gap-override:0%}:root{color-scheme:dark;--color-bg: #1c1410;--color-bg-warm: #2a1e14;--color-surface: #3a2e24;--color-surface-light: #4a3c30;--color-cream: #f5e6d0;--color-cream-dim: rgba(245, 230, 208, .8);--color-cream-faint: rgba(245, 230, 208, .7);--color-accent: #d4a056;--color-accent-dark: #b8863a;--color-accent-glow: rgba(212, 160, 86, .15);--color-brown: #8b6544;--color-border: rgba(212, 160, 86, .15);--font-display: "Cormorant Garamond", "Cormorant Garamond Fallback", Georgia, serif;--font-body: "Outfit", "Outfit Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{background:var(--color-bg);font-size:16px;-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-cream);font-family:var(--font-body);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;min-height:100vh;min-height:100dvh}#root{min-height:100vh;min-height:100dvh}button{font-family:inherit;color:inherit;background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}@keyframes cardSpin{0%{transform:rotateY(0) scale(1)}30%{transform:rotateY(90deg) scale(.92)}50%{transform:rotateY(180deg) scale(.88)}70%{transform:rotateY(270deg) scale(.92)}to{transform:rotateY(360deg) scale(1)}}@keyframes pulseGlow{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.5);opacity:0}}@keyframes gentleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(10px,-15px) scale(1.05)}66%{transform:translate(-8px,8px) scale(.97)}}@keyframes floatSlow{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-15px,12px) scale(1.03)}}.content-loading{text-align:center;color:var(--color-cream-dim);font-family:var(--font-display);font-weight:500;font-size:16px;padding:80px 20px}
