@import"https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&family=Playfair+Display:wght@400;600;700&display=swap";:root{--color-bg-primary: #0f0518;--color-bg-secondary: #1a0a2e;--color-bg-gradient-start: #1a0a2e;--color-bg-gradient-end: #0f0518;--color-purple-light: #c084fc;--color-purple-main: #9333ea;--color-purple-dark: #581c87;--color-purple-deep: #3b0764;--color-gold: #fbbf24;--color-gold-light: #fcd34d;--color-gold-dark: #d97706;--color-text-primary: #faf5ff;--color-text-secondary: #e9d5ff;--color-text-muted: #c084fc;--color-accent-glow: rgba(147, 51, 234, .5);--color-star: #ffffff;--font-display: "Playfair Display", "Noto Serif JP", serif;--font-body: "Noto Serif JP", serif;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--shadow-glow: 0 0 20px rgba(147, 51, 234, .5), 0 0 40px rgba(147, 51, 234, .3);--shadow-glow-gold: 0 0 20px rgba(251, 191, 36, .5), 0 0 40px rgba(251, 191, 36, .3);--shadow-card: 0 4px 20px rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:linear-gradient(180deg,var(--color-bg-gradient-start) 0%,var(--color-bg-gradient-end) 100%);color:var(--color-text-primary);min-height:100vh;min-height:100dvh;overflow-x:hidden;line-height:1.6}#root{min-height:100vh;min-height:100dvh;position:relative}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #9333ea66,0 0 40px #9333ea33}50%{box-shadow:0 0 30px #9333ea99,0 0 60px #9333ea66}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes card-shuffle{0%{transform:translate(0) rotate(0)}25%{transform:translate(-30px) rotate(-5deg)}50%{transform:translate(0) rotate(0)}75%{transform:translate(30px) rotate(5deg)}to{transform:translate(0) rotate(0)}}@keyframes flip-reveal{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}to{transform:rotateY(180deg)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes shooting-star{0%{transform:translate(0) translateY(0) rotate(-45deg);opacity:1}to{transform:translate(300px) translateY(300px) rotate(-45deg);opacity:0}}.glow-text{text-shadow:0 0 10px rgba(192,132,252,.5),0 0 20px rgba(192,132,252,.3)}.glow-gold-text{text-shadow:0 0 10px rgba(251,191,36,.5),0 0 20px rgba(251,191,36,.3)}.glass-effect{background:#581c8733;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(192,132,252,.2)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.touch-manipulation{touch-action:manipulation}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.card-3d{transform-style:preserve-3d;perspective:1000px}.card-flip{transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.card-flip.flipped{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-face-back{transform:rotateY(180deg)}.btn-primary{background:linear-gradient(135deg,var(--color-purple-main) 0%,var(--color-purple-dark) 100%);color:var(--color-text-primary);border:none;padding:16px 32px;border-radius:50px;font-family:var(--font-body);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-glow);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.btn-primary:active{transform:scale(.98)}.btn-gold{background:linear-gradient(135deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:var(--color-bg-primary);border:none;padding:16px 32px;border-radius:50px;font-family:var(--font-body);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-glow-gold)}.btn-gold:active{transform:scale(.98)}@media(max-width:375px){html{font-size:14px}}@media(min-width:768px){html{font-size:18px}}
