@font-face{font-family:Retro Mario;src:url(/fonts/RetroMario-Regular.woff2) format("woff2"),url(/fonts/RetroMario-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--tg-hint: #b9c2d6;--cave-top: #586a8c;--cave-mid: #45506e;--cave-bottom: #2c344c;--cave-glow: rgba(110, 214, 214, .4);--rock: #4b5673;--rock-light: #616e8f;--rock-dark: #333c54;--rock-line: rgba(255, 255, 255, .06);--wood: #79502e;--wood-light: #9c6a3c;--wood-dark: #4a2d17;--rope: #d6ad62;--bone: #efe7d2;--bone-shade: #cdc09c;--ink: #f5eede;--ink-dark: #241a10;--lava: #ff7a18;--lava-deep: #d8540a;--gold: #ffd23f;--gold-deep: #e7a414;--rune: #8affc0;--cyber: #39ff14;--danger: #ff5a5a;--hp: #6ddb5a;--stone: #aab2c4;--stone-top: #c3cad8;--stone-bottom: #818aa0;--stone-edge: #3a4154;--radius: 18px;--maxw: 480px;--font-display: "Baloo 2", ui-rounded, "Segoe UI", system-ui, sans-serif;--font-body: "Fredoka", ui-rounded, "Segoe UI", system-ui, sans-serif;--font-button: "Retro Mario", "Baloo 2", ui-rounded, "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;color:var(--ink);font-family:var(--font-body);font-size:16px;overscroll-behavior:none;background:radial-gradient(120% 70% at 50% -8%,var(--cave-glow),transparent 55%),radial-gradient(90% 60% at 50% 0%,var(--cave-top),transparent 60%),linear-gradient(180deg,var(--cave-mid) 0%,var(--cave-bottom) 100%);background-color:var(--cave-bottom);min-height:100vh}.carved{text-shadow:-1.4px -1.4px 0 var(--ink-dark),1.4px -1.4px 0 var(--ink-dark),-1.4px 1.4px 0 var(--ink-dark),1.4px 1.4px 0 var(--ink-dark),0 3px 0 rgba(0,0,0,.35)}.app{max-width:var(--maxw);margin:0 auto;min-height:100vh;position:relative;isolation:isolate}.app:before,.app:after{content:"";position:fixed;top:60px;width:120px;height:220px;pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 20%,rgba(255,150,40,.32),transparent 70%);filter:blur(2px);animation:flicker 2.6s ease-in-out infinite}.app:before{left:-20px}.app:after{right:-20px;animation-delay:.9s}@keyframes flicker{0%,to{opacity:.85;transform:scale(1)}45%{opacity:1;transform:scale(1.05)}70%{opacity:.7;transform:scale(.97)}}.screen{position:relative;z-index:1;padding:16px 16px 100px;display:flex;flex-direction:column;gap:14px;animation:fade-in .25s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hint{color:var(--bone);font-size:1.04rem;font-weight:700;line-height:1.55;margin:0;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.7)}.center{text-align:center}.error{color:#ffd7d7;background:#d8282840;border:1.5px solid var(--danger);border-radius:12px;padding:8px 10px;font-size:.9rem;font-weight:600;margin:2px 0 0}.footnote{color:var(--bone-shade);font-size:.85rem;font-weight:500;text-align:center;margin-top:auto}.plaque{position:relative;align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 34px 20px;min-height:56px;background:url(/brand/plaque.png) center/100% 100% no-repeat;color:var(--ink);font-family:var(--font-button);font-weight:800;font-size:1.18rem;letter-spacing:.5px;text-transform:uppercase;text-align:center;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 3px 0 rgba(0,0,0,.4);filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}.coin{display:inline-grid;place-items:center;width:1.5em;height:1.5em;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe27a,var(--gold) 55%,var(--gold-deep));border:2px solid var(--gold-deep);color:#6a4500;font-family:var(--font-display);font-weight:800;font-size:.62em;vertical-align:middle;box-shadow:0 1px 2px #0006}.btn{position:relative;border:none;background:transparent;background-image:url(/brand/button.png);background-size:100% 100%;background-repeat:no-repeat;padding:20px 26px;font-family:var(--font-button);font-size:1.4rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase;cursor:pointer;color:#fff;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 3px 0 rgba(0,0,0,.35);filter:drop-shadow(0 3px 4px rgba(0,0,0,.4));transition:transform .08s ease,filter .15s ease}.btn:active{transform:translateY(2px);filter:brightness(.95) drop-shadow(0 1px 2px rgba(0,0,0,.4))}.btn:disabled{filter:grayscale(.9) brightness(.6);cursor:not-allowed}.btn-full{width:100%}.share-bar{display:flex;gap:10px}.share-bar>.btn{flex:1}.btn-badge{position:absolute;top:7px;right:9px;width:15px;height:15px;color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6));pointer-events:none}.icon-back{background:none;border:none;padding:6px;min-width:48px;display:inline-flex;align-items:center;cursor:pointer;transition:transform .08s ease,filter .15s ease;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.icon-back img{width:30px;height:auto;display:block}.icon-back:active{transform:translateY(1px);filter:brightness(.9)}.btn-lava{filter:drop-shadow(0 0 7px rgba(255,140,40,.65)) drop-shadow(0 3px 4px rgba(0,0,0,.4))}.btn-cyber{filter:drop-shadow(0 0 8px rgba(57,255,20,.6)) drop-shadow(0 3px 4px rgba(0,0,0,.4))}.btn-ghost{background-image:url(/brand/button-dark.png);color:var(--bone)}.link{background:none;border:none;color:var(--gold);font-family:var(--font-display);font-weight:700;cursor:pointer;font-size:.98rem;padding:6px}.link.big{font-size:1.2rem;align-self:center;padding:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-transform:uppercase}.lb-trophy{width:1.4em;height:1.4em;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}.plaque-trophy{width:1.5em;height:1.5em;object-fit:contain;vertical-align:middle}.card{position:relative;padding:16px;border:20px solid transparent;border-image:url(/brand/frame.png) 70 / 20px stretch;background:url(/brand/frame-bg.png) center/100% 100% no-repeat;background-clip:padding-box;filter:drop-shadow(0 5px 12px rgba(0,0,0,.3))}.cave{min-height:100vh;justify-content:center}.hero{text-align:center;margin-bottom:8px}.runes{font-size:1.4rem;letter-spacing:.5rem;color:var(--rune);text-shadow:0 0 10px rgba(138,255,192,.7);opacity:.85;margin-bottom:10px;animation:glow 3s ease-in-out infinite}@keyframes glow{50%{opacity:.5;text-shadow:0 0 16px rgba(138,255,192,.9)}}.logo-img{display:block;width:min(82%,360px);height:auto;margin:0 auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.45));animation:bounce 2.2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}.tagline{display:flex;flex-direction:column;gap:6px;color:var(--bone);margin:14px 4px 0;font-family:var(--font-display);font-weight:700;font-size:1rem;line-height:1.3;text-transform:uppercase;letter-spacing:.3px}.tagline .tagline-lead{color:var(--gold);font-size:1.18rem;font-weight:800;text-shadow:0 0 10px rgba(255,210,63,.4)}.paste-card{display:flex;flex-direction:column;gap:10px}.paste-card label{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--bone);text-align:center}.paste-card input{width:100%;padding:16px 20px;border:none;background:url(/brand/button-dark.png) center/100% 100% no-repeat;color:var(--ink);font-size:1rem;font-family:ui-monospace,monospace}.paste-card input::placeholder{color:#f5eede73}.paste-card input:focus{outline:none;filter:drop-shadow(0 0 4px rgba(255,122,24,.55))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.topbar>.plaque{flex:1;margin:0 4px}.topbar-right{min-width:48px;text-align:right}.roster-grid{display:grid}.roster-grid.large{grid-template-columns:1fr;gap:14px}.roster-grid.small{grid-template-columns:1fr 1fr;gap:12px}.view-toggle{align-self:flex-end;display:inline-flex;border-radius:999px;overflow:hidden;border:1.5px solid var(--rock-dark);background:#0000004d;box-shadow:inset 0 1px 3px #00000073}.view-toggle button{border:none;background:transparent;color:var(--bone);font-family:var(--font-display);font-weight:700;font-size:.9rem;padding:8px 16px;cursor:pointer}.view-toggle button.active{background:linear-gradient(180deg,#ffa24a,var(--lava));color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.35)}.roster-toolbar{display:flex;align-items:center;gap:8px}.toolbar-btn{position:relative;border:1.5px solid var(--rock-dark);background:#0000004d;color:var(--bone);font-family:var(--font-display);font-weight:700;font-size:.85rem;padding:8px 12px;border-radius:999px;cursor:pointer;box-shadow:inset 0 1px 3px #00000073}.toolbar-btn.active{background:linear-gradient(180deg,#ffa24a,var(--lava));color:#fff;border-color:var(--lava);text-shadow:0 1px 1px rgba(0,0,0,.35)}.toolbar-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:999px;background:var(--rock-dark);color:#fff;font-size:.72rem;line-height:1}.toolbar-btn.active .toolbar-badge{background:#00000059}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;animation:fade-in .18s ease}.sheet{width:100%;max-width:var(--maxw);background:linear-gradient(180deg,var(--rock-light),var(--rock));border-top:2px solid var(--rock-dark);border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -8px 24px #00000080;padding:16px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;animation:sheet-up .22s ease}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--bone)}.sheet-close{border:none;background:transparent;color:var(--bone);font-size:1.1rem;line-height:1;padding:4px 8px;cursor:pointer}.sheet-section{display:flex;flex-direction:column;gap:8px}.sheet-label{font-family:var(--font-display);font-weight:700;font-size:.8rem;color:var(--bone);opacity:.7;text-transform:uppercase;letter-spacing:.04em}.sheet-foot{display:flex;gap:10px}.sheet-foot .btn{flex:1}.sort-list{gap:4px}.sort-row{display:flex;align-items:center;justify-content:space-between;border:none;background:transparent;color:var(--bone);font-family:var(--font-display);font-weight:700;font-size:.95rem;padding:12px 10px;border-radius:10px;cursor:pointer}.sort-row.active{background:#ff7a182e;color:#fff}.filter-search{position:relative}.filter-search input{width:100%;padding:12px 40px 12px 16px;border:none;background:url(/brand/button-dark.png) center/100% 100% no-repeat;color:var(--ink);font-size:.95rem;font-family:var(--font-body)}.filter-search input::placeholder{color:#f5eede73}.filter-search input:focus{outline:none;filter:drop-shadow(0 0 4px rgba(255,122,24,.55))}.filter-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--bone);font-size:1rem;line-height:1;padding:6px 8px;cursor:pointer}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1.5px solid var(--rock-dark);background:#0000004d;color:var(--bone);font-family:var(--font-display);font-weight:700;font-size:.82rem;padding:6px 12px;border-radius:999px;cursor:pointer;box-shadow:inset 0 1px 3px #00000073}.chip.active{background:linear-gradient(180deg,#ffa24a,var(--lava));color:#fff;border-color:var(--lava);text-shadow:0 1px 1px rgba(0,0,0,.35)}.filter-count{margin-left:auto;font-size:.85rem;opacity:.75;white-space:nowrap}.filter-hidden{margin:0 0 8px;font-size:.85rem;color:var(--gold)}.roster-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 0}.booga-card{border:16px solid transparent;border-image:url(/brand/frame.png) 70 / 16px stretch;background:url(/brand/frame-bg.png) center/100% 100% no-repeat;background-clip:padding-box;padding:10px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;position:relative;color:inherit;text-align:center;filter:drop-shadow(0 4px 9px rgba(0,0,0,.28));transition:transform .1s ease,filter .15s ease}.booga-card:active{transform:scale(.98)}.booga-card.selected{filter:drop-shadow(0 0 8px rgba(255,122,24,.7)) drop-shadow(0 4px 9px rgba(0,0,0,.3))}.card-badge{position:absolute;top:8px;left:8px;background:linear-gradient(180deg,#ffa24a,var(--lava));color:#fff;font-family:var(--font-display);font-weight:800;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.9rem;border:2px solid #9c3b07;box-shadow:0 2px 4px #0006}.booga-card-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.booga-name{font-family:var(--font-display);font-size:.95rem}.roster-grid.small .booga-card{border-width:11px;border-image:url(/brand/frame.png) 70 / 11px stretch;padding:8px;gap:6px}.roster-grid.small .booga-name{font-size:.82rem}.roster-grid.small .card-badge{width:22px;height:22px;font-size:.78rem}.booga-art{border-radius:12px;overflow:hidden;background:#0000004d;display:grid;place-items:center;flex:none;border:2px solid rgba(0,0,0,.35);box-shadow:inset 0 0 12px #00000080}.booga-art img{width:100%;height:100%;object-fit:cover}.booga-art.fluid{width:100%;height:auto;aspect-ratio:1 / 1}.roster-grid.large .booga-art.fluid{width:min(60vw,300px)}.roster-grid.small .booga-art.fluid{width:100%}.booga-art-fallback{font-size:2rem}.rarity-badge{font-family:var(--font-display);font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:999px;background:#0000004d;border:1px solid rgba(255,255,255,.15)}.tier-legendary{background:linear-gradient(90deg,var(--gold),var(--lava));color:#2a1a00;border-color:var(--gold-deep)}.tier-epic{background:#b06bff;color:#16002e;border-color:#7d3bd1}.tier-rare{background:#4aa3ff;color:#00203f;border-color:#2a72c4}.tier-common{background:#ffffff24}.archetype-pill{font-family:var(--font-display);font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:999px;background:#8affc029;color:var(--rune);border:1px solid rgba(138,255,192,.3)}.stat-bars{width:100%;display:flex;flex-direction:column;gap:3px}.stat-row{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:6px;font-size:.68rem}.stat-label{color:var(--bone);opacity:.8;font-weight:700}.stat-track{height:7px;background:#0006;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px #00000080}.stat-fill{display:block;height:100%;background:linear-gradient(90deg,var(--lava),var(--gold));border-radius:999px}.stat-val{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.action-bar{display:flex;flex-direction:column;gap:10px}.action-bar.sticky{position:sticky;bottom:0;padding:12px 0 6px;background:linear-gradient(transparent,var(--cave-bottom) 28%)}.switch{display:flex;align-items:center;gap:10px;align-self:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 2px}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{position:relative;width:52px;height:28px;border-radius:999px;background:#0006;border:2px solid var(--rock-dark);box-shadow:inset 0 1px 3px #00000080;transition:background .15s ease;flex:none}.switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:linear-gradient(180deg,var(--stone-top),var(--stone-bottom));box-shadow:0 1px 3px #00000080;transition:transform .15s ease}.switch input:checked+.switch-track{background:linear-gradient(180deg,#8af07a,var(--hp));border-color:var(--hp)}.switch input:checked+.switch-track .switch-thumb{transform:translate(24px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--rune);outline-offset:2px}.switch-label{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--bone)}.fight-title{align-self:center;margin:4px 0}.arena{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;position:relative}.fighter{display:flex;flex-direction:column;align-items:center;gap:8px}.vs{align-self:center;font-family:var(--font-display);font-weight:800;color:var(--lava);font-size:1.4rem}.hp-block{width:100%;text-align:center}.hp-head{display:flex;flex-direction:column;line-height:1.1;margin-bottom:4px}.hp-name{font-family:var(--font-display);font-weight:800;font-size:.88rem;text-transform:uppercase;letter-spacing:.3px}.hp-arch{color:var(--rune);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.hp-track{height:13px;background:#00000073;border-radius:999px;overflow:hidden;border:1.5px solid rgba(0,0,0,.4);box-shadow:inset 0 1px 3px #0009}.hp-fill{height:100%;background:linear-gradient(180deg,#8af07a,var(--hp));border-radius:999px;transition:width .5s ease}.hp-fill.low{background:linear-gradient(180deg,#ff8a8a,var(--danger));animation:pulse .8s ease-in-out infinite}@keyframes pulse{50%{opacity:.6}}.hp-num{font-size:.74rem;color:var(--bone);opacity:.85;font-weight:600;font-variant-numeric:tabular-nums}.log{background:#00000052;border-radius:var(--radius);padding:15vh 12px;height:38vh;overflow-y:auto;display:flex;flex-direction:column;gap:16px;border:2px solid rgba(0,0,0,.35);box-shadow:inset 0 2px 10px #0006}.log-line{margin:0;font-size:.86rem;line-height:1.3;animation:fade-in .25s ease;padding-left:8px;border-left:3px solid transparent;opacity:.4;transition:opacity .2s ease,font-size .2s ease}.log-line.current{opacity:1;font-size:1.2rem;font-weight:700;text-align:center}.fight .arena,.log.advance{cursor:pointer}.line-intro{font-family:var(--font-display);font-weight:800;color:var(--lava);border-color:var(--lava)}.line-crit{color:var(--gold);font-weight:700;border-color:var(--gold)}.line-miss{color:var(--tg-hint);font-style:italic}.line-heal{color:var(--hp);border-color:var(--hp)}.line-zombie{color:#c089ff;border-color:#c089ff}.line-ko{color:var(--danger);font-weight:800;border-color:var(--danger)}.winner-banner{text-align:center;color:var(--gold)}.winner-title{display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-button);font-weight:800;font-size:1.18rem;letter-spacing:.4px;text-transform:uppercase;text-shadow:-1.6px -1.6px 0 #000,1.6px -1.6px 0 #000,-1.6px 1.6px 0 #000,1.6px 1.6px 0 #000}.winner-logo{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}.winner-sub{display:block;margin-top:4px;font-size:.78rem;font-weight:500;color:var(--tg-hint);font-family:var(--font-body)}.winner-pfp{display:flex;justify-content:center;margin-bottom:4px}.winner-pfp img{width:132px;height:132px;object-fit:cover;border-radius:16px;border:3px solid var(--gold);box-shadow:0 4px 14px #00000080,0 0 16px #ffd23f59}.champion{text-align:center;font-family:var(--font-display);font-size:1.1rem;border:18px solid transparent;border-image:url(/brand/frame.png) 70 / 18px stretch;background:url(/brand/frame-bg.png) center/100% 100% no-repeat;background-clip:padding-box;padding:14px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.champion strong{color:var(--gold)}.bracket{display:flex;flex-direction:column;gap:14px}.bracket-round h3{margin:0 0 6px;font-family:var(--font-display);font-size:.92rem;color:var(--bone);opacity:.85}.bracket-match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;background:#00000038;border:1.5px solid var(--rock-dark);border-radius:12px;padding:10px 12px;margin-bottom:6px;font-size:.9rem}.bracket-match .win{font-weight:800;color:var(--cyber)}.bracket-match .lose{color:var(--tg-hint)}.vs-mini{font-size:.7rem;color:var(--tg-hint)}.leaderboard{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lb-row{display:grid;grid-template-columns:28px 56px 1fr auto;align-items:center;gap:10px;background:linear-gradient(180deg,var(--rock-light),var(--rock) 70%,var(--rock-dark));border:1.5px solid var(--rock-dark);border-radius:12px;padding:8px 12px;box-shadow:0 3px 8px #00000038}.lb-pos{font-family:var(--font-display);font-weight:800;color:var(--gold);text-align:center}.lb-name{display:flex;flex-direction:column;font-family:var(--font-display);font-weight:700;font-size:.92rem;gap:3px}.lb-name small{display:flex;gap:4px;align-items:center}.lb-wl{text-align:right;font-family:var(--font-display);font-weight:800;font-variant-numeric:tabular-nums}.lb-wl small{display:block;color:var(--tg-hint);font-weight:500;font-family:var(--font-body)}.spinner{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;color:var(--bone)}.spinner-rock{width:38px;height:38px;border-radius:40% 60% 55% 45%;background:linear-gradient(180deg,var(--rock-light),var(--rock-dark));border:2px solid var(--rock-dark);box-shadow:inset 0 2px #ffffff26;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:sticky;top:0;z-index:10;margin:8px 16px 0;background:linear-gradient(180deg,#ff7676,var(--danger));color:#fff;padding:10px 14px;border-radius:12px;font-size:.92rem;font-weight:600;text-align:center;border:2px solid #b62a2a;box-shadow:0 4px 12px #00000059;animation:fade-in .2s ease}
