*{box-sizing:border-box}html,body,#root,.app{min-height:100%;margin:0;font-family:DM Sans,system-ui,sans-serif}h1,h2,.combo{font-family:Bebas Neue,Barlow Condensed,sans-serif}button,input{font:inherit;appearance:none;color:inherit;background:0 0;border:none;border-radius:0;padding:0;font-family:Barlow Condensed,sans-serif}input{border-bottom:1px solid}.hud,.legend,.board{font-family:Barlow Condensed,sans-serif}.screen{text-align:center;color:#fff;background-image:linear-gradient(#0000008c,#0000008c),url(/boxing.png);background-position:50%;background-size:cover;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100dvh;padding:24px;display:flex}.screen h1,.screen h2,.screen p{margin:0}.screen h1{color:#ffe000;font-family:Permanent Marker,cursive;font-size:70px}.screen h2{letter-spacing:2px;font-family:Bebas Neue,sans-serif;font-size:28px}.screen .ranked{margin:8px 0 0;padding:0;list-style:none}.play-form{flex-direction:column;align-items:center;gap:20px;display:flex}.screen-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.arcade-btn{letter-spacing:2px;text-transform:uppercase;color:#2a1c00;cursor:pointer;background:linear-gradient(#fff3a8 0%,#ffe000 42%,#f2a100 100%);border-radius:6px;padding:18px 40px;font-family:"Press Start 2P",monospace;font-size:18px;line-height:1;transition:transform 80ms,box-shadow 80ms,filter .15s;box-shadow:inset 0 2px #ffffffb3,0 5px #7a5100,0 12px 22px #00000080}.arcade-btn:hover:not(:disabled){filter:brightness(1.07)}.arcade-btn:active:not(:disabled){transform:translateY(5px);box-shadow:inset 0 2px #ffffff80,0 0 #7a5100,0 4px 10px #00000073}.arcade-btn:disabled{cursor:not-allowed;filter:grayscale(.75)brightness(.65)}.arcade-btn.compact{padding:14px 22px;font-size:13px}@property --border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.panel{background:linear-gradient(160deg, #0d2a66 0%, #071737 55%, #102f74 100%) padding-box, conic-gradient(from var(--border-angle), #1e3cff, #7a2bff, #b46cff, #29b6ff, #1e3cff) border-box;border:1px solid #0000;border-radius:10px;padding:18px 28px;animation:4s linear infinite border-spin}@keyframes border-spin{to{--border-angle:360deg}}.name-field{flex-direction:column;align-items:center;gap:8px;display:flex}.stat-list{letter-spacing:1px;flex-direction:column;gap:6px;font-family:Bebas Neue,sans-serif;font-size:26px;display:flex}.name-field label{letter-spacing:2px;font-family:Bebas Neue,sans-serif;font-size:20px}.name-field input{letter-spacing:1px;width:220px;font-family:Bebas Neue,sans-serif;font-size:24px}.play-form input{text-align:center}.arena{width:100%;height:100dvh;position:relative;overflow:hidden}.camera,.overlay{width:100%;height:100%;position:absolute;inset:0}.camera{object-fit:cover;z-index:0;transform:scaleX(-1)}.overlay{pointer-events:none;z-index:1}.hud,.combo,.legend,.arena-actions,.status-card{z-index:4}.stage-overlay{z-index:6;pointer-events:none;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.stage-overlay.bottom{align-items:flex-end}.stage-card{pointer-events:auto;text-align:center;color:#fff;flex-direction:column;align-items:center;gap:14px;max-width:560px;display:flex}.stage-card h2{letter-spacing:2px;margin:0;font-family:Bebas Neue,sans-serif;font-size:30px}.stage-card p{margin:0}.target-key{flex-direction:column;gap:8px;margin:0;padding:0;font-family:Barlow Condensed,sans-serif;font-size:20px;list-style:none;display:flex}.target-key li{justify-content:center;align-items:center;gap:10px;display:flex}.dot{border:2px solid #000;border-radius:50%;width:16px;height:16px}.dot.big{width:26px;height:26px}.dot.white{background:#fff}.dot.yellow{background:#ffe000}.dot.red{background:#ff3b3b}.hud{pointer-events:none;justify-content:space-between;gap:8px;display:flex;position:absolute;top:8px;left:8px;right:8px}.combo,.legend{pointer-events:none;position:absolute;left:8px}.combo{top:80px}.legend{bottom:40px}.arena-actions{position:absolute;bottom:8px;right:8px}.status-card{position:absolute;top:80px;left:8px}.hud,.combo,.legend,.arena-actions,.status-card{color:#fff}
