:root{
  /* Apple-style iOS Dark Mode Palette */
  --bg:#000000;--s1:#1c1c1e;--s2:#2c2c2e;--s3:#3a3a3c;--s4:#48484a;
  --b1:rgba(255,255,255,0.1);--b2:rgba(255,255,255,0.15);--b3:rgba(255,255,255,0.2);
  --gold:#ffd60a;--gold2:#ffdf3a;
  --blue:#0a84ff;--green:#30d158;--red:#ff453a;--purple:#bf5af2;--orange:#ff9f0a;
  --cyan:#64d2ff;--gray:#8e8e93;
  --text:#f2f2f7;--t2:#ebebf5;--t3:#8e8e93;
  --r:18px;--rs:14px;--nav-h:64px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;overflow:hidden;background-color:var(--bg);}
body{color:var(--text);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;display:flex;flex-direction:column; padding-top: env(safe-area-inset-top);}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input{font-family:inherit;}

/* SCREENS */
.screen{display:none;flex-direction:column;height:100%;overflow:hidden;}
.screen.active{display:flex;animation:fadein .3s cubic-bezier(0.2,0,0,1);}
@keyframes fadein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ═══ ONBOARDING ═══ */
#scr-ob{align-items:center;justify-content:center;padding:40px 24px 60px;
  background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(10,132,255,0.15) 0%,transparent 70%);}
.ob-logo{font-family:'DM Serif Display',serif;font-size:54px;line-height:1;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;}
.ob-sub{color:var(--t3);font-size:11px;letter-spacing:3px;text-transform:uppercase;margin:6px 0 40px;text-align:center;}
.ob-card{background:var(--s1);border:1px solid var(--b2);border-radius:24px;padding:24px 20px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px;box-shadow: 0 8px 24px rgba(0,0,0,0.3);}
.ob-lbl{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--t3);margin-bottom:3px;}
.ob-inp{width:100%;background:var(--s2);border:1px solid var(--b2);border-radius:var(--rs);padding:16px;font-size:16px;color:var(--text);outline:none;transition:border-color .2s, box-shadow .2s;}
.ob-inp:focus{border-color:var(--gold); box-shadow: 0 0 0 3px rgba(255,214,10,0.15);}
.ob-btn{width:100%;padding:16px;border:none;background:linear-gradient(135deg,var(--gold),#e0bc00);color:#000;font-size:16px;font-weight:600;border-radius:var(--rs);transition:transform .15s, opacity .15s; box-shadow: 0 4px 12px rgba(255,214,10,0.2);}
.ob-btn:active{transform:scale(0.97); opacity:.85;}
.ob-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:360px;margin-top:28px;}
.ob-feat-ico{font-size:20px;text-align:center;margin-bottom:3px;}
.ob-feat-txt{font-size:10px;color:var(--t3);line-height:1.3;text-align:center;}

/* ═══ MAIN APP ═══ */
#scr-app{position:relative;}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid var(--b1);flex-shrink:0;background:var(--bg);}
.greet{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:2px;}
.uname{font-family:'DM Serif Display',serif;font-size:22px;color:var(--gold);line-height:1.1;}
.pills{display:flex;gap:7px;}
.pill{display:flex;align-items:center;gap:5px;background:var(--s2);border:1px solid var(--b1);border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600;box-shadow: 0 2px 6px rgba(0,0,0,0.2);}
.pill-fire{color:var(--orange);}
.pill-xp{color:var(--gold);}

/* SCROLL */
.scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 14px calc(var(--nav-h) + 20px + env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:var(--s3) transparent;}

/* BOTTOM NAV */
.bottom-nav{position:absolute;bottom:0;left:0;right:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));background:var(--s1);border-top:1px solid var(--b2);display:flex;align-items:flex-start;justify-content:space-around;padding:4px 8px 0;z-index:100;flex-shrink:0;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:rgba(28,28,30,0.75);}
.bnav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;border-radius:12px;transition:all .2s;color:var(--t3);font-size:10px;font-weight:500;letter-spacing:.3px;}
.bnav-btn.active{color:var(--gold);}
.bnav-btn.active .bnav-ico{background:rgba(255,214,10,0.15);color:var(--gold);transform:translateY(-2px);}
.bnav-ico{font-size:20px;width:40px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:14px;transition:all .2s;}

/* SECTIONS */
.sec{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--t3);margin:20px 0 12px;font-weight:600;}
.sec:first-child{margin-top:0;}

/* HERO */
.hero{background:linear-gradient(135deg,var(--s2),rgba(10,132,255,0.08));border:1px solid var(--b2);border-radius:var(--r);padding:20px;margin-bottom:14px;box-shadow: 0 6px 16px rgba(0,0,0,0.2);}
.hero-lbl{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--blue);margin-bottom:6px;font-weight:600;}
.hero-ttl{font-family:'DM Serif Display',serif;font-size:20px;line-height:1.3;margin-bottom:12px;}
.pbar{height:8px;background:var(--s4);border-radius:4px;overflow:hidden;box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);}
.pbar-fill{height:100%;border-radius:4px;transition:width .8s cubic-bezier(0.2,0,0,1);}
.pbar-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--t3);margin-top:8px;}

/* MODE GRID */
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.mcard{background:var(--s1);border:1px solid var(--b2);border-radius:var(--r);padding:16px 14px;cursor:pointer;transition:transform .15s, background .15s, box-shadow .15s;display:flex;flex-direction:column;gap:6px;user-select:none;box-shadow: 0 4px 10px rgba(0,0,0,0.15);}
.mcard:active{transform:scale(.95);background:var(--s2);box-shadow: 0 2px 5px rgba(0,0,0,0.1);}
.mcard.full{grid-column:1/-1;background:linear-gradient(135deg,rgba(255,214,10,0.06),rgba(10,132,255,0.06));border-color:rgba(255,214,10,0.2);}
.mcard-ico{font-size:24px;margin-bottom:2px;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2));}
.mcard-name{font-weight:600;font-size:14px;}
.mcard-desc{font-size:12px;color:var(--t3);line-height:1.4;}
.badge{display:inline-block;font-size:9px;padding:3px 8px;border-radius:12px;font-weight:700;}
.bg{background:rgba(255,214,10,0.15);color:var(--gold);}
.bb{background:rgba(10,132,255,0.15);color:var(--blue);}

/* STATS */
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.scard{background:var(--s1);border:1px solid var(--b2);border-radius:var(--rs);padding:16px;text-align:center;box-shadow: 0 4px 10px rgba(0,0,0,0.15);}
.snum{font-family:'DM Serif Display',serif;font-size:28px;}
.slbl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-weight:600;}

/* VERB LIST */
.vlist{display:flex;flex-direction:column;gap:10px;}
.vrow{background:var(--s1);border:1px solid var(--b2);border-radius:var(--rs);padding:14px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:transform .15s, background .15s;box-shadow: 0 2px 8px rgba(0,0,0,0.15);}
.vrow:active{transform:scale(.97);background:var(--s2);}
.vdot{width:6px;height:32px;border-radius:3px;flex-shrink:0;}
.m0{background:var(--red);opacity:.4}.m1{background:var(--red)}.m2{background:var(--orange)}.m3{background:var(--gold)}.m4{background:var(--green);opacity:.7}.m5{background:var(--green)}
.vtxt{flex:1;min-width:0;}
.vde{font-weight:600;font-size:16px;letter-spacing:.2px;}
.vru{font-size:13px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;}
.vsnd{width:36px;height:36px;border-radius:50%;border:1px solid var(--b2);background:var(--s2);color:var(--t2);font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;box-shadow: 0 2px 6px rgba(0,0,0,0.2);}
.vsnd:active{background:rgba(10,132,255,0.2);color:var(--blue);border-color:var(--blue);transform:scale(.9);}

/* FILTER TABS */
.ftabs{display:flex;gap:10px;margin-bottom:16px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px;}
.ftabs::-webkit-scrollbar{display:none;}
.ftab{flex-shrink:0;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;border:1px solid var(--b2);background:var(--s1);color:var(--t3);transition:all .2s;}
.ftab.active{background:var(--s3);color:var(--text);border-color:var(--b3);box-shadow: 0 2px 6px rgba(0,0,0,0.2);}

/* PROFILE */
.prof-hero{background:linear-gradient(135deg,rgba(255,214,10,0.08),rgba(10,132,255,0.08));border:1px solid var(--b2);border-radius:var(--r);padding:22px;display:flex;align-items:center;gap:18px;margin-bottom:16px;box-shadow: 0 6px 16px rgba(0,0,0,0.2);}
.avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--blue));display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:26px;color:#000;flex-shrink:0;box-shadow: 0 4px 12px rgba(255,214,10,0.3);}
.pname{font-family:'DM Serif Display',serif;font-size:22px;color:var(--gold);}
.plvl{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:1px;margin-top:2px;font-weight:600;}
.xpbar{height:6px;background:var(--s4);border-radius:3px;overflow:hidden;margin-top:10px;box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);}
.xpbar-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--blue));border-radius:3px;transition:width .8s cubic-bezier(0.2,0,0,1);}
.xplbl{font-size:11px;color:var(--t3);margin-top:6px;}
.ach-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ach{background:var(--s1);border:1px solid var(--b2);border-radius:var(--rs);padding:16px;display:flex;align-items:center;gap:12px;box-shadow: 0 4px 10px rgba(0,0,0,0.15);}
.ach.locked{opacity:.4;filter:grayscale(1);}
.ach-ico{font-size:24px;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2));}
.ach-name{font-size:13px;font-weight:600;}
.ach-desc{font-size:11px;color:var(--t3);margin-top:3px;}
.danger-btn{width:100%;padding:16px;background:rgba(255,69,58,0.1);border:1px solid rgba(255,69,58,0.25);border-radius:var(--rs);color:var(--red);font-size:15px;font-weight:600;transition:transform .15s, opacity .15s;}
.danger-btn:active{transform:scale(.97); opacity:.8;}

/* ═══ PRACTICE ═══ */
#scr-pr{background:var(--bg);}
.pr-head{display:flex;align-items:center;gap:14px;padding:16px 18px 12px;border-bottom:1px solid var(--b1);flex-shrink:0;}
.back-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--b2);background:var(--s1);color:var(--t2);font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s, background .15s;box-shadow: 0 2px 6px rgba(0,0,0,0.15);}
.back-btn:active{background:var(--s3);color:var(--text);transform:scale(.9);}
.pr-ttl{font-family:'DM Serif Display',serif;font-size:22px;flex:1;}
.pr-cnt{font-size:14px;color:var(--t3);font-weight:600;background:var(--s2);padding:4px 10px;border-radius:12px;}
.pr-pbar{padding:12px 18px;flex-shrink:0;}
.pr-pbar-track{height:8px;background:var(--s3);border-radius:4px;overflow:hidden;box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);}
.pr-pbar-fill{height:100%;border-radius:4px;transition:width .4s cubic-bezier(0.2,0,0,1);}
.pr-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 18px 80px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:var(--s3) transparent;}

/* FLASHCARD */
.fc-wrap{perspective:1200px;}
.fc{width:100%;min-height:260px;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);cursor:pointer;}
.fc.flipped{transform:rotateY(180deg);}
.fc-face{position:absolute;width:100%;min-height:260px;backface-visibility:hidden;border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px;gap:12px;box-shadow: 0 8px 24px rgba(0,0,0,0.25);}
.fc-front{background:var(--s1);border:1px solid var(--b2);}
.fc-back{transform:rotateY(180deg);background:linear-gradient(135deg,#121c12,#182418);border:1px solid rgba(48,209,88,0.3);}
.fc-lbl{font-size:11px;text-transform:uppercase;letter-spacing:3px;color:var(--t3);font-weight:600;}
.fc-word{font-family:'DM Serif Display',serif;font-size:clamp(28px,9vw,46px);text-align:center;line-height:1.1;}
.fc-front .fc-word{color:var(--text);}
.fc-back .fc-word{color:var(--green);}
.snd-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--b2);background:var(--s2);color:var(--t2);font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s, background .15s;box-shadow: 0 4px 10px rgba(0,0,0,0.2);}
.snd-btn:active{background:rgba(10,132,255,0.2);border-color:var(--blue);color:var(--blue);transform:scale(.9);}

/* RATING */
.rating-wrap{display:none;flex-direction:column;gap:14px;}
.rating-wrap.show{display:flex;animation:fadein .4s ease;}
.rating-lbl{text-align:center;font-size:12px;color:var(--t3);text-transform:uppercase;letter-spacing:2px;font-weight:600;}
.rating-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.rbtn{padding:14px 4px;border:1px solid var(--b2);background:var(--s1);border-radius:var(--rs);display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .15s, background .15s;box-shadow: 0 4px 10px rgba(0,0,0,0.15);}
.rbtn:active{transform:scale(.92);background:var(--s2);}
.rbtn-score{font-size:18px;font-weight:700;}
.rbtn-lbl{font-size:11px;color:var(--t3);font-weight:600;}
.r0 .rbtn-score{color:var(--red)}.r1 .rbtn-score{color:var(--orange)}.r2 .rbtn-score{color:var(--gold)}.r3 .rbtn-score{color:var(--green)}

/* QUIZ */
.quiz-prompt{background:var(--s1);border:1px solid var(--b2);border-radius:var(--r);padding:28px 18px;text-align:center;box-shadow: 0 6px 16px rgba(0,0,0,0.2);}
.quiz-de{font-family:'DM Serif Display',serif;font-size:clamp(28px,9vw,46px);color:var(--gold);}
.quiz-sub{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:2px;margin-top:8px;font-weight:600;}
.snd-row{display:flex;justify-content:center;margin-top:16px;}
.opts{display:flex;flex-direction:column;gap:10px;}
.opt{padding:16px 18px;background:var(--s1);border:1px solid var(--b2);border-radius:var(--rs);font-size:16px;text-align:left;transition:transform .15s, background .15s, border .15s;color:var(--text);box-shadow: 0 4px 10px rgba(0,0,0,0.15);}
.opt:active:not([disabled]){transform:scale(.96);background:var(--s2);}
.opt.correct{border-color:var(--green);background:rgba(48,209,88,0.1);color:var(--green);}
.opt.wrong{border-color:var(--red);background:rgba(255,69,58,0.1);color:var(--red);}

/* TYPE */
.type-prompt{background:var(--s1);border:1px solid var(--b2);border-radius:var(--r);padding:28px 18px;text-align:center;box-shadow: 0 6px 16px rgba(0,0,0,0.2);}
.type-ru{font-family:'DM Serif Display',serif;font-size:clamp(24px,8vw,38px);color:var(--purple);line-height:1.2;}
.type-sub{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:2px;margin-top:8px;font-weight:600;}
.conj-prompt{background:var(--s1);border:1px solid var(--b2);border-radius:var(--r);padding:28px 18px;text-align:center;box-shadow: 0 6px 16px rgba(0,0,0,0.2);}
.conj-vbig{font-family:'DM Serif Display',serif;font-size:clamp(24px,8vw,38px);color:var(--blue);}
.conj-vru{font-size:15px;color:var(--t3);margin-top:6px;}
.conj-pbig{font-size:24px;font-weight:700;color:var(--purple);margin-top:16px;}
.inp-row{display:flex;gap:10px;}
.tinp{flex:1;background:var(--s2);border:1px solid var(--b2);border-radius:var(--rs);padding:16px 18px;font-size:18px;color:var(--text);outline:none;transition:border-color .2s, box-shadow .2s;text-align:center;}
.tinp:focus{border-color:var(--gold);box-shadow: 0 0 0 3px rgba(255,214,10,0.15);}
.tinp.ok{border-color:var(--green);}
.tinp.bad{border-color:var(--red);}
.chk-btn{padding:16px 24px;background:var(--gold);color:#000;border:none;border-radius:var(--rs);font-size:16px;font-weight:600;white-space:nowrap;transition:transform .15s, opacity .15s;box-shadow: 0 4px 12px rgba(255,214,10,0.2);}
.chk-btn:active{transform:scale(.95);opacity:.9;}
.chk-btn:disabled{opacity:.45;cursor:default;transform:none;}
.fbbar{padding:14px 18px;border-radius:var(--rs);font-size:15px;font-weight:600;text-align:center;display:none;animation:fadein .3s ease;}
.fbbar.ok{background:rgba(48,209,88,0.15);color:var(--green);border:1px solid rgba(48,209,88,0.3);}
.fbbar.bad{background:rgba(255,69,58,0.15);color:var(--red);border:1px solid rgba(255,69,58,0.3);}

/* SENTENCE BUILD */
.sb-prompt{background:var(--s1);border:1px solid var(--b2);border-radius:var(--r);padding:24px 20px;box-shadow: 0 6px 16px rgba(0,0,0,0.2);}
.sb-task{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:2px;margin-bottom:10px;font-weight:600;}
.sb-ru{font-family:'DM Serif Display',serif;font-size:clamp(22px,7vw,32px);color:var(--purple);line-height:1.3;}
.sb-area{min-height:64px;background:var(--s2);border:1px solid var(--b2);border-radius:var(--rs);padding:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;cursor:pointer;transition:border-color .2s;}
.sb-area.ok-border{border-color:var(--green);background:rgba(48,209,88,0.05);}
.sb-area.bad-border{border-color:var(--red);background:rgba(255,69,58,0.05);}
.sb-chip{padding:10px 16px;background:var(--s3);border:1px solid var(--b2);border-radius:24px;font-size:16px;font-weight:500;cursor:pointer;transition:transform .15s, background .15s, border-color .15s;user-select:none;box-shadow: 0 2px 6px rgba(0,0,0,0.2);}
.sb-chip:active{transform:scale(.92);}
.sb-chip.placed{background:rgba(10,132,255,0.15);border-color:rgba(10,132,255,0.3);color:var(--blue);}
.sb-bank{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0;}
.sb-placeholder{font-size:14px;color:var(--t3);font-style:italic;}

/* MODAL */
.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,0.85);display:none;align-items:flex-end;justify-content:center;z-index:400;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.modal-ov.open{display:flex;}
.modal{background:var(--s1);border:1px solid var(--b2);border-radius:28px 28px 0 0;padding:24px 24px 40px;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;animation:slideup .35s cubic-bezier(0.2,0,0,1);box-shadow: 0 -8px 24px rgba(0,0,0,0.3);}
@keyframes slideup{from{transform:translateY(100%)}to{transform:translateY(0)}}
.modal-handle{width:48px;height:6px;background:var(--s4);border-radius:3px;margin:0 auto 20px;}
.modal-verb{font-family:'DM Serif Display',serif;font-size:38px;color:var(--gold);}
.modal-ru{font-size:16px;color:var(--t2);margin:6px 0 16px;line-height:1.4;}
.modal-snd{width:100%;padding:16px;background:rgba(10,132,255,0.1);border:1px solid rgba(10,132,255,0.25);border-radius:var(--rs);color:var(--blue);font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px;transition:transform .15s, background .15s;}
.modal-snd:active{transform:scale(.97);background:rgba(10,132,255,0.2);}
.modal-sec{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--t3);margin-bottom:12px;font-weight:600;}
.modal-cr{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid var(--b1);gap:10px;}
.modal-cr:last-child{border-bottom:none;}
.modal-pro{font-size:14px;color:var(--t3);min-width:85px;}
.modal-form{font-size:16px;font-weight:600;flex:1;color:var(--text);}
.modal-close{width:100%;padding:16px;background:var(--s2);border:1px solid var(--b2);border-radius:var(--rs);color:var(--t2);font-size:16px;font-weight:600;margin-top:20px;transition:transform .15s, background .15s;}
.modal-close:active{transform:scale(.97);background:var(--s3);color:var(--text);}

/* FINISH */
.fin-ov{position:fixed;inset:0;background:rgba(0,0,0,0.9);display:none;align-items:center;justify-content:center;z-index:500;padding:24px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.fin-ov.open{display:flex;}
.fin-card{background:var(--s1);border:1px solid var(--b2);border-radius:28px;padding:32px 24px;width:100%;max-width:380px;text-align:center;animation:bouncein .5s cubic-bezier(0.3,1.5,0.6,1);box-shadow: 0 12px 32px rgba(0,0,0,0.4);}
@keyframes bouncein{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}
.fin-emoji{font-size:64px;margin-bottom:16px;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.3));}
.fin-ttl{font-family:'DM Serif Display',serif;font-size:32px;color:var(--gold);margin-bottom:8px;}
.fin-sub{color:var(--t3);font-size:15px;margin-bottom:24px;font-weight:500;}
.xp-pill{background:rgba(255,214,10,0.1);border:1px solid rgba(255,214,10,0.25);border-radius:var(--rs);padding:14px;color:var(--gold);font-size:16px;font-weight:700;margin-bottom:16px;box-shadow: 0 4px 10px rgba(255,214,10,0.15);}
.fin-btns{display:flex;flex-direction:column;gap:10px;}
.fbtn{padding:16px;border-radius:var(--rs);font-size:16px;font-weight:600;border:none;transition:transform .15s, opacity .15s;}
.fbtn:active{transform:scale(.96);opacity:.85;}
.fbtn-p{background:linear-gradient(135deg,var(--gold),#e0bc00);color:#000;}
.fbtn-s{background:var(--s2);color:var(--text);border:1px solid var(--b2);}

/* UTILS */
.hidden{display:none!important;}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.shake{animation:shake .3s ease;}

@keyframes pulse {
  0% { opacity: 0.5; transform: scale(0.98); }
  50% { opacity: 1; transform: scale(1); }
  100% { opacity: 0.5; transform: scale(0.98); }
}
