:root{--navy: #161c2e;--gold: #e8ce91;--parchment: #efe1ab;--text: #d8cfa8;--muted: #8fa39e;--grass: #85b156;--leaf: #93ba4f;--red: #e76161;--teal: #315a6d;--panel: #1e2b38;--panel-dark: #1b2531;--moss: #455a4b;--gap: 16px;--pad: 16px;--radius: 2px;--border: 2px solid var(--teal);font-size:15px;color-scheme:dark;scrollbar-width:thin;scrollbar-color:var(--teal) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--teal);border-radius:var(--radius)}::-webkit-scrollbar-thumb:hover{background:var(--moss)}::-webkit-scrollbar-corner{background:transparent}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--navy);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;line-height:1.4;overscroll-behavior-y:none;-webkit-text-size-adjust:100%}[hidden]{display:none!important}button{font:inherit;color:var(--navy);background:var(--gold);border:none;border-radius:var(--radius);padding:.5em .9em;font-weight:700;cursor:pointer;min-height:2.6em;white-space:nowrap}button:hover:not(:disabled){filter:brightness(1.12)}button:focus-visible{outline:2px solid var(--parchment);outline-offset:2px}button:disabled{background:var(--teal);color:var(--text);cursor:default}button.alt{background:var(--teal);color:var(--text)}button.go{background:var(--grass)}button.stop{background:var(--red)}#loading{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:var(--gap);background:var(--navy);z-index:10;text-align:center}#loading h1{color:var(--gold);font-size:1.6rem;letter-spacing:.06em}#loading-bar{width:min(280px,60vw);height:10px;background:var(--panel-dark);border:var(--border)}#loading-bar>div{height:100%;width:0;background:var(--grass);transition:width .15s linear}.screen{max-width:1500px;margin:0 auto;padding:var(--pad);display:flex;flex-direction:column;gap:var(--gap);min-height:100vh}.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--gap)}.page-head .titles{flex:1 1 auto;min-width:0}.page-head h1{color:var(--gold);font-size:clamp(1.5rem,5vw,2.1rem);letter-spacing:.04em;text-shadow:0 2px 0 var(--navy)}.page-head .sub{color:var(--text);font-size:.85rem}.page-head .actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.status{color:var(--muted);font-size:.8rem}.status.ok{color:var(--grass)}.status.warn{color:var(--gold)}.status.error{color:var(--red)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--gap)}.card{background:var(--panel-dark);border:var(--border);padding:.7em .9em}.card .value{font-size:clamp(1.4rem,4vw,1.9rem);font-weight:700;line-height:1.1}.card .label{color:var(--muted);font-size:.72rem;letter-spacing:.08em}.panel{background:var(--panel);border:var(--border);display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel>header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap);padding:.6em .8em;border-bottom:1px solid var(--teal);flex:0 0 auto}.panel>header h2{font-size:.95rem;letter-spacing:.06em;color:var(--gold)}.panel.leaf>header h2{color:var(--leaf)}.panel>header .hint{color:var(--muted);font-size:.72rem;text-align:right}.panel>.body{overflow-y:auto;overflow-x:hidden;min-height:0;flex:1 1 auto;-webkit-overflow-scrolling:touch}.empty{padding:1.2em .9em;color:var(--text)}table{width:100%;border-collapse:collapse;font-size:.85rem}thead th.num{text-align:right}thead th{position:sticky;top:0;z-index:1;background:var(--panel);color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-align:left;padding:.5em .6em;white-space:nowrap}tbody td{padding:.45em .6em;vertical-align:middle;white-space:nowrap}tbody tr:nth-child(odd){background:#1b2531cc}.num{text-align:right;font-variant-numeric:tabular-nums}.model{font-weight:700;max-width:22ch;overflow:hidden;text-overflow:ellipsis}.rank{color:var(--text);font-weight:700}tr.top .rank,tr.top .elo{color:var(--gold)}.elo{color:var(--parchment);font-weight:700}.bar{display:inline-block;vertical-align:middle;width:110px;height:10px;background:var(--moss);border:1px solid var(--navy)}.bar>div{height:100%;background:var(--grass)}.bar-cell{display:flex;align-items:center;gap:8px}.warrior{display:inline-block;width:44px;height:44px;vertical-align:middle;background-repeat:no-repeat;background-size:352px 44px;image-rendering:pixelated;animation:warrior-idle 1s steps(8) infinite}@keyframes warrior-idle{0%{background-position-x:0}to{background-position-x:-352px}}tr.match{cursor:pointer}tr.match:hover{background:#315a6db3}.match-id{color:var(--parchment);font-weight:700}.st-finished{color:var(--grass);font-weight:700}.st-running{color:var(--gold);font-weight:700}.st-interrupted{color:var(--red);font-weight:700}.winner{font-weight:700;max-width:24ch;overflow:hidden;text-overflow:ellipsis}.winner.none{color:var(--muted);font-weight:400}.kills{display:flex;gap:12px}.kills>span{display:inline-flex;align-items:center;gap:5px}.dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--navy);flex:0 0 auto}.detail,.counts{display:none}.detail{color:var(--muted);font-size:.75rem}@media(min-width:900px){#menu-screen{height:100vh;overflow:hidden}#menu-screen .page-head,#menu-screen .cards{flex:0 0 auto}#menu-screen .board-panel{flex:2 1 0}#menu-screen .history-panel{flex:3 1 0}}.arena-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,620px);gap:var(--gap);flex:1 1 auto;min-height:0}.board-col{display:flex;flex-direction:column;gap:var(--gap);min-width:0}#board{width:100%;max-width:min(100%,68vh);margin-inline:auto;aspect-ratio:1 / 1;min-height:200px;background:var(--navy);box-shadow:0 0 0 2px var(--teal);overflow:hidden;touch-action:manipulation;-webkit-user-select:none;user-select:none}#board canvas{display:block}.controls{display:flex;flex-wrap:wrap;gap:8px}.keys{color:#6f8a86;font-size:.7rem}.feeds{display:flex;flex-direction:column;gap:var(--gap);min-height:0}.feeds .panel{flex:1 1 0;min-height:120px}.feed{list-style:none;padding:.5em .7em;display:flex;flex-direction:column;gap:.25em}.feed li{font-size:.8rem;overflow-wrap:anywhere}.feed li.round_start{color:var(--gold);font-weight:700}.feed li.elimination{color:var(--red);font-weight:700}.feed li.victory{color:var(--grass);font-weight:700}.feed li.attack{color:var(--red)}.feed li.pickup{color:#f5d76e;font-weight:700}.feed li.wait,.feed li.start{color:var(--muted)}.feed li.current{color:var(--parchment);font-weight:700}.chat-line .who{font-weight:700}.feed li.chat-line:last-child{font-weight:700}@media(max-width:899px){.board-table thead,.history-table thead{display:none}.board-table tr.empty-row,.history-table tr.empty-row{display:block}.board-table tr:not(.empty-row),.history-table tr:not(.empty-row){display:grid;align-items:center;padding:.45em .6em;gap:0 8px}.board-table td,.history-table td{padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-table tr{grid-template-columns:2.2em auto minmax(0,1fr) auto;grid-template-areas:"rank icon model elo" "detail detail detail detail"}.board-table .rank{grid-area:rank}.board-table .icon{grid-area:icon}.board-table .model{grid-area:model;max-width:none}.board-table .elo{grid-area:elo;font-size:1.1rem}.board-table .detail{grid-area:detail;display:block}.history-table tr{grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"id status date" "winner winner counts"}.history-table .match-id{grid-area:id}.history-table .status-cell{grid-area:status;font-size:.75rem}.history-table .date{grid-area:date;text-align:right;color:var(--muted);font-size:.75rem}.history-table .winner{grid-area:winner;max-width:none;font-size:.8rem}.history-table .counts{display:block;grid-area:counts;text-align:right;font-size:.72rem}.board-table .wide-only,.history-table .wide-only{display:none}.arena-main{grid-template-columns:minmax(0,1fr)}.feeds .panel{flex:0 0 auto;height:34vh}}@media(max-width:599px){:root{font-size:16px;--pad: 10px;--gap: 12px}.screen{padding:var(--pad)}}@media(prefers-reduced-motion:reduce){.warrior{animation:none}}
