@layer base{*{margin:0;padding:0;box-sizing:border-box}}body,html{background:linear-gradient(135deg,#0a1628,#1a365d 25%,#2563eb 50%,#3b82f6 75%,#60a5fa);min-height:100vh}body{font-family:inherit;margin:0;padding:0;color:#fff}body:has(.civicflow-root):before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 30%,rgba(59,130,246,.3) 0,transparent 40%),radial-gradient(circle at 80% 70%,rgba(96,165,250,.2) 0,transparent 40%);pointer-events:none;z-index:0}.scrollable-page{overflow-y:auto;position:relative}a{color:#00d4ff;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);z-index:1000;justify-content:center;align-items:center}.modal.active{display:flex}.modal-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;padding:24px;max-width:400px;width:90%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;color:#00d4ff}.modal-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer}.login-option-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;border:none;border-radius:10px;cursor:pointer;font-size:14px;margin-bottom:10px;transition:transform .2s,box-shadow .2s}.login-option-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.3)}.login-option-btn.google{background:#fff;color:#333}.login-option-btn.twitter{background:#000;color:#fff}.login-option-btn.github{background:#24292e;color:#fff}.bg-pattern-game{background-color:#fff0f5;background-image:radial-gradient(#ffcae9 15%,transparent 16%),radial-gradient(#ffcae9 15%,transparent 16%);background-size:30px 30px;background-position:0 0,15px 15px;animation:bg-scroll 20s linear infinite}@keyframes bg-scroll{0%{background-position:0 0,15px 15px}to{background-position:30px 30px,45px 45px}}.text-stroke-white{-webkit-text-stroke:4px #fff;paint-order:stroke fill;text-shadow:2px 2px 0 rgba(0,0,0,.1)}.text-stroke-sm{-webkit-text-stroke:2px #fff;paint-order:stroke fill}.btn-game-primary{background:linear-gradient(180deg,#ff7eb3 0,#ff758c);box-shadow:0 6px 0 #c43c68,0 10px 10px rgba(0,0,0,.2);border:2px solid #fff;transition:all .1s}.btn-game-primary:active{transform:translateY(4px);box-shadow:0 2px 0 #c43c68,0 4px 4px rgba(0,0,0,.2)}@keyframes shake-machine{0%{transform:translate(0) rotate(0deg)}10%{transform:translate(-3px,-1px) rotate(-.5deg)}20%{transform:translate(2px,1px) rotate(.5deg)}30%{transform:translate(-4px,2px) rotate(-1deg)}40%{transform:translate(3px,-2px) rotate(1deg)}50%{transform:translate(-2px,1px) rotate(-.5deg)}60%{transform:translate(4px,-1px) rotate(.5deg)}70%{transform:translate(-3px,2px) rotate(-1deg)}80%{transform:translate(2px,-2px) rotate(1deg)}90%{transform:translate(-1px,1px) rotate(-.2deg)}to{transform:translate(0) rotate(0deg)}}.animate-shake{animation:shake-machine .2s infinite}@keyframes shake-x{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.animate-shake-x{animation:shake-x .1s ease-in-out infinite}@keyframes float-up{0%{transform:translateY(0) scale(.5);opacity:0}20%{transform:translateY(-20px) scale(1.5);opacity:1}80%{transform:translateY(-50px) scale(1);opacity:1}to{transform:translateY(-60px) scale(.8);opacity:0}}.animate-float-up{animation:float-up 1s ease-out forwards}@keyframes spin-knob{0%{transform:rotate(0deg)}20%{transform:rotate(90deg)}25%{transform:rotate(85deg)}45%{transform:rotate(180deg)}50%{transform:rotate(175deg)}70%{transform:rotate(270deg)}75%{transform:rotate(265deg)}95%{transform:rotate(1turn)}to{transform:rotate(1turn)}}.animate-spin-knob{animation:spin-knob 1s cubic-bezier(.45,.05,.55,.95) infinite}@keyframes slide-down-card{0%{transform:translateY(-120%);opacity:0}30%{opacity:1}to{transform:translateY(50%)}}.animate-slide-card{animation:slide-down-card .6s ease-out forwards}@keyframes get-text-anim{0%{transform:scale(3) rotate(-10deg);opacity:0}50%{transform:scale(1) rotate(0deg);opacity:1}70%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0deg)}}.animate-get-text{animation:get-text-anim .5s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .3s ease-out forwards}@keyframes bounce-sm{0%,to{transform:translateY(-3%)}50%{transform:translateY(0)}}.animate-bounce-sm{animation:bounce-sm 2s ease-in-out infinite}@keyframes subtle-bounce{0%{transform:scale(.9);opacity:0}50%{transform:scale(1.03);opacity:1}70%{transform:scale(.98)}to{transform:scale(1)}}.animate-subtle-bounce{animation:subtle-bounce .5s cubic-bezier(.2,.8,.2,1) forwards}.perspective-1000{perspective:1000px;-webkit-perspective:1000px}.transform-style-3d{transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.backface-hidden{backface-visibility:hidden;-webkit-backface-visibility:hidden}.rotate-y-180{transform:rotateY(180deg);-webkit-transform:rotateY(180deg)}.card-flip-container{transition:transform .6s;transform-style:preserve-3d}.sun-rays{background:repeating-conic-gradient(from 0deg,rgba(255,215,0,.2) 0deg 15deg,transparent 15deg 30deg);animation:spin-slow 20s linear infinite}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,105,180,.5);border-radius:3px}.shiny-effect:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to bottom right,hsla(0,0%,100%,0),hsla(0,0%,100%,0) 40%,hsla(0,0%,100%,.4) 50%,hsla(0,0%,100%,0) 60%,hsla(0,0%,100%,0));transform:rotate(45deg);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translateX(-100%) rotate(45deg)}to{transform:translateX(100%) rotate(45deg)}}.animate-shimmer{animation:shimmer 2s linear infinite}@keyframes confetti-pop{0%{transform:translate(0) scale(0);opacity:1}to{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) scale(1);opacity:0}}.animate-confetti-pop{animation:confetti-pop 1s cubic-bezier(0,.5,.5,1) forwards}@keyframes sparkle-twinkle{0%,to{transform:scale(0);opacity:0}50%{transform:scale(1);opacity:1}}.animate-sparkle-twinkle{animation:sparkle-twinkle .7s ease-in-out infinite}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slide-up .5s cubic-bezier(.16,1,.3,1) forwards}