/* Solid-model arena. No character billboards are used in this renderer. */
body.in-arena{background-image:linear-gradient(180deg,#061629a3,#06142ac9),url('/assets/sky-kingdom-v2.png');background-position:center top;background-size:cover;background-attachment:fixed}
.in-arena #app{max-width:1640px;padding-left:30px;padding-right:30px}.in-arena .match-layout{grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.in-arena .board-column{min-width:0}.in-arena .player-card{background:linear-gradient(115deg,#173b5bf5,#12263ee8);border-color:#a5cee04d;box-shadow:0 6px 22px #020c1c55}.in-arena .match-panel{background:linear-gradient(140deg,#193c56f2,#101e36f5);border-color:#a6ccd247}.in-arena .match-panel h2{color:#fff2cc}.in-arena .match-meta,.in-arena .tiny-note,.in-arena .journal-empty{color:#c2d5e7}.in-arena .board-hint{color:#f1f8ff;background:#10283ee8;border:1px solid #98bfce38;padding:11px 15px;border-radius:12px;line-height:1.7;font-size:12px;min-height:44px;margin:10px 0}.in-arena .back-row{color:#e5f2ff}.in-arena .back-row small{color:#c2d5e7}
.board-frame:has(.has-3d){border:1px solid #82b7c739;border-radius:23px;box-shadow:0 20px 60px #010b1d70;overflow:hidden;padding:0;margin:12px 0;background:radial-gradient(ellipse at 50% 50%,#233d54,#081728 80%)}.board-frame:has(.has-3d)::before{display:none}
.board-grid.has-3d{display:block;position:relative;width:100%;height:clamp(420px,67vh,780px);aspect-ratio:auto;overflow:hidden;isolation:isolate;border-radius:22px;background:transparent;touch-action:none;cursor:grab}.has-3d .arena-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:auto;display:block;outline:none}.has-3d .board-row,.has-3d .cell{display:contents!important}.has-3d .square{position:absolute!important;width:20px!important;height:20px!important;min-width:0!important;min-height:0!important;max-width:20px;max-height:20px;opacity:0!important;padding:0!important;border:0!important;z-index:3;pointer-events:auto!important;transform:none!important}.has-3d .square>*{display:none!important}.has-3d .square:focus-visible{opacity:1!important;border:2px solid #fff0b7!important;border-radius:50%;background:#f7d78450!important;outline:none}.has-3d:focus-within{box-shadow:inset 0 0 0 1px #a7dfff6b}
.model-tooltip{position:absolute;z-index:5;bottom:14px;left:15px;max-width:calc(100% - 30px);padding:9px 14px;background:#0b2139ee;border:1px solid #a1d8ea70;box-shadow:0 6px 20px #0005;border-radius:12px;color:#fff3d3;font-size:12px;pointer-events:none;letter-spacing:.2px}.model-tooltip[hidden]{display:none}
.arena-controls{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;background:#10283eee;border:1px solid #99c4d638;border-radius:13px;padding:7px 9px;margin:0 0 8px;min-height:46px}.arena-controls button{font-size:11px;padding:8px 11px;min-height:33px;border:1px solid #8fc4d530;border-radius:8px;color:#e1f3ff;background:#24476266;display:flex;align-items:center;justify-content:center;gap:5px}.arena-controls button:hover{background:#3b7194a6;border-color:#c1edff88}.arena-controls button[disabled]{opacity:.4}.arena-controls .model-mode{color:#ffe5a6;border-color:#d5b87c55;background:#554b2d44}
.in-arena footer{padding:20px;border:1px solid #91b5c933;background:#0b2135ed;border-radius:16px;color:#d2e7fa;margin-top:25px;line-height:1.8;letter-spacing:.8px}.in-arena footer .server-state{color:#ccecf1}.in-arena .developer-credit{color:#ecf4fc;border-color:#8bb5c72e;padding-top:13px}.in-arena .developer-credit small{color:#c3d9e8}.in-arena .developer-credit a{color:#d4efff}.in-arena .bottom-dock{background:linear-gradient(140deg,#173b57f2,#10243df5);border-color:#b7d7e877;box-shadow:0 8px 35px #020e2280}
.model-help{font-size:11px;text-align:center;color:#d4e8f7;line-height:1.7;padding:4px 8px}.model-help b{color:#ffdf9a}.in-arena .toast{z-index:90;background:#183b56f5;color:#fff1cf;border-color:#8eb7c9}
@media(max-width:1050px){.in-arena .match-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.in-arena #app{padding-left:20px;padding-right:20px}.arena-controls{gap:5px}.arena-controls button{padding:7px 8px;font-size:10px}}
@media(max-width:760px){.in-arena #app{padding:16px 12px 120px}.in-arena .match-layout{grid-template-columns:1fr;gap:18px}.board-grid.has-3d{height:clamp(360px,55vh,520px);border-radius:17px}.board-frame:has(.has-3d){border-radius:18px;margin:9px -4px;width:calc(100% + 8px)}.in-arena .player-card{padding:10px 12px}.arena-controls{padding:7px 6px;gap:5px;border-radius:12px}.arena-controls button{font-size:10px;min-height:34px;padding:7px 9px}.in-arena .board-hint{font-size:11px;padding:9px 12px}.model-tooltip{font-size:10px;bottom:10px;left:10px;padding:7px 10px}.model-help{font-size:10px}.in-arena footer{padding:16px;font-size:8px}.in-arena .developer-credit{font-size:11px}.in-arena .developer-credit small{font-size:10px}.in-arena .match-panel{padding:21px}.in-arena .board-column{scroll-margin-top:12px}}
@media(prefers-reduced-motion:reduce){.model-tooltip{transition:none}}

/* Keep navigation below the match so it cannot cover camera or move controls. */
.in-arena .bottom-dock{position:static;transform:none;left:auto;bottom:auto;margin:20px auto 0}.in-arena #app{padding-bottom:32px}
