:root{--base-fontsize: min(18px , 1.8vw);--message-bg: rgba(0,0,0, .7);--message-border: calc(3 / 18 * 1rem) solid currentColor;--message-radius: calc(6 / 18 * 1rem);--message-padding: calc(30 / 18 * 1rem)}html{font-size:var(--base-fontsize)}html,body{height:100%}body{background:#fefefb;position:relative;padding:0;margin:0;overflow-x:hidden}body:before,body:after{content:"";z-index:0;position:absolute;left:50%;width:10rem;height:100%;top:0;opacity:.4}body:before{left:50%;transform:translate(calc((500 + 200) / 18 * 1rem * -1));background:url(./bg_base01-CeoZg81a.png) repeat-y top center / contain}body:after{right:50%;transform:translate(calc((500 + 20) / 18 * 1rem));background:url(./bg_base02-C-c7puEK.png) repeat-y top center / contain}.game-wrapper{width:100%;max-width:calc(1040 / 18 * 1rem);margin:0 auto;font-family:Helvetica Neue,Arial,sans-serif;position:relative;z-index:1;padding:calc(20 / 18 * 1rem);box-sizing:border-box}.game-container{position:relative;width:100%;aspect-ratio:4 / 3;background-color:#00000080;overflow:hidden;border:calc(4 / 18 * 1rem) solid #5e3d3d;box-sizing:border-box;border-radius:calc(10 / 18 * 1rem)}.main-canvas{width:100%;height:auto;display:block;aspect-ratio:4 / 3}.ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end}.curtain-layer{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#8b0000;background-color:#fff;z-index:20;overflow:hidden;background:url(./bg_line-BjUrs6xm.png) no-repeat center center / cover}.start-screen{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;pointer-events:auto;display:flex;align-items:center;justify-content:center;transition-delay:.2s}.curtain-content{text-align:center;padding-bottom:calc(50 / 18 * 1rem)}.title{font-size:calc(28 / 18 * 1rem);margin:0 0 calc(10 / 18 * 1rem)}.start-btn{background:#c60000;color:#fff;border:none;padding:calc(15 / 18 * 1rem) calc(40 / 18 * 1rem);font-size:calc(24 / 18 * 1rem);font-weight:700;cursor:pointer;border-radius:calc(50 / 18 * 1rem);transition:background-color .3s ease,transform .3s ease}.start-btn.is-pulsing{animation:pulse-gold 2s infinite}@media(hover:hover){.start-btn:hover{background:#af0101;animation-play-state:paused}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.control-buttons{position:absolute;top:calc(10 / 18 * 1rem);right:calc(10 / 18 * 1rem);z-index:10;pointer-events:auto;display:flex;gap:calc(10 / 18 * 1rem)}.ctrl-btn{background:#fffc;border:calc(1 / 18 * 1rem) solid #333;padding:calc(5 / 18 * 1rem) calc(10 / 18 * 1rem);cursor:pointer;font-size:calc(12 / 18 * 1rem);border-radius:calc(4 / 18 * 1rem)}.ctrl-btn.retire{background:#ff6464e6;color:#fff}.message-box{margin:0 1rem 1rem;width:auto;box-sizing:border-box;pointer-events:auto;display:flex;flex-direction:column;position:relative}.message-content{flex-grow:1;position:relative;overflow-y:auto;background:var(--message-bg);padding:var(--message-padding);border:var(--message-border);border-radius:var(--message-radius);box-sizing:border-box;color:#fff}.typewriter-text{font-size:1rem;line-height:1.6;letter-spacing:.1em;font-feature-settings:"palt";font-weight:700;color:#fff;margin:0;white-space:pre-wrap}.next-text-btn{position:absolute;bottom:0;right:0;background:#333;color:#fff;border:none;padding:calc(5 / 18 * 1rem) calc(15 / 18 * 1rem);cursor:pointer;animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(calc(3 / 18 * 1rem))}}.options-container{flex-shrink:0;position:relative;pointer-events:none}.options-container.is-visible{transition:opacity .3s ease}.btn_wrap{display:flex;gap:calc(14 / 18 * 1rem);opacity:0;transition:opacity .3s ease}.options-container.is-visible{pointer-events:auto}.options-container.is-visible .btn_wrap{opacity:1}.options-container:has(button){margin-top:1rem}.option-button{background:none;border:none;background:var(--message-bg);box-shadow:none;color:#fff;font-size:1rem;font-weight:700;position:relative;border:var(--message-border);border-radius:var(--message-radius);padding:calc(10 / 18 * 1rem) calc(15 / 18 * 1rem) calc(10 / 18 * 1rem) calc(28 / 18 * 1rem);width:100%;text-align:left;line-height:1.45;letter-spacing:.1em;font-feature-settings:"palt";word-break:normal;word-break:auto-phrase;overflow-wrap:anywhere;opacity:0;transition:opacity .3s ease,transform .3s ease,text-shadow .3s ease,box-shadow .3s ease}.option-button:before{position:absolute;content:"";left:calc(10 / 18 * 1rem);top:50%;transform:translateY(-50%);background-color:currentColor;width:calc(8 / 18 * 1rem);height:calc(10 / 18 * 1rem);clip-path:polygon(0 0,0% 100%,100% 50%)}@media(hover:hover){.option-button:hover{cursor:pointer;transform:translateY(calc(4 / 18 * -1rem));text-shadow:0 0px calc(5 / 18 * 1rem) rgba(255,255,255,.5);box-shadow:0 calc(1 / 18 * 1rem) calc(6 / 18 * 1rem) #ffffffe6}}.option-button.is-selected{opacity:1!important;transform:translateY(calc(4 / 18 * -1rem))}.option-button.is-unselected{background-color:#000;opacity:.7!important;pointer-events:none;color:#aaa;transition-delay:0s!important}.options-container .option-button.is-in{opacity:1}.options-container.is-visible .option-button.is-in{transition-delay:.25s}.options-container.is-visible .option-button.is-in:nth-child(2){transition-delay:.5s}.options-container.is-visible .option-button.is-in:nth-child(3){transition-delay:.75s}.options-container .option-button.is-in.is-in-end,.options-container .option-button.is-in.is-in-end:nth-child(2),.options-container .option-button.is-in.is-in-end:nth-child(3){transition-delay:0s}.option-button:disabled{cursor:default;pointer-events:none}.analyzing-indicator{transition:opacity .3s ease;pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;box-sizing:border-box;border-radius:var(--message-radius);background:var(--message-bg);padding:0 var(--message-padding);display:flex;flex-direction:column;justify-content:center;gap:calc(10 / 18 * 1rem)}.blinking-text{color:#0f0;font-family:monospace}.blinking-text .bar{animation:blink 1s infinite;animation-timing-function:steps(1)}@keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.btn_wrap:not(:has(button))+.analyzing-indicator{display:none}.loading-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;font-family:sans-serif;letter-spacing:.2em}.loading-spinner{width:calc(40 / 18 * 1rem);height:calc(40 / 18 * 1rem);border:calc(4 / 18 * 1rem) solid #fff;border-top:calc(4 / 18 * 1rem) solid transparent;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:calc(20 / 18 * 1rem)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.anim-item{opacity:0;transform:translateY(calc(20 / 18 * 1rem));animation:fadeInUp .8s ease forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.3s}.delay-3{animation-delay:.6s}.delay-4{animation-delay:.9s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.start-visual{margin:0 0 calc(10 / 18 * 1rem)}.start-visual img{width:calc(600 / 18 * 1rem);height:auto}.start-text{color:#222;font-size:1rem;font-weight:700;margin-bottom:calc(40 / 18 * 1rem);line-height:1.5}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.stage-title-box{position:absolute;top:calc(58 / 18 * 1rem);left:50%;transform:translate(-150%);background-color:var(--message-bg);color:#fff;padding:calc(4 / 18 * 1rem) calc(20 / 18 * 1rem);border-radius:calc(3 / 18 * 1rem);font-size:1rem;font-feature-settings:"palt";font-weight:700;letter-spacing:.1em;white-space:nowrap;z-index:50;opacity:0;transform:translate(100%);transition:all .6s cubic-bezier(.25,1,.5,1)}.stage-title-box.is-active{opacity:1;transform:translate(-50%)}.ending-action-area{text-align:center;z-index:100}.official-site-btn{padding:.5rem 1.25rem;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(45deg,#c60000,#ff4500);border:calc(3 / 18 * 1rem) solid #fff;border:none;border-radius:9999px;cursor:pointer;box-shadow:0 calc(4 / 18 * 1rem) calc(15 / 18 * 1rem) #0000004d;transition:all .3s ease;animation:pulse-gold 2s infinite;pointer-events:all}@media(hover:hover){.official-site-btn:hover{transform:scale(1.1);box-shadow:0 calc(6 / 18 * 1rem) calc(20 / 18 * 1rem) #ff8c0080;cursor:pointer;animation-play-state:paused}}@keyframes pulse-gold{0%{transform:scale(1);box-shadow:0 0 #ff5100b3}70%{transform:scale(1.05);box-shadow:0 0 0 calc(15 / 18 * 1rem) #ffd70000}to{transform:scale(1);box-shadow:0 0 #ffd70000}}.canvas-score-badge{position:absolute;top:calc(20 / 18 * 1rem);left:calc(20 / 18 * 1rem);background:#fffffff2;border-radius:9999px;box-shadow:0 calc(4 / 18 * 1rem) calc(15 / 18 * 1rem) #0000001a;z-index:100;text-align:center;pointer-events:none;width:10rem;height:10rem;display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:700}.score-rank{font-weight:900;font-size:.9rem}.rank-excellent{color:#ed3d23}.rank-good{color:#f80}.rank-nice{color:#666}.score-body{display:flex;align-items:baseline;justify-content:center;margin-bottom:calc(4 / 18 * 1rem)}.score-current{font-size:2.2rem;font-weight:700;color:#ed3d23;line-height:1;margin-right:calc(2 / 18 * 1rem)}.score-divider,.score-max{font-size:1.25rem;color:#333}.score-max{font-size:1.4rem;margin-left:calc(2 / 18 * 1rem)}.score-label{font-size:.8rem;font-weight:700;margin-right:calc(2 / 18 * 1rem)}.score-pop-enter-active{transition:all .6s cubic-bezier(.175,.885,.32,1.275)}.score-pop-enter-from{opacity:0;transform:scale(.5) translateY()}
