:root{--bg-top:#1b1a3a;--bg-mid:#141230;--bg-bottom:#17161c;--paper:#f6ead2;--paper-2:#efdfc0;--ink:#2b1d16;--red:#8b1f1f;--red-bright:#c03a2b;--gold:#e8b93c;--font-display:"Baloo 2", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}html{overscroll-behavior:none}body{overscroll-behavior:none;background:radial-gradient(120% 70% at 50% -10%, #5a50a059, #0000 60%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg-mid) 55%, var(--bg-bottom) 100%);background-color:var(--bg-mid);font-family:var(--font-display);color:var(--paper);-webkit-font-smoothing:antialiased;overflow:hidden}#root{justify-content:center;align-items:center;display:flex}.stage{aspect-ratio:420/640;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 12px 40px #0000008c);max-width:100vw;height:min(100vh,152.381vw);position:relative}.game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:6px;width:100%;height:100%;display:block}.overlay{pointer-events:none;text-align:center;z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:3.5%;padding:6%;display:flex;position:absolute;inset:0}.overlay-ready{justify-content:flex-start;padding-top:13%;padding-bottom:14.5%}.title{letter-spacing:.06em;color:var(--paper);text-shadow:0 3px 0 var(--red), 0 6px 0 #00000059, 0 10px 24px #00000080;margin:0;font-size:min(4.6rem,15vh);font-weight:900;animation:2.6s ease-in-out infinite title-float}.subtitle{letter-spacing:.42em;text-indent:.42em;color:var(--gold);text-shadow:0 2px #0000008c;margin:-.4em 0 0;font-size:min(1.15rem,3.4vh);font-weight:800}.mascot-row{align-items:center;gap:3%;width:100%;margin-top:auto;padding:0 4%;display:flex}.mascot{filter:drop-shadow(0 8px 14px #00000073);transform-origin:50% 85%;flex-shrink:0;width:36%;height:auto;animation:2.1s ease-in-out infinite mascot-bob}.bubble{background:repeating-linear-gradient(-40deg, #8b1f1f0d 0 6px, #0000 6px 12px), linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);border:3px solid var(--red);border-radius:16px;flex-direction:column;gap:.3em;padding:.8em 1em;display:flex;position:relative;box-shadow:0 4px #0000004d,0 10px 24px #00000059}.bubble:before{content:"";border:10px solid #0000;border-right-color:var(--red);position:absolute;top:46%;left:-21px}.bubble:after{content:"";border:9px solid #0000;border-right-color:var(--paper);margin-top:1px;position:absolute;top:46%;left:-14px}.bubble-zh{color:var(--ink);font-size:min(1rem,2.9vh);font-weight:800}.bubble-mama{color:var(--red-bright);font-size:min(1.5rem,4.2vh);font-weight:900;animation:1.1s ease-in-out infinite hint-pulse}.bubble-hint{letter-spacing:.1em;color:var(--ink);opacity:.8;text-transform:uppercase;font-size:min(.82rem,2.3vh);font-weight:700;line-height:1.5}@keyframes mascot-bob{0%,to{transform:rotate(-3deg)translateY(0)}50%{transform:rotate(2deg)translateY(-8px)}}.hint{letter-spacing:.14em;color:var(--paper);text-shadow:0 2px #0009,0 0 18px #e8b93c59;margin:0;font-size:min(1.05rem,3vh);font-weight:800;animation:1.1s ease-in-out infinite hint-pulse}.best-line{letter-spacing:.2em;color:var(--gold);text-shadow:0 2px #0009;margin:0;font-size:min(1rem,2.8vh);font-weight:800}.overlay-gameover{justify-content:center}.panel{background:repeating-linear-gradient(0deg, #8b1f1f0a 0 3px, #0000 3px 7px), radial-gradient(130% 100% at 50% 0%, var(--paper) 0%, var(--paper-2) 100%);border:5px solid var(--red);min-width:62%;color:var(--ink);border-radius:20px;flex-direction:column;align-items:center;gap:.35em;padding:1.2em 1.8em 1.1em;animation:.38s cubic-bezier(.22,1.5,.36,1) both panel-pop;display:flex;box-shadow:inset 0 0 0 3px #f6ead2e6,inset 0 0 40px #8b1f1f1f,0 8px #00000059,0 18px 44px #00000080}.panel-title{color:var(--red);text-shadow:0 2px #00000026;margin:0;font-size:min(2rem,5.6vh);font-weight:900}.panel-subtitle{letter-spacing:.34em;text-indent:.34em;color:var(--ink);opacity:.7;margin:-.3em 0 0;font-size:min(.85rem,2.4vh);font-weight:800}.medal{flex-direction:column;align-items:center;gap:.05em;margin-top:.2em;display:flex}.medal-emoji{filter:drop-shadow(0 3px 4px #0000004d);font-size:min(2.6rem,7vh);line-height:1}.medal-label{letter-spacing:.18em;text-transform:uppercase;color:var(--red);opacity:.85;font-size:min(.72rem,2vh);font-weight:800}.score-big{color:var(--ink);text-shadow:0 3px #8b1f1f40;font-size:min(3.4rem,9vh);font-weight:900;line-height:1}.best-row{align-items:center;gap:.7em;display:flex}.panel .best-line{color:var(--red);text-shadow:none}.new-best{letter-spacing:.1em;color:var(--paper);background:linear-gradient(180deg, var(--red-bright), var(--red));border-radius:999px;padding:.2em .55em;font-size:min(.72rem,2vh);font-weight:900;animation:.9s ease-in-out infinite hint-pulse;box-shadow:0 2px #00000040}.panel .hint{color:var(--red);text-shadow:none;letter-spacing:.12em;margin-top:.6em;animation:1.3s ease-in-out infinite hint-pulse}.mute-btn{top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));z-index:5;pointer-events:auto;background:linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);border:3px solid var(--red);cursor:pointer;touch-action:manipulation;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;font-family:inherit;font-size:1.35rem;line-height:1;transition:transform 80ms,box-shadow 80ms;display:flex;position:absolute;box-shadow:0 3px #00000059,0 8px 18px #0000004d}.mute-btn:active{transform:translateY(2px);box-shadow:0 1px #00000059,0 4px 10px #0000004d}.mute-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@keyframes title-float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-10px)rotate(1deg)}}@keyframes hint-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(1.06)}}@keyframes panel-pop{0%{opacity:0;transform:scale(.55)translateY(24px)}to{opacity:1;transform:scale(1)translateY(0)}}
