*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(900px 420px at 50% -120px,rgba(255,201,60,.3),transparent 62%),radial-gradient(700px 400px at 108% 68%,rgba(77,124,254,.12),transparent 60%),linear-gradient(180deg,#cbe2ff,#e9f2ff 45%,#fff3d8);background-attachment:fixed;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;-webkit-font-smoothing:antialiased}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes float-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.anim-shake{animation:shake .4s ease-in-out}.anim-pop{animation:pop-in .35s cubic-bezier(.34,1.56,.64,1)}.anim-pulse{animation:pulse 1s ease-in-out infinite}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.page-fade{animation:fade-up .35s ease both}.card-hover{transition:transform .25s ease,box-shadow .25s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.ant-card{border:2.5px solid rgba(34,48,122,.14);box-shadow:0 6px #22307a14}.battle-menu.ant-menu-horizontal{background:transparent;line-height:44px}.battle-menu .ant-menu-item{color:#ffffffd1;font-weight:700;border-radius:999px;margin-inline:4px}.battle-menu .ant-menu-item:hover{color:#fff!important;background:#ffffff24!important}.battle-menu .ant-menu-item-selected{color:#172554!important;background:#ffc93c!important;box-shadow:0 3px #17255459}.battle-menu.ant-menu-horizontal>.ant-menu-item-selected:after,.battle-menu.ant-menu-horizontal>.ant-menu-item:after{border-bottom:none!important}.wide-layout{display:flex;gap:24px;align-items:stretch}.wide-main{flex:1;min-width:0}.wide-side{width:380px;flex-shrink:0;position:relative}.side-fill{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:20px}.side-fill>*:first-child{flex:1;min-height:0;display:flex;flex-direction:column}.side-fill>*:last-child{flex-shrink:0}@media(max-width:1024px){.wide-layout{flex-direction:column}.wide-side{width:100%;position:static}.side-fill{position:static}}.type-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.type-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0f172a1a}.icon-btn-round{border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s,transform .15s}.icon-btn-round:hover{background:#ffffff3d!important}.icon-btn-round:active{transform:scale(.94)}@keyframes wordsCardIn{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}.words-card{animation:wordsCardIn .18s ease-out;transition:transform .15s ease}.words-card:hover{transform:translateY(2px) scale(1.02)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c9d4e6;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8bcdc}::-webkit-scrollbar-track{background:transparent}.ws-page-break{page-break-before:always;break-before:page}@media print{.no-print{display:none!important}html,body{background:#fff!important;height:auto!important}.print-root{background:#fff!important;padding:0!important}.print-paper{box-shadow:none!important;border:none!important;margin:0 auto!important;width:100%!important;max-width:none!important;padding:8mm 10mm!important}@page{margin:10mm}}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.timer-urgent{animation:timerPulse 1s ease-in-out infinite}@keyframes timerBeat{0%{transform:scale(1.04)}35%{transform:scale(1)}to{transform:scale(1)}}.timer-beat{animation:timerBeat 1s ease-out infinite}@keyframes riseIn{0%{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.anim-rise{animation:riseIn .55s cubic-bezier(.22,1,.36,1) both}@keyframes confettiFall{0%{transform:translateY(-8vh) rotate(0);opacity:1}90%{opacity:1}to{transform:translateY(108vh) rotate(720deg);opacity:.6}}.confetti-piece{position:absolute;top:0;border-radius:2px;animation-name:confettiFall;animation-timing-function:linear;animation-fill-mode:both}@keyframes mascotBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mascot-bounce{animation:mascotBounce 1.6s ease-in-out infinite}@keyframes shineSweep{0%{transform:translate(-140%) skew(-18deg)}to{transform:translate(320%) skew(-18deg)}}.gem-shine{position:absolute;top:0;bottom:0;left:0;width:46px;background:#ffffff8c;filter:blur(6px);animation:shineSweep 2.2s ease-in-out infinite}@keyframes dkBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.dk-body{animation:dkBounce .6s ease-in-out infinite;transform-box:view-box;transform-origin:80px 120px}@keyframes dkHip{0%,to{transform:rotate(-12deg) translate(-5px)}50%{transform:rotate(12deg) translate(5px)}}.dk-hip{animation:dkHip .6s ease-in-out infinite;transform-box:view-box;transform-origin:80px 104px}@keyframes dkNote{0%{opacity:0;transform:translateY(8px) scale(.8) rotate(-6deg)}30%{opacity:1}to{opacity:0;transform:translateY(-30px) scale(1.2) rotate(10deg)}}.dk-note{animation:dkNote 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}.dk-note-2{animation-delay:.6s}.dk-note-3{animation-delay:1.2s}.immersive-page{position:fixed;top:0;left:0;right:0;bottom:0;overflow-y:auto;background:linear-gradient(180deg,#0e1638,#1b2559 48%,#2a3b8f)}@keyframes starTwinkle{0%,to{opacity:.15;transform:scale(.8)}50%{opacity:.95;transform:scale(1.2)}}.star-twinkle{position:absolute;border-radius:50%;background:#fff;animation:starTwinkle 2.8s ease-in-out infinite}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.float-slow{animation:floatSlow 5s ease-in-out infinite}@keyframes glowPulse{0%,to{box-shadow:0 0 22px #ffc93c59}50%{box-shadow:0 0 46px #ffc93cb3}}.glow-pulse{animation:glowPulse 2.4s ease-in-out infinite}.app-footer{margin-top:48px;padding:28px 32px 32px;background:transparent;border-top:1px solid #E5E7EB;text-align:center}.app-footer .footer-nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 24px;margin-bottom:14px}.app-footer .footer-nav a{color:#6b7280;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:color .2s ease}.app-footer .footer-nav a:hover{color:#2a3b8f}.app-footer .footer-divider{display:inline-block;width:1px;height:12px;background:#e5e7eb;vertical-align:middle}.app-footer .footer-meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px 18px;color:#9ca3af;font-size:12px;font-weight:600}.app-footer .footer-meta a{color:#9ca3af;font-size:12px;text-decoration:none;transition:color .2s ease}.app-footer .footer-meta a:hover{color:#2a3b8f}
