*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;background-color:#162c36}body{font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;color:#fff}.auth-guard{position:fixed;inset:0;background:#162c36;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-guard-container{width:100%;max-width:400px}.auth-guard-box{background:hsla(0,0%,100%,.1);border:2px solid hsla(0,0%,100%,.2);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-guard-title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:1.5rem;color:#fff}.auth-guard-form{display:flex;flex-direction:column;gap:1rem}.auth-guard-field{display:flex;flex-direction:column;gap:.5rem}.auth-guard-label{font-size:.9rem;color:#94a3b8;font-weight:500}.auth-guard-input{padding:.75rem 1rem;font-size:1rem;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:8px;color:#fff;font-family:inherit;transition:border-color .2s ease,background-color .2s ease}.auth-guard-input:focus{outline:none;border-color:#00bcd4;background:hsla(0,0%,100%,.15)}.auth-guard-input::placeholder{color:hsla(0,0%,100%,.5)}.auth-guard-error{color:#ef4444;font-size:.875rem;text-align:center;padding:.5rem;background:rgba(239,68,68,.1);border-radius:6px}.auth-guard-button{padding:.875rem 1.5rem;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#00bcd4,#00acc1);border:none;border-radius:8px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:.5rem}.auth-guard-button:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,188,212,.4)}.auth-guard-button:active{transform:translateY(0)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.top-page{min-height:100vh;background-color:#162c36}.top-section{width:100%;max-width:900px;margin:0 auto;padding:1.5rem 1rem}@media (min-width:768px){.top-section{padding:2rem 1.5rem}}.first-view-section{padding-top:0;padding-bottom:.5rem}.first-view-img{width:100%;height:auto;display:block;vertical-align:bottom}.title-section{text-align:center;padding-top:1rem;padding-bottom:1rem}.title-text{font-size:clamp(1.125rem,4vw,1.5rem);font-weight:700;line-height:1.5;letter-spacing:.02em}@media (min-width:768px){.title-text{font-size:1.5rem}}.youtube-section{padding-top:.5rem;padding-bottom:1rem}.youtube-wrapper{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;background:#0d1520}.youtube-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.start-section{text-align:center;padding-top:2rem;padding-bottom:1.5rem}.start-button-link{display:inline-block;transition:transform .2s ease,opacity .2s ease}.start-button-link:hover{transform:scale(1.03);opacity:.95}.start-button-link:active{transform:scale(.98)}.start-button-disabled{opacity:.35;pointer-events:none;cursor:default}.start-note{margin-top:.75rem;font-size:.75rem;color:hsla(0,0%,100%,.7);letter-spacing:.1em}.start-button-img{width:100%;max-width:480px;height:auto;display:block}@media (min-width:768px){.start-button-img{max-width:540px}}.video-hint-text{color:#fff;font-size:clamp(1rem,3vw,1.5rem);margin-top:-.3rem;text-align:center}.info-card{background:#fff;border-radius:6px;padding:2rem 2.5rem;color:#333;letter-spacing:.12em}@media (min-width:768px){.info-card{padding:2.5rem 3.5rem}}.info-card-title{font-size:clamp(1.125rem,4vw,2rem);font-weight:700;text-align:center;color:#333;margin:0 auto .5rem;padding-bottom:.5rem;border-bottom:3px solid #00bcd4;width:-moz-fit-content;width:fit-content}.info-card-divider{border:none;border-top:1px solid #ddd;margin:1rem 0}.info-card-body{font-size:clamp(.8125rem,2.7vw,1.375rem);line-height:1.8;letter-spacing:.15em;color:#444}.info-card-body--center{text-align:center}.prize-description-card{padding:2rem 1rem;text-align:center}.prize-description-lead{line-height:1.8;color:#fff;margin-bottom:1.5rem;letter-spacing:.1em}.prize-description-lead,.prize-description-text{font-size:clamp(.8125rem,2.9vw,1.4375rem);font-weight:700}.prize-description-text{line-height:1.7;color:#5cebeb}.info-card-steps{margin:0;padding-left:1.75rem;line-height:1.9;font-size:clamp(.8125rem,2.7vw,1.375rem);letter-spacing:.15em;color:#444}.info-card-steps li{margin-bottom:.5rem}.info-card-steps li:last-child{margin-bottom:0}.info-card-steps li::marker{color:#48858d;font-weight:700}.prize-detail-list{margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.prize-detail-row{display:flex;align-items:baseline;gap:.75rem;font-size:clamp(.8125rem,2.7vw,1.375rem);line-height:1.7;letter-spacing:.15em}.prize-detail-rank{font-weight:700;color:#48858d;white-space:nowrap;flex-shrink:0;width:8em}.prize-detail-desc{margin:0;color:#333}.precautions-body{font-size:clamp(.75rem,2.5vw,1.25rem);line-height:1.8;letter-spacing:.15em;color:#444}.precautions-subtitle{font-size:clamp(.8125rem,2.7vw,1.3125rem);font-weight:700;color:#48858d;margin:1.5rem 0 .75rem}.precautions-subtitle:first-child{margin-top:0}.precautions-list{margin:0;padding-left:1.25rem;list-style:disc;color:#48858d}.precautions-list li{color:#444}.precautions-list li::marker{color:#48858d}.precautions-list li{margin-bottom:.5rem}.precautions-list li:last-child{margin-bottom:0}.top-footer{width:100%;max-width:900px;margin:0 auto;padding:0;text-align:center}.footer-img{width:100%;height:auto;margin:0;display:block;vertical-align:bottom;opacity:.95}.footer-copyright{background:#1f1f1f;color:#fff;font-size:.5625rem;line-height:1.6;text-align:center;padding:1rem 1.5rem;letter-spacing:.03em;margin:0}.footer-copyright--dark{background:#1f1f1f;position:relative;z-index:10;flex-shrink:0}.game-page{position:fixed;inset:0}.game-page,.game-view{overflow:hidden;touch-action:none}.game-view{position:relative;height:100%;display:flex;flex-direction:column;max-width:430px;margin:0 auto;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;contain:layout style paint}@media (min-width:768px){.game-view{max-width:480px}}.game-bg{position:absolute;inset:0;z-index:0}.game-bg-img{width:100%;height:100%;object-fit:cover;object-position:center top}.game-time{position:absolute;top:1.5dvh;right:3vw;z-index:10;background:rgba(0,0,0,.12);border:2px solid #00bcd4;padding:.4rem .75rem;display:flex;flex-direction:row;align-items:center;gap:.5rem}.game-time-label{font-size:clamp(.7rem,2.2vw,.9rem);color:#2dd4bf;white-space:nowrap}.game-time-value{font-size:clamp(1rem,3.5vw,1.45rem);font-weight:700;color:#fff;letter-spacing:.08em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;min-width:9ch}.game-chara-wrap{position:absolute;left:50%;top:38dvh;transform:translate(-50%,-50%);z-index:2;width:clamp(180px,50vw,280px);height:auto;pointer-events:none}.game-chara{width:100%;height:auto;object-fit:contain;object-position:center bottom}.game-bubble{position:absolute;z-index:5;animation:game-bubble-in .25s ease-out;pointer-events:none}.game-bubble img{width:clamp(50px,14vw,100px);height:clamp(50px,14vw,100px)}.game-bubble-ah{left:16%;top:20dvh}.game-bubble-gu{right:24%;top:40dvh}.game-bubble-ex{right:28%;top:20dvh}@keyframes game-bubble-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.game-effect{position:absolute;z-index:4;transform:translate(-50%,-50%);pointer-events:none;background:transparent!important;isolation:isolate;will-change:left,top;contain:layout style}.game-effect img,.game-effect-img{display:block;width:clamp(80px,22vw,160px);height:clamp(80px,22vw,160px);background:transparent!important;vertical-align:top}@keyframes game-effect-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.game-target-mark{position:absolute;z-index:3;width:clamp(70px,20vw,130px);height:clamp(70px,20vw,130px);transform:translate(-50%,-50%);pointer-events:none;transition:left .15s ease-out,top .15s ease-out;will-change:left,top;contain:layout style}.game-target-mark img{width:100%;height:100%;object-fit:contain}.game-tap-mark{position:absolute;left:50%;bottom:16dvh;transform:translateX(-50%);z-index:15;width:clamp(110px,30vw,160px);height:clamp(110px,30vw,160px);padding:0;border:none;background:transparent;cursor:pointer;display:block;will-change:transform;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (min-width:768px){.game-tap-mark{bottom:22dvh}}.game-tap-mark img{width:100%;height:100%;object-fit:contain;display:block}.game-tap-mark:active:not(:disabled){transform:translateX(-50%) scale(.92)}.game-tap-mark:disabled{opacity:.7;cursor:not-allowed}.game-point-bar{position:relative;width:100%;height:48px;z-index:8;display:flex;align-items:center;justify-content:center;padding:0 1rem;gap:.75rem;margin-top:auto;flex-shrink:0;background:linear-gradient(90deg,#00d4ff,#00bcd4 40%,#0097a7);border:4px solid rgba(0,0,0,.25);box-sizing:border-box}.game-point-label{background:#000;color:#80ffff;font-size:.65rem;font-weight:600;padding:.4rem .7rem;border-radius:6px;flex-shrink:0}.game-point-value{font-size:clamp(1.4rem,5vw,1.95rem);font-weight:800;color:#212121;min-width:5ch;letter-spacing:.02em;text-align:center}.game-back-link{display:inline-block;margin:1rem;color:#94a3b8;font-size:.9rem}.game-back-link:hover{color:#fff}.game-countdown-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none}.game-countdown-number{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-size:clamp(6rem,30vw,12rem);line-height:1;text-shadow:0 0 20px hsla(0,0%,100%,.5);animation:game-countdown-pulse .5s ease-out}.game-countdown-number,.game-loading-text{font-weight:700;color:#fff;text-align:center}.game-loading-text{font-size:clamp(1.5rem,6vw,2.5rem);animation:game-loading-blink 1s ease-in-out infinite}@keyframes game-loading-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes game-countdown-pulse{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.game-finish-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:auto}.game-result-button{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;color:#fff;background:linear-gradient(135deg,#00bcd4,#00acc1);border:none;border-radius:12px;padding:1.5rem 3rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 20px rgba(0,188,212,.4);text-align:center;white-space:nowrap}.game-result-button:hover{transform:scale(1.05);box-shadow:0 6px 30px rgba(0,188,212,.6)}.game-result-button:active{transform:scale(.98)}.result-page{overflow-x:hidden}.result-page,.result-view{position:relative;height:100vh;height:100dvh}.result-view{display:flex;flex-direction:column;max-width:430px;margin:0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.1);overflow-y:auto}@media (min-width:768px){.result-view{max-width:480px;height:100vh}}.result-bg{position:absolute;inset:0;z-index:0}.result-bg-img{object-fit:cover;object-position:center}.result-high-score{position:absolute;top:clamp(.5rem,2vw,1rem);right:clamp(.5rem,2vw,1rem);z-index:10;background:rgba(0,0,0,.12);border:2px solid #00bcd4;padding:.4rem .75rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:6rem}.result-high-score-label{font-size:.7rem;color:#fff;white-space:nowrap}.result-high-score-value{font-size:1rem;font-weight:700;color:#00cde8;letter-spacing:.05em}.result-content{position:relative;z-index:5;flex-direction:column;align-items:center;flex:1 1;padding:2rem 1rem;gap:1.5rem}.result-content,.result-point-label,.result-title{display:flex;justify-content:center}.result-score-value{font-family:Noto Sans Bengali UI,Noto Sans,sans-serif;font-size:clamp(3rem,15vw,5rem);font-weight:700;color:#00cde8;text-align:center;line-height:1;letter-spacing:.02em}.result-ranking-info{text-align:center;font-size:clamp(.875rem,3vw,1.125rem);font-weight:600;color:#fff;line-height:1.8;background:rgba(0,0,0,.3);padding:.5rem 1.5rem;border-radius:8px;border:1px solid rgba(0,205,232,.4)}.result-actions{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 1rem 2rem}.result-button{display:block;transition:transform .1s ease,opacity .2s ease;background:none;border:none;padding:0;cursor:pointer}.result-button:disabled{opacity:.5;cursor:not-allowed}.result-button:hover{transform:scale(1.02);opacity:.95}.result-button:active{transform:scale(.98)}.result-button img{width:100%;max-width:320px;height:auto;display:block}.result-ranking-note{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-size:.75rem;font-weight:500;color:#fff;text-align:center;margin-top:-.5rem;margin-bottom:.5rem}.result-footer{position:relative;width:100%;z-index:3;margin-top:auto;display:flex;justify-content:center;align-items:flex-end;flex-shrink:0}.result-footer-img{width:100%;max-width:430px;height:auto;display:block;vertical-align:bottom;margin:0}@media (min-width:768px){.result-footer-img{max-width:480px}}.ranking-page{overflow-x:hidden;overflow-y:auto;background-color:#162c36}.ranking-page,.ranking-view{position:relative;min-height:100vh;min-height:100dvh}.ranking-view{display:flex;flex-direction:column;max-width:430px;margin:0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.1)}@media (min-width:768px){.ranking-view{max-width:480px}}.ranking-bg{position:absolute;inset:0;z-index:0}.ranking-bg-img{object-fit:cover;object-position:center}.ranking-body{position:relative;z-index:5;flex-shrink:0;padding:2rem 1rem 1rem}.ranking-title{font-size:clamp(1.25rem,5vw,1.75rem);font-weight:700;text-align:center;color:#fff;letter-spacing:.15em;margin-bottom:.75rem}.ranking-title-line{border:none;border-top:1px solid hsla(0,0%,100%,.35);margin:0 0 .5rem}.ranking-loading{text-align:center;color:hsla(0,0%,100%,.7);font-size:1rem;padding:3rem 0}.ranking-list{list-style:none;padding:0;margin:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.ranking-row{display:flex;align-items:center;padding:.7rem .75rem;gap:.5rem;background:rgba(60,60,60,.45);border-radius:6px;margin-bottom:.4rem}.ranking-rank{font-size:clamp(.8rem,3vw,1rem);font-weight:700;color:#fff;min-width:2.5em;flex-shrink:0}.ranking-name{font-size:clamp(.75rem,2.8vw,.95rem);font-weight:700;color:#fff;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-score{font-family:Noto Sans Bengali UI,Noto Sans,DejaVu Sans,sans-serif;font-size:clamp(1rem,4vw,1.4rem);font-weight:700;color:#00cde8;flex-shrink:0;letter-spacing:.02em;min-width:4ch;text-align:right}.ranking-empty{flex:1 1;text-align:center;color:hsla(0,0%,100%,.3);font-size:clamp(.8rem,3vw,1rem);font-weight:700;letter-spacing:.2em}.ranking-actions{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem 1rem}.ranking-button{display:block;transition:transform .1s ease,opacity .2s ease}.ranking-button:hover{transform:scale(1.02);opacity:.95}.ranking-button:active{transform:scale(.98)}.ranking-button img{width:100%;max-width:320px;height:auto;display:block}.ranking-footer{position:relative;width:100%;z-index:3;margin-top:auto;display:flex;justify-content:center;align-items:flex-end;flex-shrink:0}.ranking-footer-img{width:100%;max-width:430px;height:auto;display:block;vertical-align:bottom;margin:0}@media (min-width:768px){.ranking-footer-img{max-width:480px}}