@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Mono:wght@400;500&family=Special+Elite&display=swap";:root{color:#19140f;font-synthesis:none;background:#ded4bf;font-family:Barlow Condensed,Impact,sans-serif}*{box-sizing:border-box}body{background:#ded4bf;min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.arena{background-color:#ded4bf;background-image:radial-gradient(#3e32232d .7px,#0000 .7px),repeating-linear-gradient(0deg,#ffffff20 0 1px,#0000 1px 5px);background-size:5px 5px,auto;min-height:100vh;padding-bottom:28px;overflow:hidden}.topbar{justify-content:space-between;align-items:center;max-width:1100px;margin:auto;padding:18px 24px 14px;display:flex}.topbar-actions{align-items:center;gap:10px;display:flex}.controls{gap:4px;display:grid}.controls button{letter-spacing:.05em;background:#f8f2e6;border:1px solid #19140f;padding:4px 6px;font:700 7px DM Mono,monospace}.controls button[aria-pressed=true]{background:#d19b33}.wordmark{letter-spacing:-.09em;font-size:clamp(34px,6vw,54px);font-weight:900;line-height:.68;transform:rotate(-2deg)}.wordmark span{color:#a52420}.wordmark small{color:#19140f;letter-spacing:.35em;margin-top:12px;padding-left:5px;font:500 8px DM Mono,monospace;display:block}.run-score{text-align:right;background:#f8f2e6;border:2px solid #19140f;min-width:170px;padding:6px 10px;box-shadow:3px 3px #19140f}.run-score span,.run-score em{letter-spacing:.08em;font:500 9px DM Mono,monospace;display:block}.run-score strong{font-size:28px;line-height:.8}.run-score em{color:#a52420;margin-top:4px}.ticker{color:#f4e5c5;letter-spacing:.08em;text-align:center;white-space:nowrap;background:#19140f;padding:8px;font:500 10px DM Mono,monospace;overflow:hidden}.ticker b{color:#d19b33;margin:0 9px}.hero{text-align:center;max-width:780px;margin:52px auto 30px;padding:0 20px}.kicker,.stamp{color:#a52420;letter-spacing:.18em;font:500 10px DM Mono,monospace}.hero h1{letter-spacing:-.065em;margin:4px 0;font-size:clamp(54px,10vw,106px);font-weight:900;line-height:.84}.subhead{max-width:530px;margin:15px auto 0;font:16px/1.25 Special Elite,serif}.panel{background:#f7f0df;border:3px solid #19140f;width:min(660px,100% - 32px);margin:0 auto;padding:clamp(20px,5vw,38px);position:relative;box-shadow:7px 8px #19140f}.panel:before{content:"";pointer-events:none;border:1px dashed #19140f66;position:absolute;inset:7px}.fighter-card{isolation:isolate;background:#f8f2e6;border:2px solid #19140f;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid;position:relative;overflow:hidden;box-shadow:4px 4px #19140f}.fighter-card:after{content:"";z-index:-1;opacity:.16;background:repeating-linear-gradient(135deg,#a52420 0 6px,#0000 6px 12px);position:absolute;inset:0 0 0 68%}.fighter-card.blue:after{background:repeating-linear-gradient(135deg,#29699a 0 6px,#0000 6px 12px)}.fighter-avatar{--portrait:0;background:radial-gradient(circle at 50% 22%,#f6d779 0 11%,#19140f 12% 14%,#0000 15%),linear-gradient(155deg,#d19b33 0 42%,#a52420 42%);border:2px solid #19140f;place-items:center;width:70px;height:82px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -10px #19140f20}.fighter-avatar.blue{background:radial-gradient(circle at 50% 22%,#f6d779 0 11%,#19140f 12% 14%,#0000 15%),linear-gradient(155deg,#d19b33 0 42%,#29699a 42%)}.fighter-avatar:before{content:"";transform:rotate(calc((var(--portrait) - 1.5) * 2deg));border:1px solid #fff8;position:absolute;inset:7px}.fighter-avatar .avatar-rays{opacity:.28;background:repeating-conic-gradient(#fff 0 7deg, transparent 7deg 20deg);animation:12s linear infinite cardSpin;position:absolute;inset:-50%}.fighter-avatar img{filter:brightness(0)invert();opacity:.86;width:54px;transform:rotate(calc((var(--portrait) - 1.5) * 4deg)) translateY(14px);position:absolute}.fighter-avatar b{z-index:1;color:#fff7ea;text-align:center;letter-spacing:.08em;background:#19140fd9;align-self:end;width:100%;padding:3px 0;font:800 14px DM Mono,monospace}.fighter-avatar.compact{width:46px;height:54px}.fighter-avatar.compact b{font-size:9px}.card-copy{min-width:0}.card-copy>span,.card-copy p{color:#5e5244;letter-spacing:.08em;margin:0;font:500 9px DM Mono,monospace;display:block}.card-copy h2{letter-spacing:-.045em;margin:3px 0 2px;font-size:34px;line-height:.82}.card-copy p{color:#a52420;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.blue .card-copy p{color:#29699a}.card-ovr{color:#a52420;text-align:center;border-left:2px solid #19140f;place-content:center;align-self:stretch;min-width:40px;font-size:29px;line-height:.7;display:grid}.blue .card-ovr{color:#29699a}.card-ovr small{color:#19140f;letter-spacing:.06em;margin-top:5px;font:500 7px DM Mono,monospace;display:block}.fighter-stats{grid-column:1/-1;grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.fighter-stats b{border-top:2px solid #19140f;padding-top:4px;font:500 9px DM Mono,monospace}.fighter-stats i{color:#a52420;font:800 19px Barlow Condensed,sans-serif;display:block}.fighter-card.blue .fighter-stats i{color:#29699a}.fighter-card.compact{min-width:0;box-shadow:none;background:0 0;border:0;grid-template-columns:46px minmax(0,1fr) 34px;gap:8px;padding:0}.fighter-card.compact:after{display:none}.fighter-card.compact .card-copy h2{font-size:26px}.fighter-card.compact .card-copy>span,.fighter-card.compact .card-copy p{font-size:8px}.fighter-card.compact .card-ovr{min-width:34px;font-size:23px}.fighter-card.compact .card-ovr small{font-size:6px}.field-label{letter-spacing:.12em;margin-top:25px;font:500 10px DM Mono,monospace;display:block}.stake-row{border-bottom:3px solid #19140f;align-items:center;display:flex}.stake-row input{color:#19140f;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:46px;font-weight:900}.stake-row span{font:500 11px DM Mono,monospace}.preset-row{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 20px;display:grid}.preset-row button{background:0 0;border:2px solid #19140f;padding:6px;font-weight:800}.preset-row button.active,.preset-row button:hover{background:#d19b33}.primary,.secondary{letter-spacing:.025em;border:2px solid #19140f;width:100%;padding:13px 16px;font-size:21px;font-weight:900}.primary{color:#fff7ea;background:#a52420;box-shadow:4px 4px #19140f}.primary:hover{transform:translate(2px,2px);box-shadow:2px 2px #19140f}.primary span{float:right}.secondary{background:#d19b33;margin-top:14px;box-shadow:4px 4px #19140f}.note,.error{text-align:center;margin:19px 0 0;font:10px DM Mono,monospace}.error{color:#a52420;font-weight:700}.note{color:#5e5244}.fight-board{grid-template-columns:repeat(2,1fr);gap:16px;width:min(950px,100% - 32px);margin:0 auto;display:grid}.opponent{background:#f7f0df;border:3px solid #19140f;grid-template-columns:54px 1fr auto;align-items:start;gap:12px;min-width:0;padding:17px;display:grid;box-shadow:5px 5px #19140f}.opponent .fighter-mark{width:49px;height:49px;box-shadow:none}.opponent .fighter-mark img{max-width:32px}.opponent-main p,.opponent-main span{letter-spacing:.08em;margin:0;font:500 9px DM Mono,monospace}.opponent-main p{color:#a52420}.opponent h2{letter-spacing:-.04em;margin:2px 0 4px;font-size:30px;line-height:.82}.opponent q{margin-top:10px;font:11px/1.25 Special Elite,serif;display:block}.odds{text-align:right}.odds strong{color:#a52420;font-size:30px;line-height:.75;display:block}.odds span,.odds em{letter-spacing:.08em;font:500 8px DM Mono,monospace}.odds em{white-space:nowrap;margin-top:7px;display:block}.opponent button{color:#f7f0df;background:#19140f;border:2px solid #19140f;grid-column:1/-1;padding:7px;font-weight:800}.opponent button:hover{background:#a52420}.contract .stamp,.result .stamp{text-align:center;display:block}.versus{text-align:center;grid-template-columns:1fr 35px 1fr;align-items:center;margin:30px 0;display:grid}.versus span{color:#a52420;font:500 9px DM Mono,monospace}.versus h2{letter-spacing:-.05em;margin:5px 0;font-size:clamp(27px,7vw,47px);line-height:.8}.versus p{margin:0;font:12px Special Elite,serif}.versus>b{background:#d19b33;border:2px solid #19140f;border-radius:50%;place-items:center;width:35px;height:35px;font-size:15px;display:grid}.contract-math{text-align:center;border-top:2px solid #19140f;border-bottom:2px solid #19140f;grid-template-columns:repeat(3,1fr);padding:12px 0;display:grid}.contract-math span{letter-spacing:.08em;font:500 8px DM Mono,monospace}.contract-math b{color:#a52420;white-space:nowrap;font:800 19px Barlow Condensed,sans-serif;display:block}.warning{text-align:center;max-width:420px;margin:22px auto;font:12px Special Elite,serif}.text-button{background:0 0;border:0;margin:20px auto 0;font:600 11px DM Mono,monospace;text-decoration:underline;display:block}.fight-night{text-align:center;padding:56px 20px}.ring{background:#ece2ca;border:6px solid #19140f;place-items:center;width:155px;height:100px;margin:0 auto 25px;display:grid;position:relative}.ring:before,.ring:after{content:"";background:#a52420;height:5px;position:absolute;left:-14px;right:-14px}.ring:before{top:21px}.ring:after{bottom:21px}.ring i{background:#d19b33;border:2px solid #19140f;width:13px;height:13px;position:absolute}.ring i:first-child{top:-9px;left:-9px}.ring i:nth-child(2){bottom:-9px;right:-9px}.ring strong{z-index:1;font-size:46px}.fight-night>p{color:#a52420;letter-spacing:.15em;font:500 10px DM Mono,monospace}.fight-night h2{margin:5px 0 20px;font-size:clamp(34px,8vw,55px);line-height:.85}.fight-night h2 b{color:#a52420}.waiting-line{letter-spacing:.1em;justify-content:center;align-items:center;gap:9px;font:500 10px DM Mono,monospace;display:flex}.waiting-line span{background:#19140f;width:35px;height:2px;animation:1s infinite alternate pulse}.fight-night small{margin-top:22px;font:11px Special Elite,serif;display:block}@keyframes pulse{to{opacity:.2;transform:scaleX(.35)}}.result{text-align:center}.result h2{letter-spacing:-.06em;margin:24px 0 10px;font-size:clamp(40px,9vw,72px);line-height:.8}.result .fighter-avatar{margin:18px auto -4px}.result.won h2{color:#a52420}.finish{font:15px Special Elite,serif}.purse-change{border-block:2px solid #19140f;margin:28px 0 19px;padding:16px;font:500 15px DM Mono,monospace}.purse-change span{margin:0 8px}.purse-change strong{color:#a52420;font-size:22px}.quote{max-width:380px;margin:20px auto;font:13px/1.3 Special Elite,serif}.how-to{border-top:1px dashed #19140f88;grid-template-columns:repeat(3,1fr);gap:6px;margin:24px 0 0;padding:12px 0 0;list-style:none;display:grid}.how-to li{gap:3px;display:grid}.how-to b{color:#a52420;font:800 12px DM Mono,monospace}.how-to span{letter-spacing:.05em;font:700 9px DM Mono,monospace}.scouting{text-align:center;place-items:center;min-height:355px;display:grid}.scouting .fighter-avatar{width:92px;height:108px}.scouting h2{margin:3px 0;font-size:clamp(38px,7vw,57px);line-height:.8}.scouting>strong{font:800 36px DM Mono,monospace}.scouting small{font:11px Special Elite,serif}.scan-track{gap:5px;width:min(360px,90%);height:11px;display:flex}.scan-track i{background:#19140f;flex:1;animation:1.1s infinite alternate scan}.scan-track i:nth-child(2){animation-delay:.18s}.scan-track i:nth-child(3){animation-delay:.36s}.opponent{grid-template-columns:minmax(0,1fr) auto}.opponent .fighter-card,.opponent-main{grid-column:1}.opponent-main span{color:#a52420;letter-spacing:.08em;margin:0;font:500 9px DM Mono,monospace}.opponent q{margin-top:8px}.odds{grid-area:1/2/span 2;align-self:center}.versus{grid-template-columns:1fr 35px 1fr;gap:8px}.versus .fighter-card{text-align:left}.versus .fighter-card.compact{grid-template-columns:46px minmax(0,1fr)}.versus .card-ovr{display:none}.waiting-fighters{justify-content:center;align-items:center;gap:12px;display:flex}.waiting-fighters>b{color:#a52420;font-size:20px}.fight-night h2{margin-top:14px}@keyframes cardSpin{to{transform:rotate(360deg)}}@keyframes scan{to{opacity:.18;transform:scaleX(.3)}}.fighter-avatar img{filter:none;width:64px;image-rendering:pixelated;opacity:.98;transform:rotate(calc((var(--portrait) - 1.5) * 4deg)) translateY(6px)}.fighter-avatar.compact img{width:42px;transform:translateY(5px)}.preset-row{grid-template-columns:repeat(5,1fr)}.result-fighters{justify-content:center;align-items:center;gap:14px;margin:18px 0 8px;display:flex}.result-fighters>b{color:#a52420;font-size:20px}.result .result-fighters .fighter-avatar{margin:0}.revealed-opponent{letter-spacing:.07em;margin:0;font:500 9px DM Mono,monospace}.revealed-opponent b{color:#29699a}.guide-button{letter-spacing:.07em;background:0 0;border:0;margin:18px auto 0;font:600 10px DM Mono,monospace;text-decoration:underline;display:block}.guide{background:#ece2ca;border:2px solid #19140f;margin-top:14px;padding:13px}.guide p{margin:8px 0;font:12px/1.25 Special Elite,serif}.guide p.stamp{font:500 9px DM Mono,monospace}.match-report{text-align:left;border-block:1px dashed #19140f99;grid-template-columns:repeat(2,1fr);gap:9px;margin:20px 0 0;padding:12px 0;display:grid}.match-report .stamp{text-align:left;grid-column:1/-1;margin:0}.match-report span{color:#5e5244;letter-spacing:.06em;gap:2px;font:500 8px DM Mono,monospace;display:grid}.match-report b{color:#19140f;letter-spacing:0;font:800 15px Barlow Condensed,sans-serif}.guide-button-prominent{color:#a52420;margin:22px auto 0;font-weight:700}.announcer{color:#a52420;text-align:center;max-width:430px;margin:14px auto;font:12px/1.3 Special Elite,serif}.scouting .announcer{margin:0}.fight-night .announcer{margin-top:18px}.replay-intro{margin-top:20px}.onboarding{z-index:30;padding:max(22px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#19140fe8;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.intro-panel{text-align:center;background:#f7f0df;border:3px solid #19140f;width:min(610px,100%);margin:auto;padding:clamp(24px,5vw,42px);box-shadow:8px 9px #d19b33}.intro-panel h2{letter-spacing:-.06em;margin:12px auto 18px;font-size:clamp(41px,9vw,70px);line-height:.82}.intro-panel h2 span{color:#a52420;display:block}.intro-panel>p{max-width:470px;margin:13px auto;font:15px/1.38 Special Elite,serif}.intro-panel .primary,.intro-panel .text-button{margin-top:18px}.intro-steps{text-align:left;border-block:2px solid #19140f;margin:24px 0}.intro-steps p{border-bottom:1px dashed #19140f88;gap:3px;margin:0;padding:12px 0;display:grid}.intro-steps p:last-child{border-bottom:0}.intro-steps b{color:#a52420;letter-spacing:.08em;font:700 10px DM Mono,monospace}.intro-steps span{font:14px/1.25 Special Elite,serif}.intro-note{color:#5e5244;font-size:12px!important}.intro-panel .fighter-card{text-align:left;margin:22px 0}.practice-ring{background:#ece2ca;border:6px solid #19140f;place-items:center;width:148px;height:94px;margin:20px auto 26px;display:grid;position:relative}.practice-ring:before,.practice-ring:after{content:"";background:#a52420;height:5px;position:absolute;left:-14px;right:-14px}.practice-ring:before{top:21px}.practice-ring:after{bottom:21px}.practice-ring i{background:#d19b33;border:2px solid #19140f;width:13px;height:13px;position:absolute}.practice-ring i:first-child{top:-9px;left:-9px}.practice-ring i:nth-child(2){bottom:-9px;right:-9px}.practice-ring strong{z-index:1;font-size:44px}.practice-safe{background:#ece2ca;border:2px solid #19140f;gap:4px;margin:22px 0 4px;padding:12px;display:grid}.practice-safe b{color:#a52420;letter-spacing:.06em;font:700 11px DM Mono,monospace}.practice-safe span{font:12px Special Elite,serif}.career-card{border-bottom:1px dashed #19140f88;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px;padding:10px 0;display:grid}.career-card>span{color:#a52420;letter-spacing:.11em;grid-column:1/-1;font:500 8px DM Mono,monospace}.career-card b{color:#5e5244;letter-spacing:.06em;font:500 8px DM Mono,monospace}.career-card i{color:#19140f;letter-spacing:0;font:800 17px Barlow Condensed,sans-serif;display:block}.result.won{animation:.42s cubic-bezier(.18,.89,.32,1.28) both victoryPop}.result.lost{animation:.26s ease-out both lossStamp}@keyframes victoryPop{0%{opacity:0;transform:scale(.93)rotate(-1deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes lossStamp{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.arena[data-reduced-motion] *,.arena[data-reduced-motion] :before,.arena[data-reduced-motion] :after{transition:none!important;animation:none!important}@media (width<=640px){.topbar{padding-inline:16px}.run-score{min-width:130px}.fight-board{grid-template-columns:1fr}.opponent{padding:14px}.contract-math{gap:5px}.contract-math b{font-size:16px}.hero{margin-top:38px}.hero h1{font-size:58px}}@media (width<=460px){.topbar{align-items:flex-start;gap:7px;padding:14px 12px 12px}.topbar-actions{flex:1;justify-content:flex-end;gap:6px;min-width:0}.wordmark{flex:0 auto;font-size:31px}.wordmark small{letter-spacing:.28em;margin-top:10px;font-size:6px}.run-score{min-width:94px;padding:5px 7px;box-shadow:2px 2px #19140f}.run-score strong{font-size:24px}.run-score span,.run-score em{font-size:7px}.controls{flex:none;gap:3px}.controls button{min-height:26px;padding:4px 5px;font-size:6px}.ticker{text-align:left;padding:8px 12px;font-size:8px}.ticker b{margin:0 5px}.hero{margin:30px auto 22px;padding-inline:14px}.hero h1{font-size:48px}.subhead{font-size:14px}.panel{width:calc(100% - 24px);padding:18px 14px;box-shadow:5px 6px #19140f}.fighter-card{grid-template-columns:64px minmax(0,1fr);gap:8px;padding:9px}.fighter-avatar{width:54px;height:64px}.fighter-avatar img{width:50px;transform:rotate(calc((var(--portrait) - 1.5) * 4deg)) translateY(5px)}.fighter-avatar b{padding-block:2px;font-size:11px}.card-ovr{display:none}.card-copy>span,.card-copy p{font-size:8px}.card-copy h2{font-size:28px}.fighter-stats{gap:3px}.fighter-stats b{padding-top:3px;font-size:7px}.fighter-stats i{font-size:16px}.field-label{margin-top:20px}.stake-row input{font-size:40px}.preset-row{gap:5px}.preset-row button{min-height:36px;padding:4px 2px;font-size:14px}.primary,.secondary{min-height:48px;padding:11px 12px;font-size:19px}.text-button{min-height:40px}.note,.error{font-size:9px}.versus{grid-template-columns:1fr 30px 1fr;gap:3px;margin:22px 0}.versus>b{width:30px;height:30px;font-size:12px}.versus .fighter-card.compact{grid-template-columns:40px minmax(0,1fr);gap:5px}.versus .fighter-avatar.compact{width:40px;height:48px}.versus .fighter-avatar.compact img{width:36px;transform:translateY(4px)}.versus .fighter-avatar.compact b{font-size:8px}.versus .fighter-card.compact .card-copy h2{font-size:22px}.versus .fighter-card.compact .card-copy>span,.versus .fighter-card.compact .card-copy p{font-size:7px}.contract-math{padding-block:10px}.contract-math span{font-size:7px}.contract-math b{font-size:14px}.how-to span{font-size:8px}.opponent{padding:12px}.opponent h2{font-size:26px}.opponent q{font-size:10px}.odds strong{font-size:26px}.fight-night{padding:38px 12px}.scouting{min-height:310px}.intro-panel{margin-block:12px;padding:22px 16px;box-shadow:5px 6px #d19b33}.intro-panel h2{margin-block:10px 14px;font-size:39px}.intro-panel>p{font-size:13px}.intro-steps{margin-block:18px}.intro-steps span{font-size:12px}.onboarding{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));align-items:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
