:root{color-scheme:dark;font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#141612;color:#f6f1dd}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{border:0;cursor:pointer}#app{display:grid;min-height:100vh;grid-template-columns:minmax(280px,360px) minmax(0,1fr);background:linear-gradient(135deg,rgb(112 53 29 / .16),transparent 30%),linear-gradient(180deg,#171912,#0d0f0c)}.fighter-entry{display:grid;align-content:center;gap:28px;padding:clamp(24px,5vw,48px);border-right:1px solid rgb(230 207 134 / .14)}.entry-copy{display:grid;gap:10px}.eyebrow{margin:0;color:#d6a94a;font-size:.82rem;font-weight:800;text-transform:uppercase}h1{margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;letter-spacing:0}.visitor-count{width:fit-content;margin:0;border:1px solid rgb(230 207 134 / .18);border-radius:6px;padding:6px 10px;background:#1d2017bd;color:#f1d892;font-size:.88rem;font-weight:800}form{display:grid;gap:16px}fieldset{display:grid;gap:10px;min-width:0;margin:0;border:1px solid rgb(230 207 134 / .18);border-radius:8px;padding:12px}legend{padding:0 6px;color:#d6a94a;font-size:.82rem;font-weight:800;text-transform:uppercase}.team-size-row{display:flex;align-items:center;justify-content:space-between;gap:12px}output{min-width:88px;border:1px solid rgb(230 207 134 / .18);border-radius:6px;padding:8px 10px;background:#1d2017;color:#fff7df;text-align:center;font-weight:800}label{color:#e6d7ac;font-size:.92rem}input:not([type=range]),textarea{min-height:48px;border:1px solid rgb(230 207 134 / .24);border-radius:6px;padding:0 14px;background:#26291d;color:#fff7df;outline:none}textarea{min-height:232px;resize:vertical;padding-block:12px;line-height:1.45}input[type=range]{width:100%;accent-color:#d6a94a}input:focus,textarea:focus{border-color:#d6a94a;box-shadow:0 0 0 3px #d6a94a2e}button{min-height:50px;border-radius:6px;background:#c84f34;color:#fff1da;font-weight:800}button:hover{background:#dd6245}.arena-shell{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;min-height:100vh;overflow:hidden;padding:clamp(16px,3vw,36px)}.scoreboard{width:100%;display:flex;justify-content:space-between;padding:.5rem 1rem;background:#00000080;border-radius:8px;min-height:40px;pointer-events:none;z-index:10}.score-side{display:flex;flex-wrap:wrap;gap:.5rem;width:48%}.score-side.right{justify-content:flex-end}.team-score{padding:4px 10px;border-radius:4px;font-size:.85rem;font-weight:700;color:#fff;text-shadow:1px 1px 2px #000;display:flex;gap:6px;background:#ffffff1a}.victory-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000d9;padding:1.5rem 3rem;border:2px solid #d6a94a;border-radius:12px;color:#fff7df;font-size:2rem;font-weight:900;text-align:center;z-index:100;box-shadow:0 0 30px #d6a94a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:banner-in .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes banner-in{0%{transform:translate(-50%,-60%) scale(.8);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}#game{width:min(100%,calc(100vh - 72px),1080px);aspect-ratio:1;overflow:hidden;border:1px solid rgb(245 219 136 / .22);border-radius:8px;background:#242617;box-shadow:0 24px 80px #00000073,inset 0 0 0 1px #fff4cd0f}#game canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.match-status{position:absolute;top:clamp(24px,4vw,48px);left:50%;min-width:min(78vw,340px);transform:translate(-50%);border:1px solid rgb(252 224 147 / .22);border-radius:8px;padding:12px 16px;background:#12130dd1;color:#f8e8b5;text-align:center;font-weight:800;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}@media(max-width:820px){#app{grid-template-columns:1fr}.fighter-entry{align-content:start;gap:18px;padding-bottom:18px;border-right:0;border-bottom:1px solid rgb(230 207 134 / .14)}.arena-shell{align-content:start;min-height:auto}#game{width:min(100%,calc(100svh - 360px));min-width:min(100%,320px)}.match-status{top:28px}}
