#characterSelect{box-sizing:border-box;width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;border:3px solid #172735;border-radius:14px;background:#fff2da;color:#172735;overflow:auto;font-family:var(--p-text);margin:auto}
#characterSelect::backdrop{background:#112a40e8}.select-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800}#characterSelect h2{font:700 38px var(--p-display);text-transform:uppercase;margin:8px 0 12px}.character-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:28px}#characterPreview{height:230px;border:2px solid #172735;border-radius:12px;overflow:hidden;background:#b5def2}#characterPreview canvas{display:block;width:100%;height:100%}.preview-note{font-size:11px;text-align:center}#characterRoster{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#characterSelect button{border:2px solid #172735;border-radius:7px;padding:9px;background:#fff2da;color:#172735;cursor:pointer;font-weight:800}#characterRoster button{padding:4px;font-size:10px;display:flex;flex-direction:column;align-items:center;min-height:86px}#characterRoster svg{height:54px;width:100%}#characterRoster button[aria-pressed=true]{background:#f87a21;box-shadow:3px 3px 0 #172735}.fer-roster-mark{height:54px;display:grid;place-content:center;font:700 32px var(--p-display);color:#17436e}.character-info h3{font:700 36px var(--p-display);margin:0 0 6px}.character-info>p{font-size:13px;line-height:1.5}#characterRole{color:#a94c14;font-weight:800;text-transform:uppercase;margin:0}#characterAbilities{display:grid;grid-template-columns:1fr 1fr;gap:14px}#characterAbilities h4{font-size:12px;margin:12px 0 8px}#characterAbilities article{background:#dff0fb;border:1px solid #172735;border-radius:6px;padding:10px;margin-bottom:8px}#characterAbilities b{font-size:13px}#characterAbilities p{font-size:12px;line-height:1.4;margin:8px 0}#characterAbilities small{font-size:11px;color:#a34b16}#characterSelect #characterConfirm{background:#f87519;width:100%;font-size:16px;box-shadow:3px 3px 0 #172735}#characterConfirm:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:700px){#characterSelect{padding:16px}.character-layout{grid-template-columns:1fr;gap:20px}#characterPreview{height:220px}#characterSelect h2{font-size:29px}#characterAbilities{gap:8px}.character-info h3{font-size:30px}}
.enemy-edge-indicators{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.enemy-edge{position:absolute;transform:translate(-50%,-50%);background:#fff2da;color:#172735;border:2px solid #172735;border-radius:8px;padding:5px 7px;max-width:126px;font:800 10px/1.2 system-ui;text-align:center;box-shadow:2px 2px 0 #172735}.enemy-edge b{display:block;color:#c35813;font-size:18px}.enemy-edge[data-boss=true]{background:#ffdd93}.enemy-edge small{display:block;font-size:9px}

#levelVictory{position:absolute;top:140px;left:50%;transform:translateX(-50%);width:min(320px,calc(100% - 36px));box-sizing:border-box;padding:16px;background:#fff2da;border:3px solid #172735;border-radius:10px;color:#172735;text-align:center;z-index:8;font:13px system-ui}#levelVictory[hidden]{display:none}#levelVictory button{padding:12px;border:2px solid #172735;background:#f87519;font-weight:800;border-radius:6px}
