:root{color:#18304b;background:#fff7d1;font-family:Hiragino Sans,Yu Gothic UI,Yu Gothic,Meiryo,system-ui,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.88) 0 5%,transparent 6%),radial-gradient(circle at 86% 14%,rgba(255,236,79,.9) 0 7%,transparent 8%),linear-gradient(135deg,#fff67be0,#5ce0ff94 44%,#ff70abad),#fff7d1}button,input{font:inherit}.shell{display:grid;min-height:100vh;place-items:center;padding:18px}.game-frame{--danger: 0;--flow-speed: 1.25s;--combo-boost: 0;--stage-color: #38d9ff;--stage-ink: #10213a;position:relative;width:min(96vw,1280px);aspect-ratio:16 / 9;max-height:calc(100vh - 36px);overflow:hidden;border:4px solid rgba(255,255,255,.92);border-radius:8px;background:radial-gradient(circle at 18% 12%,rgba(255,236,79,.26),transparent 24%),radial-gradient(circle at 86% 78%,rgba(255,95,162,.24),transparent 26%),linear-gradient(90deg,#072e48a8,#22435c80),#3de0ff;box-shadow:0 12px #10213a2e,0 30px 80px #2a4b6247,0 0 calc(24px + var(--combo-boost) * 5px) #ffec4f47,inset 0 0 calc(28px + var(--danger) * 70px) rgba(255,78,120,calc(.06 + var(--danger) * .28))}.game-frame:before,.game-frame:after{content:"";position:absolute;z-index:1;pointer-events:none}.game-frame.level-1{--stage-color: #38d9ff}.game-frame.level-2{--stage-color: #32d47d}.game-frame.level-3{--stage-color: #ff9e3d}.game-frame.boss{--stage-color: #ff5fa2}.local-backdrop{position:absolute;inset:0;opacity:.4;background:linear-gradient(90deg,#fff7d161,#ffffff1f,#18304b6b),url(/assets/shimane-beach-bg-ZaDGymaM.png) center / cover no-repeat;filter:saturate(1.28) brightness(1.04);transform:scale(1.03)}.level-1 .local-backdrop{background:linear-gradient(90deg,#fff7d161,#ffffff1f,#18304b6b),url(/assets/shimane-lv1-bg-CDHQaz0q.png) center / cover no-repeat}.level-2 .local-backdrop{background:linear-gradient(90deg,#fff7d161,#ffffff1f,#18304b6b),url(/assets/shimane-lv2-bg-D-kcnWZO.png) center / cover no-repeat}.level-3 .local-backdrop{background:linear-gradient(90deg,#fff7d161,#ffffff1f,#18304b6b),url(/assets/shimane-lv3-bg-CFY-WF1H.png) center / cover no-repeat}.boss .local-backdrop{position:absolute;inset:0;opacity:.4;background:linear-gradient(90deg,#fff7d161,#ffffff1f,#18304b6b),url(/assets/shimane-boss-bg-CDAHWmh9.png) center / cover no-repeat;filter:saturate(1.28) brightness(1.04);transform:scale(1.03)}.title-screen .local-backdrop{opacity:.62;background:linear-gradient(90deg,#fff7d12e,#ffffff05,#18304b2e),url(/assets/shimane-start-bg-D4LvZg9V.png) center / cover no-repeat;filter:saturate(1.1) brightness(1.02)}.local-backdrop.calm{opacity:.44;filter:saturate(1.05) brightness(1.02)}.speed-lines{position:absolute;inset:-20%;opacity:.72;background:repeating-linear-gradient(96deg,transparent 0,transparent 22px,rgba(255,255,255,.18) 23px,transparent 27px,transparent 54px,rgba(255,236,79,.18) 56px,transparent 61px);filter:blur(.2px);transform:skew(-13deg);animation:stream var(--flow-speed) linear infinite}.speed-lines:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.16) 45%,transparent 54%),repeating-linear-gradient(0deg,transparent 0 58px,rgba(255,255,255,.06) 60px 62px);mix-blend-mode:screen;animation:pulse .72s ease-in-out infinite alternate}.speed-lines.calm{--flow-speed: 2.2s;opacity:.2}.title-screen,.result-screen,.explanation-screen,.stage-intro-screen{display:grid;place-items:center;text-align:center}.title-copy,.result-copy{position:relative;z-index:1;display:grid;justify-items:center;gap:12px;width:min(900px,92%)}.title-logo{display:block;width:min(760px,92%);max-height:44vh;object-fit:contain;filter:drop-shadow(0 8px 0 rgba(16,33,58,.22)) drop-shadow(0 18px 42px rgba(255,95,162,.26));animation:titleLogoIn .78s cubic-bezier(.16,1.2,.25,1) both,titleLogoFloat 1.75s .78s ease-in-out infinite alternate;transform-origin:center;margin-bottom:-20px}.kicker{margin:0;color:#ff5fa2;font-size:clamp(.72rem,1.2vw,.95rem);font-weight:800;letter-spacing:.18em}.goal-kicker,.game-over-kicker{border:5px solid rgba(255,255,255,.96);border-radius:999px;padding:6px 22px;color:#fff;background:#ff5fa2;box-shadow:0 8px #10213a29,0 0 28px #ffec4f73;font-size:clamp(1.2rem,3vw,2.4rem);letter-spacing:.08em;text-shadow:0 3px 0 rgba(16,33,58,.32)}.goal-kicker{background:linear-gradient(90deg,#32d47d,#38d9ff,#ffec4f);animation:goalSlam .88s cubic-bezier(.16,1.2,.25,1) both,goalShine 1.15s .9s ease-in-out infinite}.game-over-kicker{background:linear-gradient(90deg,#ff3f84,#ff9e3d);animation:gameOverDrop .78s cubic-bezier(.16,1.2,.25,1) both,gameOverAlarm .9s .78s ease-in-out infinite alternate}.game-over-animated{position:relative;font-weight:900;font-size:4rem;letter-spacing:.12em;color:#fff;text-shadow:0 0 10px #00ffff,0 0 20px #00ffff,0 0 40px #00ffff,0 0 80px #00ffff;animation:gameOverDrop .78s cubic-bezier(.16,1.2,.25,1) both,gameOverAlarm .9s .78s ease-in-out infinite alternate}.clear-animated{position:relative;font-weight:900;font-size:7rem;letter-spacing:.12em;background:linear-gradient(90deg,#00f0ff,#ff8cff,gold,#00f0ff);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradientMove 3s ease infinite}.clear-animated:before{content:attr(data-text);position:absolute;inset:0;z-index:-1;color:#00f0ff;text-shadow:0 0 20px #000000,0 0 40px #000000,0 0 80px #ff51b7;filter:blur(2px)}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}h1{margin:0;color:#18304b;font-size:clamp(3.2rem,9vw,8.8rem);font-weight:900;line-height:.95;text-shadow:0 0 18px rgba(75,226,255,.42),0 0 44px rgba(255,173,72,.34)}.noto-serif-jp{font-family:"Noto Serif JP",serif;font-optical-sizing:auto;font-style:normal}.orbitron{font-family:Orbitron,sans-serif;font-optical-sizing:auto;font-style:normal}.subtitle{margin:0;font-size:clamp(.95rem,2vw,1.5rem);font-weight:400;padding:8px 16px;color:#fff;text-shadow:black 1px 1px 10px,black -1px 1px 10px,black 1px -1px 10px,black -1px -1px 10px}.subtitle strong{color:#fff;font-size:clamp(.95rem,5vw,2.5rem);text-shadow:0 0 10px #dab618,0 0 20px #dab618,0 0 40px #dab618,0 0 80px #dab618}.start-button,.retry-button{margin-top:1.5rem;font-size:2rem;font-weight:900;line-height:1.5;position:relative;display:inline-block;padding:.5rem 3rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s;transition:all .3s;text-align:center;vertical-align:middle;text-decoration:none;letter-spacing:.1em;color:#212529;border-radius:.5rem;color:#fff;border:2px solid #fff;border-radius:0;background-image:-webkit-gradient(linear,left top,right top,from(#fa709a),to(#fee140));background-image:-webkit-linear-gradient(left,#fa709a 0%,#fee140 100%);background-image:linear-gradient(to right,#fa709a,#fee140);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.1);box-shadow:0 5px 10px #0000001a;border-radius:100vh}.start-button:hover{-webkit-transform:translate(0,-2px);transform:translateY(-2px);color:#fff;-webkit-box-shadow:0 8px 15px rgba(0,0,0,.2);box-shadow:0 8px 15px #0003}.primary-button{min-width:210px;border:4px solid rgba(255,255,255,.96);border-radius:8px;padding:15px 28px;color:#10213a;cursor:pointer;background:linear-gradient(90deg,#38d9ff,#ffec4f 52%,#ff5fa2);box-shadow:0 12px #10213a2e,0 22px 36px #5095b838;font-size:1.12rem;font-weight:900;transition:transform .14s ease,filter .14s ease}.primary-button:hover{filter:brightness(1.08);transform:translateY(-3px) rotate(-1deg)}.sound-button{position:absolute;z-index:8;bottom:18px;right:18px;display:inline-grid;grid-template-columns:auto auto;gap:6px;align-items:center;border:3px solid rgba(255,255,255,.96);border-radius:999px;padding:7px 12px;color:#10213a;cursor:pointer;background:linear-gradient(90deg,#ffec4f,#38d9ff);box-shadow:0 7px #10213a29,0 0 20px #ffec4f61;font-size:clamp(.62rem,1vw,.82rem);font-weight:900;line-height:1;transition:transform .14s ease,filter .14s ease}.sound-button:hover{filter:brightness(1.08);transform:translateY(-2px) rotate(1deg)}.sound-button strong{border-radius:999px;padding:4px 7px;color:#fff;background:#32d47d;text-shadow:0 2px 0 rgba(16,33,58,.2)}.sound-button.is-muted{background:linear-gradient(90deg,#fff,#ffd4e5)}.sound-button.is-muted strong{background:#ff5f73}.hud{position:absolute;z-index:2;top:24px;right:26px;left:26px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}.timer-track{height:16px;overflow:hidden;border:2px solid rgba(255,255,255,.92);border-radius:999px;background:#ffffff6b}.timer-fill{width:100%;height:100%;transform-origin:left center;background:linear-gradient(90deg,#32d47d,#ffec4f 58%,#ff5fa2);box-shadow:0 0 26px #ff5fa259}.stats{display:flex;gap:12px;color:#10213ac7;font-size:clamp(.78rem,1.3vw,1rem);font-weight:800;white-space:nowrap}.stats span{min-width:104px;border:2px solid rgba(255,255,255,.9);border-radius:6px;padding:7px 10px;background:#ffffffe0;box-shadow:0 5px #10213a1f}.stats strong{color:#10213a;font-size:1.18em}.life-stat strong{color:#ff3f84;letter-spacing:.04em;text-shadow:0 2px 0 rgba(255,255,255,.85)}.progress{position:absolute;z-index:2;top:64px;left:28px;color:#10213aad;font-size:clamp(.86rem,1.2vw,1rem);font-weight:800}.stage-badge{position:absolute;z-index:2;top:90px;left:28px;display:grid;gap:1px;border:2px solid rgba(255,255,255,.9);border-radius:6px;padding:7px 12px;color:#10213a;background:color-mix(in srgb,var(--stage-color) 78%,white);box-shadow:0 8px #10213a24;transform:rotate(-1.5deg)}.stage-badge strong{font-size:clamp(.84rem,1.2vw,1.02rem);line-height:1}.stage-badge span{font-size:clamp(.62rem,.9vw,.76rem);font-weight:900;opacity:.76}.genre-pill{position:absolute;z-index:2;top:154px;left:28px;border:2px solid rgba(255,255,255,.92);border-radius:999px;padding:5px 12px;color:#10213a;background:#ffec4fe6;box-shadow:0 5px #10213a1f;font-size:clamp(.78rem,1.1vw,.95rem);font-weight:900}.kanji-stage{position:absolute;inset:18% 6% 25%;z-index:1;display:grid;grid-template-rows:auto 1fr;gap:clamp(8px,1.8vw,18px);place-items:center;perspective:720px}.length-hint{align-self:start;border:3px solid rgba(255,255,255,.92);border-radius:999px;padding:6px 18px;color:#10213a;background:#ffec4feb;box-shadow:0 6px #10213a24,0 0 22px #ffffff6b;font-size:clamp(1.1rem,2.6vw,2.05rem);font-weight:900;line-height:1;transform:rotate(-1deg);letter-spacing:.08em;margin-bottom:-50px}.kanji-card{align-self:center;max-width:100%;color:#fff;font-size:min(clamp(5.2rem,16vw,14rem),calc(76vw/max(var(--kanji-count),2)*1.1));font-weight:900;line-height:1;white-space:nowrap;overflow-wrap:normal;word-break:keep-all;text-align:center;text-shadow:0 6px 0 #10213a,0 0 20px rgba(255,255,255,.45),0 0 52px color-mix(in srgb,var(--stage-color) 72%,transparent);-webkit-text-stroke:2px rgba(16,33,58,.2);animation:kanjiIn .34s cubic-bezier(.2,.84,.22,1.1) both;will-change:transform,opacity}.kanji-card.is-correct{animation:correctOut .23s cubic-bezier(.2,.8,.2,1) both}.stage-intro-screen{isolation:isolate}.stage-burst{position:absolute;z-index:2;width:min(72vw,720px);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 0deg,#ffec4ff2 0deg 10deg,#ff5fa2db 10deg 20deg,#38d9ffdb 20deg 30deg,#fffffff0 30deg 40deg);clip-path:polygon(50% 0%,58% 35%,90% 12%,66% 43%,100% 50%,66% 57%,90% 88%,58% 65%,50% 100%,42% 65%,10% 88%,34% 57%,0% 50%,34% 43%,10% 12%,42% 35%);opacity:.82;animation:burstSpin 2.2s ease-out both}.stage-intro-screen:before{width:220px;height:68px;opacity:.72;animation:marqueePop .62s ease-out both}.stage-intro-screen:after{width:170px;height:170px;opacity:.38;animation:marqueePop .76s .1s ease-out both}.stage-intro-copy{position:relative;z-index:3;display:grid;justify-items:center;gap:12px;width:min(820px,88%);outline:none;animation:stagePop .78s cubic-bezier(.16,1.2,.25,1) both}.stage-intro-copy p,.stage-intro-copy strong,.stage-intro-copy span{border:4px solid rgba(255,255,255,.96);border-radius:999px;padding:8px 18px;color:#10213a;background:#ffec4ff0;box-shadow:0 8px #10213a24;font-weight:900}.stage-intro-copy p{margin:0;color:#fff;background:#ff5fa2;font-size:clamp(1.2rem,3vw,2rem);text-shadow:0 3px 0 rgba(16,33,58,.28);animation:levelRibbon 1.1s ease-in-out infinite alternate}.stage-intro-copy h1{margin:0;color:#fff;font-size:clamp(4.6rem,15vw,12rem);line-height:.85;text-shadow:0 8px 0 #10213a,0 0 38px var(--stage-color),0 0 72px rgba(255,255,255,.72);-webkit-text-stroke:3px rgba(16,33,58,.18);animation:headlineBounce 1.05s ease-in-out infinite alternate}.stage-intro-copy strong{background:color-mix(in srgb,var(--stage-color) 80%,white);font-size:clamp(1rem,2vw,1.45rem)}.stage-intro-copy span{padding:5px 14px;background:#ffffffe0;font-size:clamp(.78rem,1.1vw,.95rem)}.boss-cleared .result-copy{animation:resultVictory .9s cubic-bezier(.16,1.2,.25,1) both}.result-copy h1{animation:resultHeadlinePop .76s .16s cubic-bezier(.16,1.2,.25,1) both}.game-over-screen{display:grid;place-items:center}.game-over-copy{position:relative;z-index:3;display:grid;justify-items:center;gap:10px;width:min(900px,90%);max-height:90%;color:#10213a}.game-over-copy h1{margin:0;color:#fff;font-size:clamp(3.1rem,8vw,7rem);line-height:.88;text-shadow:0 8px 0 #10213a,0 0 36px rgba(255,95,162,.62);-webkit-text-stroke:2px rgba(16,33,58,.2);animation:gameOverHeadline .78s .18s cubic-bezier(.16,1.2,.25,1) both}.game-over-lead{margin:0;font-size:clamp(.95rem,2vw,1.5rem);font-weight:400;padding:8px 16px;color:#fff;text-shadow:black 1px 1px 10px,black -1px 1px 10px,black 1px -1px 10px,black -1px -1px 10px}.review-list{display:flex;justify-content:center;align-items:stretch;gap:8px;width:100%;max-height:none;overflow:visible;padding:0}.review-item{flex-basis:270px;display:grid;grid-template-columns:auto 1fr;gap:8px 8px;align-items:center;border:2px solid rgba(255,255,255,.94);border-radius:6px;padding:8px;background:linear-gradient(180deg,#fffffff2,#fff7d1eb);box-shadow:0 4px #10213a1f;text-align:left}.review-item span{width:fit-content;border-radius:999px;padding:2px 8px;color:#10213a;background:#38d9ff9e;font-size:clamp(.62rem,.9vw,.72rem);font-weight:900}.review-item strong{grid-column:1 / -1;color:#10213a;font-size:min(clamp(1.35rem,2.8vw,2.4rem),calc(30vw/max(var(--review-count),2)*1.45));line-height:1;font-weight:900;white-space:nowrap;word-break:keep-all}.review-item em{color:#ff3f84;font-style:normal;font-size:clamp(.78rem,1.2vw,1rem);font-weight:900}.review-item p{grid-column:1 / -1;margin:0;height:70px;color:#18304bd1;font-size:clamp(.66rem,.95vw,.82rem);font-weight:700;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.answer-form{position:absolute;z-index:2;right:12%;bottom:6.5%;left:12%}.answer-input{width:100%;border:3px solid rgba(255,255,255,.94);border-radius:6px;outline:none;padding:clamp(12px,2vw,20px) clamp(16px,3vw,28px);color:#10213a;caret-color:#ff5fa2;background:#fffffff0;box-shadow:inset 0 0 0 1px #38d9ff2e,0 12px #10213a29;font-size:clamp(1.15rem,2.5vw,2rem);font-weight:800;text-align:center}.answer-input::placeholder{color:#10213a61}.answer-input:focus{border-color:var(--stage-color);box-shadow:0 0 0 4px #ffffff80,0 12px #10213a29}.input-message{min-height:1.5em;margin:8px 0 0;display:inline-block;justify-self:center;border:3px solid rgba(255,255,255,.92);border-radius:999px;padding:3px 12px;color:#10213a;background:#ffec4fe6;box-shadow:0 5px #10213a1f;text-shadow:0 2px 0 rgba(255,255,255,.62);font-size:clamp(.82rem,1.3vw,1rem);font-weight:900;text-align:center;opacity:0;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.input-message.is-active{opacity:1;transform:translateY(0)}.explanation-panel{position:relative;z-index:3;display:grid;gap:14px;width:min(760px,86%);border:3px solid rgba(255,255,255,.92);border-radius:8px;padding:clamp(20px,3.2vw,36px);color:#18304b;background:linear-gradient(180deg,#fffffff2,#fff7d1f0);box-shadow:0 18px #10213a24,0 26px 70px #3e5c7047,inset 0 0 0 1px #38d9ff24;outline:none;text-align:left}.explanation-header{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.result-badge,.genre-chip,.stage-chip{border-radius:999px;padding:6px 12px;font-size:clamp(.78rem,1.1vw,.94rem);font-weight:900}.result-badge.is-correct{color:#10213a;background:#38d9ff}.result-badge.is-wrong{color:#fff;background:#ff5f73}.stage-chip{color:#10213a;background:color-mix(in srgb,var(--stage-color) 80%,white)}.genre-chip{color:#10213a;border:2px solid rgba(16,33,58,.08);background:#ffec4fc7}.explanation-panel h2{margin:0;color:#18304b;font-size:min(clamp(3.2rem,9vw,7.2rem),calc(78vw/max(var(--kanji-count, 2),2)*1.3));line-height:.98;text-align:center;white-space:nowrap;word-break:keep-all;text-shadow:0 3px 0 rgba(255,255,255,.82),0 0 24px color-mix(in srgb,var(--stage-color) 42%,transparent)}.answer-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.answer-summary div{border:2px solid rgba(16,33,58,.08);border-radius:6px;padding:10px 12px;background:#fff7d1a3}.answer-summary dt{color:#18304b9e;font-size:clamp(.72rem,1vw,.86rem);font-weight:800}.answer-summary dd{margin:2px 0 0;color:#10213a;font-size:clamp(1rem,1.8vw,1.35rem);font-weight:900;overflow-wrap:anywhere}.explanation-text{margin:0;color:#18304be0;font-size:clamp(1rem,1.8vw,1.28rem);font-weight:700;line-height:1.75}.continue-hint{margin:2px 0 0;color:#18304b94;font-size:clamp(.78rem,1.1vw,.92rem);font-weight:800;text-align:right}.flash{position:absolute;z-index:4;inset:0;pointer-events:none}.flash.is-active{animation:flash .22s ease-out both}.tension-ring{position:absolute;inset:0;opacity:calc(var(--danger) * .9);background:radial-gradient(circle at 50% 50%,transparent 42%,rgba(255,48,86,.18) 62%,transparent 72%),repeating-linear-gradient(90deg,transparent 0 24px,rgba(255,48,86,.05) 25px 27px);animation:dangerPulse .44s ease-in-out infinite alternate}.game-frame.is-wrong{animation:shake .34s ease both}.result-grid{display:flex;justify-content:center;grid-template-columns:repeat(4,minmax(118px,1fr));gap:12px;width:100%}.result-grid div{flex-basis:200px;border:2px solid rgba(255,255,255,.86);border-radius:6px;padding:14px 10px;background:#ffffffc2}.result-grid span{display:block;color:#18304b9e;font-size:clamp(.72rem,1.1vw,.9rem);font-weight:800}.result-grid strong{display:block;color:#10213a;font-size:clamp(1.3rem,2.4vw,2rem);font-weight:900}.version{color:#10213a;text-shadow:0 2px 4px rgba(255,255,255,.5)}.title-rules-box{position:absolute;top:24px;left:24px;padding:12px 16px;border-radius:12px;background:#10213aa6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:.9rem;line-height:1.6;border:2px solid rgba(255,255,255,.2);box-shadow:0 6px 20px #00000040;text-align:left}.title-rules-box h3{margin:0 0 6px;font-weight:900;font-size:1.2rem}.title-rules-box p{margin:2px}.title-link{position:absolute;bottom:24px;left:24px;padding:8px 14px;border-radius:999px;font-size:.9rem;font-weight:800;color:#10213a;text-decoration:none;background:linear-gradient(135deg,#ffffffe6,#fff0b4d9);box-shadow:0 4px #10213a33,0 0 12px #ffffff80;transition:all .15s ease}.title-link:hover{transform:translateY(-2px);box-shadow:0 6px #10213a33,0 0 16px #ffffffb3}.title-link:active{transform:translateY(1px);box-shadow:0 2px #10213a33}@keyframes stream{0%{background-position:0 0}to{background-position:260px 0}}@keyframes pulse{0%{opacity:.38}to{opacity:.86}}@keyframes kanjiIn{0%{opacity:0;transform:translateZ(-620px) scale(.42);filter:blur(12px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@keyframes correctOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.42) translate(14vw);filter:blur(4px)}}@keyframes flash{0%{background:#fff0}18%{background:#ffffffd6}to{background:#fff0}}@keyframes dangerPulse{0%{transform:scale(.98)}to{transform:scale(1.02)}}@keyframes shake{0%,to{transform:translate(0)}18%{transform:translate(-10px)}36%{transform:translate(9px)}54%{transform:translate(-6px)}72%{transform:translate(4px)}}@keyframes stagePop{0%{opacity:0;transform:translateY(26px) scale(.62) rotate(-4deg);filter:blur(8px)}68%{opacity:1;transform:translateY(-6px) scale(1.08) rotate(1deg);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:blur(0)}}@keyframes titleLogoIn{0%{opacity:0;transform:translateY(28px) scale(.72) rotate(-5deg);filter:drop-shadow(0 8px 0 rgba(16,33,58,.22)) drop-shadow(0 18px 42px rgba(255,95,162,.26)) blur(6px)}70%{opacity:1;transform:translateY(-8px) scale(1.08) rotate(2deg);filter:drop-shadow(0 8px 0 rgba(16,33,58,.22)) drop-shadow(0 18px 42px rgba(255,95,162,.26)) blur(0)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes titleLogoFloat{0%{transform:translateY(0) rotate(-.8deg) scale(1)}to{transform:translateY(-10px) rotate(.8deg) scale(1.025)}}@keyframes burstSpin{0%{opacity:0;transform:scale(.35) rotate(-24deg)}to{opacity:.82;transform:scale(1.1) rotate(28deg)}}@keyframes headlineBounce{0%{transform:translateY(0) rotate(-1deg) scale(1)}to{transform:translateY(-8px) rotate(1deg) scale(1.035)}}@keyframes levelRibbon{0%{transform:rotate(-2deg) scale(1)}to{transform:rotate(2deg) scale(1.06)}}@keyframes marqueePop{0%{opacity:0;transform:translateY(-18px) rotate(10deg) scale(.62)}to{opacity:.72;transform:translateY(0) rotate(7deg) scale(1)}}@keyframes resultVictory{0%{opacity:0;transform:translateY(30px) scale(.86) rotate(-2deg)}70%{opacity:1;transform:translateY(-8px) scale(1.04) rotate(1deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes goalSlam{0%{opacity:0;transform:translateY(-42px) scale(1.5) rotate(-8deg)}62%{opacity:1;transform:translateY(8px) scale(.92) rotate(2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes goalShine{0%,to{filter:brightness(1)}50%{filter:brightness(1.22)}}@keyframes gameOverDrop{0%{opacity:0;transform:translateY(-60px) scale(1.35) rotate(6deg)}70%{opacity:1;transform:translateY(7px) scale(.96) rotate(-2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes gameOverAlarm{0%{transform:rotate(-1deg) scale(1)}to{transform:rotate(1deg) scale(1.035)}}@keyframes resultHeadlinePop{0%{opacity:0;transform:translateY(22px) scale(.74) rotate(-3deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes gameOverHeadline{0%{opacity:0;transform:translateY(26px) scale(.72) rotate(4deg)}72%{opacity:1;transform:translateY(-6px) scale(1.06) rotate(-1deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@media(max-width:760px){.shell{padding:10px}.game-frame{width:min(100vw - 20px,1280px)}.hud{top:14px;right:14px;left:14px;grid-template-columns:1fr;gap:8px}.sound-button{top:10px;right:10px;padding:6px 9px}.play-screen .sound-button{top:auto;right:14px;bottom:14px}.stats{justify-content:end}.stats span{min-width:82px;padding:5px 8px}.life-stat{order:-1}.progress{top:58px;left:16px}.stage-badge{top:82px;left:16px;padding:6px 9px}.genre-pill{top:134px;left:16px}.answer-form{right:8%;bottom:7%;left:8%}.length-hint{padding:4px 12px;font-size:clamp(.9rem,3.2vw,1.4rem)}.stage-intro-copy{gap:8px}.result-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}.explanation-panel{width:90%;gap:10px;padding:16px}.answer-summary{grid-template-columns:1fr}.review-list{grid-template-columns:repeat(2,minmax(130px,1fr))}}
