body{font-family:DotGothic16,sans-serif;background-color:#1a1a1a;overflow:hidden}#game-container{position:relative;width:100vw;height:100vh;transition:background-color 1s ease-in-out}#game-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.bg-cave{background:linear-gradient(to bottom,#2c2c2c,#1a1a1a 70%)}.bg-sky{background:linear-gradient(to bottom,#87ceeb,#add8e6 70%)}.bg-space{background:linear-gradient(to bottom,#003,#191970 70%)}.bg-space:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(1px 1px at 20% 20%,white,transparent),radial-gradient(1px 1px at 80% 10%,white,transparent),radial-gradient(2px 2px at 50% 50%,white,transparent),radial-gradient(1px 1px at 10% 80%,white,transparent),radial-gradient(1px 1px at 90% 70%,white,transparent)}.scenery-object{display:none;position:absolute;z-index:-1}.bg-sky .cloud,.bg-sky .town-silhouette,.bg-space .moon,.bg-space .planet{display:block}.cloud{background-color:#fff;border-radius:50%;opacity:.8}.cloud1{width:200px;height:60px;top:15%;animation:drift 60s linear infinite}.cloud2{width:300px;height:80px;top:25%;animation:drift 90s linear infinite reverse}.cloud3{width:150px;height:50px;top:35%;animation:drift 75s linear infinite}.town-silhouette{bottom:20%;left:0;width:200%;height:150px;background-image:linear-gradient(transparent 50%,#0006 50%);animation:scroll-bg 40s linear infinite}.moon{width:150px;height:150px;top:15%;right:15%;background-color:#f5f3ce;border-radius:50%;box-shadow:0 0 30px #f5f3ce}.planet{width:80px;height:80px;top:60%;left:10%;background:radial-gradient(circle at 20% 20%,#fc9,#c27e4d);border-radius:50%;animation:drift 120s linear infinite}.celebration-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle,#ffd700e6,#ffa50099 30%,#fff0 70%);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;opacity:0;transform:scale(0);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.celebration-overlay.active{opacity:1;transform:scale(1)}.celebration-text{font-size:8rem;font-weight:700;color:#fff;text-shadow:4px 4px 8px rgba(0,0,0,.8);animation:celebration-bounce .6s cubic-bezier(.68,-.55,.265,1.55);margin-bottom:2rem}@keyframes celebration-bounce{0%{transform:scale(0) rotate(-180deg)}50%{transform:scale(1.2) rotate(-90deg)}to{transform:scale(1) rotate(0)}}.celebration-particles{position:absolute;width:100%;height:100%;pointer-events:none}.particle{position:absolute;width:10px;height:10px;background:gold;border-radius:50%;animation:particle-fall 2s linear infinite}@keyframes particle-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.confetti{position:absolute;width:15px;height:15px;animation:confetti-fall 3s linear infinite}.confetti:nth-child(odd){background:#ff6b6b}.confetti:nth-child(2n){background:#4ecdc4}.confetti:nth-child(3n){background:#45b7d1}.confetti:nth-child(4n){background:#96ceb4}.confetti:nth-child(5n){background:#ffeaa7}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.minecart-track{position:absolute;bottom:15%;left:0;width:100%;height:20px;transition:all 1s ease-in-out;transform-origin:left center;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.rail-segment{position:absolute;width:8%;height:20px;border-top:4px solid;border-bottom:4px solid;transform-origin:center}.rail-segment:after{content:"";position:absolute;top:50%;left:0;transform:translateY(-50%);width:100%;height:4px;background-size:10px 4px}.track-cave{background:linear-gradient(90deg,#6b4f3a,#4a3728)}.track-cave .rail-segment{border-color:#3a2d20;background:linear-gradient(90deg,#6b4f3a,#4a3728)}.track-cave .rail-segment:after{background-image:repeating-linear-gradient(90deg,#3a2d20,#3a2d20 5px,transparent 5px,transparent 10px)}.track-sky{background:linear-gradient(90deg,#f0f8ff,#e6e6fa)}.track-sky .rail-segment{border-color:#d3d3d3;background:linear-gradient(90deg,#f0f8ff,#e6e6fa)}.track-sky .rail-segment:after{background-image:repeating-linear-gradient(90deg,#d3d3d3,#d3d3d3 5px,transparent 5px,transparent 10px)}.track-space{background:linear-gradient(90deg,#483d8b,#2f2f4f)}.track-space .rail-segment{border-color:silver;background:linear-gradient(90deg,#483d8b,#2f2f4f)}.track-space .rail-segment:after{background-image:repeating-linear-gradient(90deg,#ffff00,#ffff00 3px,transparent 3px,transparent 8px)}.minecart{position:absolute;bottom:17%;left:20%;width:120px;height:100px;transition:none;transform-origin:center bottom;z-index:10;filter:drop-shadow(0 5px 10px rgba(0,0,0,.5))}.minecart-body{width:100%;height:70px;background-color:#8b4f38;border:5px solid #5a2d0c;border-radius:10px 10px 0 0;position:relative}.minecart-body:before{content:"探検";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffdead;font-size:24px}.wheel{position:absolute;bottom:-20px;width:40px;height:40px;background-color:#595959;border:5px solid #333;border-radius:50%;animation:wheel-spin .2s linear infinite}.wheel-left{left:10px}.wheel-right{right:10px}@keyframes wheel-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.torch{display:none}.bg-cave .torch{display:block}.flame{width:30px;height:40px;background:#ffac33;border-radius:50%/60% 60% 40% 40%;animation:flicker 1s infinite;transform-origin:bottom}.stick{width:10px;height:40px;background:#6b4f3a;margin:0 auto}.quiz-container{position:absolute;top:5%;left:50%;transform:translate(-50%);width:80vw;max-width:1000px;min-width:300px;transition:opacity .5s;z-index:10;background-color:#000000d9;padding:2.5rem;border-radius:1.5rem}.answer-button:hover{transform:scale(1.1);box-shadow:0 0 20px gold}.timer{font-size:5rem;font-weight:700;color:#fcd34d;text-shadow:2px 2px 4px #000;margin-bottom:1rem}.timer.urgent{animation:pulse 1s infinite}#explosion-overlay,#transition-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff;opacity:0;pointer-events:none;z-index:50;transform:scale(0)}.screen{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:20;background-color:#000000b3;padding:4rem;border-radius:1.5rem;width:90vw;max-width:1200px;min-width:300px}.category-button{background-color:#4a5568;color:#fff;font-weight:700;padding:2rem 2.5rem;margin:1rem;border-radius:1.2rem;transition:all .2s;font-size:1.8rem;min-height:5rem}.category-button:hover{background-color:#2d3748;transform:scale(1.05)}#custom-category-button{background-color:#fbbf24;color:#1f2937}#custom-category-button:hover{background-color:#f59e0b}.difficulty-button{background-color:#4a5568;color:#fff;font-weight:700;padding:2.5rem 3rem;margin:1.2rem;border-radius:1.2rem;transition:all .2s;font-size:2.2rem;min-height:6rem}.difficulty-button:hover{background-color:#2d3748;transform:scale(1.05)}@keyframes scrollTrack{0%{background-position:0 0}to{background-position:-80px 0}}@keyframes flicker{0%,to{transform:scaleY(1) rotate(-2deg);background:#ffac33}50%{transform:scaleY(1.1) rotate(2deg);background:khaki}}@keyframes drift{0%{transform:translate(-150%)}to{transform:translate(150vw)}}@keyframes scroll-bg{0%{background-position:0 0}to{background-position:-100% 0}}.track-anim-cave .rail-segment:nth-child(1){animation:rail-cave-1 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(2){animation:rail-cave-2 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(3){animation:rail-cave-3 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(4){animation:rail-cave-4 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(5){animation:rail-cave-5 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(6){animation:rail-cave-6 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(7){animation:rail-cave-7 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(8){animation:rail-cave-8 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(9){animation:rail-cave-9 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(10){animation:rail-cave-10 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(11){animation:rail-cave-11 4s ease-in-out infinite}.track-anim-cave .rail-segment:nth-child(12){animation:rail-cave-12 4s ease-in-out infinite}.cart-anim-cave{animation:cart-follow-cave 4s ease-in-out infinite}@keyframes rail-cave-1{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-30px) rotate(-8deg)}50%{transform:translateY(-50px) rotate(-15deg)}75%{transform:translateY(-30px) rotate(-8deg)}}@keyframes rail-cave-2{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-45px) rotate(-12deg)}50%{transform:translateY(-70px) rotate(-20deg)}75%{transform:translateY(-45px) rotate(-12deg)}}@keyframes rail-cave-3{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-50px) rotate(-15deg)}50%{transform:translateY(-80px) rotate(-25deg)}75%{transform:translateY(-50px) rotate(-15deg)}}@keyframes rail-cave-4{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-45px) rotate(-12deg)}50%{transform:translateY(-70px) rotate(-20deg)}75%{transform:translateY(-45px) rotate(-12deg)}}@keyframes rail-cave-5{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-30px) rotate(-8deg)}50%{transform:translateY(-50px) rotate(-15deg)}75%{transform:translateY(-30px) rotate(-8deg)}}@keyframes rail-cave-6{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(30px) rotate(8deg)}50%{transform:translateY(50px) rotate(15deg)}75%{transform:translateY(30px) rotate(8deg)}}@keyframes rail-cave-7{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(45px) rotate(12deg)}50%{transform:translateY(70px) rotate(20deg)}75%{transform:translateY(45px) rotate(12deg)}}@keyframes rail-cave-8{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(50px) rotate(15deg)}50%{transform:translateY(80px) rotate(25deg)}75%{transform:translateY(50px) rotate(15deg)}}@keyframes rail-cave-9{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(45px) rotate(12deg)}50%{transform:translateY(70px) rotate(20deg)}75%{transform:translateY(45px) rotate(12deg)}}@keyframes rail-cave-10{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(30px) rotate(8deg)}50%{transform:translateY(50px) rotate(15deg)}75%{transform:translateY(30px) rotate(8deg)}}@keyframes rail-cave-11{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(-5deg)}50%{transform:translateY(-25px) rotate(-8deg)}75%{transform:translateY(-15px) rotate(-5deg)}}@keyframes rail-cave-12{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(-2deg)}50%{transform:translateY(-10px) rotate(-3deg)}75%{transform:translateY(-5px) rotate(-2deg)}}@keyframes cart-follow-cave{0%{transform:translateY(-25px) rotate(-3deg)}12%{transform:translateY(-55px) rotate(-18deg)}25%{transform:translateY(-75px) rotate(-28deg)}37%{transform:translateY(-55px) rotate(-18deg)}50%{transform:translateY(25px) rotate(18deg)}62%{transform:translateY(55px) rotate(28deg)}75%{transform:translateY(25px) rotate(18deg)}87%{transform:translateY(-15px) rotate(-8deg)}to{transform:translateY(-25px) rotate(-3deg)}}.track-anim-sky .rail-segment{animation:rail-sky-wave 6s ease-in-out infinite}.cart-anim-sky{animation:cart-follow-sky 6s ease-in-out infinite}@keyframes rail-sky-wave{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-40px) rotate(-10deg)}50%{transform:translateY(-60px) rotate(-15deg)}75%{transform:translateY(-40px) rotate(-10deg)}to{transform:translateY(0) rotate(0)}}@keyframes cart-follow-sky{0%{transform:translateY(-35px) rotate(2deg)}25%{transform:translateY(-75px) rotate(-8deg)}50%{transform:translateY(-95px) rotate(-13deg)}75%{transform:translateY(-75px) rotate(-8deg)}to{transform:translateY(-35px) rotate(2deg)}}.track-anim-space .rail-segment{animation:rail-space-spiral 8s ease-in-out infinite}.cart-anim-space{animation:cart-follow-space 8s ease-in-out infinite}@keyframes rail-space-spiral{0%{transform:translateY(0) rotate(0)}12%{transform:translateY(-30px) rotate(-15deg)}25%{transform:translateY(-50px) rotate(-30deg)}37%{transform:translateY(-30px) rotate(-45deg)}50%{transform:translateY(30px) rotate(-60deg)}62%{transform:translateY(50px) rotate(-75deg)}75%{transform:translateY(30px) rotate(-90deg)}87%{transform:translateY(-15px) rotate(-105deg)}to{transform:translateY(0) rotate(-120deg)}}@keyframes cart-follow-space{0%{transform:translateY(-35px) rotate(5deg)}12%{transform:translateY(-65px) rotate(-10deg)}25%{transform:translateY(-85px) rotate(-25deg)}37%{transform:translateY(-65px) rotate(-40deg)}50%{transform:translateY(-5px) rotate(-55deg)}62%{transform:translateY(15px) rotate(-70deg)}75%{transform:translateY(-5px) rotate(-85deg)}87%{transform:translateY(-50px) rotate(-100deg)}to{transform:translateY(-35px) rotate(-115deg)}}@keyframes massive-explosion{0%{opacity:1;transform:scale(0);background-color:#fff}10%{transform:scale(2.5);background-color:#fbbf24}30%{background-color:#f97316}50%{background-color:#7f1d1d}90%{background-color:#1e293b;opacity:1}to{background-color:#1e293b;opacity:0;transform:scale(2.5)}}@keyframes pulse{0%,to{transform:scale(1);color:#ef4444}50%{transform:scale(1.2);color:#f87171}}@keyframes transition-flash{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(2.5);background-color:#fff}to{opacity:0;transform:scale(2.5)}}.exploded{animation:massive-explosion 5s forwards}.transitioning{animation:transition-flash 1s forwards}.hide{display:none!important}@media (max-width: 768px){.screen{width:95vw;max-width:none;padding:1.5rem;margin:0;box-sizing:border-box}.screen h1{font-size:2.5rem!important;line-height:1.2;margin-bottom:1rem}.screen h2{font-size:1.8rem!important;line-height:1.3;margin-bottom:1.5rem}.category-button{font-size:1.1rem!important;padding:1rem .5rem!important;margin:.3rem!important;min-height:3.5rem!important;width:100%;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:.5rem!important}.difficulty-button{font-size:1.2rem!important;padding:1.2rem .8rem!important;margin:.5rem 0!important;width:100%;min-height:4rem!important;border-radius:.5rem!important}#start-button{font-size:1.5rem!important;padding:1rem 2rem!important;width:100%;max-width:300px}.quiz-container{width:95%!important;top:3%!important;padding:1rem!important;box-sizing:border-box}.timer{font-size:2.5rem!important;margin-bottom:1rem}.answer-button{font-size:1.3rem!important;width:100%!important;height:4rem!important;margin:.5rem 0!important;border-radius:.5rem!important}#question{font-size:1.5rem!important;min-height:80px!important;margin-bottom:1.5rem!important;line-height:1.4}#progress{font-size:1.2rem!important;margin-bottom:.5rem!important}.flex.justify-center.gap-12{flex-direction:column!important;gap:1rem!important;align-items:center;max-width:300px;margin:0 auto}.celebration-text{font-size:5rem!important;line-height:1.1}#custom-category-input{font-size:1.2rem!important;padding:1.2rem!important;width:100%;box-sizing:border-box}#confirm-custom-category,#cancel-custom-category{font-size:1.1rem;padding:1rem 2rem;margin:.5rem;flex:1}.grid-cols-2{grid-template-columns:1fr 1fr!important;gap:1rem!important}.grid-cols-1{grid-template-columns:1fr!important}.minecart{width:80px;height:70px;left:15%}.minecart-body:before{font-size:16px}.wheel{width:25px;height:25px;bottom:-15px}.wheel-left{left:8px}.wheel-right{right:8px}.back-button{font-size:1.2rem!important;padding:1rem 2rem!important;width:100%;max-width:300px;margin-top:2rem!important;box-sizing:border-box}#loading-screen h2{font-size:2rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#loading-screen p{font-size:1.3rem!important}}@media (max-width: 320px){.category-button{font-size:.9rem;padding:.8rem .3rem;min-height:3rem;border-radius:.5rem!important}.screen h1{font-size:2rem!important}.screen h2{font-size:1.5rem!important}.celebration-text{font-size:3rem!important}.back-button{font-size:.9rem!important;padding:.7rem 1rem!important}#loading-screen h2{font-size:1.6rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#loading-screen p{font-size:1.1rem!important}.quiz-container{width:98%!important;padding:1rem!important}.timer{font-size:2rem!important}.answer-button{font-size:1.1rem!important;width:100%!important;height:3.5rem!important;border-radius:.5rem!important}#question{font-size:1.3rem!important;min-height:70px!important;line-height:1.3}#progress{font-size:1rem!important}}
