/* BONEYARD RUNNER: Haunted Streets UI kit (purple neon cards, purple-to-orange pills, drip title font drawn on canvas by titleFont.js) */
:root{--pur:#b93bd9;--pur2:#7a2fb8;--org:#ff8a00;--gold:#ffc93c;--teal:#22e6c8;--lime:#a6ff5e;--ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;overflow:hidden;background:#0b0620;color:#fff;font-family:var(--ui);touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none}
#cv{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}
.hidden{display:none!important}
button{font-family:var(--ui);border:0;color:inherit;cursor:pointer;touch-action:manipulation}
canvas.hs-bmlabel{display:block}

/* title cover video (30 s Pixar chase loop, 16:9): full screen in landscape; in portrait a full-width band over a blurred copy */
#tvid{position:fixed;inset:0;z-index:1;overflow:hidden;background:#0b0620;pointer-events:none;transition:opacity .35s}
#tvid.off{opacity:0}
#tvid .tv-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover} /* pre-blurred + darkened copy (cover_blur.webp), no CSS filter cost */
#tv{position:absolute;left:0;top:47%;width:100%;height:auto;aspect-ratio:16/9;transform:translateY(-50%);object-fit:cover;-webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent)}

/* danger vignette (monster close) */
#danger{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(ellipse at 50% 45%,transparent 48%,rgba(255,30,60,.22) 72%,rgba(140,0,30,.62) 100%)}

/* HUD */
#hud{position:fixed;left:0;right:0;top:0;z-index:4;display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));pointer-events:none}
#hud>*{pointer-events:auto}
#hs-pausebtn{flex:none;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:5px;background:rgba(20,6,40,.55);box-shadow:inset 0 0 0 3px rgba(255,255,255,.85),0 0 14px rgba(185,59,217,.6)}
#hs-pausebtn i{display:block;width:5px;height:16px;border-radius:2px;background:#fff}
#hs-score{flex:1;min-width:0}
#hDist{height:34px}
.prog{position:relative;height:9px;margin:4px 30px 0 2px;border-radius:6px;background:rgba(10,4,24,.6);box-shadow:inset 0 0 0 1px rgba(185,59,217,.55)}
.prog i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#b93bd9,#ff8a00)}
#hWolf{position:absolute;right:-30px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #ff3d6e,0 0 10px #ff3d6e;transition:transform .2s,opacity .2s;opacity:.55}
#hWolf.near{opacity:1;animation:wolfP .45s ease-in-out infinite}
@keyframes wolfP{50%{transform:scale(1.25)}}
#count{flex:none;display:flex;align-items:center;gap:4px;padding:2px 12px 2px 6px;border-radius:999px;background:rgba(20,6,40,.55);box-shadow:inset 0 0 0 2px rgba(92,255,58,.55),0 0 12px rgba(92,255,58,.35)}
#count img{width:34px;height:34px}
#count.pop{animation:cpop .25s ease-out}
@keyframes cpop{40%{transform:scale(1.18)}}
#hint{position:fixed;left:0;right:0;bottom:47%;z-index:4;text-align:center;pointer-events:none;transition:opacity .4s}
#hint b{display:block;font:900 26px/1 var(--ui);letter-spacing:.08em;color:#fff;text-shadow:0 0 14px #b93bd9,0 3px 0 #3a0a5a}
#hint span{display:inline-block;margin-top:8px;padding:6px 14px;border-radius:999px;font:800 13px/1.2 var(--ui);letter-spacing:.06em;color:#ffe9c4;background:rgba(20,6,40,.6);box-shadow:inset 0 0 0 1px rgba(255,138,26,.6)}
#hint em{font-style:normal;color:var(--gold)}
#hint.fade{opacity:0}
#flash{position:fixed;left:12px;right:12px;top:24%;z-index:5;text-align:center;font:900 22px/1.1 var(--ui);letter-spacing:.06em;color:#ffd0dc;text-shadow:0 0 16px #ff3d6e,0 3px 0 #4a0018;pointer-events:none;transition:opacity .3s}
#flash.off{opacity:0}

/* loading */
#loading{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#2a0d4a,#0b0620 70%);transition:opacity .5s}
#loading.done{opacity:0;pointer-events:none}
.ld-in{width:min(70vw,320px);text-align:center}
.ld-t{font:900 15px/1 var(--ui);letter-spacing:.3em;color:#cfa8ff;text-shadow:0 0 12px #b93bd9}
.ld-bar{margin-top:14px;height:8px;border-radius:6px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(185,59,217,.6);overflow:hidden}
.ld-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#b93bd9,#ff8a00);transition:width .25s}

/* screens */
.scr{position:fixed;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:max(50px,calc(env(safe-area-inset-top) + 44px)) 12px max(14px,env(safe-area-inset-bottom));pointer-events:none}
.scr>*{pointer-events:auto}
.scr.dim{justify-content:center;background:rgba(7,4,26,.62);pointer-events:auto}
#title{background:linear-gradient(180deg,rgba(7,4,26,.62),rgba(7,4,26,0) 28%,rgba(7,4,26,0) 52%,rgba(7,4,26,.86) 74%)}
.back{position:absolute;left:12px;top:max(10px,env(safe-area-inset-top));padding:9px 14px;border-radius:999px;font:800 12px/1 var(--ui);letter-spacing:.12em;color:#fff;text-decoration:none;background:rgba(20,6,40,.6);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.tt{text-align:center}
.tt h1{margin:0;line-height:0}
.tt .logo{display:block;width:min(94vw,540px);height:auto;margin:0 auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.6)) drop-shadow(0 0 22px rgba(255,140,30,.3));animation:lgIn .7s cubic-bezier(.2,1.6,.4,1) both,lgB 3.2s ease-in-out .7s infinite}
@keyframes lgIn{from{transform:scale(.4) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}
@keyframes lgB{50%{transform:translateY(-5px) rotate(-.8deg)}}
.sub{margin-top:4px;font:800 10.5px/1.3 var(--ui);letter-spacing:.1em;color:var(--gold);text-shadow:0 0 8px #ff8a00}
.best{margin-top:4px;font:900 13px/1 var(--ui);letter-spacing:.12em;color:#5ff7ff;text-shadow:0 0 8px #18b8ff;min-height:13px}
.pick{width:min(100%,560px);display:flex;flex-direction:column;align-items:center;gap:8px}
.pl{min-height:34px;display:flex;justify-content:center}
/* runner cards: one sideways-scrolling row (free runners, then store characters with a lock + price). The picked card swaps to its exciting pose. */
.cwrap{position:relative;width:100%;min-width:0}
.chars{width:100%;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;padding:8px 2px 4px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 97.5%,transparent);mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 97.5%,transparent)}
.chars::-webkit-scrollbar{display:none}
.carr{position:absolute;top:50%;z-index:2;width:32px;height:32px;margin-top:-14px;border-radius:50%;padding:0 0 3px;font:900 22px/1 var(--ui);color:#fff;background:rgba(20,6,40,.88);box-shadow:inset 0 0 0 2px rgba(255,255,255,.4),0 0 10px rgba(185,59,217,.6)}
.carr.prev{left:-8px}.carr.next{right:-8px}
.ch{position:relative;flex:0 0 calc((100% - 24px)/4);scroll-snap-align:start;aspect-ratio:3/4;padding:0;border-radius:14px;overflow:hidden;border:2px solid var(--pur2);background:radial-gradient(ellipse at 50% 30%,#4a1680,#2a0d4a 55%,#14062a);box-shadow:0 0 10px rgba(185,59,217,.45);transition:transform .14s,box-shadow .14s,border-color .14s}
.ch img{position:absolute;left:0;right:0;top:3%;width:100%;height:76%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 6px rgba(0,0,0,.55));transition:opacity .16s,transform .2s}
.ch .p1{opacity:0}
.ch.on .p0{opacity:0}
.ch.on .p1{opacity:1;transform:scale(1.08);animation:exPop .42s cubic-bezier(.2,1.6,.4,1) both}
@keyframes exPop{from{transform:scale(.62) translateY(12%)}to{transform:scale(1.08)}}
.ch b{position:absolute;left:0;right:0;bottom:0;height:26%;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;font:900 clamp(10px,3vw,13px)/1 var(--ui);letter-spacing:.03em;background:linear-gradient(180deg,rgba(20,6,40,.1),rgba(20,6,40,.95));text-shadow:0 0 6px #b93bd9;white-space:nowrap}
.ch small{display:block;padding:1px 7px;border-radius:999px;font:900 8.5px/1.25 var(--ui);letter-spacing:.08em;color:#071a10;background:linear-gradient(90deg,#2fe37a,#5cff3a);box-shadow:0 0 8px rgba(47,227,122,.6);text-shadow:none}
.ch small.buy{color:#2a0d00;background:linear-gradient(90deg,#ffe07a,#ff9a1a);box-shadow:0 0 8px rgba(255,170,40,.7)}
.ch small.own{color:#fff;background:linear-gradient(90deg,#b93bd9,#ff8a1a);box-shadow:0 0 8px rgba(185,59,217,.7)}
.ch.lock:not(.on){border-color:rgba(255,201,60,.6)}
.ch .lk{position:absolute;top:6px;right:6px;z-index:1;width:22px;height:22px;border-radius:50%;background:rgba(12,4,26,.82) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffc93c' d='M7 10V8a5 5 0 0 1 10 0v2h1a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1zm2 0h6V8a3 3 0 0 0-6 0z'/%3E%3C/svg%3E") center/13px no-repeat;box-shadow:0 0 0 1.5px rgba(255,201,60,.8)}
.ch.on{border-color:#ff8a1a;transform:translateY(-4px) scale(1.04);box-shadow:0 0 18px #ff8a1a,0 0 30px rgba(185,59,217,.7)}
.go.buy{color:#2a0d00;background:linear-gradient(90deg,#ffe07a,#ff9a1a);text-shadow:none}
.go:disabled{opacity:.7}
#toast{position:fixed;left:50%;top:max(62px,calc(env(safe-area-inset-top) + 56px));z-index:12;transform:translateX(-50%);max-width:90vw;padding:10px 18px;border-radius:999px;text-align:center;font:900 14px/1.25 var(--ui);letter-spacing:.06em;color:#fff;background:rgba(20,6,40,.94);box-shadow:inset 0 0 0 2px #ffc93c,0 0 18px rgba(255,201,60,.45);pointer-events:none;transition:opacity .3s}
#toast.off{opacity:0}
#tapfx{position:fixed;inset:0;width:100%;height:100%;z-index:30;pointer-events:none}
.go{min-height:56px;padding:0 30px;border-radius:999px;font:900 20px/1 var(--ui);letter-spacing:.06em;color:#fff;background:linear-gradient(90deg,#b93bd9,#ff8a00);box-shadow:0 0 22px rgba(255,138,0,.6),inset 0 -3px 0 rgba(0,0,0,.18);text-shadow:0 2px 0 rgba(60,0,60,.4)}
.pick .go{width:min(100%,380px);margin-top:4px;animation:goP 1.6s ease-in-out infinite}
@keyframes goP{50%{box-shadow:0 0 34px rgba(255,138,0,.9),inset 0 -3px 0 rgba(0,0,0,.18)}}
.card{width:min(92vw,430px);padding:20px 18px 18px;border-radius:24px;text-align:center;border:2px solid rgba(185,59,217,.7);background:linear-gradient(180deg,rgba(42,13,74,.97),rgba(20,6,42,.98));box-shadow:inset 0 0 40px rgba(185,59,217,.25),0 0 30px rgba(255,138,26,.25)}
.ct{display:flex;justify-content:center;min-height:40px}
.card p{margin:8px 0 0;font:700 16px/1.4 var(--ui);color:#f3e6ff}
.card p b{color:var(--gold)}
.row{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.btn{min-height:50px;padding:0 22px;border-radius:999px;font:900 16px/1 var(--ui);letter-spacing:.05em}
.btn.ghost{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 2px rgba(255,255,255,.28)}
#hsMute{position:fixed;right:max(12px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));z-index:8;width:40px;height:40px;border-radius:50%;font:900 18px/1 var(--ui);background:rgba(20,6,40,.6);box-shadow:inset 0 0 0 2px rgba(255,255,255,.3),0 0 10px rgba(185,59,217,.5)}
#hsMute.off{opacity:.55;text-decoration:line-through}
body.run #hsMute{top:auto;bottom:max(12px,env(safe-area-inset-bottom))}
/* title bar: world picker + shop (both open the shop overlay) */
.tbar{display:flex;gap:8px;justify-content:center;width:100%;flex-wrap:wrap}
.pill{min-height:38px;max-width:100%;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font:900 12.5px/1 var(--ui);letter-spacing:.06em;color:#fff;background:rgba(20,6,40,.8);box-shadow:inset 0 0 0 2px rgba(185,59,217,.85),0 0 12px rgba(185,59,217,.45)}
.pill b{color:var(--gold)}
.pill span{overflow:hidden;text-overflow:ellipsis}
.spill{color:#2a0d00;background:linear-gradient(90deg,#ffe07a,#ff9a1a);box-shadow:0 0 14px rgba(255,170,40,.65),inset 0 -2px 0 rgba(0,0,0,.15);animation:shopP 2.4s ease-in-out infinite}
@keyframes shopP{50%{transform:scale(1.06)}}
/* powers in this run (under the pause button) */
#pwr{position:fixed;left:max(12px,env(safe-area-inset-left));top:calc(max(10px,env(safe-area-inset-top)) + 54px);z-index:4;display:flex;gap:6px;pointer-events:none}
#pwr i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:900 15px/1 var(--ui);font-style:normal;background:rgba(20,6,40,.66);box-shadow:inset 0 0 0 2px rgba(95,247,255,.7),0 0 10px rgba(95,247,255,.35);transition:opacity .2s}
#pwr i.txt{font-size:12px;color:var(--gold)}
#pwr i.off{opacity:.32;filter:grayscale(1)}
#pwr i.hot{box-shadow:inset 0 0 0 2px #ff8a1a,0 0 14px #ff8a1a;animation:cpop .5s ease-in-out infinite}
/* game over card: shop / next world */
.row.r2{margin-top:10px}
.btn.shopb{color:#2a0d00;background:linear-gradient(90deg,#ffe07a,#ff9a1a);box-shadow:0 0 16px rgba(255,170,40,.6)}
.btn.shopb.nx{color:#fff;background:linear-gradient(90deg,#22e6c8,#b93bd9);box-shadow:0 0 16px rgba(34,230,200,.5)}
.card p small.tip{display:block;margin-top:8px;font:700 13px/1.35 var(--ui);color:#cfa8ff}

/* SHOP (shop.js builds it) */
.shop{position:fixed;inset:0;z-index:15;display:flex;align-items:center;justify-content:center;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:rgba(7,4,26,.74)}
.shbox{position:relative;width:min(100%,880px);height:min(100%,920px);display:flex;flex-direction:column;border-radius:22px;border:2px solid rgba(185,59,217,.75);background:linear-gradient(180deg,rgba(42,13,74,.985),rgba(16,5,36,.99));box-shadow:inset 0 0 50px rgba(185,59,217,.22),0 0 34px rgba(255,138,26,.22);overflow:hidden}
.shtop{position:relative;display:flex;align-items:center;justify-content:center;min-height:54px;padding:10px 54px 4px}
.sht{display:flex;justify-content:center;max-width:100%;font:900 22px/1 var(--ui);letter-spacing:.08em;color:#fff;text-shadow:0 0 14px #b93bd9,0 3px 0 #3a0a5a}
.sht div{max-width:100%}
.sht canvas{max-width:100%;max-height:42px;width:auto!important;height:auto!important}
.shx{position:absolute;right:10px;top:10px;width:40px;height:40px;border-radius:50%;font:900 18px/1 var(--ui);color:#fff;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}
.shtabs{flex:none;display:flex;gap:6px;overflow-x:auto;padding:4px 12px 8px;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain}
.shtabs::-webkit-scrollbar{display:none}
.shtab{flex:none;display:flex;align-items:center;gap:5px;padding:8px 12px;border-radius:999px;font:900 11.5px/1 var(--ui);letter-spacing:.06em;color:#e9d8ff;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1.5px rgba(185,59,217,.55)}
.shtab i{font-style:normal;font-size:15px}
.shtab.on{color:#fff;background:linear-gradient(90deg,#b93bd9,#ff8a00);box-shadow:0 0 12px rgba(255,138,0,.5)}
.shnote{flex:none;margin:0 12px 6px;padding:8px 12px;border-radius:12px;font:800 12.5px/1.3 var(--ui);text-align:center;color:#ffe9c4;background:rgba(255,138,26,.14);box-shadow:inset 0 0 0 1px rgba(255,138,26,.5)}
.shbody{flex:1;min-height:0;overflow-y:auto;padding:4px 12px 16px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.shfoot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 14px 8px;border-top:1px solid rgba(185,59,217,.35)}
.shlink{background:none;padding:8px 2px;font:800 11.5px/1 var(--ui);letter-spacing:.08em;color:#cfa8ff;text-decoration:underline;white-space:nowrap}
.shtest{padding:5px 9px;border-radius:999px;font:900 10px/1 var(--ui);letter-spacing:.1em;color:#071a10;background:#5cff3a;white-space:nowrap}
.shwait{padding:48px 0;text-align:center;font:900 14px/1 var(--ui);letter-spacing:.2em;color:#cfa8ff}
.sechead{margin:2px 2px 10px;font:700 13px/1.35 var(--ui);color:#d9c6f5}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.it{position:relative;display:flex;flex-direction:column;padding:8px 8px 10px;border-radius:16px;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(122,47,184,.55),rgba(30,10,60,.95) 70%);box-shadow:inset 0 0 0 2px rgba(122,47,184,.8)}
.it.own{box-shadow:inset 0 0 0 2px rgba(92,255,58,.5)}
.it.on{box-shadow:inset 0 0 0 2px #ffc93c,0 0 16px rgba(255,201,60,.45)}
.it .art{position:relative;aspect-ratio:4/3;border-radius:11px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(255,138,26,.25),rgba(10,4,24,.6) 70%)}
.it .art img{width:100%;height:100%;object-fit:cover}
.it.rn .art{aspect-ratio:3/4}
.it .art.pose img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 6px rgba(0,0,0,.55))}
.it .ic{font-size:46px;line-height:1;filter:drop-shadow(0 0 10px rgba(255,201,60,.55))}
.it .tag{position:absolute;top:13px;left:13px;padding:3px 7px;border-radius:999px;font:900 9px/1 var(--ui);letter-spacing:.08em;color:#071a10;background:linear-gradient(90deg,#2fe37a,#5cff3a);box-shadow:0 0 8px rgba(47,227,122,.5)}
.it .tag.free{color:#fff;background:linear-gradient(90deg,#b93bd9,#ff8a1a)}
.it .nm{margin-top:7px;font:900 14px/1.15 var(--ui);letter-spacing:.02em;color:#fff}
.it .bl{flex:1;margin-top:3px;font:600 11.5px/1.3 var(--ui);color:#cdb8ec}
.it .acts{margin-top:8px;display:flex;justify-content:center}
.ab{min-height:38px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:900 13px/1 var(--ui);letter-spacing:.05em;color:#fff;text-decoration:none;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}
.ab.buy{width:100%;color:#2a0d00;background:linear-gradient(90deg,#ffe07a,#ff9a1a);box-shadow:0 0 12px rgba(255,170,40,.55),inset 0 -2px 0 rgba(0,0,0,.15)}
.ab:disabled{opacity:.6}
.ab.eq{width:100%;background:linear-gradient(90deg,#b93bd9,#7a2fb8)}
.ab.eq.on{color:var(--gold);background:rgba(255,201,60,.16);box-shadow:inset 0 0 0 2px #ffc93c;opacity:1}
.ab.sw{width:100%;justify-content:space-between;padding:0 6px 0 14px;background:rgba(255,255,255,.08)}
.ab.sw i{position:relative;width:42px;height:26px;border-radius:999px;background:rgba(255,255,255,.2);transition:background .15s}
.ab.sw i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}
.ab.sw.on i{background:#2fe37a}
.ab.sw.on i::after{transform:translateX(16px)}
.mrow{margin-top:7px;display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.ab.pv,.ab.dl{min-height:32px;padding:0 10px;font-size:11.5px}
.ab.dl{background:rgba(34,230,200,.16);box-shadow:inset 0 0 0 2px rgba(34,230,200,.7)}
.hero{display:grid;gap:14px;padding:14px;border-radius:20px;background:radial-gradient(ellipse at 50% 0%,rgba(255,201,60,.3),rgba(70,20,110,.96) 62%);box-shadow:inset 0 0 0 2px #ffc93c,0 0 26px rgba(255,201,60,.32)}
.hero.own{background:radial-gradient(ellipse at 50% 0%,rgba(92,255,58,.25),rgba(40,20,90,.96) 62%);box-shadow:inset 0 0 0 2px #5cff3a,0 0 26px rgba(92,255,58,.3)}
.hpics{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;min-height:90px}
.hpics img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;box-shadow:0 0 0 1.5px rgba(255,255,255,.25)}
.crown{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:64px;line-height:1;filter:drop-shadow(0 0 18px rgba(255,201,60,.95));animation:lgB 3s ease-in-out infinite}
.htxt{text-align:center}
.hk{font:900 24px/1.05 var(--ui);letter-spacing:.06em;color:var(--gold);text-shadow:0 0 14px rgba(255,170,40,.7),0 3px 0 #4a1a00}
.hero.own .hk{color:#5cff3a;text-shadow:0 0 14px rgba(92,255,58,.6),0 3px 0 #0a3a10}
.htxt p{margin:8px 0 0;font:700 14px/1.4 var(--ui);color:#f3e6ff}
.hcount{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.hcount span{padding:5px 9px;border-radius:999px;font:800 11px/1 var(--ui);letter-spacing:.05em;color:#fff;background:rgba(20,6,40,.6);box-shadow:inset 0 0 0 1px rgba(255,201,60,.5)}
.hcount b{color:var(--gold)}
.hprice{margin-top:12px;display:flex;align-items:baseline;justify-content:center;gap:10px}
.hprice s{font:800 16px/1 var(--ui);color:#b9a2d8}
.hprice b{font:900 34px/1 var(--ui);color:#fff;text-shadow:0 0 14px rgba(255,201,60,.8)}
.hprice em{padding:5px 8px;border-radius:999px;font:900 12px/1 var(--ui);font-style:normal;color:#071a10;background:#5cff3a}
.hmine{margin-top:6px;font:700 12px/1.3 var(--ui);color:#cfa8ff}
.hero .acts{display:flex;justify-content:center}
.ab.big{min-height:54px;max-width:420px;margin-top:12px;font-size:17px}
.hpick{margin:18px 2px 8px;text-align:center;font:900 12px/1 var(--ui);letter-spacing:.14em;color:#cfa8ff}
.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}
.chip{display:flex;align-items:center;gap:8px;padding:12px;border-radius:14px;font:900 12.5px/1 var(--ui);letter-spacing:.05em;color:#fff;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1.5px rgba(185,59,217,.6)}
.chip i{font-style:normal;font-size:20px}
.rst{max-width:460px;margin:0 auto;padding-top:6px;text-align:center}
.rst p{margin:10px 0 0;font:700 14px/1.4 var(--ui);color:#f3e6ff}
.rst p.or{font-size:12.5px;color:#cfa8ff}
.rst .fld{display:flex;gap:8px;margin-top:8px}
.rst input{flex:1;min-width:0;height:42px;padding:0 12px;border-radius:12px;border:0;font:700 15px/1 var(--ui);color:#fff;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 2px rgba(185,59,217,.6);-webkit-user-select:text;user-select:text;touch-action:manipulation}
.rst .ab{flex:none}
.rst .fld.one{justify-content:center}.rst .fld.one .ab{width:auto;padding:0 22px}
.rst .msg{min-height:20px;color:var(--gold)}
@media (min-width:700px){ .hero{grid-template-columns:1.05fr 1fr;align-items:center} .grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))} }
@media (orientation:landscape) and (max-height:520px){ .shtop{min-height:44px;padding-top:6px} .sht{font-size:18px} .sht canvas{max-height:30px} .shtab{padding:6px 10px} .grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))} .it .art{aspect-ratio:16/9} .it.rn .art{aspect-ratio:1/1} }
@media (min-aspect-ratio:23/20){ /* landscape: the video fills the screen; logo top centre, picker bottom centre (cards + RUN side by side) */
  #tv{top:0;height:100%;transform:none;-webkit-mask-image:none;mask-image:none}
  #tvid .tv-bg{display:none}
  #title{justify-content:flex-start;background:linear-gradient(180deg,rgba(7,4,26,.62),rgba(7,4,26,0) 24%,rgba(7,4,26,0) 60%,rgba(7,4,26,.86))}
  .tt{position:absolute;left:50%;transform:translateX(-50%);top:max(12px,env(safe-area-inset-top));width:min(40vw,520px)}
  .tt .logo{width:min(28vw,380px)}
  .pick{position:absolute;left:50%;transform:translateX(-50%);bottom:max(16px,env(safe-area-inset-bottom));width:min(66vw,740px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"pl tb" "chars go";align-items:end;column-gap:14px;row-gap:6px}
  .pick .pl{grid-area:pl}
  .pick .tbar{grid-area:tb;justify-content:flex-end;flex-wrap:nowrap}
  .pick .cwrap{grid-area:chars}
  .ch{flex-basis:calc((100% - 32px)/5)}
  .pick .go{grid-area:go;width:auto;min-width:190px;margin:0}
}
@media (orientation:landscape) and (max-height:520px){
  .scr{padding-top:max(8px,env(safe-area-inset-top))}
  .tt{top:max(6px,env(safe-area-inset-top));width:min(40vw,400px)}
  .tt .logo{width:min(24vw,240px)}
  .sub,.best{display:none}
  .pick{width:min(64vw,560px);bottom:max(8px,env(safe-area-inset-bottom));column-gap:10px;row-gap:4px}
  .pl{min-height:26px}
  .chars{gap:6px}
  .ch{aspect-ratio:5/6}
  .pick .go{min-height:44px;font-size:16px;min-width:140px;padding:0 18px}
}
