.sx-root{--sx-teal:#0891b2;--sx-aqua:#2bbfb0;--sx-deep:#0d5c73;--sx-deep2:#1a6e8a;--sx-coral:#ec4899;--sx-coral-soft:#f9a8d4;--sx-cream:#fffdf9;--sx-foam:#f0fdff;--sx-ink:#0f3a47;--sx-muted:#5b7c86;--sx-font-display:var(--sx-fredoka,"Fredoka"), "Noto Sans TC", system-ui, sans-serif;--sx-font-body:var(--sx-nunito,"Nunito"), "Noto Sans TC", system-ui, sans-serif;min-height:100dvh;font-family:var(--sx-font-body);color:var(--sx-ink);background:radial-gradient(120% 80% at 50% -10%,#134e5e 0%,#0000 60%),linear-gradient(#0d3d52 0%,#1a6e8a 26%,#2bbfb0 60%,#1a9e91 80%,#0d5c73 100%);position:relative;overflow-x:hidden}.sx-blob{filter:blur(48px);opacity:.5;pointer-events:none;z-index:0;border-radius:50%;position:absolute}.sx-blob-1{background:#38e0c8;width:280px;height:280px;animation:18s ease-in-out infinite sx-drift;top:-40px;left:-60px}.sx-blob-2{opacity:.35;background:#f472b6;width:240px;height:240px;animation:22s ease-in-out infinite reverse sx-drift;bottom:6%;right:-50px}.sx-blob-3{opacity:.3;background:#67e8f9;width:200px;height:200px;animation:26s ease-in-out infinite sx-drift;top:40%;left:55%}@keyframes sx-drift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(24px,-28px)scale(1.08)}}.sx-bubbles{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sx-bubble{background:radial-gradient(circle at 30% 30%,#ffffffe6,#ffffff26 60%,#0000 70%);border-radius:50%;animation:linear infinite sx-rise;position:absolute;bottom:-40px;box-shadow:inset 0 0 6px #fff9}@keyframes sx-rise{0%{opacity:0;transform:translateY(0)translate(0)scale(.6)}10%{opacity:.8}90%{opacity:.5}to{opacity:0;transform:translateY(-112dvh)translate(20px)scale(1)}}.sx-shimmer{z-index:0;pointer-events:none;background:radial-gradient(at 28% 12%,#ffffff1a 0%,#0000 55%),radial-gradient(at 72% 88%,#2bbfb029 0%,#0000 55%);position:absolute;inset:0}@keyframes sx-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.sx-enter{opacity:0;animation:.6s cubic-bezier(.4,0,.2,1) forwards sx-fade-up}@keyframes sx-bob{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-7px)rotate(1.5deg)}}.sx-bob{animation:4.5s ease-in-out infinite sx-bob}@keyframes sx-sheet-up{0%{opacity:0;transform:translateY(40px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.sx-sheet{animation:.42s cubic-bezier(.16,1,.3,1) forwards sx-sheet-up}@keyframes sx-backdrop-in{0%{opacity:0}to{opacity:1}}.sx-backdrop{animation:.25s forwards sx-backdrop-in}@keyframes sx-swim{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-3px)rotate(3deg)}}.sx-swim{animation:1.6s ease-in-out infinite sx-swim}@keyframes sx-pop{0%{opacity:0;transform:translateY(0)scale(0)}30%{opacity:1}to{opacity:0;transform:translateY(-160px)scale(1)}}.sx-confetti{border-radius:2px;animation:1.8s ease-out infinite sx-pop;position:absolute}.sx-tap{transition:transform .12s,box-shadow .2s,border-color .2s,background .2s}.sx-tap:active{transform:scale(.97)}.sx-card-pop{animation:.5s cubic-bezier(.4,0,.2,1) forwards sx-fade-up}@media (prefers-reduced-motion:reduce){.sx-bubble,.sx-blob,.sx-bob,.sx-swim,.sx-confetti{animation:none!important}.sx-enter,.sx-sheet,.sx-backdrop{animation-duration:.01ms!important}}
