:root{--bg: #100e28;--bg2: #1b1746;--surface: #241f5c;--surface2: #2c2770;--line: #3a3490;--violet: #8b7cf6;--violet-d: #6d5ee0;--gold: #f6b73c;--gold-b: #ffd479;--green: #4ade80;--red: #fb7185;--cyan: #5bd6f0;--text: #f4f2ff;--muted: #b7b2e0;--muted2: #8c87bd;--rlg: 28px;--rmd: 18px;--rsm: 12px;--disp: "Fredoka", system-ui, sans-serif;--body: "Nunito", system-ui, sans-serif;--shadow: 0 12px 32px rgba(8, 6, 24, .5);--tg-safe-top: env(safe-area-inset-top, 0px);--tg-safe-bottom: env(safe-area-inset-bottom, 0px);--tg-safe-left: env(safe-area-inset-left, 0px);--tg-safe-right: env(safe-area-inset-right, 0px);--tg-content-top: 0px;--tg-content-bottom: 0px;--tabbar-h: calc(58px + var(--tg-safe-bottom))}*{box-sizing:border-box}html,body{margin:0;padding:0}[dir=rtl] body{text-align:right}[dir=rtl] .hint,[dir=rtl] .sec-title{text-align:start}[dir=rtl] .rtl-flip{display:inline-block;transform:scaleX(-1)}body{font-family:var(--body);color:var(--text);background:radial-gradient(1200px 680px at 50% -8%,#2a2270 0%,transparent 60%),radial-gradient(900px 520px at 100% 0%,#3a2a66 0%,transparent 55%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;overflow-x:hidden}#app{min-height:100vh}button{font-family:inherit}::-webkit-scrollbar{width:0;height:0}.app{max-width:440px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;position:relative}.card{background:linear-gradient(180deg,var(--surface) 0%,#201b54 100%);border:1px solid var(--line);border-radius:var(--rmd);padding:14px;box-shadow:var(--shadow)}.card+.card{margin-top:12px}.sec-title{display:flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:18px;margin:6px 2px 10px}.sec-title svg{width:20px;height:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,var(--gold),#e89a23);color:#2a1c00;border:0;border-radius:15px;padding:12px 14px;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 8px 22px #f6b73c59;transition:transform .12s,filter .12s}.btn:active{transform:translateY(1px)}.btn.violet{background:linear-gradient(135deg,var(--violet),var(--violet-d));color:#fff;box-shadow:0 8px 22px #6d5ee066}.btn.ghost{background:#ffffff0f;color:var(--text);border:1px solid var(--line);box-shadow:none}.btn:disabled{opacity:.45;cursor:default}.btn2{background:linear-gradient(135deg,var(--surface2),#241f60);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:9px 10px;font-weight:800;font-size:11.5px;cursor:pointer}.btn2:disabled{opacity:.45;cursor:default}.muted{color:var(--muted)}.hint{font-size:11px;color:var(--muted2);line-height:1.5}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.screen-anim{animation:fade .25s ease}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 6px 18px #f6b73c73}50%{transform:scale(1.06);box-shadow:0 8px 26px #f6b73cb3}}@keyframes ring{0%{opacity:.8;transform:scale(.9)}to{opacity:0;transform:scale(1.06)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){fx-*): они мягкие/несестибулярные,а iOS Low Power Mode выдаёт reduce и раньше «замораживал» Lumi. Селектор [style*="animation"] убран — он ловил инлайн-стиль группы питомца (animation-duration/-delay). */ .screen-anim{animation:none!important}}
