*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:linear-gradient(170deg,#ffe6f0,#f0e6ff 45%,#e0f7f0);background-attachment:fixed;color:#6b4a5c}.page{max-width:460px;margin:0 auto;padding:28px 18px 40px;display:flex;flex-direction:column;align-items:stretch;min-height:100vh}.page>*+*{margin-top:8px}.brand{text-align:center;font-size:14px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:#b88ad4;text-shadow:0 1px 0 #ffffff90}.page>.brand+.title{margin-top:0}.card-brand{position:absolute;top:8px;right:16px;font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#d8a8c4}.title{font-size:30px;text-align:center;margin:6px 0 0;color:#b35a8a;text-shadow:0 2px 0 #ffffff80}.title.small{font-size:25px}.subtitle{text-align:center;margin:0 0 10px;color:#a87a94;font-size:16px}.bounce{display:inline-block;animation:bounce 1.2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.card-list{display:flex;flex-direction:column;margin:8px 0 16px}.card-list>*+*{margin-top:14px}.player-card{position:relative;display:flex;align-items:center;background:#fffc;border:3px solid #ffd6e7;border-radius:26px;padding:16px 18px;cursor:pointer;text-align:left;font:inherit;color:inherit;box-shadow:0 6px 16px #d8a8c440;transition:transform .15s ease,box-shadow .15s ease}.player-card:active,.player-card:hover{transform:scale(1.02);box-shadow:0 8px 22px #d8a8c460}.player-avatar{font-size:46px;background:linear-gradient(135deg,#ffe6f0,#e6f0ff);border-radius:20px;width:72px;height:72px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:16px}.player-name{font-size:20px;font-weight:700;color:#8a4a6e}.player-level{font-size:14px;color:#b07a9a;font-weight:600}.player-stats{font-size:13px;color:#a88a9c;margin-top:2px}.player-badge{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;background:#fff3a0;color:#8a6a2a;border-radius:999px;padding:3px 10px}.menu-header{text-align:center;background:#fffa;border-radius:26px;padding:18px;border:3px solid #ffd6e7}.menu-avatar{font-size:54px}.menu-list{display:flex;flex-direction:column;margin-top:14px}.menu-list>*+*{margin-top:12px}.btn{font:inherit;font-size:18px;font-weight:700;color:#8a4a6e;background:#fffc;border:3px solid #ffd6e7;border-radius:999px;padding:13px 22px;cursor:pointer;box-shadow:0 4px 10px #d8a8c430;transition:transform .12s ease}.btn:active,.btn:hover{transform:scale(1.03)}.btn.primary{background:linear-gradient(135deg,#ff9ad5,#c79aff);color:#fff;border-color:#ffffff90;text-shadow:0 1px 2px #00000020}.btn.big{font-size:22px;padding:16px 22px}.btn.ghost{background:transparent;border-color:#d8b8c8;box-shadow:none}.progress-bar{height:14px;background:#f0dce8;border-radius:999px;overflow:hidden;margin:10px 0 6px}.progress-fill{height:100%;background:linear-gradient(90deg,#ff9ad5,#ffd86b);border-radius:999px;transition:width .6s ease}.game-page{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a2438;display:flex;align-items:center;justify-content:center}.game-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.game-container canvas{border-radius:12px;max-height:100vh;max-height:100dvh}.quit-btn{position:fixed;top:14px;right:14px;z-index:10;width:42px;height:42px;border-radius:50%;border:none;font-size:18px;font-weight:700;background:#ffffffd0;color:#8a4a6e;cursor:pointer}.summary-card{background:#fffc;border:3px solid #ffd6e7;border-radius:26px;padding:18px 20px;display:flex;flex-direction:column}.summary-card>*+*{margin-top:8px}.summary-row{display:flex;justify-content:space-between;font-size:16px;font-weight:600;color:#8a6a7c}.big-row{align-items:center}.big-num{font-size:44px;font-weight:800;color:#b35a8a}.tag{background:#e6f0ff;color:#4a6a9a;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700;text-align:center;animation:pop .4s ease}.tag.gold{background:#fff3a0;color:#8a6a2a}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;margin:0!important;pointer-events:none;overflow:hidden;z-index:50}.confetti span{position:absolute;top:-12px;width:10px;height:14px;border-radius:3px;animation:fall linear infinite}@keyframes fall{to{transform:translateY(105vh) rotate(540deg)}}.tabs{display:flex;flex-wrap:wrap;justify-content:center;margin-bottom:4px}.tab{margin:4px;font:inherit;font-size:13px;font-weight:700;border:2px solid #ffd6e7;background:#fffa;color:#a87a94;border-radius:999px;padding:7px 13px;cursor:pointer}.tab.active{background:linear-gradient(135deg,#ff9ad5,#c79aff);color:#fff;border-color:transparent}.leader-row{display:flex;align-items:center;background:#fffc;border:3px solid #ffd6e7;border-radius:22px;padding:12px 16px}.leader-row>*+*{margin-left:14px}.leader-row.first{border-color:#ffd86b;box-shadow:0 0 18px #ffd86b80}.rank{font-size:20px;font-weight:800;color:#b35a8a;width:26px;text-align:center}.leader-avatar{font-size:34px}.leader-info{flex:1}.leader-badge{font-size:24px}.achievement-row{display:flex;align-items:center;background:#fffc;border:3px solid #ffd6e7;border-radius:22px;padding:12px 16px}.achievement-row>*+*{margin-left:14px}.achievement-row.locked{opacity:.55;filter:grayscale(.6)}.achievement-emoji{font-size:30px;width:44px;text-align:center}.customize-section{margin-bottom:6px}.section-title{font-size:18px;color:#8a4a6e;margin:10px 0 8px}.cosmetic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cosmetic{font:inherit;background:#fffc;border:3px solid #ffd6e7;border-radius:18px;padding:12px 6px;cursor:pointer;color:#8a4a6e;display:flex;flex-direction:column;align-items:center}.cosmetic>*+*{margin-top:4px}.cosmetic.selected{border-color:#ff9ad5;background:#fff0f7;box-shadow:0 0 12px #ff9ad560}.cosmetic.locked{opacity:.55;cursor:not-allowed}.cosmetic-emoji{font-size:28px}.cosmetic-title{font-size:12px;font-weight:700;text-align:center}.cosmetic-req{font-size:11px;color:#b08aa0}.howto p{margin:4px 0;font-size:16px;line-height:1.5}
