:root{--navy:#173384;--ink:#020B77;--pig:#0130C0;--sky:#0148FE;--frost:#88A9E3;--mute:#4A5680;--line:rgba(2,11,119,.14);--soft:#f3f6fc}
*{box-sizing:border-box;margin:0}html,body{background:#fff;color:var(--navy);font-family:Inter,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;height:100%}
.disp{font-family:Syncopate,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.mono.strong{font-size:11px;font-weight:700;letter-spacing:.12em}.pig{color:var(--pig)}
.mute{color:var(--mute)}
button{font-family:inherit;color:inherit}
.frame{min-height:100vh;display:grid;grid-template-columns:1fr;justify-items:center;background:#fff}
.app{position:relative;width:100%;max-width:480px;height:100vh;height:100dvh;display:flex;flex-direction:column;background:#fff;overflow:hidden}
.side{display:none}
@media(min-width:1000px){.frame{grid-template-columns:1fr 480px 1fr;align-items:start;background:var(--soft);min-height:100vh}.app{grid-column:2;height:100vh;box-shadow:0 0 0 1px var(--line),0 40px 100px rgba(2,11,119,.14)}.side{display:block;grid-column:3;padding:64px 48px;max-width:420px}.side h1{font-size:30px;line-height:1.05;margin:14px 0 16px}.side p{color:var(--mute);line-height:1.6;margin-bottom:22px}}
/* top */
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 12px;position:sticky;top:0;background:var(--navy);color:#fff;z-index:5}.top .lvl{color:var(--frost)}.top .who img{box-shadow:0 0 0 2px #fff}.bal{background:#fff;border:0;color:var(--navy)}
.who{display:flex;align-items:center;gap:12px}.who img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--navy)}
.who .name{font-size:12px;margin-top:4px}.lvl{color:var(--pig)}
.bal{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--navy);padding:8px 12px 8px 8px;cursor:pointer}
.bal .tk{width:24px;height:24px;object-fit:contain}.bal b{font-size:13px;letter-spacing:.06em;font-variant-numeric:tabular-nums}
main{flex:1;min-height:0;padding:18px 18px 40px;overflow:auto;-webkit-overflow-scrolling:touch}
/* tabs */
.tabs{flex:none;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--line);z-index:5}
.tabs button{background:#fff;border:0;padding:10px 4px 12px;display:grid;justify-items:center;gap:4px;cursor:pointer;color:var(--mute)}
.tabs button i{font-style:normal;line-height:0}.tabs button img{width:30px;height:30px;object-fit:contain;filter:grayscale(1) opacity(.5);transition:filter .3s,transform .3s}.tabs button.on img{filter:none;transform:translateY(-2px) scale(1.08)}.tabs button span{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase}
.tabs button.on{color:var(--navy)}.tabs button.on span{color:var(--navy)}
/* shared */
.h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px}.h .disp{font-size:14px}
.card{border:1px solid var(--line);background:#fff;padding:16px;margin-bottom:12px}
.btn{display:inline-block;background:var(--navy);color:#fff;border:0;padding:14px 18px;font-family:Syncopate,sans-serif;font-weight:700;font-size:10px;text-transform:uppercase;cursor:pointer;text-align:center}
.btn.pig{background:var(--pig)}.btn.ghost{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}.btn[disabled]{background:#fff;color:var(--mute);box-shadow:inset 0 0 0 1px var(--line);cursor:default}
.btn.wide{display:block;width:100%}
/* road */
.status{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center}
.ring{--p:0%;width:96px;height:96px;border-radius:50%;padding:4px;background:conic-gradient(var(--navy) var(--p),#e6ecf7 0);display:grid;place-items:center;flex:none}
.ring i{width:100%;height:100%;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden}
.ring img{width:68%;height:68%;object-fit:contain;background:#fff}
.big{font-size:34px;line-height:1;margin:8px 0 2px;font-variant-numeric:tabular-nums}.big em{font-style:normal;font-size:.36em;color:var(--mute);letter-spacing:.14em}
.meter{height:8px;background:#e6ecf7;margin:10px 0 10px;overflow:hidden}.meter i{display:block;height:100%;background:var(--navy);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.next{color:var(--pig)}
/* the slider */
.slide{padding:16px 16px 14px}
.slide .lab{display:flex;justify-content:space-between;gap:10px}
.track{position:relative;height:56px;margin:14px 0 6px;touch-action:none;cursor:grab}
.track:before{content:"";position:absolute;left:0;right:0;top:26px;height:6px;background:#e6ecf7;border-radius:3px}
.track .fill{position:absolute;left:0;top:26px;height:6px;background:var(--navy);border-radius:3px}
.track .what{position:absolute;top:26px;height:6px;background:var(--pig);border-radius:3px}
.track .tick{position:absolute;top:22px;width:1px;height:14px;background:#c9d6ee}
.track .tick.t{background:var(--navy);width:2px;top:18px;height:22px}
.knob{position:absolute;top:8px;width:42px;height:42px;transform:translateX(-50%);border-radius:50%;background:#fff url(../../img/loyalty/token.png) center/86% no-repeat;box-shadow:0 0 0 2px var(--navy),0 10px 26px rgba(2,11,119,.35);transition:left .12s linear}
.track.drag .knob{transition:none;transform:translateX(-50%) scale(1.08)}
.slide .out{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:10px}
.slide .out .disp{font-size:15px;line-height:1.1}.slide .out .mono{margin-top:6px;color:var(--pig)}
.jump{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.map{margin-top:14px}
.step{display:grid;grid-template-columns:36px 44px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);opacity:.5}
.step.done,.step.now{opacity:1}.step.now{background:var(--soft);margin:0 -8px;padding:10px 8px}
.step .n{font-family:Syncopate,sans-serif;font-weight:700;font-size:12px;text-align:center}
.step .r{font-size:12.5px;line-height:1.35}.step .r b{display:block;font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;color:var(--pig);margin-bottom:3px}
.step .s{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--mute);letter-spacing:.1em;white-space:nowrap}
.tierrow{display:flex;align-items:center;gap:10px;padding:14px 0 8px}.tierrow img{width:36px;height:36px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.tierrow .disp{font-size:12px}.tierrow .mono{color:var(--mute)}
.dev{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dev button{background:#fff;border:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;padding:8px 9px;cursor:pointer}
/* shelf */
.sh .btn{padding:11px 13px;font-size:9px;white-space:nowrap}
/* redeem screen */
.redeem{display:flex;flex-direction:column;gap:14px;min-height:100%}
.redeem .pick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.redeem .pick button{background:#fff;border:1px solid var(--line);padding:9px 6px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.1em;cursor:pointer}.redeem .pick button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.slot{position:relative;height:300px;display:grid;justify-items:center;align-content:space-between;padding:10px 0 0}
.slot .coin{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(2,11,119,.3));touch-action:none;cursor:grab;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s}
.slot .hint{position:absolute;top:118px;color:var(--pig)}
.slot .box{width:200px;height:150px;object-fit:cover;object-position:center 40%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.slot .halo{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:240px;height:60px;background:radial-gradient(ellipse at 50% 100%,rgba(1,72,254,.35),transparent 70%);opacity:0;transition:opacity .4s}
.slot.ready .halo{opacity:1}
/* missions */
.chip{justify-self:start;background:#eef2fa;padding:3px 6px;font-size:8px;letter-spacing:.16em}
.bar{height:4px;background:#e6ecf7}.bar i{display:block;height:100%;background:var(--navy)}
/* live */
.stamps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.stamp{aspect-ratio:1;border:1px dashed var(--line);display:grid;place-items:center;align-content:center;gap:4px;text-align:center}
.stamp img{width:46%;opacity:.12;filter:grayscale(1)}.stamp.on{border:1px solid var(--navy);background:var(--soft)}.stamp.on img{opacity:1;filter:none}.stamp.goal{border-style:solid;border-color:var(--pig)}
.stamp span{font-size:7.5px;letter-spacing:.1em;color:var(--mute)}
.vin{display:grid;grid-template-columns:1fr auto;gap:8px}.vin input{border:1px solid var(--navy);padding:12px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);border-radius:0;min-width:0}
.vout{margin-top:10px;border:1px solid var(--line);padding:12px;min-height:56px}.vout .disp{font-size:14px;margin-top:6px}
.tries{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tries button{background:#fff;border:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;padding:6px 8px;cursor:pointer}
/* refer */
.link{display:flex;align-items:center;gap:10px;border:1px solid var(--navy);padding:12px;font-size:11px;flex-wrap:wrap}.link b{color:var(--navy)}.link button{margin-left:auto;background:var(--navy);color:#fff;border:0;padding:9px 12px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;cursor:pointer}
.lad>div{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line);opacity:.55}.lad>div.done{opacity:1}
.lad b{font-size:18px}.lad span{font-size:12.5px;line-height:1.4}.lad i{font-style:normal;color:var(--pig);font-size:9px;letter-spacing:.14em;white-space:nowrap}
.lb>div{display:grid;grid-template-columns:28px 1fr auto;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:12.5px}.lb i{font-style:normal;color:var(--mute);font-size:9px}.lb b{font-family:Syncopate,sans-serif;font-weight:700;font-size:10px;text-transform:uppercase}.lb span{color:var(--mute);font-size:9px;letter-spacing:.12em}
/* overlays: collect and level up */
.overlay{position:absolute;inset:0;z-index:20;background:#fff;display:grid;place-items:center;text-align:center;padding:24px}
.overlay[hidden]{display:none}
.ov{display:grid;justify-items:center;gap:14px;width:100%;max-width:380px}
.ov .mono{color:var(--pig)}
.ov .disp.h1{font-size:20px;line-height:1.1;max-width:100%;overflow-wrap:anywhere}
.ov .cnt{font-size:56px;line-height:1;font-variant-numeric:tabular-nums}
.ov .cnt em{font-style:normal;font-size:.3em;color:var(--mute);letter-spacing:.14em}
.ov p{color:var(--mute);font-size:13px;line-height:1.55}
.ov .rowwrap{width:100%;overflow:hidden;height:124px}
.ov .row{display:flex;gap:12px;align-items:flex-end;justify-content:flex-start;height:120px;padding:0 0 4px;transition:transform .7s cubic-bezier(.2,.8,.2,1);will-change:transform;width:max-content;margin-left:50%}
.ov .row img{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--line);opacity:.35;filter:grayscale(1);transition:all .5s cubic-bezier(.2,.8,.2,1)}
.ov .row img.done{opacity:1;filter:none}
.ov .row img.new{width:104px;height:104px;opacity:1;filter:none;box-shadow:0 0 0 3px var(--navy),0 24px 60px rgba(2,11,119,.35);animation:land .7s cubic-bezier(.2,.9,.2,1.2)}
@keyframes land{from{transform:translateY(-140px) scale(.6);opacity:0}to{transform:none;opacity:1}}
.sweep{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(1,72,254,.14) 50%,transparent 58%);transform:translateX(-130%)}
.sweep.go{animation:sw 1.1s cubic-bezier(.3,.7,.3,1) forwards}
@keyframes sw{to{transform:translateX(130%)}}
.ov .receipt{width:100%;border:1px solid var(--line);padding:12px;display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;text-align:left}
.ov .receipt img{width:44px;height:44px;object-fit:cover}.ov .receipt b{display:block;font-size:12px}.ov .receipt span{font-size:11px;color:var(--mute)}
/* tokens flying */
.burst{position:absolute;inset:0;pointer-events:none;z-index:30;overflow:hidden}
.burst img{position:absolute;width:26px;height:26px;will-change:transform,opacity}
.dark{background:var(--ink)!important;color:#fff}.dark .ov .mono{color:var(--frost)}.dark .ov p{color:#c9d6ee}

/* navy bands designate every section */
.band{background:var(--navy);color:#fff;padding:12px 14px;margin:0 0 10px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.band .disp{font-size:12px}.band .mono{color:var(--frost);font-size:8.5px;text-align:right}
.band+.card{margin-top:0}

.coin3d{display:block;width:170px;height:170px;margin:0 auto;background:url(../../img/loyalty/coin-strip.png) 0% 0/800% 100% no-repeat;filter:drop-shadow(0 26px 40px rgba(2,11,119,.3));animation:turncoin 1.6s steps(8) infinite}
@keyframes turncoin{from{background-position:0% 0}to{background-position:114.2857% 0}}
@keyframes spin{from{transform:rotateY(0)}to{transform:rotateY(360deg)}}
.burst img{filter:drop-shadow(0 6px 10px rgba(2,11,119,.35))}

.step .ico{width:40px;height:40px;object-fit:contain}
.who img,.tierrow img,.ov .row img,.sh img{object-fit:contain!important;background:#fff}
.who img{box-shadow:none!important;border-radius:0!important}.ov .row img{border-radius:0!important;box-shadow:none!important}.ov .row img.new{box-shadow:none!important}
.tierrow img{border-radius:0!important;box-shadow:none!important;width:44px;height:44px}
.lad span .lico{width:20px;height:20px;object-fit:contain;vertical-align:-5px;margin-right:6px}
.stamp img{width:52%;opacity:.15;filter:grayscale(1)}

/* the spin */
.spincard{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;text-decoration:none;color:inherit;cursor:pointer;border-color:var(--navy)}
.spincard img{width:56px;height:56px;object-fit:contain}
.spincard .btn{padding:11px 14px;font-size:9px}
.spinc{display:grid;gap:14px}
.wheelwrap{position:relative;width:300px;height:300px;margin:6px auto 0}
.pointer{position:absolute;left:50%;top:-6px;transform:translateX(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:20px solid var(--pig);z-index:3;filter:drop-shadow(0 3px 4px rgba(2,11,119,.3))}
.wheel{position:relative;width:300px;height:300px;border-radius:50%;box-shadow:0 0 0 4px #fff,0 0 0 6px var(--navy),0 24px 60px rgba(2,11,119,.25);transform:rotate(0deg)}
.wedge{position:absolute;left:50%;top:50%;width:2px;height:150px;transform-origin:0 0;margin-top:-150px}
.wedge img{position:absolute;left:-19px;top:22px;width:38px;height:38px;object-fit:contain}
.hub{position:absolute;left:50%;top:50%;width:74px;height:74px;margin:-37px 0 0 -37px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--navy),0 8px 20px rgba(2,11,119,.3);display:grid;place-items:center}
.hub img{width:56px;height:56px;object-fit:contain}
.spinout{text-align:center;min-height:64px}

/* simplified road */
.how{padding:18px 16px}.hrow{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;padding:14px 0 0}.hrow img{width:44px;height:44px;object-fit:contain}
.hrow b{display:block;font-family:Syncopate,sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;margin-bottom:4px}.hrow span{display:block;font-size:13.5px;line-height:1.4;font-weight:500;color:var(--navy)}
.spincard.ready{border:2px solid var(--pig);background:var(--soft)}
.lv{display:grid;grid-template-columns:32px 44px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.lv:first-child{border-top:0;padding-top:4px}
.lv .n{font-family:Syncopate,sans-serif;font-weight:700;font-size:14px;text-align:center}.lv img{width:44px;height:44px;object-fit:contain}
.lv .r b{display:block;font-size:14px;font-weight:700;line-height:1.3;color:var(--navy)}.lv .r span{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.12em;color:var(--pig);margin-top:4px}
.lv .s{font-family:Syncopate,sans-serif;font-weight:700;font-size:11px;white-space:nowrap;color:var(--mute)}
.lv.done .n,.lv.done .s{color:var(--pig)}.lv.done .r span{color:var(--mute)}.lv.now{background:var(--soft);margin:0 -8px;padding:12px 8px}.lv.now+.lv{border-top:0}
.mats{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.mat{display:grid;justify-items:center;gap:4px;opacity:.45}.mat.got{opacity:1}.mat img{width:40px;height:40px;object-fit:contain}
.mat b{font-family:Syncopate,sans-serif;font-size:7.5px;text-transform:uppercase;text-align:center;line-height:1.2}.mat span{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.08em;color:var(--mute)}
.slide .out .disp{font-size:16px}

/* shelf, rebuilt */
.balcard{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center}
.balcard img{width:58px;height:58px;object-fit:contain}
.balcard .big{margin:0 0 6px}
.sh{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);background:#fff;padding:14px 16px;margin-bottom:8px}
.sh.ok{border:2px solid var(--pig)}
.sh img{width:52px;height:52px;object-fit:contain}
.sh .t b{display:block;font-family:Inter,sans-serif;font-size:15px;font-weight:700;text-transform:none;letter-spacing:0;line-height:1.25}
.sh .t span{display:block;font-size:12.5px;color:var(--mute);margin-top:3px}
.shbar{height:4px;background:#e6ecf7;margin:9px 0 6px;max-width:220px}.shbar i{display:block;height:100%;background:var(--pig)}
.sh .cost{font-weight:700;color:var(--navy);letter-spacing:.1em}
.sh.ok .cost{color:var(--pig)}
.sh:not(.ok) img{opacity:.5}
/* missions, grouped */
.mis{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);background:#fff;padding:14px 16px;margin-bottom:8px}
.mis .mico{width:52px;height:52px;object-fit:contain}
.mis .n{font-size:15px;font-weight:700;line-height:1.25}
.mis .r{color:var(--pig);font-weight:700;margin-top:4px;letter-spacing:.1em}
.mis .bar{height:4px;background:#e6ecf7;margin:9px 0 5px;max-width:220px}.mis .bar i{display:block;height:100%;background:var(--navy)}
.mis .cnt{color:var(--mute);letter-spacing:.12em}
.mis.done{border:2px solid var(--pig)}
.mis .claimed{font-weight:700;color:var(--pig);letter-spacing:.12em}
.lb .me b{color:var(--pig)}.lb .me{background:var(--soft)}

.more{width:100%;background:#fff;border:1px solid var(--line);padding:13px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);cursor:pointer;margin-bottom:12px}
.more:hover{color:var(--navy)}

/* the linear hero */
.hero{text-align:center;padding:26px 16px 24px;border-bottom:1px solid var(--line);margin:-18px -18px 16px;background:#fff}
.hero .ring{margin:0 auto 14px}
.hero .meter{max-width:260px;margin:12px auto 10px}
.huge{font-size:44px;line-height:1;letter-spacing:-.01em;margin:8px 0 0;font-variant-numeric:tabular-nums}
.huge em{font-style:normal;font-size:.28em;color:var(--mute);letter-spacing:.14em;margin-left:4px}
/* one action */
.act{display:flex;align-items:center;gap:12px;width:100%;background:var(--pig);color:#fff;border:0;padding:14px 16px;margin-bottom:14px;cursor:pointer;text-align:left}
.act img{width:38px;height:38px;object-fit:contain}
.act b{flex:1;font-family:Syncopate,sans-serif;font-weight:700;font-size:13px;text-transform:uppercase}
.act .mono{font-weight:700;letter-spacing:.14em}
/* the board */
.bd{display:grid;grid-template-columns:26px 38px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.bd:first-child{border-top:0}
.bd i{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mute);font-style:normal}
.bd img{width:38px;height:38px;object-fit:contain}
.bd b{display:block;font-size:14px;font-weight:700;line-height:1.2}
.bd span{display:block;font-size:9px;color:var(--mute);letter-spacing:.12em;margin-top:3px}
.bd em{font-style:normal;font-size:13px;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.bd.me{background:var(--soft);margin:0 -8px;padding:11px 8px}.bd.me b,.bd.me em{color:var(--pig)}
/* six tabs */
.tabs{grid-template-columns:repeat(6,1fr)}
.tabs button img{width:26px;height:26px}
.tabs button span{font-size:8px}
/* the slider, quieter */
.slide .mats{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.band .disp{font-size:13px}

/* the level-up moment */
.lvlup .ov{gap:0}
.rays{position:absolute;inset:0;pointer-events:none;opacity:0;
  background:repeating-conic-gradient(from 0deg at 50% 42%, rgba(1,48,192,.10) 0deg 6deg, transparent 6deg 14deg)}
.rays.go{animation:rays 3.2s linear forwards}
@keyframes rays{0%{opacity:0;transform:rotate(0deg) scale(1.4)}18%{opacity:1}100%{opacity:.5;transform:rotate(26deg) scale(1.4)}}
.lvjump{display:flex;align-items:baseline;justify-content:center;gap:14px;font-family:Syncopate,sans-serif;font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:2px}
.lvjump .from{font-size:26px;color:var(--mute);opacity:.5}
.lvjump .arw{font-size:20px;color:var(--frost)}
.lvjump .to{font-size:62px;line-height:1;color:var(--pig);animation:pop .6s cubic-bezier(.2,.9,.2,1.3)}
@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.14)}100%{transform:scale(1);opacity:1}}
.big-eyebrow{font-size:11px;font-weight:700;letter-spacing:.24em;margin-bottom:14px}
.medal{width:172px;height:172px;margin:0 auto 14px;display:grid;place-items:center}
.medal img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 34px rgba(2,11,119,.30));animation:land .8s cubic-bezier(.2,.9,.2,1.25)}
.medal.turn img{animation:turn 1.1s cubic-bezier(.2,.8,.2,1)}
@keyframes turn{0%{transform:rotateY(-180deg) scale(.5);opacity:0}55%{opacity:1}100%{transform:rotateY(0) scale(1);opacity:1}}
.prize{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;text-align:left;width:100%;
  border:2px solid var(--pig);background:var(--soft);padding:14px 16px;margin:6px 0 14px}
.prize img{width:56px;height:56px;object-fit:contain}
.prize .mono{display:block;color:var(--pig);font-weight:700;letter-spacing:.16em;margin-bottom:4px}
.prize b{font-size:15px;font-weight:700;line-height:1.25}
.lvlup .rowwrap{height:78px}
.lvlup .row{height:74px}
.lvlup .row img{width:46px;height:46px}
.lvlup .row img.new{width:72px;height:72px}
