*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:Yuanti SC,YouYuan,幼圆,Microsoft YaHei,PingFang SC,Segoe UI,sans-serif;background:#bfe6ff;-webkit-user-select:none;user-select:none}#app,#app canvas{position:fixed;top:0;right:0;bottom:0;left:0;display:block}.soft-gray canvas{filter:saturate(.35) brightness(.92);transition:filter .8s}.hidden{display:none!important}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:20}.overlay.dark{background:#1e2438f0}.overlay.translucent{background:#3c466466;cursor:pointer}#menu{background:linear-gradient(160deg,#8cd2ffe6,#aaf0bee6)}#result{background:#3c466473}.panel{background:#fffdf5;border-radius:24px;padding:38px 46px;max-width:600px;box-shadow:0 14px 44px #3c507847;text-align:center;color:#3a4a5a}.panel h1{font-size:48px;font-weight:900;color:#4a9de8;margin-bottom:6px;letter-spacing:2px}#menu h1{animation:title-bounce .9s cubic-bezier(.28,.84,.42,1) both;text-shadow:0 4px 0 rgba(74,157,232,.18)}@keyframes title-bounce{0%{transform:translateY(-70px) scale(.6);opacity:0}60%{transform:translateY(8px) scale(1.08);opacity:1}80%{transform:translateY(-4px) scale(.98)}to{transform:none;opacity:1}}.panel h1.win{background:linear-gradient(90deg,#3ec46d,#ffd93d,#3ec46d);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:title-shine 2.4s linear infinite}@keyframes title-shine{to{background-position:200% center}}.panel h1.lose{color:#f0785a}#result{background:#2830488c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.panel-pop{animation:panel-pop .55s cubic-bezier(.34,1.56,.64,1) both}@keyframes panel-pop{0%{opacity:0;transform:scale(.72) translateY(36px)}to{opacity:1;transform:scale(1) translateY(0)}}.rating-badge{position:relative;width:112px;height:112px;margin:6px auto 10px;display:flex;align-items:center;justify-content:center;animation:badge-pop .6s cubic-bezier(.34,1.8,.64,1) .2s both}@keyframes badge-pop{0%{opacity:0;transform:scale(.2) rotate(-32deg)}to{opacity:1;transform:scale(1) rotate(0)}}.rating-badge:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 10px 26px #785a144d}.rating-S:before{background:linear-gradient(160deg,#ffe066,#ff8f1f)}.rating-A:before{background:linear-gradient(160deg,#9ec9ff,#6a8dff)}.rating-B:before{background:linear-gradient(160deg,#8fe6a8,#3ec46d)}.rating-glow{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:50%;background:conic-gradient(#ffd93d,#ffd93d0d 32%,#ff8f1f 50%,#ff8f1f0d 82%,#ffd93d);animation:glow-spin 2.6s linear infinite;filter:blur(1px)}@keyframes glow-spin{to{transform:rotate(360deg)}}.rating-letter{position:relative;font-size:58px;font-weight:900;color:#fff;text-shadow:0 3px 10px rgba(0,0,0,.28)}.score-hero{display:flex;align-items:baseline;justify-content:center;gap:14px;margin:8px 0 4px;font-size:18px;color:#8a94a6}.score-hero b{font-size:52px;font-weight:900;line-height:1.1;color:#ff8f1f;font-variant-numeric:tabular-nums;text-shadow:0 3px 0 rgba(255,143,31,.16)}.taunt-hero{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:10px 0 2px;padding:10px 18px;border-radius:18px;background:linear-gradient(180deg,#fff3e2,#ffe3c2);box-shadow:inset 0 0 0 3px #ff8f1f59}.taunt-flame{font-size:34px;align-self:center;animation:flame-pulse .9s ease-in-out infinite;transform-origin:50% 90%}.taunt-hero b{font-size:56px;font-weight:900;line-height:1.05;color:#ff5f2e;font-variant-numeric:tabular-nums;text-shadow:0 3px 0 rgba(255,95,46,.18)}.taunt-unit{font-size:18px;font-weight:700;color:#b06a2f}.taunt-extra{align-self:center;font-style:normal;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(180deg,#ff8f5e,#ff5f2e);border-radius:999px;padding:4px 12px;margin-left:6px}@keyframes flame-pulse{0%,to{transform:scale(1) rotate(-4deg)}50%{transform:scale(1.18) rotate(5deg)}}.taunt-hero.taunt-gold{animation:gold-flash .9s ease 1}@keyframes gold-flash{0%{box-shadow:inset 0 0 0 3px #ff8f1f59;transform:scale(1)}35%{box-shadow:inset 0 0 0 4px #ffd93d,0 0 34px 8px #ffd93dd9;background:linear-gradient(180deg,#fff6d8,#ffe89a);transform:scale(1.06)}to{box-shadow:inset 0 0 0 3px #ffd93dbf,0 0 14px 2px #ffd93d66;transform:scale(1)}}.stat-row{animation:stat-in .45s ease both}@keyframes stat-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.result-btns{animation:stat-in .45s ease .85s both}.result-shake{animation:result-shake .42s ease-out}@keyframes result-shake{0%,to{transform:translate(0)}18%{transform:translate(-7px,4px)}38%{transform:translate(6px,-4px)}58%{transform:translate(-4px,2px)}78%{transform:translate(3px,-2px)}}.panel h2{font-size:30px;color:#4a9de8;margin-bottom:10px}.subtitle{color:#7a8c9f;margin-bottom:16px;font-size:17px}.quip{color:#f0a03c;font-weight:700;font-size:17px;margin-bottom:4px}.rules{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;margin-bottom:4px;margin-top:18px;line-height:1.7;font-size:13px}.rules p{background:#f2f9ff;border-radius:14px;padding:10px 14px;margin:0}.rules p:last-child{grid-column:1 / -1;text-align:center}.mode-cards{display:flex;gap:18px;justify-content:center;margin-top:22px}.mode-card{flex:1;max-width:260px;display:flex;flex-direction:column;align-items:center;gap:6px;border-radius:22px;padding:24px 18px 20px;color:#fff;border:none;cursor:pointer;font-family:inherit;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}.mc-seek{background:linear-gradient(180deg,#6fb7ff,#4a9de8);box-shadow:0 6px #3580c8}.mc-hide{background:linear-gradient(180deg,#ffb45e,#ff8f5e);box-shadow:0 6px #e06f3a}.mode-card:hover{transform:translateY(-4px) scale(1.03)}.mc-seek:hover{box-shadow:0 10px #3580c8}.mc-hide:hover{box-shadow:0 10px #e06f3a}.mode-card:active{transform:translateY(2px)}.mc-seek:active{box-shadow:0 3px #3580c8}.mc-hide:active{box-shadow:0 3px #e06f3a}.mc-icon{font-size:52px;line-height:1}.mc-title{font-size:26px;font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.18)}.mc-desc{font-size:13px;opacity:.92}button{background:linear-gradient(180deg,#6cb8ff,#4a9de8);color:#fff;border:none;border-radius:999px;padding:14px 44px;font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 5px #3580c8;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;font-family:inherit}button:hover{transform:translateY(-3px) scale(1.07);box-shadow:0 8px #3580c8}button:active{transform:translateY(2px) scale(.98);box-shadow:0 1px #3580c8}.tip{margin-top:14px;color:#93a3b3;font-size:13px}#hide-count{font-size:76px;font-weight:900;color:#ffb02e;margin:10px 0;animation:count-pulse 1s infinite}@keyframes count-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 22px}.stats div{background:#f2f9ff;border-radius:14px;padding:10px 14px;display:flex;justify-content:space-between;font-size:15px}.stats .rating{color:#ff8f1f;font-size:22px;font-weight:900}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}#topbar{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;gap:12px}.chip{background:#fffffff0;border-radius:999px;padding:9px 20px;font-size:17px;font-weight:700;color:#3a4a5a;box-shadow:0 3px 10px #3c507833;white-space:nowrap}#btn-mute{pointer-events:auto;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}#btn-mute:hover{transform:scale(1.15)}#timer.urgent{color:#ff4d4f;animation:urgent-bounce .5s infinite}#taunt.taunt-done{background:#d9f7e3;color:#1a9e4b}#minimap{position:absolute;left:18px;bottom:52px;border-radius:50%;box-shadow:0 4px 14px #3c507847;opacity:.95}#powerup{background:#e3f2ff;color:#1a7fc9}#taunt.urgent{color:#ff4d4f;animation:urgent-bounce .5s infinite}.new-record{font-size:24px;font-weight:700;color:#f5a623;margin:6px 0 2px;animation:urgent-bounce .8s infinite;text-shadow:0 2px 8px rgba(245,166,35,.4)}@keyframes urgent-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.28)}}#crosshair{position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#ffffffeb;box-shadow:0 0 0 2px #0000004d;transition:transform .1s,background .1s}#crosshair.active{background:#ffd93d;transform:scale(1.6)}#crosshair.pulse{animation:pulse .25s}@keyframes pulse{50%{transform:scale(2.2)}}#taunt-ring{position:absolute;top:50%;left:50%;width:130px;height:130px;transform:translate(-50%,-50%);pointer-events:none}#taunt-arrow{position:absolute;top:-6px;left:50%;margin-left:-11px;font-size:22px;color:#ffb02e;text-shadow:0 0 6px rgba(0,0,0,.5)}#taunt-text{position:absolute;top:calc(50% + 86px);left:50%;transform:translate(-50%);background:#ffc14df2;color:#5a3d00;font-weight:700;padding:7px 18px;border-radius:999px;font-size:15px;white-space:nowrap}#message{position:absolute;top:30%;left:50%;transform:translate(-50%);font-size:26px;font-weight:700;padding:10px 26px;border-radius:999px;white-space:nowrap}#message.good{background:#3ec46df2;color:#fff}#message.bad{background:#f0785af2;color:#fff}#repair-tip{position:absolute;top:56%;left:50%;transform:translate(-50%);background:#ffffffd9;color:#d47a2a;font-size:15px;font-weight:700;padding:6px 16px;border-radius:999px;box-shadow:0 2px 8px #3c507833;animation:tip-bob .9s ease-in-out infinite}@keyframes tip-bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-4px)}}#repair-bar{position:absolute;top:62%;left:50%;transform:translate(-50%);width:220px;height:14px;background:#ffffffbf;border-radius:999px;overflow:hidden;box-shadow:0 2px 8px #3c507840}#repair-fill{height:100%;width:0%;background:linear-gradient(90deg,#ffd93d,#ff9a3d);border-radius:999px;transition:width .1s linear}#controls-tip{position:absolute;bottom:14px;left:50%;transform:translate(-50%);background:#ffffffc7;color:#4f6072;padding:7px 18px;border-radius:999px;font-size:13px;white-space:nowrap}#fx,#celebration{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}#fx{z-index:15}#celebration{z-index:25}.speech-bubble{position:absolute;transform:translate(-50%,-100%);background:#fff;color:#5a4a2a;padding:7px 14px;border-radius:16px;font-size:14px;font-weight:700;box-shadow:0 4px 12px #3c507840;white-space:nowrap;animation:bubble-pop 2s forwards}.speech-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:#fff;border-bottom:0}@keyframes bubble-pop{0%{transform:translate(-50%,-100%) scale(0)}12%{transform:translate(-50%,-100%) scale(1.15)}20%{transform:translate(-50%,-100%) scale(1)}80%{opacity:1}to{transform:translate(-50%,-110%) scale(1);opacity:0}}.confetti{position:absolute;top:-20px;width:10px;height:16px;border-radius:3px;animation:confetti-fall linear forwards}@keyframes confetti-fall{to{transform:translateY(112vh) rotate(720deg)}}.confetti-pop{position:fixed;left:50%;top:50%;width:9px;height:13px;border-radius:3px;pointer-events:none;z-index:90;animation:confetti-pop .9s cubic-bezier(.1,.7,.4,1) forwards}@keyframes confetti-pop{0%{transform:translate(-50%,-50%) rotate(0) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot)) scale(.6);opacity:0}}.rain-drop{position:absolute;top:-30px;width:3px;height:18px;background:linear-gradient(#7fb8e8,#b8dcf5);border-radius:3px;opacity:.8;animation:rain-fall 1.1s linear infinite}@keyframes rain-fall{to{transform:translateY(112vh)}}.sigh-cloud{position:absolute;top:12%;left:50%;font-size:60px;animation:sigh 3s ease-in-out infinite}@keyframes sigh{0%,to{transform:translate(-52%)}50%{transform:translate(-48%) translateY(6px)}}.mode-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.mode-buttons button{padding:14px 34px;font-size:19px}.btn-secondary{background:linear-gradient(180deg,#ffb35c,#f08c3c);box-shadow:0 5px #c96f28}.btn-secondary:hover{box-shadow:0 8px #c96f28}.btn-secondary:active{box-shadow:0 1px #c96f28}#alert.alert-green{background:#d2f5d7f2;color:#1e7a3c}#alert.alert-yellow{background:#fff0bef2;color:#8a6a00}#alert.alert-orange{background:#ffdcb9f2;color:#b3541e}#alert.alert-red{background:#ffc8c8f2;color:#c02525;animation:urgent-bounce .5s infinite}#btn-hidden{position:absolute;bottom:60px;left:50%;transform:translate(-50%);background:linear-gradient(180deg,#6cd89a,#3ec46d);color:#fff;font-size:18px;font-weight:700;padding:12px 32px;border-radius:999px;box-shadow:0 5px #2a9a52;pointer-events:auto;cursor:pointer;white-space:nowrap;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}#btn-hidden:hover{transform:translate(-50%) translateY(-3px) scale(1.06)}#btn-hidden:active{transform:translate(-50%) translateY(1px)}
