.app-shell[data-v-c0a24d0b]{min-height:100%;display:flex;flex-direction:column}.app-main[data-v-c0a24d0b]{flex:1;display:flex;flex-direction:column}.app-footer[data-v-c0a24d0b]{text-align:center;padding:12px;font-size:12px;color:#aaa}.app-footer a[data-v-c0a24d0b]{color:#aaa;text-decoration:none}.app-footer a[data-v-c0a24d0b]:hover{color:#ff6b9d}.menu[data-v-cfff7b3b]{display:flex;flex-direction:column;gap:14px;margin-top:26px}.menu-btn[data-v-cfff7b3b]{display:flex;align-items:center;gap:14px;width:100%;padding:18px 20px;border:none;border-radius:18px;cursor:pointer;text-align:left;transition:transform .2s,box-shadow .2s}.menu-btn[data-v-cfff7b3b]:hover{transform:translateY(-2px)}.menu-btn.game[data-v-cfff7b3b]{background:linear-gradient(135deg,#ff9a9e,#ff6b9d);color:#fff;box-shadow:0 6px 18px #ff6b9d59}.menu-btn.score[data-v-cfff7b3b]{background:linear-gradient(135deg,#6dd5ed,#2193ed);color:#fff;box-shadow:0 6px 18px #2193ed4d}.menu-emoji[data-v-cfff7b3b]{font-size:40px}.menu-title[data-v-cfff7b3b]{font-size:22px;font-weight:700}.menu-desc[data-v-cfff7b3b]{font-size:13px;opacity:.9;margin-top:2px}.animals[data-v-cfff7b3b]{margin-top:26px}.tab-switch[data-v-48d2becb]{display:flex;background:#f5f5f5;border-radius:999px;padding:4px;margin:24px 0 20px}.tab-btn[data-v-48d2becb]{flex:1;border:none;background:transparent;padding:10px 0;border-radius:999px;font-size:16px;font-weight:700;color:#999;cursor:pointer;transition:all .3s}.tab-btn.active[data-v-48d2becb]{background:#ff6b9d;color:#fff;box-shadow:0 4px 12px #ff6b9d66}.form[data-v-48d2becb]{text-align:left}.field[data-v-48d2becb]{margin-bottom:16px}.field label[data-v-48d2becb]{display:block;font-size:14px;font-weight:700;color:#555;margin-bottom:6px}.field input[data-v-48d2becb]{width:100%;padding:12px 14px;border:2px solid #e8e8e8;border-radius:12px;font-size:16px;outline:none;transition:border-color .3s;background:#fafafa}.field input[data-v-48d2becb]:focus{border-color:#ff6b9d;background:#fff}.message[data-v-48d2becb]{font-size:14px;margin:4px 0 12px;color:#2ecc71}.message.error[data-v-48d2becb]{color:#e74c3c}.submit-btn[data-v-48d2becb]{width:100%;padding:14px;border:none;border-radius:999px;background:linear-gradient(135deg,#ff9a9e,#ff6b9d);color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 6px 18px #ff6b9d59}.submit-btn[data-v-48d2becb]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 22px #ff6b9d73}.submit-btn[data-v-48d2becb]:disabled{opacity:.6;cursor:not-allowed}.animals[data-v-48d2becb]{margin-top:22px}.game-page[data-v-99716f9d]{min-height:100%;max-width:760px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.error-emoji[data-v-99716f9d]{font-size:52px}.race-area[data-v-99716f9d]{background:#ffffffe6;border-radius:20px;padding:14px 16px;box-shadow:0 6px 20px #0000000f;border:3px solid #eef7ff;display:flex;flex-direction:column;gap:10px}.player-row[data-v-99716f9d]{display:flex;align-items:center;gap:12px;position:relative}.row-particles[data-v-99716f9d]{position:absolute;left:16px;top:-10px;width:0;height:0;pointer-events:none;z-index:10}.row-particle[data-v-99716f9d]{position:absolute;animation:row-particle-rise-99716f9d 1.1s ease-out forwards}.row-particle.ok[data-v-99716f9d]{filter:drop-shadow(0 2px 4px rgba(46,204,113,.35))}.row-particle.wrong[data-v-99716f9d]{filter:drop-shadow(0 2px 4px rgba(231,76,60,.35))}@keyframes row-particle-rise-99716f9d{0%{opacity:0;transform:translate(0) scale(.4) rotate(0)}20%{opacity:1}to{opacity:0;transform:translate(var(--drift),-36px) scale(1.15) rotate(30deg)}}.player-row.win[data-v-99716f9d]{animation:glow-99716f9d 1s ease-in-out infinite alternate}@keyframes glow-99716f9d{0%{filter:drop-shadow(0 0 4px #ffd700)}to{filter:drop-shadow(0 0 14px #ffd700)}}.player-info[data-v-99716f9d]{display:flex;align-items:center;gap:8px;width:112px;flex-shrink:0}.player-emoji[data-v-99716f9d]{font-size:26px}.player-name[data-v-99716f9d]{font-size:14px;font-weight:700;color:#555;white-space:nowrap}.track[data-v-99716f9d]{flex:1;height:22px;background:#f0f0f0;border-radius:999px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #00000014}.track-fill[data-v-99716f9d]{height:100%;border-radius:999px;transition:width .5s cubic-bezier(.34,1.56,.64,1);min-width:0}.player-score[data-v-99716f9d]{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700;color:#333;background:#ffffffd9;padding:0 8px;border-radius:999px;line-height:18px}.question-area[data-v-99716f9d]{background:#fffffff2;border-radius:24px;padding:24px 16px 18px;text-align:center;box-shadow:0 6px 20px #00000014;border:3px solid #eef7ff;position:relative;min-height:130px}.rank-badge[data-v-99716f9d]{position:absolute;top:10px;left:12px;font-size:13px;font-weight:700;padding:4px 12px;border-radius:999px;background:#fff;box-shadow:0 2px 8px #0000001f;z-index:6;white-space:nowrap}.rank-badge.rank-1[data-v-99716f9d]{color:#b8860b;background:linear-gradient(135deg,#fff7d6,#ffe9a8);border:2px solid #ffd700;animation:rank-glow-99716f9d 1.2s ease-in-out infinite alternate}.rank-badge.rank-2[data-v-99716f9d]{color:#7f8c8d;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);border:2px solid #bdc3c7}.rank-badge.rank-3[data-v-99716f9d]{color:sienna;background:linear-gradient(135deg,#fde8d7,#f8d0b0);border:2px solid #e8a87c}.rank-badge.rank-other[data-v-99716f9d]{color:#888;background:#f5f5f5;border:2px solid #ddd}@keyframes rank-glow-99716f9d{0%{box-shadow:0 0 4px #ffd70066}to{box-shadow:0 0 14px #ffd700cc}}.tip-btn[data-v-99716f9d]{position:absolute;top:8px;right:10px;border:none;background:linear-gradient(135deg,#a8e063,#56ab2f);color:#fff;font-size:13px;font-weight:700;padding:5px 12px;border-radius:999px;cursor:pointer;box-shadow:0 3px 8px #56ab2f59;transition:transform .15s,box-shadow .15s;z-index:6;white-space:nowrap}.tip-btn[data-v-99716f9d]:hover{transform:scale(1.06);box-shadow:0 4px 12px #56ab2f80}.tip-btn[data-v-99716f9d]:active{transform:scale(.96)}.expr-box[data-v-99716f9d]{display:flex;align-items:baseline;justify-content:center;gap:12px;font-size:48px;font-weight:700;color:#333;transition:transform .2s}.expr-box.ok[data-v-99716f9d]{color:#2ecc71;animation:shake-99716f9d .3s}.expr-box.wrong[data-v-99716f9d]{color:#e74c3c;animation:shake-99716f9d .3s}@keyframes shake-99716f9d{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.particles-layer[data-v-99716f9d]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:5}.particle[data-v-99716f9d]{position:absolute;bottom:22%;animation:particle-rise-99716f9d 1.3s ease-out forwards;will-change:transform,opacity}.particle.ok[data-v-99716f9d]{filter:drop-shadow(0 2px 4px rgba(46,204,113,.3))}.particle.wrong[data-v-99716f9d]{filter:drop-shadow(0 2px 4px rgba(231,76,60,.3))}@keyframes particle-rise-99716f9d{0%{opacity:0;transform:translateZ(0) scale(.4) rotate(0)}15%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),-100px,0) scale(1.15) rotate(40deg)}}.expr-text[data-v-99716f9d]{letter-spacing:4px}.eq[data-v-99716f9d]{color:#888}.answer-placeholder[data-v-99716f9d]{min-width:70px;padding:0 12px;border-bottom:4px dashed #bbb;color:#2c3e50;transition:border-color .3s}.answer-placeholder[data-v-99716f9d]:hover{border-color:#ff6b9d}.feedback[data-v-99716f9d]{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);background:#fff;padding:6px 18px;border-radius:999px;font-size:15px;font-weight:700;box-shadow:0 4px 12px #00000026;white-space:nowrap}.feedback.ok[data-v-99716f9d]{color:#2ecc71;border:2px solid #2ecc71}.feedback.wrong[data-v-99716f9d]{color:#e74c3c;border:2px solid #e74c3c}.fade-up-enter-active[data-v-99716f9d],.fade-up-leave-active[data-v-99716f9d]{transition:all .3s}.fade-up-enter-from[data-v-99716f9d]{opacity:0;transform:translate(-50%,10px)}.fade-up-leave-to[data-v-99716f9d]{opacity:0;transform:translate(-50%,-10px)}.pop-enter-active[data-v-99716f9d]{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.pop-leave-active[data-v-99716f9d]{transition:all .15s}.pop-enter-from[data-v-99716f9d]{opacity:0;transform:scale(.7)}.pop-leave-to[data-v-99716f9d]{opacity:0;transform:scale(1.1)}.keyboard[data-v-99716f9d]{background:#ffffffe6;border-radius:24px;padding:14px;box-shadow:0 6px 20px #00000014;border:3px solid #eef7ff;display:flex;flex-direction:column;gap:10px}.key-row[data-v-99716f9d]{display:flex;gap:10px}.key-btn[data-v-99716f9d]{flex:1;padding:18px 0;border:none;border-radius:16px;background:#f7f7f7;font-size:28px;font-weight:700;color:#444;cursor:pointer;transition:transform .12s,box-shadow .12s,background .2s;box-shadow:0 4px #dcdcdc;-webkit-user-select:none;user-select:none}.key-btn[data-v-99716f9d]:active{transform:translateY(3px);box-shadow:0 1px #dcdcdc}.key-btn[data-v-99716f9d]:hover{background:#fff2f6}.func-btn[data-v-99716f9d]{font-size:22px;color:#ff6b9d}.submit-btn[data-v-99716f9d]{background:linear-gradient(135deg,#6dd5ed,#2193ed);color:#fff;box-shadow:0 4px #1872b8}.submit-btn[data-v-99716f9d]:active{box-shadow:0 1px #1872b8}.overlay[data-v-99716f9d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.over-card[data-v-99716f9d]{background:#fff;border-radius:28px;padding:36px 32px;text-align:center;max-width:380px;width:100%;box-shadow:0 20px 60px #00000040;border:4px solid #ffd6e0;animation:pop-in-99716f9d .35s cubic-bezier(.34,1.56,.64,1)}@keyframes pop-in-99716f9d{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.answer-overlay[data-v-99716f9d]{z-index:200}.tip-overlay[data-v-99716f9d]{z-index:210}.tip-card[data-v-99716f9d]{background:#fff;border-radius:28px;padding:28px 30px;text-align:center;max-width:360px;width:100%;box-shadow:0 20px 60px #0000004d;border:4px solid #dcedc8;animation:answer-pop-99716f9d .4s cubic-bezier(.34,1.56,.64,1)}.tip-title[data-v-99716f9d]{font-size:22px;font-weight:700;color:#56ab2f;margin-bottom:14px}.tip-steps[data-v-99716f9d]{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.tip-step[data-v-99716f9d]{font-size:17px;color:#555;background:#f7faf5;border-radius:12px;padding:8px 14px;line-height:1.5}.tip-step.highlight[data-v-99716f9d]{color:#2e7d32;font-weight:700;background:#e8f5e9;border:2px solid #a5d6a7}.tip-close-btn[data-v-99716f9d]{border:none;background:linear-gradient(135deg,#a8e063,#56ab2f);color:#fff;padding:10px 32px;border-radius:999px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #56ab2f59;transition:transform .2s}.tip-close-btn[data-v-99716f9d]:hover{transform:scale(1.05)}.answer-card[data-v-99716f9d]{background:#fff;border-radius:28px;padding:30px 34px;text-align:center;max-width:340px;width:100%;box-shadow:0 20px 60px #0000004d;border:4px solid #f5b7b1;animation:answer-pop-99716f9d .4s cubic-bezier(.34,1.56,.64,1)}@keyframes answer-pop-99716f9d{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.answer-emoji[data-v-99716f9d]{font-size:54px;animation:answer-bounce-99716f9d 1s ease-in-out infinite}@keyframes answer-bounce-99716f9d{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.answer-label[data-v-99716f9d]{font-size:16px;color:#888;margin:12px 0 8px;font-weight:700}.answer-value[data-v-99716f9d]{display:flex;align-items:center;justify-content:center;gap:8px;font-size:32px;font-weight:700;color:#e74c3c}.answer-expr[data-v-99716f9d]{color:#555}.answer-eq[data-v-99716f9d]{color:#888}.answer-num[data-v-99716f9d]{font-size:44px;color:#e74c3c;background:#ffecec;padding:2px 18px;border-radius:18px;border:3px dashed #e74c3c}.answer-btn[data-v-99716f9d]{margin-top:18px;border:none;background:linear-gradient(135deg,#ff9a9e,#ff6b9d);color:#fff;padding:10px 28px;border-radius:999px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #ff6b9d59;transition:transform .2s}.answer-btn[data-v-99716f9d]:hover{transform:scale(1.05)}.start-overlay[data-v-99716f9d]{z-index:300}.start-card[data-v-99716f9d]{background:#fff;border-radius:28px;padding:36px 40px;text-align:center;max-width:360px;width:100%;box-shadow:0 20px 60px #0000004d;border:4px solid #ffe1ea;animation:answer-pop-99716f9d .4s cubic-bezier(.34,1.56,.64,1)}.start-emoji[data-v-99716f9d]{font-size:72px;animation:answer-bounce-99716f9d 1s ease-in-out infinite}.start-title[data-v-99716f9d]{color:#ff6b9d;font-size:26px;margin:14px 0 8px}.start-desc[data-v-99716f9d]{color:#888;font-size:16px;margin-bottom:20px}.start-btn[data-v-99716f9d]{border:none;background:linear-gradient(135deg,#ff9a9e,#ff6b9d);color:#fff;padding:14px 44px;border-radius:999px;font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #ff6b9d66;transition:transform .2s}.start-btn[data-v-99716f9d]:hover{transform:scale(1.06)}.start-error[data-v-99716f9d]{margin-top:14px;color:#e74c3c;font-size:14px}.over-emoji[data-v-99716f9d]{font-size:72px}.over-card h2[data-v-99716f9d]{font-size:26px;color:#ff6b9d;margin-top:10px}.over-desc[data-v-99716f9d]{color:#777;margin:12px 0 22px;font-size:15px;line-height:1.6}.over-actions[data-v-99716f9d]{display:flex;flex-direction:column;gap:10px}.ghost-btn[data-v-99716f9d]{border:2px solid #ff6b9d;background:#fff;color:#ff6b9d;padding:12px 28px;border-radius:999px;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s}.ghost-btn[data-v-99716f9d]:hover{background:#fff0f4}.score-page[data-v-18cf0ec8]{min-height:100%;max-width:860px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.error-emoji[data-v-18cf0ec8],.empty-emoji[data-v-18cf0ec8]{font-size:52px}.stats[data-v-18cf0ec8]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat-card[data-v-18cf0ec8]{background:#fff;border-radius:16px;padding:14px 8px;text-align:center;box-shadow:0 4px 14px #0000000f;border:3px solid #eef7ff;display:flex;flex-direction:column;gap:4px}.stat-num[data-v-18cf0ec8]{font-size:24px;font-weight:700;color:#ff6b9d}.stat-label[data-v-18cf0ec8]{font-size:13px;color:#999}.export-bar[data-v-18cf0ec8]{background:#fff;border-radius:16px;border:3px solid #eef7ff;box-shadow:0 4px 14px #0000000f;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.export-dates[data-v-18cf0ec8]{display:flex;gap:12px;flex-wrap:wrap}.date-field[data-v-18cf0ec8]{display:flex;align-items:center;gap:6px;font-size:14px;color:#666}.date-field input[data-v-18cf0ec8]{border:2px solid #ffe1ec;border-radius:10px;padding:6px 8px;font-size:14px;color:#333;outline:none;background:#fff}.date-field input[data-v-18cf0ec8]:focus{border-color:#ff6b9d}.export-btns[data-v-18cf0ec8]{display:flex;gap:8px}.detail-btn[data-v-18cf0ec8]{background:#fff0f4;border:2px solid #ffb3c7;color:#d2547a}.excel-btn[data-v-18cf0ec8]{background:#e8f8ef;border:2px solid #9fe8bf;color:#1e9e5a}.detail-btn[data-v-18cf0ec8],.excel-btn[data-v-18cf0ec8]{border-radius:12px;padding:8px 14px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.detail-btn[data-v-18cf0ec8]:not(:disabled):hover{background:#ffe6ee}.excel-btn[data-v-18cf0ec8]:not(:disabled):hover{background:#d6f4e3}.detail-btn[data-v-18cf0ec8]:disabled,.excel-btn[data-v-18cf0ec8]:disabled{opacity:.5;cursor:not-allowed}.export-tip[data-v-18cf0ec8]{text-align:center;color:#aaa;font-size:13px;margin:-8px 0 0}.table-wrap[data-v-18cf0ec8]{background:#fff;border-radius:18px;box-shadow:0 6px 20px #0000000f;border:3px solid #eef7ff;overflow:hidden}table[data-v-18cf0ec8]{width:100%;border-collapse:collapse;font-size:14px}thead[data-v-18cf0ec8]{background:#fff0f4}th[data-v-18cf0ec8]{padding:12px 10px;color:#d2547a;font-size:14px;text-align:center;white-space:nowrap}td[data-v-18cf0ec8]{padding:10px;text-align:center;border-top:1px solid #f5f5f5;color:#555}tr[data-v-18cf0ec8]:nth-child(2n){background:#fafcff}.expr-cell[data-v-18cf0ec8]{font-family:Comic Sans MS,monospace;font-size:16px;font-weight:700;color:#333}.badge[data-v-18cf0ec8]{display:inline-block;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:700}.badge.right[data-v-18cf0ec8]{background:#e8f8ef;color:#2ecc71}.badge.wrong[data-v-18cf0ec8]{background:#fdecea;color:#e74c3c}.more-hint[data-v-18cf0ec8]{text-align:center;color:#aaa;font-size:13px}.modal-mask[data-v-18cf0ec8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}.modal[data-v-18cf0ec8]{background:#fff;border-radius:20px;width:100%;max-width:780px;max-height:86vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px #0003}.modal-header[data-v-18cf0ec8]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:2px solid #f5f5f5}.modal-header h2[data-v-18cf0ec8]{font-size:17px;color:#333}.close-btn[data-v-18cf0ec8]{border:none;background:#f5f5f5;border-radius:50%;width:32px;height:32px;font-size:14px;color:#888;cursor:pointer}.close-btn[data-v-18cf0ec8]:hover{background:#ececec}.modal-loading[data-v-18cf0ec8]{padding:32px 0}.tab-bar[data-v-18cf0ec8]{display:flex;gap:8px;padding:12px 18px 0}.tab-btn[data-v-18cf0ec8]{border:2px solid #ffe1ec;background:#fff;color:#d2547a;border-radius:999px;padding:6px 16px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.tab-btn.active[data-v-18cf0ec8]{background:#ff6b9d;border-color:#ff6b9d;color:#fff}.modal-body[data-v-18cf0ec8]{padding:12px 18px 18px;overflow:auto;max-height:55vh}.empty-inline[data-v-18cf0ec8]{text-align:center;color:#aaa;padding:32px 0;font-size:14px}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:Comic Sans MS,Chalkboard SE,PingFang SC,Microsoft YaHei,sans-serif;background:linear-gradient(135deg,#fde8f0,#e0f4ff,#fff4dd);color:#333;-webkit-font-smoothing:antialiased}button{font-family:inherit}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.card-container{width:100%;max-width:420px;background:#fff;border-radius:24px;padding:32px 28px;box-shadow:0 12px 40px #0000001f;border:4px solid #ffd6e0;text-align:center}.centered-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px}.brand-header .logo{font-size:64px;line-height:1;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.brand-header h1{font-size:30px;color:#ff6b9d;margin-top:8px}.brand-header .subtitle{color:#888;margin-top:6px;font-size:14px}.animals{font-size:34px;display:flex;justify-content:center;gap:18px;letter-spacing:6px}.animals span{animation:float 3s ease-in-out infinite}.animals span:nth-child(2){animation-delay:.4s}.animals span:nth-child(3){animation-delay:.8s}.animals span:nth-child(4){animation-delay:1.2s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}.top-bar .title{font-size:24px;color:#ff6b9d;text-shadow:2px 2px 0 #ffe1ea;letter-spacing:2px}.back-btn,.game-btn,.score-link-btn{border:none;background:#fff;padding:8px 14px;border-radius:999px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 3px 8px #00000014;transition:transform .2s;color:#666}.back-btn:hover,.game-btn:hover,.score-link-btn:hover{transform:scale(1.05)}.center-status{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-size:18px;color:#888;text-align:center;padding:40px}.loading-spinner{width:40px;height:40px;border:6px solid #ffd6e0;border-top-color:#ff6b9d;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.primary-btn{border:none;padding:12px 28px;border-radius:999px;background:linear-gradient(135deg,#ff9a9e,#ff6b9d);color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 5px 14px #ff6b9d59;transition:transform .2s}.primary-btn:hover{transform:scale(1.05)}
