.avatar{position:relative;overflow:hidden}.avatar--row{width:52px;height:58px;border-radius:9px;border:1.5px solid var(--char-color, rgba(255, 170, 50, .4));background:#0000004d;flex-shrink:0}.avatar--row .avatar__sprite{position:absolute;width:220%;top:-8%;left:50%;transform:translate(-50%);image-rendering:pixelated}.avatar--card{width:100%;aspect-ratio:1;border-radius:6px}.avatar--card .avatar__sprite{width:100%;height:unset;object-fit:unset;display:block;image-rendering:pixelated}.avatar--detail{position:absolute;left:-55px;top:-20px;width:160px;height:320px;overflow:visible;border-radius:0;border:none;background:transparent;pointer-events:none}.avatar--detail .avatar__sprite{height:384px;width:auto;object-fit:contain;object-position:top center;display:block;image-rendering:pixelated}.avatar--preview{position:absolute;right:-5px;top:0;bottom:0;width:62%;overflow:visible;border-radius:0;border:none;background:transparent;pointer-events:none}.avatar--preview .avatar__sprite{position:absolute;left:-20px;top:-35px;width:100%;height:auto;image-rendering:pixelated}.avatar--preview[data-char=kaytee] .avatar__sprite{top:-95px}.avatar--preview[data-char=ryan] .avatar__sprite{top:-55px}.avatar--row[data-char=ryan] .avatar__sprite{top:-45%}@media (max-width: 599px){.avatar--detail[data-char=rob]{left:-70px}}.built-by{font-size:14px;color:#ffffff80;text-align:center;margin:0;font-family:-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.03em}.built-by-link{color:#ffffffa6;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);transition:color .15s,border-color .15s}.built-by-link:hover{color:#ffc850e6;border-bottom-color:#ffc85080}.create-hero{position:relative;display:flex;align-items:stretch;width:100%;min-height:64px;padding:0;border-radius:12px;border:2px solid #f5c800;background:linear-gradient(135deg,#ffd633,#f5c800 45%,#e0a800);cursor:pointer;overflow:hidden;isolation:isolate;text-align:left;font-family:var(--font-display);box-shadow:0 0 24px #f5c80059,inset 0 1px #ffffff8c;transition:transform .12s ease,box-shadow .25s ease;-webkit-tap-highlight-color:transparent}.create-hero:hover{box-shadow:0 0 36px #f5c8008c,inset 0 1px #ffffffa6}.create-hero:active{transform:scale(.99)}.create-hero:after{content:"";position:absolute;top:0;left:0;width:55%;height:100%;z-index:3;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);transform:translate(-120%) skew(-12deg);animation:create-hero-shimmer 4.5s ease-in-out infinite}@keyframes create-hero-shimmer{0%{transform:translate(-120%) skew(-12deg);opacity:0}12%{opacity:1}45%{transform:translate(320%) skew(-12deg);opacity:.85}46%{opacity:0}to{transform:translate(320%) skew(-12deg);opacity:0}}@media (prefers-reduced-motion: reduce){.create-hero:after{animation:none;opacity:0}}.create-hero-left{position:relative;z-index:2;display:flex;flex-direction:row;align-items:center;gap:8px;flex:0 0 auto;padding:6px 8px 6px 18px}.create-hero-title{font-family:var(--font-display);font-size:28px;font-weight:900;line-height:.95;letter-spacing:1.5px;text-transform:uppercase;color:#1a1206;text-shadow:0 1px 0 rgba(255,255,255,.4)}.create-hero-arrow{font-family:var(--font-display);font-size:26px;font-weight:900;line-height:1;color:#1a1206;transition:transform .2s ease}.create-hero:hover .create-hero-arrow,.create-hero:active .create-hero-arrow{transform:translate(6px)}@media (prefers-reduced-motion: reduce){.create-hero-arrow{transition:none}}.create-hero-strip{position:relative;z-index:1;flex:1 1 auto;align-self:stretch;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 100%)}.create-strip{position:relative;width:100%;height:100%;min-height:64px;overflow:hidden}.create-strip-track{display:flex;align-items:center;gap:0;height:100%;width:max-content;padding:0;animation:create-strip-marquee 22s linear infinite;will-change:transform}@keyframes create-strip-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.create-strip-cell{flex:0 0 auto;display:flex;align-items:center;justify-content:center;margin-left:-20px}.create-strip-cell:first-child{margin-left:0}.create-strip-cell--item{width:54px;height:62px}.create-strip-item-img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}.create-strip-cell--char{width:62px;height:64px}.create-strip-cell--char .avatar{width:62px}.create-strip-cell--char .avatar__sprite{filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}@media (prefers-reduced-motion: reduce){.create-strip-track{animation:none}}.ui-select{position:relative;display:inline-block;text-align:left}.ui-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:150px;padding:9px 12px;border:1.5px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0d;color:var(--text-light);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent}.ui-select-trigger:hover{border-color:#ffaa3280}.ui-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px #ffaa3266}.ui-select--open .ui-select-trigger{border-color:#ffaa32b3;background:#ffffff12}.ui-select-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-select-chevron{flex-shrink:0;width:8px;height:8px;border-right:2px solid rgba(255,170,50,.85);border-bottom:2px solid rgba(255,170,50,.85);transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}.ui-select--open .ui-select-chevron{transform:translateY(1px) rotate(225deg)}.ui-select-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;min-width:100%;margin:0;padding:5px;list-style:none;background:#1a1512;border:1.5px solid rgba(255,170,50,.35);border-radius:10px;box-shadow:0 12px 30px #0000008c;outline:none;animation:ui-select-pop .13s ease}@keyframes ui-select-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ui-select-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:7px;color:#ffffffb8;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.ui-select-option--active{background:#ffaa3229;color:var(--text-light)}.ui-select-option--selected{color:var(--text-amber)}.ui-select-check{width:6px;height:11px;border-right:2px solid var(--text-amber);border-bottom:2px solid var(--text-amber);transform:rotate(45deg);margin-right:2px}@media (prefers-reduced-motion: reduce){.ui-select-chevron,.ui-select-menu{transition:none;animation:none}}.home{background:radial-gradient(ellipse 110% 55% at 50% 0%,rgba(130,55,10,.28) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 50% 100%,rgba(40,15,5,.6) 0%,transparent 70%),linear-gradient(180deg,#0e0704,#060301);justify-content:flex-start;overflow:hidden}.home-scroll{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.home-scroll::-webkit-scrollbar{display:none}.home-content{width:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:32px;padding:max(env(safe-area-inset-top),16px) var(--home-h-pad) 40px}.home-header{text-align:center}.home-join-banner{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 20px 18px;margin:0 0 8px;background:#f59e0b14;border:1.5px solid rgba(255,255,255,.12);border-radius:12px;text-align:center;animation:home-join-banner-in .35s ease-out}.lb-preview{display:block;width:100%;position:relative;overflow:hidden;padding:14px;border-radius:10px;border:2px solid rgba(255,255,255,.12);background:#ffffff0d;min-height:150px;cursor:pointer;text-align:left;color:inherit;font-family:inherit;transition:background .15s}.lb-preview:not(.lb-preview--static){opacity:0;pointer-events:none}.lb-preview.lb-preview--in{pointer-events:auto;animation:lbPreviewIn .45s cubic-bezier(.22,.61,.36,1) both}@keyframes lbPreviewIn{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.lb-preview.lb-preview--in{animation:none;opacity:1}}.lb-preview:active{background:#ffffff14}.lb-preview-content{display:flex;flex-direction:column;gap:8px;width:40%;position:relative;z-index:1}.lb-preview-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#ffaa32d9;font-family:-apple-system,BlinkMacSystemFont,sans-serif;display:block}.lb-preview-loading{font-size:13px;color:#ffffff4d;padding:4px 0}.lb-preview-empty{display:flex;align-items:center;gap:10px;padding:4px 0}.lb-preview-crown{font-size:22px;line-height:1;flex-shrink:0}.lb-preview-empty-text{font-size:13px;color:#ffffff73;font-style:italic}.lb-preview-info{display:flex;flex-direction:column;gap:4px}.lb-preview-name{font-size:20px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-preview-wins{font-size:28px;font-weight:900;color:var(--text-amber);line-height:1;letter-spacing:-.5px;font-family:var(--font-display)}.lb-preview-cta{position:absolute;bottom:12px;right:14px;font-size:13px;font-weight:700;color:var(--text-amber);border:1.5px solid rgba(255,255,255,.25);border-radius:7px;padding:6px 12px;letter-spacing:.04em;font-family:-apple-system,BlinkMacSystemFont,sans-serif;background:#0009;pointer-events:none}.items-preview{position:relative;display:flex;align-items:stretch;width:100%;min-height:64px;padding:0;border-radius:12px;border:2px solid #3f7fd6;background:linear-gradient(135deg,#4f96f0,#3f7fd6 45%,#2b5fab);cursor:pointer;overflow:hidden;isolation:isolate;text-align:left;color:inherit;font-family:inherit;box-shadow:0 0 24px #468ceb59,inset 0 1px #ffffff73;transition:transform .12s ease,box-shadow .25s ease;-webkit-tap-highlight-color:transparent}.items-preview:hover{box-shadow:0 0 36px #468ceb8c,inset 0 1px #ffffff8c}.items-preview:active{transform:scale(.99)}.items-preview:after{content:"";position:absolute;top:0;left:0;width:55%;height:100%;z-index:3;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translate(-120%) skew(-12deg);animation:items-preview-shimmer 4.5s ease-in-out infinite}@keyframes items-preview-shimmer{0%{transform:translate(-120%) skew(-12deg);opacity:0}12%{opacity:1}45%{transform:translate(320%) skew(-12deg);opacity:.85}46%{opacity:0}to{transform:translate(320%) skew(-12deg);opacity:0}}@media (prefers-reduced-motion: reduce){.items-preview:after{animation:none;opacity:0}}.items-preview-left{position:relative;z-index:2;display:flex;flex-direction:row;align-items:center;gap:8px;flex:0 0 auto;padding:6px 8px 6px 18px}.items-preview-title{font-family:var(--font-display);font-size:28px;font-weight:900;line-height:.95;letter-spacing:1.5px;text-transform:uppercase;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.items-preview-arrow{font-family:var(--font-display);font-size:26px;font-weight:900;line-height:1;color:#fff;transition:transform .2s ease}.items-preview:hover .items-preview-arrow,.items-preview:active .items-preview-arrow{transform:translate(6px)}@media (prefers-reduced-motion: reduce){.items-preview-arrow{transition:none}}.items-preview-strip{position:relative;z-index:1;flex:1 1 auto;align-self:stretch;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 100%)}.items-preview-track{display:flex;align-items:center;gap:0;height:100%;width:max-content;padding:0;animation:items-preview-marquee 24s linear infinite;will-change:transform}@keyframes items-preview-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.items-preview-track{animation:none}}.items-preview-cell{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:54px;height:62px;margin-left:-16px}.items-preview-cell:first-child{margin-left:0}.items-preview-img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}@supports (view-transition-name: x){::view-transition-old(items-hero),::view-transition-new(items-hero){animation-duration:.3s;animation-timing-function:ease-out}::view-transition-old(items-widget-art){animation-duration:.22s;animation-timing-function:ease-out}}.home-join-banner-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:#ffffff8c;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.home-join-banner-code{font-size:36px;font-weight:800;letter-spacing:8px;color:var(--text-amber);font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;text-shadow:0 0 12px rgba(255,170,50,.45);line-height:1.05}.home-join-banner-hint{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:#ffffff8c;font-family:-apple-system,BlinkMacSystemFont,sans-serif;margin-top:2px}.home-join-banner--error{background:#dc26261a;border-color:#dc262699}.home-join-banner--error .home-join-banner-code{color:#f87171;text-shadow:0 0 12px rgba(220,38,38,.45)}.home-join-banner--error .home-join-banner-hint{color:#f87171}.home-join-banner--stale{background:#f59e0b14;border-color:#f59e0b73}.home-join-banner--stale .home-join-banner-label{color:#fbbf24;font-size:1rem;letter-spacing:.04em;text-transform:none}.home-join-banner--stale .home-join-banner-hint{color:#fcd34d}@keyframes home-join-banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.home-logo-wrap{position:relative;width:100%;max-width:750px;margin:0 auto;overflow:hidden;animation:logo-pop .5s cubic-bezier(.34,1.56,.64,1) forwards,logo-glow 2.8s .5s ease-in-out infinite;-webkit-mask-image:url(/assets/ui/ramjam-logo.webp);mask-image:url(/assets/ui/ramjam-logo.webp);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.home-logo-wrap:after{content:"";position:absolute;top:-50%;left:-120%;width:70%;height:200%;background:linear-gradient(105deg,transparent 20%,rgba(255,245,180,.55) 45%,rgba(255,255,255,.75) 50%,rgba(255,245,180,.55) 55%,transparent 80%);animation:logo-sheen 6s .35s ease-in-out infinite;pointer-events:none}@keyframes logo-sheen{0%{transform:translate(0);opacity:1}20%{transform:translate(360%);opacity:1}20.01%{transform:translate(0);opacity:0}99.99%{transform:translate(0);opacity:0}to{transform:translate(0);opacity:1}}@keyframes logo-pop{0%{transform:scale(.92);opacity:0}60%{transform:scale(1.02);opacity:1}to{transform:scale(1);opacity:1}}@keyframes logo-glow{0%,to{filter:drop-shadow(0 0 14px rgba(255,210,60,.55))}50%{filter:drop-shadow(0 0 36px rgba(255,235,90,1))}}.home-logo{width:100%;height:auto;display:block}.home-tagline{margin:10px 0 0;font-size:14px;font-weight:700;font-style:italic;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;color:#fff;text-align:center;line-height:1.4}@media (max-width: 599px){.home-tagline-break{display:block}}.home-tagline-link{color:#fff;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#ffffff80}.home-tagline-link:hover,.home-tagline-link:focus-visible{text-decoration-color:#fff}.home-subtitle{font-size:13px;color:var(--text-light);opacity:.6;text-transform:uppercase;letter-spacing:3px;margin-top:6px}.home-section{display:flex;flex-direction:column;gap:10px}.section-label{font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--text-amber);opacity:.8;margin:0;text-align:center}.section-locked{opacity:.45;pointer-events:none}.character-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;width:min(528px,92vw);margin-left:50%;transform:translate(-50%);position:relative}.character-grid>*{flex:0 0 96px;width:96px}.character-grid--kids{grid-template-columns:repeat(2,120px);max-width:50%}.char-filter-bar{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;width:min(636px,92vw);margin:0 0 2px 50%;transform:translate(-50%);position:relative;z-index:2}.char-search{flex:1 1 auto;min-width:0;max-width:300px;padding:10px 14px;border-radius:8px;border:1.5px solid rgba(255,255,255,.15);background:#ffffff0d;color:var(--text-light);font-size:14px;font-family:inherit;outline:none;box-sizing:border-box}.char-search:focus{border-color:#ffaa32b3;background:#ffffff12}.char-search::placeholder{color:#ffffff59}.char-selects{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:center;gap:10px}.char-grid-empty{width:100%;text-align:center;color:#fff6;font-style:italic;font-size:14px;padding:18px 0}.char-gallery-hint,.character-gallery{display:none}@media (max-width: 599px){.character-grid{display:none}.char-filter-bar{flex-direction:column;align-items:stretch;width:100%;max-width:560px;margin:0 auto 2px;transform:none}.char-search{flex:none;width:100%;max-width:none}.char-selects{display:grid;grid-template-columns:1fr 1fr;width:100%}.char-selects .ui-select,.char-selects .ui-select-trigger{width:100%;min-width:0}.character-gallery{display:flex;flex-direction:column;gap:8px;margin-left:calc(-1 * var(--home-h-pad));margin-right:calc(-1 * var(--home-h-pad))}.character-gallery-track{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:96px;gap:10px;position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-left:var(--home-h-pad);padding-right:calc(var(--home-h-pad) + 36px);min-height:286px;align-content:start}.character-gallery-track::-webkit-scrollbar{display:none}.char-gallery-hint{display:block;font-size:11px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;color:#ffffff59;text-align:center;letter-spacing:1.5px;text-transform:uppercase;margin:0}.char-gallery-empty{font-size:13px;color:#fff6;font-style:italic;margin:4px 0 0 2px;grid-row:1;grid-column:1;align-self:start;white-space:nowrap}}.char-group-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--text-light);opacity:.4;margin:0}.char-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px 10px;border:2.5px solid;border-radius:10px;transition:border-color .15s,box-shadow .15s,background-color .15s;cursor:pointer;min-height:44px}.char-card:active{transform:scale(.94)}.char-card--selected{border-width:3px}.char-card--small{padding:6px 4px 8px}.char-card--taken{position:relative;cursor:not-allowed;filter:grayscale(.9) brightness(.55);opacity:.7}.char-card--taken:active{transform:none}.char-card-in-use{position:absolute;top:6px;right:6px;padding:2px 6px;background:#dc1e1ed9;color:#fff;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;border-radius:4px;pointer-events:none;filter:saturate(1.6)}.char-name{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;transition:color .15s}.char-pick-prompt{margin:4px 0 0;font-size:13px;color:#ffffff61;font-style:italic;text-align:center;letter-spacing:.02em}.char-detail{display:flex;flex-direction:column;border-radius:10px;border:2px solid;background:#ffffff0d;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;overflow:hidden;position:relative}.char-detail-top{display:flex;flex-direction:row;align-items:center;padding:14px 14px 14px 160px;position:relative;min-height:280px;overflow:hidden}.char-detail--visible{opacity:1;transform:translateY(0);pointer-events:auto}[data-char=scott] .avatar--detail{left:-100px}.char-detail-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.spinner-ring{width:28px;height:28px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--char-color, #fff);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.char-detail-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;position:relative;z-index:1}.char-detail-name{font-size:20px;font-weight:900;letter-spacing:1px;text-transform:uppercase;line-height:1.1}.char-detail-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--text-amber);opacity:.85}.char-detail-credit{margin-top:4px;font-size:10px;font-weight:600;letter-spacing:.5px;color:var(--text-muted, rgba(255, 255, 255, .6));font-style:italic}.char-detail-sparkle{display:inline-block;vertical-align:middle;margin-left:.35em;width:1.25em;height:1.25em;fill:var(--text-amber, #f0b429);filter:drop-shadow(0 0 2px rgba(240,180,41,.45))}.char-detail-tagline{font-size:12px;font-style:italic;color:var(--text-light);opacity:.75;margin-top:2px}.char-detail-bio{font-size:12px;color:var(--text-light);opacity:.72;line-height:1.55;margin:4px 0 10px}.char-detail-attack{display:flex;align-items:center;gap:8px;margin-top:4px}.char-detail-secondary,.char-detail-ability{margin-top:4px}.char-detail-attack-name{font-size:12px;font-weight:700;color:var(--text-light);letter-spacing:.5px}.char-detail-attack-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--bg-dark);background:var(--text-amber);border-radius:4px;padding:2px 6px;opacity:.9}.char-detail-secondary-badge{background:#4aa0ff;color:#0a1730}.char-detail-ability-badge{background:#5ddf7c;color:#0a2d12}.char-detail--clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.char-detail--clickable:hover{background:#ffffff14}.char-detail--clickable:focus-visible{outline:2px solid var(--text-amber);outline-offset:2px}.char-detail-inv-cta{align-self:flex-start;margin-top:10px;font-size:13px;font-weight:700;color:var(--text-amber);border:1.5px solid rgba(255,255,255,.25);border-radius:7px;padding:6px 14px;letter-spacing:.04em;font-family:-apple-system,BlinkMacSystemFont,sans-serif;background:#0009;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.char-detail-inv-cta:hover,.char-detail-inv-cta:focus-visible{background:#f59e0b26}.char-detail-inv-cta:active{background:#f59e0b40}.char-detail-stats{position:relative;z-index:1;display:flex;flex-direction:row;align-items:stretch;gap:16px;padding:13px 16px 15px;border-top:1px solid rgba(255,255,255,.1);background:#0a0a0e66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-align:left}.cd-stat-row{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px}.cd-stat-label{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#fff}.cd-stat-bar{margin-top:auto;height:7px;border-radius:4px;background:#ffffff21;overflow:hidden}.cd-stat-bar-fill{display:block;height:100%;border-radius:4px;background:var(--text-amber);transition:width .25s ease}.explore-cta{position:relative;width:100%;min-height:90px;padding:18px 22px;border-radius:8px;border:1.5px solid rgba(255,255,255,.38);background:linear-gradient(-45deg,#06b6d4,#6366f1,#0ea5e9,#8b5cf6,#06b6d4);background-size:400% 400%;cursor:pointer;overflow:hidden;isolation:isolate;text-align:center;font-family:inherit;box-shadow:0 0 28px #06b6d480,0 0 56px #6366f140,inset 0 1px #ffffff8c;transition:transform .15s ease,box-shadow .25s ease;animation:explore-shift 10s ease infinite}@keyframes explore-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.explore-cta:hover{box-shadow:0 0 40px #06b6d4b3,0 0 80px #8b5cf659,inset 0 1px #ffffffa6}.explore-cta:active{transform:scale(.99)}.explore-cta:disabled{cursor:not-allowed;background:#2a2a2a;background-size:100% 100%;border-color:#ffffff1a;box-shadow:none;animation:none;filter:grayscale(1) brightness(.55)}.explore-cta:disabled .explore-cta-glass{display:none}.explore-cta:disabled .explore-cta-title{color:#ffffff59;text-shadow:none}.explore-cta-glass{position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(160deg,#ffffff8c,#ffffff2e 28%,#ffffff0a 55%,#ffffff1a 80%,#fff3);box-shadow:inset 0 1px #ffffffb3,inset 0 -1px #0000001f,inset 1px 0 #ffffff40,inset -1px 0 #ffffff40}.explore-cta-glass:after{content:"";position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translate(-120%) skew(-12deg);animation:explore-shimmer 4s ease-in-out infinite}@keyframes explore-shimmer{0%{transform:translate(-120%) skew(-12deg);opacity:0}15%{opacity:1}50%{transform:translate(320%) skew(-12deg);opacity:.8}51%{opacity:0}to{transform:translate(320%) skew(-12deg);opacity:0}}.explore-cta-title{position:relative;z-index:2;display:block;font-family:var(--font-display);font-size:36px;font-weight:900;letter-spacing:4px;text-transform:uppercase;color:#fff;line-height:1;pointer-events:none;text-shadow:0 1px 8px rgba(0,0,0,.45),0 0 20px rgba(255,255,255,.3)}.home-play-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.explore-minigames-group .home-create-btn{border-radius:8px;min-height:116px;font-family:var(--font-display);font-size:28px;letter-spacing:2px}.home-battle-btn{position:relative;overflow:hidden;isolation:isolate;background:#f5c800;color:#111;border-color:#f5c800;font-weight:800;animation:home-battle-pulse 2.6s ease-in-out infinite}.home-battle-btn>*{position:relative;z-index:2}@keyframes home-battle-pulse{0%,to{box-shadow:0 0 #f5c80000,0 3px 12px #0000004d}50%{box-shadow:0 0 22px 1px #f5c80099,0 3px 12px #0000004d}}.home-battle-burst{position:absolute;left:50%;top:50%;width:116%;aspect-ratio:1;z-index:1;pointer-events:none;clip-path:polygon(50% 0%,58% 22%,72% 8%,70% 30%,92% 26%,78% 44%,100% 50%,78% 58%,92% 76%,70% 70%,73% 94%,58% 80%,50% 100%,42% 80%,27% 94%,30% 70%,8% 76%,22% 58%,0% 50%,22% 42%,8% 26%,30% 30%,28% 8%,42% 22%);background:radial-gradient(circle at 50% 50%,#0000 0% 40%,#00000080);transform:translate(-50%,-50%) rotate(0) scale(0);opacity:0;animation:home-battle-burst 2.6s cubic-bezier(.18,.9,.3,1) infinite}@keyframes home-battle-burst{0%{transform:translate(-50%,-50%) rotate(-14deg) scale(0);opacity:0}5%{transform:translate(-50%,-50%) rotate(-6deg) scale(1.18);opacity:1}11%{transform:translate(-50%,-50%) rotate(0) scale(.96);opacity:1}16%{transform:translate(-50%,-50%) rotate(3deg) scale(1.04);opacity:1}34%{transform:translate(-50%,-50%) rotate(8deg) scale(1);opacity:1}46%{transform:translate(-50%,-50%) rotate(12deg) scale(1.3);opacity:0}to{transform:translate(-50%,-50%) rotate(12deg) scale(1.3);opacity:0}}.home-battle-btn:after{content:"";position:absolute;left:50%;top:50%;width:40%;aspect-ratio:1;z-index:1;pointer-events:none;border-radius:50%;border:3px solid rgba(0,0,0,.55);transform:translate(-50%,-50%) scale(.2);opacity:0;animation:home-battle-shockwave 2.6s ease-out infinite}@keyframes home-battle-shockwave{0%{transform:translate(-50%,-50%) scale(.2);opacity:0;border-width:4px}4%{transform:translate(-50%,-50%) scale(.5);opacity:.8;border-width:4px}22%{transform:translate(-50%,-50%) scale(2.1);opacity:0;border-width:1px}to{transform:translate(-50%,-50%) scale(2.1);opacity:0;border-width:1px}}.home-battle-btn:hover:not(:disabled){background:#ffd633;border-color:#ffd633;color:#111}.home-battle-btn:disabled{background:#f5c80040;border-color:#f5c80040;color:#1116;animation:none}.home-battle-btn:disabled:after,.home-battle-btn:disabled .home-battle-burst{display:none}@media (prefers-reduced-motion: reduce){.home-battle-btn{animation:none}.home-battle-btn:after,.home-battle-burst{animation:none;opacity:0}}.home-baseball-btn{position:relative;overflow:hidden;min-height:116px;border-radius:8px;border:3px solid #e23b3b;background:linear-gradient(165deg,#fff,#eef0f2);cursor:pointer;font-family:var(--font-display);display:flex;align-items:center;justify-content:center;isolation:isolate;animation:home-bb-pulse 2.2s ease-in-out infinite}@keyframes home-bb-pulse{0%,to{box-shadow:0 0 #ff3c3c00,0 3px 12px #0000004d;transform:scale(1)}50%{box-shadow:0 0 24px 2px #ff46468c,0 3px 12px #0000004d;transform:scale(1.015)}}.home-baseball-title{position:relative;z-index:3;font-size:28px;letter-spacing:2px;font-weight:800;text-transform:uppercase;color:#d11f1f;text-shadow:0 1px 0 rgba(255,255,255,.8)}.home-baseball-seam{position:absolute;top:-34%;height:168%;width:72%;border:3px dashed #e23b3b;border-radius:50%;z-index:1;pointer-events:none;opacity:.9}.home-baseball-seam--l{left:-52%;animation:home-bb-seam-l 3s ease-in-out infinite}.home-baseball-seam--r{right:-52%;animation:home-bb-seam-r 3s ease-in-out infinite}@keyframes home-bb-seam-l{0%,to{left:-52%}50%{left:-48%}}@keyframes home-bb-seam-r{0%,to{right:-52%}50%{right:-48%}}.home-baseball-shimmer{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.95) 47%,rgba(255,235,235,.7) 52%,transparent 66%);transform:translate(-130%);animation:home-bb-shimmer 2.4s ease-in-out infinite}@keyframes home-bb-shimmer{0%{transform:translate(-130%)}45%,to{transform:translate(130%)}}.home-baseball-btn:hover:not(:disabled){border-color:#ff4d4d}.home-baseball-btn:active{transform:scale(.98)}.home-baseball-btn:disabled{opacity:.4;cursor:not-allowed;animation:none}.home-baseball-btn:disabled .home-baseball-shimmer,.home-baseball-btn:disabled .home-baseball-title{animation:none}.home-baseball-btn:disabled .home-baseball-shimmer{display:none}@media (prefers-reduced-motion: reduce){.home-baseball-btn,.home-baseball-title,.home-baseball-seam--l,.home-baseball-seam--r{animation:none}.home-baseball-shimmer{animation:none;opacity:0}}@media (prefers-reduced-motion: reduce){.explore-cta{animation:none;background-position:50% 50%}.explore-cta-glass:after{animation:none}}.active-games{display:flex;flex-direction:column;gap:8px}.no-games-msg{font-size:13px;color:var(--text-light);opacity:.5;text-align:center;padding:16px 0;font-style:italic}.room-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;border:1.5px solid rgba(255,170,50,.3);background:#ffffff0a;cursor:pointer;min-height:52px;transition:background .15s,border-color .15s;width:100%;text-align:left}.room-row:active{background:#ffaa321a;border-color:var(--text-amber)}.room-row:disabled{opacity:.45;cursor:not-allowed;border-color:#ffffff26}.room-code{font-size:20px;font-weight:800;color:var(--text-amber);letter-spacing:4px;font-family:monospace;min-width:60px}.room-level{font-size:11px;font-weight:600;color:var(--text-amber);opacity:.7;text-transform:uppercase;letter-spacing:1px;flex:1}.room-players{font-size:13px;color:var(--text-light);opacity:.7;text-transform:uppercase;letter-spacing:1px}.room-join-hint{font-size:12px;font-weight:700;color:var(--text-amber);opacity:.6;letter-spacing:1px;text-transform:uppercase}.home-create-btn{width:100%;padding:16px;font-size:18px;min-height:54px}.home-minigames-btn{background:#f5c800;color:#111;border-color:#f5c800;font-weight:800}.home-minigames-btn:hover:not(:disabled){background:#ffd633;border-color:#ffd633;color:#111}.home-minigames-btn:disabled{background:#f5c80040;border-color:#f5c80040;color:#1116}.divider{display:flex;align-items:center;gap:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ffffff26}.divider-text{font-size:12px;color:var(--text-light);opacity:.5;text-transform:uppercase;letter-spacing:2px}.manual-join{display:flex;flex-direction:row;align-items:stretch;gap:10px}.join-input{flex:1 1 auto;min-width:0;font-size:22px;padding:14px 12px;letter-spacing:6px;font-weight:700;min-height:54px}.manual-join .btn{flex:0 0 auto;padding:14px 24px;font-size:16px;min-height:54px}.home-status{font-size:13px;color:#f59e0b;text-align:center;padding:8px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px}@media (min-width: 600px){.char-detail-info{text-align:center}.char-detail-attack{justify-content:center}.char-detail-inv-cta{align-self:center}}@media (max-width: 599px){.char-detail-attack-badge{margin-left:auto}}.im-overlay{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}.im-modal{background:#1a0f07;border:1px solid rgba(245,158,11,.3);border-radius:16px;padding:28px 24px 22px;max-width:360px;width:100%;max-height:calc(100dvh - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 8px 40px #000000b3}.im-title{font-size:22px;letter-spacing:.12em;color:#f59e0b;margin:0 0 8px;text-align:center;font-weight:700}.im-subtitle{font-size:12px;color:#ffffff73;text-align:center;margin:0 0 18px;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.im-section-head{font-size:13px;letter-spacing:.06em;color:#f59e0b;margin:6px 0 10px;font-weight:700}.im-list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:10px}.im-list li{display:flex;align-items:baseline;gap:10px;font-size:14px;color:#ffffffe0;line-height:1.3}.im-key{background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:5px;padding:2px 7px;font-size:12px;font-weight:600;color:#fff;white-space:nowrap;flex-shrink:0}.im-tip{font-size:12px;color:#ffffff80;margin:0 0 20px;line-height:1.5;text-align:center;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.im-play-btn{width:100%;margin-top:4px}.im-modal .built-by{margin-top:14px}.session-expired-overlay{position:fixed;inset:0;background:#0a0504;display:flex;align-items:center;justify-content:center;padding:24px;z-index:9500;animation:session-expired-fade .2s ease-out}.session-expired-modal{background:#1a0f0a;border:1.5px solid rgba(255,170,50,.45);border-radius:16px;padding:30px 26px 26px;max-width:420px;width:100%;text-align:center;box-shadow:0 8px 40px #0009,0 0 32px #f59e0b2e}.session-expired-title{font-size:18px;color:var(--text-amber);letter-spacing:3px;text-transform:uppercase;margin:0 0 12px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700}.session-expired-msg{font-size:14px;line-height:1.55;color:#ffffffb3;margin:0 0 22px;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.session-expired-actions{display:flex;flex-direction:column;gap:10px}.session-expired-actions .btn{width:100%;min-height:48px}@keyframes session-expired-fade{0%{opacity:0}to{opacity:1}}.ui-switch{--ui-switch-w: 52px;--ui-switch-h: 30px;--ui-switch-pad: 3px;position:relative;flex-shrink:0;display:inline-flex;align-items:center;width:var(--ui-switch-w);height:var(--ui-switch-h);padding:0;border:none;border-radius:999px;background:var(--text-amber);cursor:pointer;transition:background .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.ui-switch[aria-checked=false]{background:#ffaa328c}.ui-switch:focus-visible{outline:none;box-shadow:0 0 0 3px #ffaa3266}.ui-switch-knob{position:absolute;top:var(--ui-switch-pad);left:var(--ui-switch-pad);width:calc(var(--ui-switch-h) - var(--ui-switch-pad) * 2);height:calc(var(--ui-switch-h) - var(--ui-switch-pad) * 2);border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:transform .18s cubic-bezier(.4,0,.2,1)}.ui-switch[aria-checked=true] .ui-switch-knob{transform:translate(calc(var(--ui-switch-w) - var(--ui-switch-h)))}.level-card{border-radius:12px;overflow:hidden;border:1.5px solid rgba(255,170,50,.3);background:#0e0907;cursor:pointer;transition:border-color .2s,opacity .2s,box-shadow .2s,transform .2s;position:relative}.level-card--static{cursor:default}.level-card--active{border-color:var(--text-amber);box-shadow:0 0 18px #ffaa3252}.level-card--soon{opacity:.55}.level-card--soon.level-card--active{opacity:.85}.level-card--soon .level-card-img{filter:grayscale(1) brightness(.7)}.level-card--soon .level-card-type-badge{filter:grayscale(1)}.level-card-img{width:100%;height:200px;object-fit:cover;display:block}.level-card-img[data-level-id=baseball]{object-position:top}.level-card-img--placeholder{background:linear-gradient(135deg,#1a1008,#0e1520,#0a0d18)}.level-card-soon-badge{position:absolute;top:10px;right:10px;background:#0000008c;color:#ffffff80;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:3px 8px;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.level-card-title-overlay{position:absolute;bottom:0;left:0;right:0;padding:10px 14px 12px;display:flex;align-items:flex-end;justify-content:space-between}.level-card-name{font-size:28px;font-weight:700;color:var(--text-amber);font-family:var(--font-display);font-variation-settings:"wdth" 90,"wght" 550;text-shadow:0 1px 3px rgba(0,0,0,1),0 2px 12px rgba(0,0,0,.95),0 4px 24px rgba(0,0,0,.8)}.level-card-type-badge{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:6px;flex-shrink:0;margin-left:8px;margin-bottom:2px}.level-card-type-badge--pvp,.level-card-type-badge--pve{background:#dc2626e0;color:#fff}.rsb{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:10px;border:1.5px solid rgba(255,255,255,.12);background:#ffffff0a}.rsb-label{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#ffffff73}.rsb-code{flex:1;font-weight:800;font-family:ui-monospace,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;user-select:text;-webkit-user-select:text}.rsb-share{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,transform .08s}.rsb-share:active{transform:scale(.95)}.rsb-share:disabled{opacity:.5;cursor:default}.rsb-share-icon{width:14px;height:14px}.rsb--amber .rsb-code{font-size:24px;letter-spacing:6px;color:var(--text-amber);text-shadow:0 0 12px rgba(255,170,50,.35);cursor:text}.rsb--amber .rsb-share{background:#ffaa3226;border:1.5px solid rgba(255,170,50,.55);color:var(--text-amber)}.rsb--amber .rsb-share:active{background:#ffaa3247}.rsb--baseball{background:#ffffff0d}.rsb--baseball .rsb-code{font-size:20px;letter-spacing:.18em;color:#fff}.rsb--baseball .rsb-share{background:#ffd23f;border:none;color:#1a1000;border-radius:9px;letter-spacing:.04em}.rsb--baseball .rsb-share:active{background:#ffdf6b}.ui-back-btn{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 14px;border-radius:18px;background:#ffffff14;border:1.5px solid rgba(255,255,255,.2);color:#ffffffbf;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:600;letter-spacing:.4px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.ui-back-btn:hover{background:#ffffff24;color:#fff}.ui-back-btn:active{background:#fff3}.ui-back-arrow{font-size:16px;line-height:1;margin-top:-1px}.ui-back-btn--fixed{position:fixed;top:max(env(safe-area-inset-top,0px) + 8px,12px);right:max(env(safe-area-inset-right,0px) + 12px,12px);z-index:9000}.lobby{background:linear-gradient(160deg,#1a0f0a,#0a0504);justify-content:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-anchor:none}.route-container.lobby{padding:0}.lobby-inner{width:100%;max-width:560px;display:flex;flex-direction:column;gap:22px;padding:max(calc(env(safe-area-inset-top,0px) + 56px),72px) 20px 40px}.lobby-share-toast{position:fixed;bottom:84px;left:50%;transform:translate(-50%);padding:11px 22px;background:#000000eb;border:1.5px solid var(--text-amber);border-radius:8px;color:var(--text-amber);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:600;letter-spacing:.3px;z-index:9500;pointer-events:none;animation:lobby-share-toast 2.2s ease-out forwards;white-space:nowrap}@keyframes lobby-share-toast{0%{opacity:0;transform:translate(-50%) translateY(8px)}10%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(8px)}}.lobby-subtitle{font-size:13px;color:var(--text-light);opacity:.55;margin:-6px 0 0;text-transform:uppercase;letter-spacing:1.5px;text-align:center}.lobby-players{display:flex;flex-direction:column;gap:10px}.player-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.07);border-left:3px solid var(--row-accent, rgba(255,255,255,.18));min-height:52px;box-sizing:border-box}.player-row-name{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;flex:1;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif}.player-row-tags{display:flex;align-items:center;gap:8px;flex-shrink:0}.player-row-tag{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#ffffff59}.player-row-tag--host{color:#ffaa32a6}.level-carousel-wrap{display:flex;flex-direction:column;gap:10px;margin:0 -20px;position:relative}.level-carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px calc((100% - 320px)/2) 8px}.level-carousel::-webkit-scrollbar{display:none}.level-carousel--readonly{overflow-x:hidden;scroll-snap-type:none}.level-carousel--readonly .level-card{pointer-events:none;cursor:default}.level-carousel .level-card{flex:0 0 320px;scroll-snap-align:center}.level-carousel-arrow{position:absolute;top:104px;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:#0009;border:1.5px solid rgba(255,170,50,.4);color:var(--text-amber);font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;z-index:2;transition:background .15s,border-color .15s;font-family:-apple-system,BlinkMacSystemFont,sans-serif;padding:0 0 2px}.level-carousel-arrow:hover{background:#ffaa322e;border-color:#ffaa32cc}.level-carousel-arrow--prev{left:8px}.level-carousel-arrow--next{right:8px}.level-carousel-footer{padding:0 calc((100% - 320px)/2);min-height:20px}.level-carousel-desc{font-size:13px;color:var(--text-light);opacity:.6;font-family:-apple-system,BlinkMacSystemFont,sans-serif;margin:0}.bot-row{opacity:.8;border-style:dashed dashed dashed solid!important}.bot-difficulty{display:inline-flex;align-items:center;gap:6px}.bot-difficulty-label{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#ffffff4d;transition:color .15s}.bot-difficulty-label--active{color:#f59e0bf2}.bot-difficulty-tag{color:#f59e0bb3}.bot-remove-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(245,158,11,.55);background:transparent;color:var(--text-amber, #f59e0b);font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,color .15s,background .15s;padding:0;margin-left:4px}.bot-remove-btn:hover{border-color:#f59e0bf2;color:#fbbf24;background:#f59e0b1f}.bot-remove-btn:active{background:#f59e0b38}.add-bot-btn{width:100%;border-style:dashed}.lobby-footer,.lobby-footer .btn{width:100%}.lobby-footer .btn-primary{padding:18px;min-height:64px}.waiting-message{text-align:center;color:var(--text-light);opacity:.6;font-size:15px;padding:16px;text-transform:uppercase;letter-spacing:1.5px}.lobby-back-footer-btn{width:100%;margin-top:10px}@media (min-width: 900px){.route-container.lobby{padding-top:180px}.lobby-inner{max-width:1080px}.level-carousel-wrap{margin:0}.level-carousel{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;overflow:visible;scroll-snap-type:none;padding:4px}.level-carousel .level-card{flex:none;width:auto;scroll-snap-align:none;border-width:2px}.level-carousel .level-card:hover:not(.level-card--active){border-color:#ffaa328c;transform:translateY(-2px)}.level-carousel .level-card--active{box-shadow:0 0 0 3px #ffaa3259,0 0 28px #ffaa3273}.level-carousel .level-card-img{height:220px}.level-carousel .level-card-name{font-size:32px}.level-carousel-arrow{display:none}.level-carousel-footer{padding:0 4px;margin-top:6px}}.item-spawn{position:absolute;pointer-events:none;z-index:2;display:block}.item-spawn--static{animation:item-pulse 1.6s ease-in-out infinite}@keyframes item-pulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.07)}}.item-spawn__img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.item-spawn__img--swimBob{animation:item-swim-bob 2.4s ease-in-out infinite}@keyframes item-swim-bob{0%,to{transform:translate(0) rotate(-2deg)}50%{transform:translate(2px,-3px) rotate(2deg)}}.item-pickup-fly{position:fixed;z-index:250;pointer-events:none;width:48px;height:48px;object-fit:contain;image-rendering:pixelated;transition:transform .7s cubic-bezier(.32,.1,.4,1),opacity .7s ease-out}.item-pickup-sparkle{position:fixed;z-index:240;pointer-events:none;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#ffffc8f2,#ffc86466 40%,#ffc80000 70%);animation:item-sparkle .6s ease-out forwards}@keyframes item-sparkle{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}25%{transform:translate(-50%,-50%) scale(1.1);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.item-spawn__img--glowPulse{animation:item-jelly-glow 2s ease-in-out infinite}@keyframes item-jelly-glow{0%,to{filter:drop-shadow(0 0 4px rgba(0,230,200,.6)) drop-shadow(0 0 12px rgba(0,200,255,.3)) brightness(1.15);transform:translateY(0)}50%{filter:drop-shadow(0 0 10px rgba(0,240,220,.95)) drop-shadow(0 0 22px rgba(50,220,255,.55)) brightness(1.4);transform:translateY(-4px)}}.item-spawn--static .item-spawn__img--glowPulse{animation:item-jelly-glow 2s ease-in-out infinite}.fish-bubble{position:absolute;width:5px;height:5px;border-radius:50%;background:#beebffa6;border:1px solid rgba(220,248,255,.8);pointer-events:none;animation:fish-bubble-rise 2.2s ease-out infinite}.fish-bubble--1{left:22%;bottom:48%;animation-delay:0s;width:4px;height:4px}.fish-bubble--2{left:50%;bottom:55%;animation-delay:.8s}.fish-bubble--3{left:72%;bottom:44%;animation-delay:1.5s;width:3px;height:3px}@keyframes fish-bubble-rise{0%{transform:translateY(0) scale(1);opacity:.75}70%{transform:translateY(-22px) scale(1.2);opacity:.35}to{transform:translateY(-30px) scale(1.4);opacity:0}}.item-spawn--birdFly,.item-spawn--birdFly-reverse{animation-name:bird-fly;animation-duration:8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.item-spawn--birdFly-reverse{animation-name:bird-fly-reverse}@keyframes bird-fly{0%,to{transform:translate(-140px)}50%{transform:translate(140px)}}@keyframes bird-fly-reverse{0%,to{transform:translate(140px)}50%{transform:translate(-140px)}}.item-spawn__img--flightBob{animation:item-flight-bob 1.1s ease-in-out infinite}@keyframes item-flight-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.item-spawn__img--frogBob{animation:item-frog-bob 1.8s ease-in-out infinite}@keyframes item-frog-bob{0%,to{transform:translateY(0) scaleX(1) scaleY(1)}30%{transform:translateY(-6px) scaleX(.92) scaleY(1.08)}60%{transform:translateY(2px) scaleX(1.05) scaleY(.95)}}.item-spawn__img--coinSpin{animation:item-coin-spin 1.1s linear infinite}@keyframes item-coin-spin{0%{transform:scaleX(1)}25%{transform:scaleX(.15)}50%{transform:scaleX(1)}75%{transform:scaleX(.15)}to{transform:scaleX(1)}}.item-spawn--emberDrift,.item-spawn--emberDrift-reverse{animation-name:ember-drift;animation-duration:3.2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.item-spawn--emberDrift-reverse{animation-name:ember-drift-reverse}@keyframes ember-drift{0%{transform:translate(0);opacity:1}40%{transform:translate(12px,-28px);opacity:.85}80%{transform:translate(-6px,-52px);opacity:.45}to{transform:translate(0);opacity:1}}@keyframes ember-drift-reverse{0%{transform:translate(0);opacity:1}40%{transform:translate(-12px,-28px);opacity:.85}80%{transform:translate(6px,-52px);opacity:.45}to{transform:translate(0);opacity:1}}.item-spawn--schoolSwim,.item-spawn--schoolSwim-reverse{animation-name:school-swim;animation-duration:13s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.item-spawn--schoolSwim-reverse{animation-name:school-swim-reverse}@keyframes school-swim{0%,to{transform:translate(-70px)}50%{transform:translate(70px)}}@keyframes school-swim-reverse{0%,to{transform:translate(70px)}50%{transform:translate(-70px)}}.inv-empty{margin:12px 0;color:#ffffff73;font-size:14px;text-align:center}.inv-table{width:100%;border-collapse:collapse;font-size:14px;color:#ffffffe6}.inv-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#fff6;font-weight:600;text-align:left;padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.08)}.inv-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04)}.inv-table tbody tr:last-child{border-bottom:none}.inv-table td{padding:8px 6px;vertical-align:middle}.inv-item-cell{display:flex;align-items:center;gap:10px}.inv-item-cell--clickable{cursor:pointer;border-radius:6px;margin:-2px -4px;padding:2px 4px;transition:background .12s ease-out;-webkit-tap-highlight-color:transparent}.inv-item-cell--clickable:hover,.inv-item-cell--clickable:active{background:#f59e0b1f}.inv-item-sprite{width:32px;height:32px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}.inv-item-sprite-missing{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;font-size:16px;color:#ffffff80;font-weight:700;line-height:1}.inv-item-name{font-weight:500}.inv-item-count{color:#ffffff73;font-size:12px;font-weight:600;font-family:monospace;letter-spacing:.04em}.inv-expires{color:#fff6;font-size:13px;white-space:nowrap}.inv-action{text-align:right;width:1%}.inv-consume{pointer-events:all;padding:5px 12px;background:#f59e0b2e;border:1px solid rgba(245,158,11,.5);color:#fbbf24;border-radius:6px;font-size:12px;font-weight:600;letter-spacing:.05em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.inv-consume:active{background:#f59e0b52}.inv-consume--used{background:#ffffff0f;border-color:#ffffff2e;color:#9ca3af;cursor:default}.hud{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:10px 14px max(env(safe-area-inset-bottom,0px),4px);pointer-events:none;z-index:100}@media (min-width: 600px){.hud{padding:10px 14px 40px 40px}}.hud-left{position:absolute;bottom:max(env(safe-area-inset-bottom,0px) + 4px,10px);display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}.hud--right .hud-left{right:16px;left:auto}.hud--left .hud-left{left:16px;right:auto}@media (min-width: 600px){.hud-left{bottom:40px}.hud--right .hud-left{right:40px}.hud--left .hud-left{left:40px}}.hud-cluster{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}.hud-cluster>button{position:static;transform:none}.hud-cluster__secondary{order:1}.hud-cluster__attack{order:2}.hud-cluster__ability{order:3}.hud-cluster__shield{order:4}.hud-btn--unbound{background:#3c3c3c8c!important;box-shadow:2px 2px 5px #0006,inset 1px 1px 3px #ffffff0d!important;opacity:.45;filter:grayscale(.8)}.hud-btn--unbound:active{transform:none}.hud-shield-btn{pointer-events:all;width:48px;height:48px;border-radius:50%;background:#1e1e1eb8;border:1.5px solid rgba(245,168,0,.5);box-shadow:3px 3px 8px #0009,inset 1px 1px 3px #ffdc5014;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;transition:transform .08s,box-shadow .08s,background .08s;display:flex;align-items:center;justify-content:center;padding:0}.hud-shield-btn:active{scale:.91;background:#322300eb;box-shadow:1px 1px 4px #000c,inset 2px 2px 5px #0006}.hud-shield-btn-icon{width:26px;height:26px;object-fit:contain;display:block;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.hud-b-btn{pointer-events:all;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#5aa8ff,#1c5fb5);border:none;box-shadow:4px 4px 10px #000000b3,-1px -1px 4px #6eaaff26,inset 2px 2px 4px #82b4ff52,inset -2px -2px 5px #00000073;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;transition:transform .08s,box-shadow .08s;display:flex;align-items:center;justify-content:center}.hud-b-btn:active{scale:.91;box-shadow:1px 1px 5px #000000d9,inset 3px 3px 7px #0000008c,inset -1px -1px 3px #78aaf02e}.hud-a-btn-icon,.hud-b-btn-icon,.hud-c-btn-icon{width:calc(100% - 10px);height:calc(100% - 10px);object-fit:contain;image-rendering:pixelated;display:block;pointer-events:none}.hud-btn-emoji{width:calc(100% - 20px);height:calc(100% - 20px);display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none;user-select:none;text-shadow:0 1px 2px rgba(0,0,0,.55);font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.hud-a-btn .hud-btn-emoji{font-size:44px}.hud-b-btn .hud-btn-emoji{font-size:34px}.hud-c-btn .hud-btn-emoji{font-size:26px}.hud-b-btn-fallback,.hud-c-btn-fallback{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:20px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.hud-c-btn{pointer-events:all;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#5ddf7c,#1e7a3b);border:none;box-shadow:4px 4px 10px #000000b3,-1px -1px 4px #78e69626,inset 2px 2px 4px #a0f0b452,inset -2px -2px 5px #00000073;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;transition:transform .08s,box-shadow .08s;display:flex;align-items:center;justify-content:center}.hud-c-btn:active{scale:.91;box-shadow:1px 1px 5px #000000d9,inset 3px 3px 7px #0000008c,inset -1px -1px 3px #8cdca02e}.hud-a-btn{pointer-events:all;width:68px;height:68px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 35% 35%,#ff5050,#b80e0e);border:none;box-shadow:5px 5px 12px #000000bf,-2px -2px 6px #ff5a5a1f,inset 2px 2px 5px #ff82824d,inset -2px -2px 5px #00000073;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;transition:transform .08s,box-shadow .08s;display:flex;align-items:center;justify-content:center}.hud-a-btn:active{scale:.91;box-shadow:2px 2px 6px #000000d9,inset 3px 3px 8px #0000008c,inset -1px -1px 3px #ff787826}.hud-a-btn--spray{position:relative;overflow:hidden;background:radial-gradient(circle at 35% 35%,#e040fb,#7b1fa2);box-shadow:5px 5px 12px #000000bf,-2px -2px 6px #e040fb2e,inset 2px 2px 5px #ff96ff4d,inset -2px -2px 5px #00000073}.hud-spray-fuel-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;background:hsl(calc(var(--spray-hue, 180) * 1deg),100%,60%);border-radius:0 0 50px 50px;pointer-events:none;transition:background-color .3s ease}.hud-a-btn--recharging .hud-spray-fuel-bar{background:#ffffff40;animation:spray-recharge-pulse .55s ease-in-out infinite}@keyframes spray-recharge-pulse{0%,to{opacity:.25}50%{opacity:.7}}.hud-a-btn.is-cd,.hud-b-btn.is-cd,.hud-c-btn.is-cd{opacity:.32;filter:saturate(.3) brightness(.7);box-shadow:none!important}.hud-btn--unbound.is-cd{opacity:.45;filter:grayscale(.8)}.hud-right{position:fixed;top:max(env(safe-area-inset-top),12px);right:max(12px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none;z-index:100}.hud-player{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.hud-player--local .hud-char-name{color:var(--text-amber)}.hud-char-name{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 1px 4px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.8)}.hud-damage{text-shadow:0 1px 4px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.8)}.hud-pips{display:flex;gap:4px}.hud-pip{width:13px;height:13px;border-radius:50%;display:inline-block}.hud-damage{font-size:17px;font-weight:700;font-family:monospace}.hud-menu-chip{pointer-events:all;position:fixed;top:max(env(safe-area-inset-top,0px) + 8px,12px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:7px 18px;background:#000c;border:1.5px solid rgba(245,158,11,.6);border-radius:20px;color:#f59e0b;font-size:13px;font-family:monospace;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;white-space:nowrap;z-index:101}.hud-menu-chip:active{background:#f59e0b33}.hud-menu-label{letter-spacing:.18em;font-weight:700}.hud-menu-overlay{pointer-events:all;position:fixed;inset:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:9200;padding:24px}.hud-menu-card{position:relative;background:#1a1208;border:1px solid rgba(245,158,11,.5);border-radius:16px;padding:22px 22px 18px;display:flex;flex-direction:column;gap:12px;width:100%;max-width:360px;max-height:calc(100dvh - 48px)}.hud-qr-close{position:absolute;top:10px;right:12px;background:none;border:none;color:#f59e0bb3;font-size:22px;cursor:pointer;line-height:1;padding:6px 8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.hud-menu-qr-strip{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:18px}.hud-menu-qr-strip-label{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;text-align:center;background:none;border:none;padding:0;cursor:pointer;font:inherit;touch-action:manipulation}.hud-menu-qr-enlarge{display:inline-flex;align-items:center;gap:4px;color:#f59e0bd9;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.hud-menu-qr-arrow{font-size:14px;line-height:1}.hud-menu-share-btn{display:flex;flex-direction:column;align-items:center;gap:2px;justify-self:center;background:#f59e0b1f;border:1px solid rgba(245,158,11,.45);border-radius:12px;color:#f59e0b;font-weight:700;font-size:13px;padding:10px 14px;cursor:pointer;touch-action:manipulation}.hud-menu-share-btn:active{transform:scale(.95)}.hud-menu-share-icon{font-size:18px;line-height:1}.hud-menu-share-toast{text-align:center;color:#f59e0b;font-size:13px;margin-top:8px}.hud-menu-divider{height:1px;background:#ffffff1a;margin:14px 0 4px}.hud-menu-roomcode{margin:0;color:#f59e0b;font-family:monospace;font-size:22px;font-weight:700;letter-spacing:.12em;line-height:1}.hud-qr-subtitle{margin:0;color:#f59e0bb3;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.hud-menu-qr-small{pointer-events:all;flex-shrink:0;width:72px;height:72px;padding:4px;background:#fff;border:2px solid rgba(245,158,11,.75);border-radius:6px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;animation:hud-menu-qr-pulse 2.2s ease-in-out infinite}.hud-menu-qr-small img{width:100%;height:auto;display:block;image-rendering:pixelated}.hud-menu-qr-hint-side{display:flex;align-items:center;gap:4px;color:#d97706;font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1.15;text-transform:uppercase;white-space:nowrap}.hud-menu-qr-arrow{display:inline-block;font-size:18px;line-height:1;color:#f59e0b;animation:hud-menu-qr-arrow-bob 1.4s ease-in-out infinite}@keyframes hud-menu-qr-arrow-bob{0%,to{transform:translate(0)}50%{transform:translate(-4px)}}@keyframes hud-menu-qr-pulse{0%,to{box-shadow:0 0 #f59e0b99}50%{box-shadow:0 0 0 6px #f59e0b00}}.hud-menu-qr-full{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:12px 0;cursor:pointer}.hud-menu-qr-full img{width:min(70vw,320px);height:min(70vw,320px);background:#fff;padding:8px;border-radius:10px;image-rendering:pixelated}.hud-menu-qr-fullcode{margin:0;color:#f59e0b;font-family:monospace;font-size:28px;font-weight:700;letter-spacing:.15em}.hud-menu-inv-header{margin:4px 0 0;color:#ffffffe6;font-size:15px;font-weight:600;text-align:center;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.hud-menu-controls-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 10px}.hud-menu-controls-label{color:#ffffffe6;font-size:14px;font-weight:600}.hud-menu-controls-toggle{display:flex;gap:6px}.hud-menu-controls-toggle button{padding:6px 16px;border-radius:8px;border:1px solid rgba(255,210,74,.4);background:#ffffff0f;color:#e8e0d0;font-size:13px;font-weight:600;cursor:pointer;touch-action:manipulation}.hud-menu-controls-toggle button.is-active{background:#ffd24a;color:#1a1208;border-color:#ffd24a}.hud-menu-inv-scroll{flex:1;min-height:80px;max-height:36vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.hud-home-btn{margin-top:4px;padding:12px 24px;width:100%;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.hud-home-btn:active{background:#ffffff1f}.hud-menu-title{margin:0;text-align:center;font-size:18px;font-weight:800;letter-spacing:.06em;color:#f59e0b;text-shadow:0 1px 6px rgba(245,158,11,.35)}.hud-resume-btn{margin-top:4px;padding:12px 24px;width:100%;background:linear-gradient(160deg,#ffd23f,#e6a800);border:none;border-radius:10px;color:#1a1000;font-size:16px;font-weight:800;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 3px #00000059}.hud-resume-btn:active{transform:translateY(2px);box-shadow:none}.item-inspect-overlay{position:fixed;inset:0;background:#000000c7;z-index:9500;display:flex;align-items:center;justify-content:center;padding:20px;animation:item-inspect-fade .14s ease-out;pointer-events:all}@keyframes item-inspect-fade{0%{opacity:0}to{opacity:1}}.item-inspect-card{position:relative;max-width:320px;width:100%;background:linear-gradient(160deg,#1f1b14,#14110b);border:2px solid rgba(245,158,11,.75);border-radius:14px;padding:28px 22px 22px;text-align:center;color:#f5e6c8;font-family:var(--font-display, system-ui),sans-serif;box-shadow:0 8px 32px #0009,0 0 0 4px #f59e0b1f;pointer-events:all}.item-inspect-close{position:absolute;top:6px;right:8px;width:30px;height:30px;background:transparent;border:none;color:#f5e6c8;font-size:18px;cursor:pointer;opacity:.7;padding:0;line-height:1}.item-inspect-close:hover{opacity:1}.item-inspect-sprite{width:96px;height:96px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 12px rgba(245,158,11,.4));margin-bottom:6px}.item-inspect-name{font-size:20px;font-weight:800;color:#f59e0b;letter-spacing:.5px;margin:4px 0 8px}.item-inspect-desc{font-size:13px;line-height:1.4;color:#d9c8a5;margin-bottom:10px;font-family:system-ui,-apple-system,sans-serif;letter-spacing:0}.item-inspect-qty{font-size:12px;color:#9b8a64;letter-spacing:.5px;font-weight:600;margin-bottom:14px}.item-inspect-use{background:linear-gradient(180deg,#f59e0b,#c97a05);border:none;color:#1a1408;padding:10px 22px;border-radius:10px;font-size:14px;font-weight:800;letter-spacing:.5px;font-family:var(--font-display, system-ui),sans-serif;cursor:pointer;box-shadow:0 3px 8px #0006,inset 0 1px #ffffff40;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform 80ms ease-out,box-shadow 80ms ease-out}.item-inspect-use:active{transform:scale(.94);box-shadow:0 1px 3px #0006,inset 0 1px #ffffff26}.usable-strip{position:fixed;top:max(calc(env(safe-area-inset-top,0px) + 52px),60px);left:max(env(safe-area-inset-left,0px) + 8px,8px);max-width:min(46vw,320px);z-index:9000;pointer-events:none}.usable-strip__scroll{pointer-events:auto;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;padding:4px 14px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);-webkit-overflow-scrolling:touch}.usable-strip__scroll::-webkit-scrollbar{display:none}.usable-strip__chip{position:relative;flex:0 0 auto;width:44px;height:44px;background:#0000008c;border:1.5px solid rgba(245,158,11,.55);border-radius:10px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform 80ms ease-out,background .12s ease-out,border-color .12s ease-out,opacity .2s ease-out}.usable-strip__chip:active{transform:scale(.92);background:#f59e0b2e}.usable-strip__chip--pop{animation:usable-chip-pop .22s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}@keyframes usable-chip-pop{0%{transform:scale(1) translateY(0);opacity:1}40%{transform:scale(1.18) translateY(-6px);opacity:.9}to{transform:scale(.6) translateY(-22px);opacity:0}}.usable-strip__sprite{width:36px;height:36px;object-fit:contain;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.usable-strip__qty{position:absolute;right:-4px;bottom:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#f59e0b;color:#1a1a1a;font-size:11px;font-weight:800;font-family:var(--font-display, system-ui),sans-serif;line-height:18px;text-align:center;border:1.5px solid rgba(0,0,0,.75);box-shadow:0 1px 3px #00000080;pointer-events:none;letter-spacing:-.02em}.usable-strip__chip--used{opacity:.4;filter:grayscale(1)}.usable-strip__chip--used:active{transform:none;background:#ffffff0f}.usable-strip__chip--used .usable-strip__qty{background:#6b7280;color:#e5e7eb}.usable-strip__chip--used:after{content:"🔒";position:absolute;top:-4px;left:-4px;font-size:12px;line-height:1;filter:none;pointer-events:none}@media (min-width: 600px){.usable-strip{top:max(calc(env(safe-area-inset-top,0px) + 76px),90px);left:max(env(safe-area-inset-left,0px) + 16px,16px);max-width:min(46vw,460px)}.usable-strip__chip{width:64px;height:64px;border-radius:14px}.usable-strip__sprite{width:52px;height:52px}.usable-strip__qty{min-width:22px;height:22px;font-size:13px;line-height:22px;border-radius:11px}}.game-viewport{position:fixed;top:0;left:0;right:0;height:100vh;height:100lvh;overflow:hidden;background:#0a0807;touch-action:none;-webkit-tap-highlight-color:transparent}.game-stage{position:absolute;top:0;left:0}.platform{position:absolute;border-radius:3px}.platform--floor,.platform--hardwood{background:#ffffff26;border-top:3px solid rgba(255,255,255,.9)}.platform--invisible,.platform--festival-floor,.platform--speaker-stack{background:transparent!important;border:none!important}.mud-pit-overlay{background:radial-gradient(ellipse 40% 25% at 30% 8%,rgba(120,70,20,.55) 0%,transparent 100%),radial-gradient(ellipse 20% 12% at 65% 12%,rgba(90,50,15,.45) 0%,transparent 100%),radial-gradient(ellipse 15% 8% at 50% 5%,rgba(60,35,10,.6) 0%,transparent 100%),linear-gradient(180deg,#5a320fe6,#4a2508 15%,#2d1505 40%,#140a02,#0a0501);border-top:2px solid rgba(140,80,25,.65)}.platform--ledge,.platform--bar-counter,.platform--bookshelf-ledge,.platform--booth-top,.platform--chandelier-beam,.platform--default{background:#ffffff1f;border-top:3px solid rgba(255,255,255,.85);border-radius:2px}.platform--leaf{background:linear-gradient(180deg,#5a3a1c,#4a2f15 60%,#3a2410);border-radius:6px 6px 3px 3px;box-shadow:0 -2px 5px #78c85066,inset 0 -2px 4px #00000073;position:relative;overflow:visible;transform:translateY(-12px)}.platform--leaf:before{content:"";position:absolute;left:-6px;right:-6px;top:-11px;height:14px;background:radial-gradient(ellipse 13px 9px at 12% 100%,#6cba3a 60%,transparent 62%),radial-gradient(ellipse 16px 11px at 30% 100%,#5fa830 60%,transparent 62%),radial-gradient(ellipse 14px 10px at 48% 100%,#6cba3a 60%,transparent 62%),radial-gradient(ellipse 17px 12px at 68% 100%,#4f9028 60%,transparent 62%),radial-gradient(ellipse 13px 9px at 86% 100%,#6cba3a 60%,transparent 62%);pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.platform--cloud-low,.platform--cloud-mid,.platform--cloud-high{background:transparent;border:none;box-shadow:none;border-radius:0;position:relative;overflow:visible;will-change:transform}.platform--cloud-low:before,.platform--cloud-mid:before,.platform--cloud-high:before{content:"";position:absolute;bottom:18px;left:-30px;right:-30px;height:120px;background-size:100% 100%;background-repeat:no-repeat;background-position:center bottom;pointer-events:none;z-index:1;animation:cloud-puff 6s ease-in-out infinite}.platform--cloud-low:after,.platform--cloud-mid:after,.platform--cloud-high:after{content:"";position:absolute;bottom:18px;left:-30px;right:-30px;height:22px;background-repeat:no-repeat;background-position:center bottom;pointer-events:none;z-index:10;animation:cloud-puff 6s ease-in-out infinite}.platform--cloud-low:before{background-image:url(/assets/sprites/explore/cloud-low.webp);animation-duration:7s}.platform--cloud-low:after{background-image:url(/assets/sprites/explore/cloud-low.webp);background-size:100% 120px;animation-duration:7s}.platform--cloud-mid:before{background-image:url(/assets/sprites/explore/cloud-mid.webp);height:100px;animation-duration:9s;animation-delay:-2s}.platform--cloud-mid:after{background-image:url(/assets/sprites/explore/cloud-mid.webp);background-size:100% 100px;animation-duration:9s;animation-delay:-2s}.platform--cloud-high:before{background-image:url(/assets/sprites/explore/cloud-high.webp);height:80px;animation-duration:11s;animation-delay:-4s}.platform--cloud-high:after{background-image:url(/assets/sprites/explore/cloud-high.webp);background-size:100% 80px;animation-duration:11s;animation-delay:-4s}.platform--cloud-low{animation:cloud-drift 11s ease-in-out infinite}.platform--cloud-mid{animation:cloud-drift 9s ease-in-out infinite;animation-delay:-3s}.platform--cloud-high{animation:cloud-drift 7s ease-in-out infinite;animation-delay:-1.5s}@keyframes cloud-drift{0%{transform:translate(-6px)}50%{transform:translate(6px)}to{transform:translate(-6px)}}@keyframes cloud-puff{0%{transform:scaleY(1) translateY(0);opacity:.92}50%{transform:scaleY(1.03) translateY(-2px);opacity:1}to{transform:scaleY(1) translateY(0);opacity:.92}}.platform--lava{background:linear-gradient(180deg,#ff7a18,#ff5005 18%,#6b3a1a 35%,#4a2410);border-top:3px solid #ffd070;border-radius:4px;box-shadow:0 -6px 14px #ff6e00d9,0 -2px 4px #ffdc78e6,inset 0 -2px 4px #00000080}.offscreen-arrow{position:fixed;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:22px;font-weight:900;text-shadow:0 0 6px currentColor,1px 1px 3px #000;pointer-events:none;z-index:50;transform:translateY(-50%);animation:arrow-pulse .8s ease-in-out infinite alternate}.offscreen-arrow-name{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.9}@keyframes arrow-pulse{0%{opacity:.6}to{opacity:1}}.ko-flash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:88px;font-weight:900;letter-spacing:6px;text-shadow:0 0 40px currentColor,2px 2px 0 #000;pointer-events:none;z-index:500;animation:ko-burst 1.5s ease-out forwards}@keyframes ko-burst{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1.1)}30%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.tap-ring{position:fixed;width:30px;height:30px;margin-left:-15px;margin-top:-15px;border:2px solid rgba(245,158,11,.8);border-radius:50%;pointer-events:none;z-index:9999;animation:tap-expand .35s ease-out forwards}@keyframes tap-expand{0%{transform:scale(.3);opacity:1}to{transform:scale(1.8);opacity:0}}.heal-flash{position:absolute;top:-32px;left:50%;transform:translate(-50%);font-size:18px;font-weight:900;color:#4dff88;text-shadow:0 0 8px #00ff55,1px 1px 0 #000;pointer-events:none;white-space:nowrap;z-index:20;animation:heal-rise .9s ease-out forwards}@keyframes heal-rise{0%{opacity:0;transform:translate(-50%) translateY(0) scale(.6)}15%{opacity:1;transform:translate(-50%) translateY(-4px) scale(1.15)}80%{opacity:1;transform:translate(-50%) translateY(-22px) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-30px) scale(.9)}}.aoe-dust-puff{position:absolute;width:var(--size, 10px);height:var(--size, 10px);border-radius:50%;background:radial-gradient(circle,rgba(210,170,100,.9) 0%,rgba(160,120,60,.4) 55%,transparent 100%);pointer-events:none;z-index:10;transform:translate(-50%,-50%);animation:aoe-dust-spread .65s ease-out forwards}@keyframes aoe-dust-spread{0%{opacity:.9;transform:translate(-50%,-50%) translate(0) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) translate(calc(var(--dx) * 130px),calc(var(--dy) * 100px)) scale(2.2)}}.tavern-cage{transform-origin:center center}.tavern-cage--popping{animation:cage-pop .5s cubic-bezier(.25,1.4,.6,1) forwards}.tavern-cage--popping:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle,#fffffff2,#ffdc5099 25%,#ff78c800 65%);border-radius:50%;animation:cage-flash .5s ease-out forwards;pointer-events:none}@keyframes cage-pop{0%{transform:scale(1) rotate(0);opacity:1}35%{transform:scale(1.18) rotate(-3deg);opacity:1}60%{transform:scale(1.35) rotate(4deg);opacity:.75}to{transform:scale(1.55) rotate(0);opacity:0}}@keyframes cage-flash{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.tavern-caged-waitress--free{animation:waitress-free-jump .6s ease-out forwards}@keyframes waitress-free-jump{0%{transform:translateY(0)}40%{transform:translateY(-22px)}to{transform:translateY(0)}}.tavern-waitress-dance{animation:waitress-dance .7s ease-in-out infinite}@keyframes waitress-dance{0%{transform:translateY(0) rotate(-3deg) scaleX(1)}25%{transform:translateY(-10px) rotate(2deg) scaleX(-1)}50%{transform:translateY(0) rotate(3deg) scaleX(1)}75%{transform:translateY(-10px) rotate(-2deg) scaleX(-1)}to{transform:translateY(0) rotate(-3deg) scaleX(1)}}.match-intro-text{position:fixed;top:max(env(safe-area-inset-top,0px) + 56px,72px);left:50%;transform:translate(-50%);width:min(90vw,880px);text-align:center;font-family:var(--font-display);font-weight:700;font-size:clamp(22px,4.6vw,40px);line-height:1.22;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.92),0 4px 28px rgba(0,0,0,.7);z-index:9000;pointer-events:none}.match-intro-caret{display:inline-block;width:.12em;height:1em;margin-left:.06em;vertical-align:-.12em;background:#f59e0b;box-shadow:0 0 10px #f59e0be6;animation:match-caret-blink .7s steps(1) infinite}@keyframes match-caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (max-width: 768px){.match-intro-text{top:max(calc(env(safe-area-inset-top,0px) + 96px),112px);width:min(74vw,440px);font-size:clamp(19px,4.8vw,30px);line-height:1.2;z-index:9300;text-shadow:0 3px 0 rgba(0,0,0,.65),0 4px 16px rgba(0,0,0,.95),0 2px 6px rgba(0,0,0,.9)}}.intro-name{position:fixed;left:50%;top:70%;transform:translate(-50%);transform-origin:top center;z-index:9050;width:max-content;max-width:min(86vw,520px);text-align:center;pointer-events:none;animation:intro-name-flash .42s cubic-bezier(.2,1.3,.35,1) both}@keyframes intro-name-flash{0%{opacity:0;transform:translate(-50%) scale(.6)}55%{opacity:1;transform:translate(-50%) scale(1.12)}to{opacity:1;transform:translate(-50%) scale(1)}}.intro-name-text{display:inline-block;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:break-word;line-height:1.05;text-align:center;font-family:var(--font-display);font-weight:900;font-size:clamp(36px,8.5vw,74px);letter-spacing:1px;text-transform:uppercase;color:var(--intro-color, #f2ffff);-webkit-text-stroke:1px rgba(0,0,0,.55);text-shadow:0 0 5px #fff,0 0 13px var(--intro-color, #8ff6ff),0 0 26px var(--intro-color, #19a6ff),0 2px 3px rgba(0,0,0,.9);animation:intro-name-electric 1.25s ease-in-out infinite,intro-name-sizzle 2.4s steps(1,end) infinite,intro-name-jitter .16s steps(2,end) infinite}@keyframes intro-name-electric{0%,to{text-shadow:0 0 5px #fff,0 0 13px var(--intro-color, #8ff6ff),0 0 26px var(--intro-color, #19a6ff),0 0 42px var(--intro-color, #0a6bff),0 2px 3px rgba(0,0,0,.9)}50%{text-shadow:0 0 8px #fff,0 0 20px var(--intro-color, #c7fbff),0 0 38px var(--intro-color, #3ab8ff),0 0 66px var(--intro-color, #1f7bff),0 2px 3px rgba(0,0,0,.9)}}@keyframes intro-name-sizzle{0%,7%,9%,38%,41%,72%,to{opacity:1}8%,39%,73%{opacity:.68}}@keyframes intro-name-jitter{0%{transform:translate(0)}50%{transform:translate(.6px,-.4px)}to{transform:translate(-.5px,.4px)}}@media (prefers-reduced-motion: reduce){.intro-name-text{animation:intro-name-electric 1.6s ease-in-out infinite}}.match-go{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9001;pointer-events:none}.match-go-img{width:min(62vw,460px);height:auto;filter:drop-shadow(0 8px 28px rgba(0,0,0,.55));animation:match-go-pop .85s cubic-bezier(.2,1.4,.3,1) forwards}@keyframes match-go-pop{0%{opacity:0;transform:scale(.45) rotate(-6deg)}22%{opacity:1;transform:scale(1.08) rotate(2deg)}38%{transform:scale(1) rotate(0)}78%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}.stunned-sprite{animation:stun-wobble .18s ease-in-out infinite alternate}@keyframes stun-wobble{0%{transform:rotate(-1.8deg)}to{transform:rotate(1.8deg)}}.dancing-sprite{animation:woobity-dance .34s ease-in-out infinite;transform-origin:50% 90%}@keyframes woobity-dance{0%{transform:rotate(-7deg) skew(6deg) translateY(0)}25%{transform:rotate(5deg) skew(-5deg) translateY(-4px)}50%{transform:rotate(-4deg) skew(7deg) translateY(0)}75%{transform:rotate(8deg) skew(-6deg) translateY(-3px)}to{transform:rotate(-7deg) skew(6deg) translateY(0)}}.hitlag-pop{animation:hitlag-pop .13s ease-out;will-change:transform,filter}@keyframes hitlag-pop{0%{transform:scale(1);filter:brightness(2.6)}35%{transform:scale(1.08);filter:brightness(1.9)}to{transform:scale(1);filter:brightness(1)}}.hitstun-shake{animation:hitstun-shake .07s linear infinite;will-change:transform,filter}@keyframes hitstun-shake{0%{transform:translate(-1px) rotate(-.6deg);filter:brightness(1.35)}50%{transform:translate(1px) rotate(.6deg);filter:brightness(1.1)}to{transform:translate(-1px) rotate(-.6deg);filter:brightness(1.35)}}.hitlag-pop.hitstun-shake{animation:hitlag-pop .13s ease-out}.spawn-materialize{animation:spawn-materialize .85s steps(1,end) 1}@keyframes spawn-materialize{0%{opacity:0;filter:brightness(4) saturate(0);transform:translate(-3px) scaleX(1.06)}12%{opacity:.55;filter:brightness(3) saturate(0);transform:translate(3px) scaleX(.96)}20%{opacity:.05}32%{opacity:.7;filter:brightness(2.2);transform:translate(-2px) scaleY(1.05)}44%{opacity:.15}56%{opacity:.85;filter:brightness(1.6);transform:translate(2px)}66%{opacity:.35}78%{opacity:1;filter:brightness(1.25);transform:translate(0) scale(1)}88%{opacity:.7}to{opacity:1;filter:brightness(1);transform:none}}.stun-stars{position:absolute;top:-52px;left:50%;margin-left:-24px;width:48px;height:48px;pointer-events:none;animation:stun-orbit .9s linear infinite;transform-origin:center center}.stun-stars span{position:absolute;font-size:13px;line-height:1;color:#ffe566;filter:drop-shadow(0 0 4px #ffcc00)}.stun-stars span:nth-child(1){left:34px;top:17px}.stun-stars span:nth-child(2){left:9px;top:31px;color:#fc0}.stun-stars span:nth-child(3){left:9px;top:3px}@keyframes stun-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.npc-sprite{animation:npc-pop-in .35s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes npc-pop-in{0%{transform:scale(0)}to{transform:scale(1)}}.npc-dying-ghost{position:absolute;pointer-events:none;z-index:10;transform-origin:center center;animation:npc-death-spin .85s ease-in forwards}@keyframes npc-death-spin{0%{opacity:1;transform:translateY(0) rotate(0) scale(1)}25%{opacity:1;transform:translateY(18px) rotate(200deg) scale(.85)}65%{opacity:.6;transform:translateY(80px) rotate(480deg) scale(.6)}to{opacity:0;transform:translateY(160px) rotate(720deg) scale(.3)}}.jaslene-attack-aura{animation:jaslene-aura-pulse .14s ease-in-out infinite alternate}@keyframes jaslene-aura-pulse{0%{filter:drop-shadow(0 0 6px #39FF14) drop-shadow(0 0 14px rgba(57,255,20,.65))}to{filter:drop-shadow(0 0 14px #39FF14) drop-shadow(0 0 28px rgba(57,255,20,.9)) drop-shadow(0 0 44px rgba(57,255,20,.4))}}.pray-heal-aura{animation:pray-aura-pulse .9s ease-in-out infinite alternate,pray-hover 1.6s ease-in-out infinite alternate}@keyframes pray-aura-pulse{0%{filter:drop-shadow(0 0 10px rgba(80,255,120,.75)) drop-shadow(0 0 26px rgba(57,255,20,.5))}to{filter:drop-shadow(0 0 22px rgba(120,255,150,.95)) drop-shadow(0 0 52px rgba(57,255,20,.7)) drop-shadow(0 0 80px rgba(57,255,20,.35))}}@keyframes pray-hover{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.calm-meditate-aura{animation:calm-meditate-pulse 1s ease-in-out infinite alternate}@keyframes calm-meditate-pulse{0%{filter:drop-shadow(0 0 4px rgba(255,255,255,.45)) brightness(1.04)}to{filter:drop-shadow(0 0 18px rgba(255,255,255,.95)) drop-shadow(0 0 30px rgba(220,240,255,.6)) brightness(1.18)}}.molasses-slow{animation:molasses-slow-pulse 1.4s ease-in-out infinite alternate}@keyframes molasses-slow-pulse{0%{filter:drop-shadow(0 0 4px rgba(70,120,210,.5)) hue-rotate(-12deg) saturate(.8) brightness(.9)}to{filter:drop-shadow(0 0 12px rgba(90,140,230,.7)) hue-rotate(-12deg) saturate(.75) brightness(.82)}}.heal-aura{animation:heal-aura-pulse .8s ease-in-out infinite alternate}@keyframes heal-aura-pulse{0%{filter:drop-shadow(0 0 6px rgba(80,255,140,.7)) brightness(1.05)}to{filter:drop-shadow(0 0 18px rgba(120,255,170,.95)) drop-shadow(0 0 36px rgba(60,255,120,.55)) brightness(1.15)}}.star-aura{animation:star-aura-cycle .8s linear infinite}@keyframes star-aura-cycle{0%{filter:hue-rotate(0deg) drop-shadow(0 0 12px rgba(255,255,150,.85)) brightness(1.2) saturate(1.6)}to{filter:hue-rotate(360deg) drop-shadow(0 0 12px rgba(255,255,150,.85)) brightness(1.2) saturate(1.6)}}.bubble-dome{animation:bubble-dome-pulse 1.2s ease-in-out infinite alternate}@keyframes bubble-dome-pulse{0%{box-shadow:0 0 12px 4px #78d2ff73,inset 0 0 16px #c8f5ff4d}to{box-shadow:0 0 22px 8px #96e1ffb3,inset 0 0 24px #dcfaff73}}.on-fire-aura{animation:fire-aura-pulse .22s ease-in-out infinite alternate}@keyframes fire-aura-pulse{0%{filter:drop-shadow(0 0 6px rgba(255,120,0,.85)) drop-shadow(0 0 14px rgba(255,60,0,.55)) brightness(1.15) saturate(1.3)}to{filter:drop-shadow(0 0 16px rgba(255,160,0,.95)) drop-shadow(0 0 32px rgba(255,80,0,.75)) brightness(1.35) saturate(1.6)}}.fire-overlay{position:absolute;inset:-34% -16% -8%;pointer-events:none;z-index:5;mix-blend-mode:screen;opacity:.9;animation:fire-overlay-flicker .42s ease-in-out infinite;will-change:transform,opacity}.fire-overlay img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 0 6px rgba(255,140,0,.7));image-rendering:pixelated}@keyframes fire-overlay-flicker{0%{transform:scaleY(1) scaleX(1) skew(0)}20%{transform:scaleY(1.08) scaleX(.96) skew(2deg)}45%{transform:scaleY(.94) scaleX(1.04) skew(-2deg)}70%{transform:scaleY(1.05) scaleX(.98) skew(1deg)}to{transform:scaleY(1) scaleX(1) skew(0)}}.pow-label{position:absolute;font-family:var(--font-display);font-size:38px;font-weight:900;color:#fff;text-shadow:3px 3px 0 #d00,-2px -2px 0 #d00,2px -2px 0 #d00,-2px 2px 0 #d00,0 0 20px rgba(255,0,0,.7);letter-spacing:2px;pointer-events:none;z-index:20;white-space:nowrap;transform:translate(-50%) translateY(-50%);animation:pow-burst .65s ease-out forwards}@keyframes pow-burst{0%{opacity:0;transform:translate(-50%) translateY(-50%) scale(.2) rotate(-10deg)}18%{opacity:1;transform:translate(-50%) translateY(-50%) scale(1.4) rotate(5deg)}40%{opacity:1;transform:translate(-50%) translateY(-50%) scale(1) rotate(-2deg)}to{opacity:0;transform:translate(-50%) translateY(-60%) scale(.9) rotate(0)}}.speech-bubble{position:absolute;transform:translate(-50%,-100%);background:#fff;color:#111;font-family:var(--font-display);font-size:22px;font-weight:800;padding:8px 14px;border:3px solid #111;border-radius:14px;pointer-events:none;z-index:21;white-space:nowrap;box-shadow:3px 3px #0006;animation:speech-bubble-in 2.25s ease-out forwards}.speech-bubble:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:12px solid #fff;filter:drop-shadow(0 3px 0 #111)}@keyframes speech-bubble-in{0%{opacity:0;transform:translate(-50%,-90%) scale(.4)}12%{opacity:1;transform:translate(-50%,-100%) scale(1.1)}20%{transform:translate(-50%,-100%) scale(1)}85%{opacity:1;transform:translate(-50%,-110%) scale(1)}to{opacity:0;transform:translate(-50%,-120%) scale(.95)}}.speech-bubble--music{background:linear-gradient(#fdf6ff,#efe3ff);color:#5b2a86;border-color:#7c3aed;font-size:30px;box-shadow:0 0 16px #7c3aed8c,3px 3px #5b2a8659;animation:speech-bubble-music 2.6s ease-out forwards}.speech-bubble--music:after{border-top-color:#efe3ff;filter:drop-shadow(0 3px 0 #7c3aed)}@keyframes speech-bubble-music{0%{opacity:0;transform:translate(-50%,-90%) scale(.5) rotate(-6deg)}15%{opacity:1;transform:translate(-50%,-105%) scale(1.05) rotate(3deg)}50%{opacity:1;transform:translate(-50%,-125%) scale(1) rotate(-3deg)}to{opacity:0;transform:translate(-50%,-160%) scale(.9) rotate(4deg)}}.volleyball-ball{background:radial-gradient(circle at 35% 35%,#fff,#f6f3e8,#d6cfaf 70%,#8c7d4f);box-shadow:inset -4px -6px 8px #0000004d,inset 3px 3px 6px #ffffff73,0 6px 12px #00000059;border:1.5px solid #8c7d4f;transform:translate(-100px,-100px)}.volleyball-net{background:transparent}.volleyball-net:before,.volleyball-net:after{content:"";position:absolute;top:-14px;bottom:-2px;width:7px;background:linear-gradient(180deg,#e2e2e2,#888 55%,#444);border-radius:2px;box-shadow:0 2px 6px #0000008c}.volleyball-net:before{left:-16px}.volleyball-net:after{right:-16px}.volleyball-net-tape{position:absolute;left:-12px;right:-12px;top:-3px;height:13px;background:linear-gradient(180deg,#fff,#fafafa 55%,#c8c8c8);border-top:2px solid #fff;border-bottom:1.5px solid #555;box-shadow:0 2px 5px #0000008c,inset 0 -1px #0000004d;z-index:2}.volleyball-net-mesh{position:absolute;inset:10px -12px 0;background-color:#ffffff0f;background-image:repeating-linear-gradient(0deg,rgba(10,10,10,.95) 0 1.5px,transparent 1.5px 9px),repeating-linear-gradient(90deg,rgba(10,10,10,.95) 0 1.5px,transparent 1.5px 9px);border-bottom:2px solid rgba(10,10,10,.85);filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}.volleyball-scoreboard{position:fixed;top:max(env(safe-area-inset-top,0px) + 58px,62px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:18px;padding:10px 22px;background:#0a0a0eb8;border:2px solid #f5d23a;border-radius:14px;font-family:var(--font-display, sans-serif);color:#fff;z-index:50;pointer-events:none;box-shadow:0 6px 22px #0000008c}.vb-team{display:flex;align-items:center;gap:10px;opacity:.78;transition:opacity .2s}.vb-team--serving{opacity:1;text-shadow:0 0 12px rgba(245,210,58,.85)}.vb-team--serving .vb-label:after{content:" •";color:#f5d23a}.vb-label{font-size:12px;letter-spacing:1.5px;color:#aaa}.vb-team--serving .vb-label{color:#f5d23a}.vb-score{font-size:32px;font-weight:900;min-width:34px;text-align:center}.vb-divider{opacity:.5;font-size:24px}.vb-serve-hint{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:12px;letter-spacing:1px;color:#f5d23a;text-shadow:0 1px 2px rgba(0,0,0,.6)}.hud-btn--mode-disabled{opacity:.35!important;filter:grayscale(.85);cursor:not-allowed}.hud-btn--mode-disabled .hud-shield-btn-icon,.hud-btn--mode-disabled .hud-b-btn-icon{opacity:.75}.vb-serve-countdown{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:70}.vb-serve-countdown-num{font-family:var(--font-display);font-weight:900;font-size:clamp(120px,28vw,220px);line-height:1;color:#fff;text-shadow:0 0 32px rgba(245,210,58,.85),0 0 64px rgba(245,210,58,.55),0 6px 0 rgba(0,0,0,.85);animation:vb-num-pop 1s ease-out forwards}@keyframes vb-num-pop{0%{opacity:0;transform:scale(1.8)}18%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)}}.volleyball-spike-anim--right{animation:vb-spike-right .36s cubic-bezier(.22,1,.36,1) forwards}.volleyball-spike-anim--left{animation:vb-spike-left .36s cubic-bezier(.22,1,.36,1) forwards}@keyframes vb-spike-right{0%{transform:rotate(0)}35%{transform:rotate(45deg)}60%{transform:rotate(38deg)}to{transform:rotate(0)}}@keyframes vb-spike-left{0%{transform:rotate(0)}35%{transform:rotate(-45deg)}60%{transform:rotate(-38deg)}to{transform:rotate(0)}}.player-jump-bounce{animation:player-jump-bounce .32s ease-out forwards;transform-origin:50% 100%}@keyframes player-jump-bounce{0%{transform:scale(1)}8%{transform:scale(1.08,.92)}35%{transform:scale(.92,1.1)}to{transform:scale(.96,1.04)}}.sea-creature{position:absolute;top:0;left:0;image-rendering:pixelated;will-change:transform;pointer-events:none;user-select:none;-webkit-user-drag:none;opacity:.92}.grass-clump{position:absolute;transform-origin:50% 100%;animation-name:grass-sway;animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-in-out;will-change:transform;pointer-events:none;user-select:none;-webkit-user-drag:none}@keyframes grass-sway{0%{transform:rotate(var(--sway-a, -3deg))}to{transform:rotate(var(--sway-b, 3deg))}}.yellow-sub{position:fixed;pointer-events:none;z-index:7;display:flex;align-items:center}.yellow-sub--right{flex-direction:row;animation:sub-traverse-right 7s linear forwards}.yellow-sub--left{flex-direction:row-reverse;animation:sub-traverse-left 7s linear forwards}@keyframes sub-traverse-right{0%{left:-340px}to{left:calc(100vw + 340px)}}@keyframes sub-traverse-left{0%{left:calc(100vw + 340px)}to{left:-340px}}.yellow-sub__img{flex-shrink:0;width:160px;height:auto;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 10px rgba(0,0,0,.6))}.yellow-sub__light{flex-shrink:0;width:160px;height:60px;align-self:center;pointer-events:none}.yellow-sub__light--right{clip-path:polygon(0 50%,100% 12%,100% 88%);background:linear-gradient(to right,#ffff9bb3,#ffff6447,#ff00)}.yellow-sub__light--left{clip-path:polygon(100% 50%,0 12%,0 88%);background:linear-gradient(to left,#ffff9bb3,#ffff6447,#ff00)}.yellow-sub__bubble{position:absolute;top:42%;border-radius:50%;background:#a0d7ff9e;border:1px solid rgba(200,240,255,.75);pointer-events:none;animation:sub-bubble-rise 1.5s ease-out infinite}@keyframes sub-bubble-rise{0%{transform:translateY(0) scale(1);opacity:.7}70%{transform:translateY(-48px) scale(1.3);opacity:.35}to{transform:translateY(-62px) scale(1.5);opacity:0}}.portal-container{position:absolute;pointer-events:none;z-index:1}.portal-rim{position:absolute;inset:-11px;border-radius:42% 58% 45% 55%/38% 44% 56% 62%;background:#020810;box-shadow:0 0 14px 5px #1e6effcc,0 0 36px 12px #0f50f080,0 0 75px 26px #0a37c847}.portal-body{position:absolute;inset:0;border-radius:42% 58% 45% 55%/38% 44% 56% 62%;overflow:hidden;background:#010916}.portal-swirl-1{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at center,#010916 0% 38%,#0a3fcc 39%,#1250e8 43%,#010916 44% 48%,#0e50e0 49%,#1a62f5 53%,#010916 54% 58%,#1260ee 59%,#2274ff 63%,#010916 64% 68%,#1870f5 69%,#2e88ff 73%,#010916 74% 78%,#2088ff 79%,#3a9fff 83%,#1870f0 86%,#010916 87%);animation:portal-cw 7s linear infinite}.portal-swirl-2{position:absolute;inset:-15%;border-radius:50%;background:conic-gradient(from 0deg,#010916c7,#0109160d 55deg,#010916b8 90deg,#0109160d 145deg,#010916bf 180deg,#0109160d 235deg,#010916b3 270deg,#0109160d 325deg,#010916c7 360deg);animation:portal-ccw 2.8s linear infinite}.portal-sparks{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse 14px 9px at 20% 16%,rgba(255,255,255,.95) 0%,transparent 100%),radial-gradient(ellipse 9px 6px at 74% 11%,rgba(255,255,255,.88) 0%,transparent 100%),radial-gradient(ellipse 12px 8px at 86% 42%,rgba(255,255,255,.82) 0%,transparent 100%),radial-gradient(ellipse 8px 5px at 80% 72%,rgba(255,255,255,.78) 0%,transparent 100%),radial-gradient(ellipse 13px 8px at 26% 84%,rgba(255,255,255,.88) 0%,transparent 100%),radial-gradient(ellipse 7px 5px at 10% 52%,rgba(255,255,255,.72) 0%,transparent 100%),radial-gradient(ellipse 10px 7px at 54% 90%,rgba(255,255,255,.8) 0%,transparent 100%),radial-gradient(ellipse 6px 4px at 44% 06%,rgba(255,255,255,.68) 0%,transparent 100%),radial-gradient(ellipse 8px 5px at 94% 24%,rgba(255,255,255,.74) 0%,transparent 100%),radial-gradient(ellipse 9px 6px at 06% 28%,rgba(255,255,255,.7) 0%,transparent 100%),radial-gradient(ellipse 5px 3px at 62% 20%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(ellipse 7px 5px at 38% 72%,rgba(255,255,255,.65) 0%,transparent 100%);animation:portal-cw 11s linear infinite;mix-blend-mode:screen}.portal-core{position:absolute;inset:32%;border-radius:50%;background:radial-gradient(ellipse at center,#000306 0%,#010916 70%,transparent 100%)}@keyframes portal-cw{to{transform:rotate(360deg)}}@keyframes portal-ccw{to{transform:rotate(-360deg)}}.player-portal-entering,.player-portal-exiting{z-index:20!important}.player-portal-entering{animation:portal-player-enter 2s ease-in forwards!important;transform-origin:50% 100%!important}.player-portal-exiting{animation:portal-player-exit 1.6s ease-out forwards!important;transform-origin:50% 100%!important}@keyframes portal-player-enter{0%{transform:scale(1);opacity:1}30%{transform:scale(.75,.9);opacity:.95}60%{transform:scale(.35,.55);opacity:.7}85%{transform:scale(.1,.2);opacity:.3}to{transform:scale(0);opacity:0}}@keyframes portal-player-exit{0%{transform:scale(0);opacity:0}20%{transform:scale(.15,.25);opacity:.35}55%{transform:scale(.5,.7);opacity:.75}85%{transform:scale(.9,.97);opacity:.95}to{transform:scale(1);opacity:1}}.portal-travel-overlay{position:fixed;inset:0;pointer-events:none;z-index:9998;background:radial-gradient(ellipse at center,#0ea5e940,#020617f5 70%);animation:portal-overlay-in .25s ease-in forwards}.portal-travel-overlay.portal-travel-out{animation:portal-overlay-out .8s ease-out forwards}@keyframes portal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes portal-overlay-out{0%{opacity:1}to{opacity:0}}.element-spray{position:absolute;width:150px;height:96px;transform-origin:left center;transform:translateY(-50%) scaleX(var(--flip, 1));pointer-events:none;z-index:40;will-change:transform}.element-spray img{width:100%;height:100%;image-rendering:pixelated;display:block;opacity:.78;filter:drop-shadow(0 0 7px rgba(255,150,40,.5))}.element-spray--electric img{filter:drop-shadow(0 0 7px rgba(80,170,255,.6))}.element-spray--aura img{filter:drop-shadow(0 0 7px rgba(90,220,120,.55))}.element-aura{position:absolute;width:150px;height:150px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:39;background:radial-gradient(circle,#6eeb786b,#32c85a33 45%,#32c85a00 70%);animation:element-aura-pulse .6s ease-out forwards}@keyframes element-aura-pulse{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}30%{opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.element-particle{position:absolute;border-radius:50%;pointer-events:none;z-index:41;will-change:transform,opacity;transform-origin:center}.element-particle--electric{box-shadow:0 0 10px 2px #5abeffd9}.element-particle--fire{filter:blur(.6px);box-shadow:0 0 9px 1px #ff8c28b3}.element-particle--aura{filter:blur(.5px);box-shadow:0 0 11px 2px #5ae682bf}.element-flash{position:absolute;width:130px;height:130px;transform:translate(-50%,-50%) scale(.2);border-radius:50%;pointer-events:none;z-index:42;mix-blend-mode:screen;animation:element-flash-pop .28s ease-out forwards}.element-flash--fire{background:radial-gradient(circle,#ffd278e6,#ff781e66 40%,#ff781e00 70%)}.element-flash--electric{background:radial-gradient(circle,#e1f5fff2,#46a5ff73 40%,#46a5ff00 70%)}.element-flash--aura{background:radial-gradient(circle,#d7ffd2e6,#3ce1646b 40%,#3ce16400 70%)}@keyframes element-flash-pop{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}35%{opacity:1}to{transform:translate(-50%,-50%) scale(1.25);opacity:0}}.bbv-root{position:absolute;inset:0;z-index:300;overflow:hidden;background:#6a8f3a;display:flex;align-items:center;justify-content:center}.bbv-stands-bg{position:absolute;inset:0;background-image:url(/assets/levels/baseball/victory-stands.webp);background-size:cover;background-position:50% 100%}.bbv-crowd{position:absolute;inset:0;pointer-events:none}.bbv-fan{position:absolute;transform:translate(-50%,-100%);image-rendering:pixelated;filter:drop-shadow(0 3px 3px rgba(0,0,0,.4))}.bbv-content{position:relative;z-index:50;display:flex;flex-direction:column;align-items:center;gap:0;width:100%;height:100%;padding:max(calc(env(safe-area-inset-top,0px) + 28px),9%) 20px max(env(safe-area-inset-bottom,0px) + 16px,20px)}.bbv-spacer{flex:1}.bbv-headline{font-size:54px;font-weight:900;letter-spacing:-1px;line-height:1;text-align:center;margin-bottom:8px;animation:bbv-pulse 2s ease-in-out infinite alternate}.bbv-headline.win{color:#ffd23f;text-shadow:0 2px 0 #7a5400,0 0 28px #ffd23fbb,0 3px 10px rgba(0,0,0,.65)}.bbv-headline.lose{color:#ff6b6b;text-shadow:0 2px 0 #6e1414,0 0 24px #ff6b6b88,0 3px 10px rgba(0,0,0,.65)}.bbv-headline.tie{color:#e2e8f0;text-shadow:0 2px 0 #3a4452,0 0 18px #94a3b888,0 3px 10px rgba(0,0,0,.65)}@keyframes bbv-pulse{0%{filter:brightness(.92)}to{filter:brightness(1.12)}}.bbv-subline{font-size:14px;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8);text-align:center;letter-spacing:.5px;margin-bottom:14px}.bbv-scoreboard{display:flex;align-items:center;gap:0;background:#08140cc7;border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:10px 22px;box-shadow:0 4px 24px #00000073}.bbv-team{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:72px;transition:opacity .16s}.bbv-team:not(.leader){opacity:.42}.bbv-team-label{font-size:10px;letter-spacing:2px;color:#aebccd;text-transform:uppercase}.bbv-team-score{font-size:48px;font-weight:900;line-height:1;color:#fff}.bbv-team.leader .bbv-team-score{color:#ffd23f}.bbv-scoreboard:not(:has(.leader)) .bbv-team{opacity:1}.bbv-divider{font-size:24px;color:#ffffff40;padding:0 14px;align-self:center}.bbv-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:280px}.bbv-btn{width:100%;padding:15px 20px;border-radius:12px;border:none;font-size:16px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:transform 80ms,box-shadow 80ms}.bbv-btn:active{transform:translateY(2px);box-shadow:none}.bbv-btn-primary{background:linear-gradient(160deg,#ffd23f,#e6a800);color:#1a1000;box-shadow:0 4px #00000059}.bbv-btn-secondary{background:#0a160eb8;color:#e7f5ec;border:1px solid rgba(255,255,255,.2);box-shadow:0 2px #00000040}.bbi-root{position:absolute;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#0d2615eb,#040a06f5);animation:bbi-fade .22s ease-out}@keyframes bbi-fade{0%{opacity:0}to{opacity:1}}.bbi-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 36px;animation:bbi-pop .32s cubic-bezier(.2,.9,.3,1.2)}@keyframes bbi-pop{0%{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}.bbi-arrow{font-size:40px;color:#ffd23f;line-height:.8;text-shadow:0 0 24px #ffd23f88}.bbi-half{font-size:46px;font-weight:900;letter-spacing:1px;color:#fff;text-shadow:0 0 30px rgba(255,255,255,.25)}.bbi-score{display:flex;align-items:center;gap:12px;font-size:15px;letter-spacing:1px;color:#94a3b8}.bbi-s-team b{color:#ffd23f;font-size:18px;margin-left:4px}.bbi-s-sep{opacity:.4}.bbi-role{margin-top:6px;font-size:15px;font-weight:700;padding:8px 18px;border-radius:999px;letter-spacing:.5px}.bbi-role.bat{background:#1f6fd038;color:#7db8ff;border:1px solid rgba(125,184,255,.4)}.bbi-role.field{background:#4caf502e;color:#7ee08a;border:1px solid rgba(126,224,138,.4)}.bbi-bar{margin-top:12px;width:180px;height:4px;border-radius:2px;background:#ffffff1f;overflow:hidden}.bbi-bar-fill{height:100%;width:100%;background:linear-gradient(90deg,#ffd23f,#e6a800);transform-origin:left center;animation:bbi-deplete 2s linear forwards}@keyframes bbi-deplete{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.bb-root{position:fixed;inset:0;background:#000;overflow:hidden;font-family:"Press Start 2P",system-ui,sans-serif;user-select:none;-webkit-user-select:none;touch-action:none;display:flex;align-items:center;justify-content:center}.bb-root:before{content:"";position:absolute;inset:0;background:url(/assets/levels/baseball/field-overhead.webp) center / cover no-repeat;filter:blur(60px) brightness(.32) saturate(.85);transform:scale(1.25);z-index:0;pointer-events:none}.bb-frame{position:relative;z-index:1;width:100%;height:100%;overflow:hidden;background:#0a0e12}.bb-cam-bleed{display:none}@media (min-aspect-ratio: 3 / 5){.bb-frame{width:auto;height:100%;aspect-ratio:402 / 874}body:has(.bb-root) .global-controls{left:calc((100vw - 100vh * 402 / 874) / 2 + 12px)}.bb-frame,.bb-stage.bb-field,.bb-stage.bb-batter-cam{overflow:visible}.bb-cam-bleed{display:block;position:absolute;inset:0;z-index:0;background-color:#6a8f3a;background-image:url(/assets/levels/baseball/batter-cam.webp);background-size:auto 178%;background-position:50% 61%;background-repeat:no-repeat;pointer-events:none}}.bb-stage{position:absolute;inset:0;background-size:cover;background-position:center;overflow:hidden;touch-action:none}.bb-scoreboard{position:absolute;bottom:calc(max(env(safe-area-inset-bottom,0px),14px) + 6px);left:max(env(safe-area-inset-left,0px),14px);z-index:40;display:flex;flex-direction:column;gap:6px;background:#08180cf0;border:2px solid #16451f;border-radius:12px;padding:10px 14px;color:#d9ffe2;font-size:11px;box-shadow:0 -2px 14px #0009;min-width:180px}.bb-sb-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.bb-sb-team{display:flex;flex-direction:column;align-items:center;gap:2px}.bb-sb-label{font-size:8px;opacity:.65;letter-spacing:1.5px}.bb-sb-runs{font-size:28px;color:#ffd23f;line-height:1}.bb-sb-inning{font-size:22px;color:#7cffa0;text-align:center;line-height:1}.bb-sb-divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:0}.bb-sb-count{display:flex;justify-content:space-between;gap:6px}.bb-bso{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.bb-bso-label{font-size:8px;opacity:.55;letter-spacing:1px}.bb-bso-val{font-size:22px;color:#d9ffe2;line-height:1}.bb-menu-chip{position:absolute;top:max(env(safe-area-inset-top,0px) + 8px,12px);left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;padding:7px 20px;background:#000c;border:1.5px solid rgba(245,158,11,.6);border-radius:20px;color:#f59e0b;font-family:monospace;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.bb-menu-chip:active{background:#f59e0b33}.bb-menu-chip-label{letter-spacing:.18em;font-weight:700;font-size:13px}.bb-batter-cam{background-color:#6a8f3a;background-image:url(/assets/levels/baseball/batter-cam.webp);background-size:auto 178%;background-position:50% 61%;background-repeat:no-repeat;cursor:crosshair}.bb-pitcher{position:absolute;height:17%;transform:translate(-50%,-55%);image-rendering:pixelated;filter:drop-shadow(0 3px 3px rgba(0,0,0,.4));pointer-events:none}.bb-decor-fielder{position:absolute;transform:translate(-50%,-50%);image-rendering:pixelated;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35)) saturate(.92) brightness(.96);pointer-events:none}.bb-batter{position:absolute;left:8%;bottom:8%;height:56%;transform:translate(-50%);image-rendering:pixelated;filter:drop-shadow(0 5px 6px rgba(0,0,0,.5));pointer-events:none;z-index:15}.bb-bunting{filter:drop-shadow(0 4px 5px rgba(0,0,0,.45)) brightness(1.05)}.bb-zone{position:absolute;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);border:2px solid rgba(255,255,255,.5);border-radius:4px;overflow:hidden;pointer-events:none;z-index:12}.bb-zc{border-right:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);transition:background 60ms}.bb-zc:nth-child(3n){border-right:none}.bb-zc:nth-child(n+7){border-bottom:none}.bb-zc.focused{background:#ffd23f52;box-shadow:inset 0 0 12px #ffd23f8c}.bb-land-hint{position:absolute;width:38px;height:38px;transform:translate(-50%,-50%);border:2.5px dashed rgba(255,255,255,.85);border-radius:50%;box-shadow:0 0 8px #ffffff59,inset 0 0 8px #fff3;pointer-events:none;z-index:11}.bb-pci{position:absolute;width:30px;height:30px;transform:translate(-50%,-50%);border:3px solid #ff3b3b;border-radius:50%;box-shadow:0 0 10px #ff3b3bcc;transition:left 28ms linear,top 28ms linear}.bb-pci:before,.bb-pci:after{content:"";position:absolute;background:#ff3b3b}.bb-pci:before{left:50%;top:-7px;bottom:-7px;width:2px;transform:translate(-50%)}.bb-pci:after{top:50%;left:-7px;right:-7px;height:2px;transform:translateY(-50%)}.bb-fg{position:absolute;inset:0;transform:translateY(-50px);pointer-events:none;z-index:10}.bb-pitch-spread{position:absolute;transform:translate(-50%,-50%) scale(var(--min-scale, .06));aspect-ratio:1;border:3px solid rgba(255,255,255,.92);border-radius:50%;background:#ffffff14;box-shadow:0 0 8px #00000073;z-index:13;pointer-events:none;will-change:transform}.bb-pitch-spread.growing{animation:bb-spread-grow var(--grow-dur, 2s) linear forwards}@keyframes bb-spread-grow{0%{transform:translate(-50%,-50%) scale(var(--min-scale, .06))}to{transform:translate(-50%,-50%) scale(1)}}.bb-pitch-spread.frozen{border-style:dashed;border-color:#ffffffb3;background:#ffffff0a;animation:none}.bb-aim{position:absolute;width:30px;height:30px;transform:translate(-50%,-50%);border:2px solid #ff5252;border-radius:50%;z-index:13;pointer-events:none}.bb-aim:before,.bb-aim:after{content:"";position:absolute;background:#ff5252}.bb-aim:before{left:50%;top:2px;bottom:2px;width:2px;transform:translate(-50%)}.bb-aim:after{top:50%;left:2px;right:2px;height:2px;transform:translateY(-50%)}.bb-aim-meter{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);width:12px;height:64px;background:#00000080;border:1.5px solid rgba(255,255,255,.5);border-radius:6px;overflow:hidden;display:flex;align-items:flex-end}.bb-aim-meter-fill{width:100%;background:linear-gradient(to top,#2ecc40,#ffdc00 55%,#ff4136);transition:height 40ms linear}.bb-pitch-outline{position:absolute;width:56px;height:56px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid #fff;z-index:16;pointer-events:none}.bb-pitch-outline.ball{border-color:#2ecc40;box-shadow:0 0 12px #2ecc40cc}.bb-pitch-outline.strike{border-color:#3aa0ff;box-shadow:0 0 12px #3aa0ffcc}.bb-pitch-outline.hit{border-color:#ff3b3b;box-shadow:0 0 14px #ff3b3be6}.bb-outline-label{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:8px;color:#fff;white-space:nowrap;text-shadow:0 1px 3px #000}.bb-pitch-outline.ball .bb-outline-label{color:#2ecc40}.bb-pitch-outline.strike .bb-outline-label{color:#3aa0ff}.bb-pitch-outline.hit .bb-outline-label{color:#ff5b5b}.bb-contact-ball{z-index:17;box-shadow:0 0 10px #ffffffb3}.bb-ball{position:absolute;width:22px;height:22px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 35% 30%,#fff 62%,#e2e2e2);box-shadow:0 0 6px #ffffff8c;z-index:14;pointer-events:none}.bb-ball-shadow{position:absolute;width:26px;height:13px;border-radius:50%;background:radial-gradient(ellipse at center,#000000eb,#000000d9 40%,#0000 78%);z-index:13;pointer-events:none}.bb-spin-ball{position:absolute;width:24px;height:24px;z-index:14;pointer-events:none;image-rendering:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.bb-spin-ball.fastball{filter:drop-shadow(0 0 6px rgba(255,140,28,.95)) drop-shadow(0 0 13px rgba(255,110,0,.65))}.bb-spin-ball.splitter{filter:drop-shadow(0 0 6px rgba(150,200,255,.95)) drop-shadow(0 0 13px rgba(120,190,255,.6))}.bb-spin-ball.slider{filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.bb-banner{position:absolute;top:28%;left:50%;transform:translate(-50%);z-index:45;background:#000000c7;color:#ffd23f;border:2px solid #ffd23f;border-radius:8px;padding:8px 16px;font-size:13px;white-space:nowrap;animation:bb-pop .16s ease-out}@keyframes bb-pop{0%{transform:translate(-50%) scale(.7);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes bb-jitter{0%{transform:translate(0)}12%{transform:translate(-5px,3px)}24%{transform:translate(5px,-3px)}36%{transform:translate(-4px,4px)}48%{transform:translate(4px,-2px)}62%{transform:translate(-3px,3px)}76%{transform:translate(3px,-2px)}88%{transform:translate(-2px,1px)}to{transform:translate(0)}}.bb-stage.bb-contact-jitter{animation:bb-jitter .28s ease-out}.bb-joystick{position:absolute;left:max(env(safe-area-inset-left,0px),18px);bottom:calc(max(env(safe-area-inset-bottom,0px),14px) + 156px);width:116px;height:116px;border-radius:50%;background:#0000004d;border:2px solid rgba(255,255,255,.35);z-index:50;touch-action:none}.bb-joystick-thumb{position:absolute;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe88a,#f5a623);border:2px solid #fff;box-shadow:0 2px 6px #0006}.bb-swing-buttons{position:absolute;right:max(env(safe-area-inset-right,0px),18px);bottom:calc(max(env(safe-area-inset-bottom,0px),14px) + 156px);display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:50}.bb-btn{font-family:inherit;border:none;color:#fff;border-radius:999px;cursor:pointer;box-shadow:0 4px #00000059,0 5px 10px #0006;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform 60ms}.bb-btn:active{transform:translateY(3px);box-shadow:0 1px #00000059}.bb-swing{width:104px;height:104px;border-radius:50%;background:radial-gradient(circle at 38% 30%,#ff6b6b,#d32020);font-size:15px;border:3px solid #fff}.bb-bunt{width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at 38% 30%,#5b9bff,#1f5fd0);font-size:11px;border:3px solid #fff;align-self:center}.bb-bunt.active{background:radial-gradient(circle at 38% 30%,#ffe06b,#c88a00);border-color:#ffd23f;box-shadow:0 4px #00000059,0 0 14px #ffd23fbf}.bb-hint{position:absolute;bottom:calc(max(env(safe-area-inset-bottom,0px),14px) + 356px);left:50%;transform:translate(-50%);z-index:48;color:#fffc;font-size:8px;background:#0006;padding:4px 10px;border-radius:6px;white-space:nowrap}.bb-pitch-select{position:absolute;right:max(env(safe-area-inset-right,0px) + 4px,14px);bottom:calc(max(env(safe-area-inset-bottom,0px),14px) + 156px);display:flex;flex-direction:column;align-items:center;gap:14px;z-index:50}.bb-pbtn{width:64px;height:64px;border-radius:50%;background:#1e1e1eb8;border:2px solid rgba(245,168,0,.5);box-shadow:3px 3px 8px #0009,inset 1px 1px 3px #ffdc5014;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .08s,box-shadow .08s,border-color .08s}.bb-pbtn img{width:46px;height:46px;object-fit:contain;pointer-events:none;image-rendering:auto}.bb-pbtn:active{transform:scale(.92)}.bb-pbtn.active{border-color:#ffd23f;background:#3c2d0ad9;box-shadow:0 0 14px #ffd23fbf,inset 0 0 6px #ffd23f4d}.bb-pitch-hint{position:absolute;bottom:calc(max(env(safe-area-inset-bottom,0px),14px) + 402px);left:50%;transform:translate(-50%)}.bb-field{background:#4a7a2a}.bb-world{position:absolute;left:0;top:0;will-change:transform}.bb-field-bg{position:absolute;left:0;top:0;image-rendering:auto}.bb-onfield{position:absolute;transform:translate(-50%,-82%);image-rendering:pixelated;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}.bb-fielder.has-ball{filter:drop-shadow(0 0 6px #ffd23f)}.bb-fielder.bb-diving{transform:translate(-50%,-70%) rotate(28deg) scaleX(1.18)}.bb-fielder.bb-jumping{transform:translate(-50%,-98%) scaleY(1.12)}.bb-runner{cursor:pointer;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));outline:none}.bb-onfield.bb-flip{transform:translate(-50%,-82%) scaleX(-1)}.bb-fieldball{position:absolute;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 35% 30%,#fff 62%,#e6e6e6);box-shadow:0 0 4px #ffffff73;transform:translate(-50%,-50%);z-index:30}.bb-fieldball.thrown{z-index:31}.bb-fieldball-seams{position:absolute;inset:0;background-repeat:no-repeat;background-image:radial-gradient(circle at 50% -22%,transparent 0 56%,rgba(193,39,45,.95) 56% 65%,transparent 65%),radial-gradient(circle at 50% 122%,transparent 0 56%,rgba(193,39,45,.95) 56% 65%,transparent 65%);animation:bb-fieldball-spin .45s linear infinite}@keyframes bb-fieldball-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bb-fieldball-shadow{position:absolute;border-radius:50%;background:radial-gradient(ellipse at center,#000000e6,#000000d1 40%,#0000 78%);transform:translate(-50%,-50%);z-index:29}.bb-control-cluster{position:absolute;right:max(env(safe-area-inset-right,0px),14px);bottom:calc(max(env(safe-area-inset-bottom,0px),14px) + 6px);z-index:50;display:flex;flex-direction:column;align-items:center;gap:12px}.bb-mini{position:relative;width:134px;height:134px;background:#08180c8c;border:2px solid #16451f;border-radius:12px;box-shadow:0 3px 12px #00000080}.bb-mini-base{position:absolute;width:20px;height:20px;transform:translate(-50%,-50%) rotate(45deg);border:none;border-radius:3px;background:#ffffffa6;box-shadow:0 1px 5px #0000008c;cursor:default;-webkit-tap-highlight-color:transparent;transition:transform 60ms;padding:0}.bb-mini.interactive .bb-mini-base{background:#ffffffe0;cursor:pointer}.bb-mini.interactive .bb-mini-base:active{transform:translate(-50%,-50%) rotate(45deg) scale(.88)}.bb-mini-base.occ{background:#ffd23f;box-shadow:0 1px 5px #64460080,0 0 10px #ffd23fa6}.bb-mini-base:disabled{cursor:default}.bb-mini-base.home-plate{transform:translate(-50%,-50%);border-radius:2px 2px 0 0;clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%)}.bb-mini.interactive .bb-mini-base.home-plate:active{transform:translate(-50%,-50%) scale(.88)}.bb-mini-helmet{position:absolute;transform:translate(-50%,-50%);z-index:3;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 1px 3px rgba(0,0,0,.9));touch-action:none}.bb-mini-helmet.tappable{cursor:pointer}.bb-mini-helmet .bb-mini-spd{margin-top:-3px;font-size:9px;font-weight:700;color:#ffd23f;text-shadow:0 1px 2px rgba(0,0,0,.9);font-family:monospace}.bb-mini-helmet.pop{animation:bb-helmet-pop .24s ease-out}@keyframes bb-helmet-pop{0%{transform:translate(-50%,-50%) scale(1)}45%{transform:translate(-50%,-50%) scale(1.55)}to{transform:translate(-50%,-50%) scale(1)}}.bb-mini-label{position:absolute;bottom:4px;left:50%;transform:translate(-50%);font-size:7px;color:#fffc;white-space:nowrap}.bb-run-controls-overlay{position:absolute;right:max(env(safe-area-inset-right,0px),14px);bottom:calc(max(env(safe-area-inset-bottom,0px),14px) + 152px);z-index:51;display:flex;gap:8px}.bb-run-controls{display:flex;gap:8px}.bb-advance,.bb-retreat{font-family:inherit;font-size:11px;padding:11px 13px;border-radius:10px;color:#fff;border:none;box-shadow:0 3px #00000059;-webkit-tap-highlight-color:transparent}.bb-advance:active,.bb-retreat:active{transform:translateY(2px);box-shadow:0 1px #00000059}.bb-advance{background:linear-gradient(#46d160,#2a9e3f)}.bb-retreat{background:linear-gradient(#d18a46,#9e6a2a)}.bb-base-hotspot{position:absolute;width:104px;height:104px;transform:translate(-50%,-50%);border-radius:50%;border:none;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:25}.bb-base-hotspot:active{background:#ffd23f47}.bb-exit{position:absolute;top:max(env(safe-area-inset-top,0px),8px);right:max(env(safe-area-inset-right,0px),10px);z-index:60;width:34px;height:34px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:15px;cursor:pointer;-webkit-tap-highlight-color:transparent}.bb-outline-mph{display:block;margin-top:2px;font-size:10px;color:#ffd23f;text-shadow:0 1px 3px rgba(0,0,0,.85);font-family:monospace;text-align:center}.bb-pause-overlay{position:absolute;inset:0;z-index:80;background:#0000009e;display:flex;align-items:center;justify-content:center}.bb-pause-card{color:#ffd23f;font-size:22px;letter-spacing:.2em;background:#08180cf2;border:2px solid #16451f;border-radius:14px;padding:18px 30px}.bb-menu-card{width:min(86%,380px);max-height:82%;overflow-y:auto;background:#0a1018f7;border:2px solid rgba(245,158,11,.5);border-radius:16px;padding:18px;color:#e8e8ec;display:flex;flex-direction:column;gap:14px}.bb-menu-title{margin:0;text-align:center;color:#f59e0b;font-size:15px;letter-spacing:.14em}.bb-menu-invite{display:flex;flex-direction:column;align-items:center;gap:8px}.bb-menu-roomcode{font-family:monospace;font-size:18px;letter-spacing:.3em;color:#7cffa0}.bb-menu-qr{width:130px;height:130px;border-radius:8px;background:#fff;padding:4px}.bb-menu-loading{text-align:center;opacity:.7;font-size:13px;padding:8px}.bb-menu-actions{display:flex;gap:10px;justify-content:center}.bb-menu-actions .bb-btn{padding:10px 18px}.bb-resume{background:#2b5a34;border-color:#3f7a4a}.bb-leave{background:#5b2b2b;border-color:#7c3c3c}.bb-walkoff{filter:drop-shadow(0 2px 3px rgba(0,0,0,.5)) saturate(.8) opacity(.92)}.bb-intro{position:absolute;inset:0;z-index:70;overflow:hidden;background:linear-gradient(#7ec8f7,#a9ddf9 18%,#6a8f3a 19%,#4a7a2a)}.bb-intro-sky{position:absolute;inset:0;background-image:url(/assets/levels/baseball/intro-bg.webp);background-size:cover;background-position:50% 100%;will-change:transform}.bb-intro-world{position:absolute;inset:0;will-change:transform}.bb-intro-sprite{position:absolute;transform:translate(-50%,-100%);image-rendering:pixelated;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45))}.bb-intro-labels{position:absolute;top:max(calc(env(safe-area-inset-top,0px) + 46px),15%);left:0;right:0;display:flex;justify-content:space-between;padding:0 12px;z-index:90;pointer-events:none}.bb-intro-label{display:flex;flex-direction:column;align-items:center;gap:2px;max-width:46%}.bb-intro-role{font-size:15px;letter-spacing:.22em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);font-family:monospace}.bb-intro-team{font-family:var(--font-display, "Press Start 2P", monospace);font-weight:900;font-size:clamp(24px,8vw,52px);text-transform:uppercase;text-align:center;line-height:1.1;color:var(--intro-color, #f2ffff);-webkit-text-stroke:1px rgba(0,0,0,.55);text-shadow:0 0 5px #fff,0 0 13px var(--intro-color, #8ff6ff),0 0 26px var(--intro-color, #19a6ff),0 2px 3px rgba(0,0,0,.9);animation:bb-intro-electric 1.25s ease-in-out infinite}@keyframes bb-intro-electric{0%,to{text-shadow:0 0 5px #fff,0 0 13px var(--intro-color, #8ff6ff),0 0 26px var(--intro-color, #19a6ff),0 2px 3px rgba(0,0,0,.9)}50%{text-shadow:0 0 7px #fff,0 0 20px var(--intro-color, #8ff6ff),0 0 42px var(--intro-color, #19a6ff),0 2px 3px rgba(0,0,0,.9)}}.bb-walkup{position:absolute;inset:0;z-index:68;overflow:hidden;background:linear-gradient(#8fc6e8,#a9ddf9 16%,#cfa46e 30%,#d98b50);cursor:pointer;-webkit-tap-highlight-color:transparent;animation:bb-walkup-fade .22s ease-out}@keyframes bb-walkup-fade{0%{opacity:0}to{opacity:1}}.bb-walkup-sky{position:absolute;inset:0;background-image:url(/assets/levels/baseball/walkup-dugout.webp);background-size:cover;background-position:50% 42%;transform-origin:50% 38%;will-change:transform}.bb-walkup-world{position:absolute;inset:0;transform-origin:50% 64%;will-change:transform}.bb-walkup-sprite{position:absolute;transform:translate(-50%,-100%);image-rendering:pixelated;filter:drop-shadow(0 5px 5px rgba(0,0,0,.5))}.bb-walkup-card{position:absolute;left:50%;bottom:max(calc(env(safe-area-inset-bottom,0px) + 70px),84px);width:min(78%,360px);display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 18px 14px;border-radius:14px;background:linear-gradient(180deg,#060910f5,#060910e6);border:2px solid var(--wu-color, #ffd23f);box-shadow:0 6px 22px #0009,0 0 18px color-mix(in srgb,var(--wu-color, #ffd23f) 45%,transparent);z-index:3;pointer-events:none}.bb-walkup-eyebrow{font-family:monospace;font-size:12px;letter-spacing:.34em;color:#ffffffc7}.bb-walkup-name{font-family:var(--font-display, "Press Start 2P", monospace);font-weight:900;font-size:clamp(26px,8vw,44px);line-height:1.05;text-align:center;text-transform:uppercase;color:var(--wu-color, #ffd23f);-webkit-text-stroke:1px rgba(0,0,0,.55);text-shadow:0 0 5px #fff,0 0 16px var(--wu-color, #ffd23f),0 2px 3px rgba(0,0,0,.9)}.bb-walkup-stats{display:flex;gap:10px;margin-top:3px}.bb-walkup-stat{font-family:monospace;font-size:14px;letter-spacing:.06em;color:#fff;padding:3px 10px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.16)}.bb-walkup-stat b{color:var(--wu-color, #ffd23f);font-weight:700}.bb-walkup-skip{position:absolute;right:14px;bottom:max(calc(env(safe-area-inset-bottom,0px) + 10px),14px);font-family:monospace;font-size:11px;letter-spacing:.22em;color:#ffffff9e;text-shadow:0 1px 3px rgba(0,0,0,.85);z-index:3;pointer-events:none;animation:bb-walkup-skippulse 1.4s ease-in-out infinite}@keyframes bb-walkup-skippulse{0%,to{opacity:.5}50%{opacity:.95}}.bb-stands-layer{position:absolute;inset:0;pointer-events:none;transform:translateZ(0);opacity:.96}.bb-stands-fan{position:absolute;transform:translate(-50%,-90%);image-rendering:pixelated;pointer-events:none}.bb-stands-item{position:absolute;width:72px;height:72px;transform:translate(-50%,-78%);background:transparent;border:none;padding:0;cursor:pointer;z-index:26;-webkit-tap-highlight-color:transparent;animation:bb-item-beckon 1.4s ease-in-out infinite}.bb-stands-item img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 10px rgba(255,230,120,.85))}@keyframes bb-item-beckon{0%,to{transform:translate(-50%,-78%) scale(1)}50%{transform:translate(-50%,-82%) scale(1.12)}}.bb-onfield.bb-slide-right{transform:translate(-50%,-70%) rotate(62deg)}.bb-onfield.bb-slide-left{transform:translate(-50%,-70%) rotate(-62deg)}.bb-fieldball-img{position:absolute;transform:translate(-50%,-50%);image-rendering:pixelated;pointer-events:none;z-index:30;filter:drop-shadow(0 0 3px rgba(255,255,255,.4))}.bb-fieldball-img.thrown{z-index:31}.bb-pitch-trail{position:absolute;width:24px;height:24px;border-radius:50%;background:#ffffffd9;pointer-events:none;z-index:13}.bb-hbp-bat{position:absolute;left:24%;bottom:38%;width:86px;height:13px;border-radius:7px 10px 10px 7px;background:linear-gradient(90deg,#6e4a26 0 18%,#b98a4e 30%,#d8aa6b 70%,#c0905230);background-color:#c89a5d;box-shadow:inset 0 -3px 4px #0000004d;pointer-events:none;z-index:16;animation:bb-hbp-bat-toss 1.3s cubic-bezier(.3,.4,.6,1) forwards}@keyframes bb-hbp-bat-toss{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(-340px,-560px) rotate(-980deg);opacity:.9}}.bb-matchup{position:absolute;top:max(calc(env(safe-area-inset-top,0px) + 54px),58px);z-index:45;display:flex;align-items:center;gap:7px;background:#08140cd1;border:1.5px solid rgba(255,255,255,.16);border-radius:12px;padding:5px 9px;pointer-events:none}.bb-matchup-left{left:max(env(safe-area-inset-left,0px),10px)}.bb-matchup-right{right:max(env(safe-area-inset-right,0px),10px)}.bb-matchup img{height:38px;width:auto;image-rendering:pixelated}.bb-matchup-info{display:flex;flex-direction:column;gap:2px}.bb-matchup-name{font-size:10px;color:#ffd23f;letter-spacing:.08em}.bb-matchup-stats{font-size:8px;color:#d9ffe2;opacity:.85;letter-spacing:.06em;font-family:monospace}.game-container{width:100%;height:100%;position:relative;overflow:hidden;background-color:var(--bg-dark)}.game-stage{width:100%;height:100%;position:relative;overflow:hidden;touch-action:none}.game-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:var(--text-light);text-align:center;padding:20px}.game-placeholder h2{font-size:32px;color:var(--text-amber);margin:0}.game-placeholder p{font-size:16px;margin:0;opacity:.8}.game-instruction{font-size:14px!important;opacity:.6!important;max-width:400px}.game-hud{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}.hud-stocks{position:absolute;top:20px;left:20px;background:#000000b3;padding:10px 16px;border-radius:8px;color:var(--text-light);font-size:18px;font-weight:600;pointer-events:auto}.hud-action{position:absolute;bottom:20px;right:20px;pointer-events:auto}.action-selector{background:#000c;border:2px solid var(--text-amber);border-radius:8px;color:var(--text-light);font-size:16px;padding:10px 16px;font-weight:600;cursor:pointer}.action-selector:focus{outline:none;border-color:var(--text-light)}.results{background:linear-gradient(135deg,#0f0a08,#0a0504)}.route-container.results{padding:0;justify-content:flex-start;align-items:center;overflow-y:scroll;-webkit-overflow-scrolling:touch;overflow-anchor:none}.results-content{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:560px;flex-shrink:0;width:100%;padding:max(calc(env(safe-area-inset-top,0px) + 56px),72px) 12px 40px}.results-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.results-winner{font-size:52px;font-weight:900;margin:0;text-align:center;letter-spacing:-1px;line-height:1.05;text-shadow:0 0 30px currentColor;animation:winner-pulse 2s ease-in-out infinite alternate}@keyframes winner-pulse{0%{text-shadow:0 0 20px currentColor}to{text-shadow:0 0 55px currentColor,0 0 90px currentColor}}.results-duration{font-size:11px;color:var(--text-light);opacity:.4;margin:0;text-transform:uppercase;letter-spacing:2px}.results-char-row{display:flex;align-items:flex-end;justify-content:center;width:100%;gap:0;padding-bottom:40px}.results-char{display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;margin:0 -22px;flex:0 0 auto;width:130px;transform:translateY(-30px)}.results-char--winner{z-index:10;margin:0 -16px;width:160px;transform:translateY(28px)}.results-char-sprite-wrap{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%}.results-char-sprite{display:block;height:240px;width:auto;object-fit:contain;position:relative;z-index:1;filter:brightness(.82)}.results-char--winner .results-char-sprite{height:340px;filter:none}.results-winner-glow{position:absolute;inset:-30px -40px 0;pointer-events:none;z-index:0}.results-char-name{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;padding:0 4px;position:relative;z-index:1}.results-char--winner .results-char-name{font-size:12px}.results-char-rank{font-size:11px;font-weight:700;opacity:.6;position:relative;z-index:1}.results-char--winner .results-char-rank{font-size:18px;opacity:1}.results-char-stats{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;z-index:1;width:100%}.stat-pill{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:99px;padding:3px 10px;font-size:10px;color:#ffffff8c;font-family:-apple-system,BlinkMacSystemFont,sans-serif;white-space:nowrap;letter-spacing:.2px}.results-char--winner .stat-pill{font-size:14px;padding:5px 14px;background:#ffffff1c;border-color:#ffffff2e;color:#ffffffbf}.results-char--waitress{width:100px;transform:translateY(-15px);opacity:.85}.results-char--waitress .results-char-sprite{height:200px;filter:none}.results-waitress-row{margin-top:-24px;padding-bottom:0;gap:60px}.results-waitress-row .results-char--waitress{transform:none;opacity:.7}.results-waitress-row .results-char--waitress .results-char-sprite{height:170px}.results-actions{display:flex;flex-direction:column;gap:12px;width:100%}.results-actions .btn{width:100%;padding:16px}.results-trophy{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:8px 14px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.4);border-radius:999px;color:#fbbf24;font-size:14px;font-weight:600;letter-spacing:.04em;animation:results-trophy-in .6s ease-out}.results-trophy img{width:26px;height:26px;object-fit:contain;image-rendering:pixelated}@keyframes results-trophy-in{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.route-container.lb-page{padding:0;justify-content:flex-start;align-items:stretch;overflow-y:auto;overflow-x:hidden;overflow-anchor:none;-webkit-overflow-scrolling:touch;background:radial-gradient(ellipse 110% 55% at 50% 0%,rgba(130,55,10,.28) 0%,transparent 70%),linear-gradient(180deg,#0e0704,#060301)}.lb-inner{width:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding:max(calc(env(safe-area-inset-top,0px) + 56px),72px) 16px 48px}.lb-topbar{display:flex;align-items:center;justify-content:center;gap:8px}.lb-title{font-size:18px;font-weight:800;color:#ffaa32e6;text-align:center;margin:0;letter-spacing:.5px}.lb-loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding:60px 0;color:#ffffff59;font-size:14px}.lb-loading-ring{width:32px;height:32px;border:3px solid rgba(255,170,50,.15);border-top-color:#ffaa32b3;border-radius:50%;animation:lb-spin .8s linear infinite}@keyframes lb-spin{to{transform:rotate(360deg)}}.lb-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:60px 0 20px;text-align:center}.lb-empty-crown{font-size:52px;line-height:1}.lb-empty-title{font-size:18px;font-weight:700;color:#ffffffb3;margin:4px 0 0}.lb-empty-sub{font-size:14px;color:#ffffff59;margin:0 0 12px;font-style:italic}.lb-empty-cta{min-width:140px}.lb-list{display:flex;flex-direction:column;gap:8px}.lb-row{display:flex;align-items:center;gap:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:10px 14px;transition:background .4s,border-color .4s}.lb-row--highlighted{background:#ffaa321f;border-color:#ffaa3273}.lb-row-rank{font-size:18px;width:32px;flex-shrink:0;text-align:center;line-height:1}.lb-row-rank--top1,.lb-row-rank--top2,.lb-row-rank--top3{font-size:22px}.avatar--unknown{background:#ffffff0f}.lb-row-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.lb-row-name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.lb-row-name--link{text-decoration:none;cursor:pointer}.lb-row-name--link:hover,.lb-row-name--link:focus-visible{text-decoration:underline;text-underline-offset:3px}.lb-row-stats{display:flex;gap:12px;flex-shrink:0}.lb-stat{display:flex;flex-direction:column;align-items:center;gap:1px}.lb-stat-value{font-size:14px;font-weight:700;color:#ffffffd9;font-family:-apple-system,BlinkMacSystemFont,sans-serif;line-height:1}.lb-stat-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#ffaa328c;font-family:-apple-system,BlinkMacSystemFont,sans-serif}@supports (view-transition-name: x){::view-transition-old(lb-preview),::view-transition-new(lb-preview){animation-duration:.3s;animation-timing-function:ease-out}}.lb-preview--static{cursor:default}.lb-preview--static:active{background:#ffffff0d}.route-container.character-route{padding:0;justify-content:flex-start;align-items:stretch;overflow-y:auto;overflow-x:hidden;overflow-anchor:none;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#0e0a05,#1a1208)}.character-inner{width:100%;max-width:560px;margin:0 auto;padding:max(calc(env(safe-area-inset-top,0px) + 56px),72px) 16px 48px;display:flex;flex-direction:column;gap:22px}.character-section{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px}.character-section-title{margin:0 0 10px;color:#ffffffe6;font-size:15px;font-weight:600;letter-spacing:.02em}.character-loading,.character-error{color:#ffffff80;font-size:14px;margin:12px 0;text-align:center}.character-inner .char-detail{margin-bottom:0}@supports (view-transition-name: x){::view-transition-old(char-detail-*),::view-transition-new(char-detail-*){animation-duration:.3s;animation-timing-function:ease-out}}.global-controls{position:fixed;top:max(env(safe-area-inset-top,0px) + 8px,12px);left:max(env(safe-area-inset-left,0px) + 12px,12px);z-index:9000;display:flex;gap:6px;pointer-events:all}.gc-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:none;border:none;color:#fff;cursor:pointer;padding:0}.gc-btn--framed{background:#ffffff14;border:1.5px solid rgba(255,255,255,.2);transition:background .15s}.gc-btn--framed:active{background:#ffffff2e}.gc-info-letter{font-family:Georgia,serif;font-style:italic;font-size:18px;line-height:1;color:#fff;user-select:none}.info-overlay{position:fixed;inset:0;z-index:9100;background:#000000b8;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 40px;overflow-y:auto;-webkit-overflow-scrolling:touch}.info-modal{position:relative;background:#1a1a2e;border:1.5px solid rgba(255,255,255,.15);border-radius:16px;padding:28px 24px 32px;width:100%;max-width:480px;color:#e5e7eb;font-family:monospace}.info-close{position:absolute;top:12px;right:14px;background:none;border:none;color:#ffffff80;font-size:18px;cursor:pointer;padding:4px 8px;line-height:1}.info-close:active{color:#fff}.info-title{font-size:28px;font-weight:700;color:#f59e0b;letter-spacing:4px;margin:0 0 2px}.info-subtitle{font-size:12px;color:#fff6;margin:0 0 24px;text-transform:uppercase;letter-spacing:1px}.info-section{margin-bottom:22px}.info-section h3{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#f59e0b;margin:0 0 8px}.info-section p{font-size:14px;line-height:1.6;margin:0 0 6px;color:#d1d5db}.info-section p strong{color:#fff}.info-section p em{font-style:normal;color:#f59e0b}.app{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--bg-dark)}.route-container{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;overflow:hidden}.route-container.lobby{overflow-y:auto}.btn{padding:14px 28px;font-size:26px;font-weight:600;border-radius:8px;transition:transform .1s,opacity .2s;text-transform:uppercase;letter-spacing:.5px}.btn:active{transform:scale(.95)}.btn-primary{background-color:var(--text-amber);color:var(--bg-dark)}.btn-secondary{background:transparent;color:#ffaa32bf;border:1.5px solid rgba(255,170,50,.45);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:var(--btn-secondary-padding);font-size:var(--btn-secondary-font-size);font-weight:700;letter-spacing:.06em}.btn-secondary:active{color:var(--text-amber);border-color:#ffaa32cc}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary:disabled{background-color:#ffffff1f;color:#ffffff4d;opacity:1}.input{padding:12px;font-size:18px;border-radius:8px;border:2px solid var(--text-amber);background-color:#ffffff0d;color:var(--text-light);text-align:center;text-transform:uppercase;letter-spacing:2px}.input:focus{outline:none;border-color:var(--text-light);background-color:#ffffff1a}@font-face{font-family:DynaPuff;src:url(/assets/fonts/DynaPuff-Variable.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}:root{--font-display: "DynaPuff", system-ui, sans-serif}h1{font-family:var(--font-display);font-weight:400;font-variation-settings:"wdth" 100,"wght" 400;letter-spacing:.04em}h2{font-family:var(--font-display);font-variation-settings:"wdth" 95,"wght" 450;letter-spacing:.03em}h3{font-family:var(--font-display);font-variation-settings:"wdth" 90,"wght" 500;letter-spacing:.02em}h4{font-family:var(--font-display);font-variation-settings:"wdth" 87,"wght" 550;letter-spacing:.015em}h5{font-family:var(--font-display);font-variation-settings:"wdth" 82,"wght" 600;letter-spacing:.01em}h6{font-family:var(--font-display);font-variation-settings:"wdth" 78,"wght" 650;letter-spacing:.005em}button{font-family:var(--font-display);font-variation-settings:"wdth" 85,"wght" 600;letter-spacing:.02em}.char-name,.char-detail-name,.hud-char-name{font-family:var(--font-display);font-variation-settings:"wdth" 88,"wght" 550;letter-spacing:.015em}:root{--color-kaytee: #2ECC71;--color-dan: #3498DB;--color-rossi: #9B59B6;--color-adam: #F39C12;--color-ryan: #E74C3C;--color-jasmine: #E91E63;--color-jaslene: #FF6F00;--color-z-baby: #00BCD4;--bg-dark: #0a0504;--bg-amber: rgba(255, 160, 50, .4);--text-light: #f5f5f5;--text-amber: #ffaa32;--btn-secondary-padding: 13px 18px;--btn-secondary-font-size: 15px;--card-border-default: rgba(255, 255, 255, .18);--card-bg-default: rgba(255, 255, 255, .04);--home-h-pad: 16px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;height:100lvh;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}p{text-wrap:balance}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-dark);color:var(--text-light);position:fixed;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#root{display:flex;flex-direction:column}input,textarea,select{font-size:16px}button{border:none;background:none;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
