/* 五模式與救援路線各自成區；取消舊版 760px 與按鈕最小寬度造成的溢出。 */
.arena-ui .character-select[data-step=mode] .character-select-card{width:min(1200px,100%);box-sizing:border-box;padding:18px 24px 12px}
.arena-ui .character-select[data-step=mode] .character-select-card .menu-home{left:auto;right:16px;width:auto;max-width:40%;min-height:44px;box-sizing:border-box}
.arena-ui .character-select[data-step=mode] #menu-step-mode{max-width:none;min-width:0;margin:0;width:100%}
.arena-ui #menu-step-mode .step-content{display:flex;flex-direction:column;align-items:stretch;gap:22px;overflow-y:auto;overflow-x:hidden;padding:10px 4px 18px;min-width:0}
.arena-ui #menu-step-mode .game-mode-options{min-width:0;max-width:none;margin:0;padding:0}
.arena-ui #menu-step-mode .mode-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;min-width:0;width:100%;padding:4px 0 9px;box-sizing:border-box}
.arena-ui #menu-step-mode .mode-card-grid .mode-button{display:flex;flex-direction:column;min-width:0;width:100%;box-sizing:border-box;padding:18px 10px 16px;gap:5px;border-radius:22px;overflow:hidden;white-space:normal;min-height:240px;flex:none}
.arena-ui #menu-step-mode .mode-card-grid .mode-art{width:100%;height:132px;min-width:0;margin:3px 0 6px;align-items:center;flex:none}
.arena-ui #menu-step-mode .mode-card-grid .mode-art img.mode-illustration{width:100%;max-width:190px;height:100%;object-fit:contain}
.arena-ui #menu-step-mode .mode-title{font-size:clamp(18px,1.8vw,23px);line-height:1.25;overflow-wrap:anywhere}
.arena-ui #menu-step-mode .mode-en{font-size:10px;letter-spacing:.08em;line-height:1.3;margin:0}
.arena-ui #menu-step-mode .mode-description{font-size:12px;line-height:1.55;margin:5px 0 0}
.arena-ui #menu-step-mode .cpu-difficulty-options{padding:12px 16px;border:1px solid #95b7d43d;border-radius:20px;background:#142b4938;box-sizing:border-box}
.arena-ui #menu-step-mode .match-settings{max-width:none;margin:0;padding:10px 16px}
.arena-ui #menu-step-mode .step-actions{padding:12px 0 6px;margin-top:4px}
.arena-ui #menu-step-mode #adventure-route{min-width:0;margin:0;padding:18px;border:1px solid #b6a1e260;border-radius:24px;background:radial-gradient(ellipse at 0 0,#7861a138,transparent 65%),linear-gradient(140deg,#1b3152,#202c49);box-sizing:border-box;text-align:left}
.adventure-route-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px;color:#ffe6a6}
.adventure-route-heading strong{font-size:18px}.adventure-route-heading>span{font-size:12px;padding:6px 10px;border:1px solid #9cbdcf55;border-radius:20px;background:#143b52;color:#d6f2f6}
#adventure-route .adventure-route-pets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;min-width:0}
#adventure-route .adventure-route-pets>button{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:86px 30px auto auto;justify-items:stretch;gap:5px;min-width:0;width:100%;min-height:174px;padding:0 0 12px;box-sizing:border-box;border:1px solid #91b3d45c;border-radius:16px;background:linear-gradient(#274767,#192f4c);color:#f0f7ff;overflow:hidden;box-shadow:0 4px 0 #0e20385c;opacity:1;filter:none;cursor:pointer;white-space:normal}
#adventure-route .adventure-route-pets>button[aria-pressed=true]{border:2px solid #ffe4a1;box-shadow:0 0 0 3px #ffe4a11c,0 4px 0 #0e20385c;background:linear-gradient(#4b4962,#2b3e57)}
#adventure-route .adventure-route-pets>button:focus-visible{outline:3px solid #fff0a8;outline-offset:3px}
#adventure-route .adventure-route-pets>.locked{cursor:not-allowed;opacity:1;filter:none}
#adventure-route .route-scene{position:relative;display:block;min-width:0;width:100%;height:86px;overflow:hidden;background:#162840}
#adventure-route .route-scene img.route-thumb{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;opacity:.94}
#adventure-route .locked .route-thumb{filter:saturate(.4) brightness(.7)}
#adventure-route .route-status{position:absolute;top:6px;right:6px;margin:0;padding:3px 7px;font-size:10px;line-height:1.4;border:1px solid #d0ddf94d;border-radius:12px;background:#13263be8;color:#e3efff}
#adventure-route [data-state=complete] .route-status{background:#254b39;color:#d2ffd9;border-color:#79c49b}
#adventure-route [data-state=open] .route-status{background:#fff0b8;color:#5d421b;border-color:#ffe4a1}
#adventure-route .route-pair{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:-11px;z-index:1;pointer-events:none}
#adventure-route .route-pair img{width:38px;height:38px;object-fit:contain;border:1px solid #a7d1ec44;border-radius:50%;background:#25435eea;padding:3px;box-sizing:border-box;filter:drop-shadow(0 2px 2px #08182d66)}
#adventure-route .route-chapter{font-size:14px;line-height:1.4;text-align:center;padding:0 8px;color:#fff0bd}
#adventure-route .route-map{margin:0;padding:0 8px;font-size:12px;line-height:1.4;text-align:center;color:#c3dded;overflow-wrap:anywhere}
#adventure-route>small{display:block;margin-top:14px;font-size:12px;line-height:1.6;color:#c6d9ed}
@media(max-width:1000px){
 .arena-ui #menu-step-mode .mode-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 #adventure-route .adventure-route-pets{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px) and (orientation:portrait){
 .arena-ui .character-select[data-step=mode] .character-select-card{padding:12px 10px 6px}
 .arena-ui #menu-step-mode .step-content{gap:16px;padding:6px 2px 14px}
 .arena-ui #menu-step-mode .mode-card-grid{grid-template-columns:1fr;gap:10px}
 .arena-ui #menu-step-mode .mode-card-grid .mode-button{display:grid;grid-template-columns:94px minmax(0,1fr);grid-template-rows:auto auto auto;min-height:110px;padding:10px 12px;gap:3px 12px;text-align:left}
 .arena-ui #menu-step-mode .mode-card-grid .mode-art{grid-column:1;grid-row:1/4;height:90px;margin:0}
 .arena-ui #menu-step-mode .mode-title{font-size:20px;padding-right:22px}
 .arena-ui #menu-step-mode .mode-description{margin:0;font-size:12px}
 .arena-ui #menu-step-mode #adventure-route{padding:12px;border-radius:20px}
 #adventure-route .adventure-route-pets{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .adventure-route-heading strong{font-size:16px}.adventure-route-heading>span{font-size:11px}
 .arena-ui #menu-step-mode .step-actions .menu-next{font-size:15px;min-height:50px;max-width:100%}
}
@media(max-height:600px) and (orientation:landscape){
 .arena-ui .character-select[data-step=mode] .character-select-card{padding:6px 12px;max-height:calc(100dvh - 12px)}
 .arena-ui .character-select[data-step=mode] .character-select-card .menu-home{top:4px;left:12px;right:auto;max-width:38%;font-size:10px}
 .arena-ui .character-select[data-step=mode] .menu-progress{align-self:flex-end;justify-content:flex-end;min-height:44px;align-items:center;margin:0 0 6px;max-width:58%}
 .arena-ui #menu-step-mode .step-content{display:flex;gap:16px;padding:6px 3px 12px}
 .arena-ui #menu-step-mode .mode-card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
 .arena-ui #menu-step-mode .mode-card-grid .mode-button{min-height:134px;padding:14px 5px 8px;gap:3px}
 .arena-ui #menu-step-mode .mode-card-grid .mode-art{height:72px;margin:0 0 3px}
 .arena-ui #menu-step-mode .mode-title{font-size:16px}.arena-ui #menu-step-mode .mode-en{font-size:8px}
 .arena-ui #menu-step-mode .mode-description{display:none}
 #adventure-route .adventure-route-pets{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
 .arena-ui #menu-step-mode #adventure-route{padding:12px}
 .arena-ui #menu-step-mode .step-actions{padding:7px 0 5px}
 .arena-ui #menu-step-mode .step-actions .menu-next{min-height:48px}
}
@media(max-width:700px) and (orientation:landscape){
 .arena-ui #menu-step-mode .mode-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #adventure-route .adventure-route-pets{grid-template-columns:repeat(3,minmax(0,1fr))}
}
