/* EX uses the shared expedition board and heading from styles.css. */
.ex-destination-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:0; padding:4px; border:1px solid rgb(var(--route-crystal) / 25%); border-radius:4px; background:linear-gradient(150deg,#111c21,#080e12); }
.ex-destination-switch button { position:relative; min-height:54px; padding:8px; border:0; border-radius:0; color:#8da2a8; background:transparent; font:inherit; font-size:13px; cursor:pointer; }
.ex-destination-switch button+button { border-left:1px solid rgb(var(--route-crystal) / 12%); }
.ex-destination-switch button[aria-pressed=true] { color:#e9dfc7; background:linear-gradient(180deg,rgb(var(--route-crystal) / 14%),transparent); }
.ex-destination-switch button[aria-pressed=true]::after { content:""; position:absolute; bottom:0; left:17%; right:17%; height:2px; background:#d1aa68; box-shadow:0 0 8px #d1aa6855; }
.ex-destination-switch small { display:block; margin-top:4px; color:#8da2a8; font-size:10px; }
.ex-depth-board { --ex-accent:#d1aa68; --ex-rgb:209,170,104; min-width:0; color:#ced9dc; }
.ex-depth-board.ex-kind-equipment { --ex-accent:#83b8d5; --ex-rgb:131,184,213; }
.ex-depth-board.ex-kind-skills { --ex-accent:#be9cdd; --ex-rgb:190,156,221; }
.ex-depth-board .ex-overline { display:flex; align-items:center; gap:8px; margin:0; font:9px Georgia,serif; letter-spacing:.12em; color:#88a8b0; }
.ex-section-caption { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:4px 10px; margin:4px 0 0; color:#cbd7da; font-size:12px; }
.ex-section-caption b { margin-right:7px; color:#d1aa68; font:12px Georgia,serif; }
.ex-section-caption small { color:#81959d; font-size:10px; }
.ex-dungeon-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.ex-gate-card { --gate-color:#d1aa68; --gate-rgb:209,170,104; position:relative; display:flex; flex-direction:column; align-items:center; min-width:0; padding:10px 5px 0; overflow:hidden; border:1px solid rgb(var(--route-crystal) / 20%); border-radius:3px; color:#b9cbd1; background:linear-gradient(150deg,#13232b,#091218); font:inherit; cursor:pointer; }
.ex-gate-equipment { --gate-color:#83b8d5; --gate-rgb:131,184,213; }
.ex-gate-skills { --gate-color:#be9cdd; --gate-rgb:190,156,221; }
.ex-gate-card[aria-pressed=true] { border-color:var(--gate-color); background:linear-gradient(135deg,rgba(var(--gate-rgb),.13),transparent 75%),#0b171e; box-shadow:inset 2px 0 var(--gate-color); color:#eee6d5; }
.ex-gate-number { position:absolute; top:8px; left:8px; color:#7b959f; font:9px Georgia,serif; }
.ex-gate-symbol { display:block; width:32px; height:38px; margin-bottom:4px; color:var(--gate-color); }
.ex-sigil { display:block; width:100%; height:100%; }
.ex-sigil-arch,.ex-sigil-floor,.ex-sigil-detail { opacity:.5; }
.ex-gate-card>strong { display:flex; align-items:center; justify-content:center; min-height:32px; font-size:11px; line-height:1.45; text-align:center; overflow-wrap:anywhere; }
.ex-gate-card>small { margin:3px 0 8px; color:#839da7; font-size:9px; }
.ex-gate-selection { display:flex; justify-content:space-between; align-items:center; align-self:stretch; margin:auto -5px 0; padding:6px 8px; border-top:1px solid rgb(var(--route-crystal) / 12%); color:#829ca6; font-size:9px; }
.ex-gate-selection i { font:14px Georgia,serif; }
.ex-gate-card[aria-pressed=true] .ex-gate-selection { color:var(--gate-color); }
.ex-caption-tier { margin-top:5px; }
.ex-tier-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-bottom:1px solid rgb(var(--route-crystal) / 15%); }
.ex-tier-choices button { position:relative; display:grid; justify-items:center; gap:4px; min-width:0; min-height:58px; padding:9px 3px; border:0; border-right:1px solid rgb(var(--route-crystal) / 12%); border-radius:0; color:#96adb5; background:rgb(4 9 12 / 28%); font:inherit; cursor:pointer; }
.ex-tier-choices button:first-child { border-left:1px solid rgb(var(--route-crystal) / 12%); }
.ex-tier-runes { display:none; }
.ex-tier-choices strong { font:13px "Yu Mincho",serif; }
.ex-tier-choices small { font-size:10px; color:#8ca2ab; }
.ex-tier-choices button[aria-pressed=true] { color:#eee5cf; background:linear-gradient(180deg,rgb(var(--route-crystal) / 14%),transparent); }
.ex-tier-choices button[aria-pressed=true]::after { content:""; position:absolute; right:17%; bottom:0; left:17%; height:2px; background:var(--ex-accent); box-shadow:0 0 8px rgba(var(--ex-rgb),.3); }
.ex-tier-choices .is-locked { color:#78878e; }
.ex-tier-unlock { display:flex; flex-wrap:wrap; gap:4px 12px; margin:0; padding:9px 11px; border-left:2px solid #d1aa68; background:#d1aa680c; color:#ddc598; font-size:12px; line-height:1.6; }
.ex-tier-unlock strong { font-weight:600; }
.ex-loading-status { display:flex; align-items:center; gap:8px; margin:0; color:#abd7e5; font-size:12px; line-height:1.6; }
.ex-depth-reward { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; margin-top:2px; padding:16px; border:1px solid rgba(var(--ex-rgb),.45); border-left:3px solid var(--ex-accent); border-radius:3px; background:radial-gradient(ellipse at top right,rgb(var(--route-crystal) / 10%),transparent 65%),linear-gradient(110deg,#060d12,#10212a); }
.ex-depth-reward h2 { margin:8px 0; color:#ecdfbe; font:500 25px/1.3 "Yu Mincho",Georgia,serif; overflow-wrap:anywhere; }
.ex-depth-reward p { margin:5px 0 0; color:#9bafb7; font-size:12px; line-height:1.7; }
.ex-depth-reward .ex-reward-source { color:#c4d3d8; font-size:11px; }
.ex-depth-reward dl { display:flex; gap:18px; margin:0; }
.ex-depth-reward dl>div { display:grid; gap:7px; }
.ex-depth-reward dt { color:#89a2ac; font-size:10px; }
.ex-depth-reward dd { display:grid; gap:4px; margin:0; white-space:nowrap; }
.ex-depth-reward dd b { color:#d5e3e6; font:21px Georgia,serif; }
.ex-depth-reward dd em { margin-left:3px; font:11px sans-serif; }
.ex-depth-reward dd span { color:#8ba3ad; font-size:10px; }
.ex-part-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; border:0; margin:4px 0 0; padding:0; }
.ex-part-choices legend { margin-bottom:9px; color:#cbd7da; font-size:12px; }
.ex-part-choices button { min-height:44px; min-width:0; padding:8px 3px; border:1px solid #304b57; border-radius:3px; background:#0d1a22; color:#a6bfc9; font:12px sans-serif; cursor:pointer; }
.ex-part-choices button[aria-pressed=true] { color:#e4e6dc; border-color:var(--ex-accent); background:rgba(var(--ex-rgb),.1); }
.ex-weekly { margin-top:4px; padding-top:14px; border-top:1px solid rgb(var(--route-crystal) / 18%); }
.ex-weekly header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.ex-weekly header small { display:flex; align-items:center; gap:6px; color:#bba5d1; font-size:10px; }
.ex-weekly header small i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.ex-weekly h2 { margin:6px 0 0; font:500 20px "Yu Mincho",serif; color:#e1d9ea; }
.ex-weekly-deadline { padding:6px 8px; border:1px solid #63557766; border-radius:3px; color:#bcb2c9; font-size:10px; line-height:1.5; }
.ex-weekly p { margin:10px 0; font-size:12px; color:#a1b6bf; line-height:1.8; }
.ex-weekly ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:12px 0; padding:0; list-style:none; }
.ex-weekly li { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; padding:13px; border:1px solid #514961; border-radius:3px; background:linear-gradient(125deg,#232234,#0c1922); }
.ex-weekly li>strong { padding-right:24px; color:#e0d9eb; font-size:13px; }
.ex-weekly li>span:not(.ex-skill-index) { color:#a6b9c2; font-size:12px; line-height:1.7; }
.ex-weekly li>small { margin-top:auto; color:#c6addf; font-size:10px; }
.ex-weekly .ex-skill-index { position:absolute; top:12px; right:12px; color:#9886ad; font:16px Georgia,serif; }
.ex-weekly li.is-locked { border-color:#293d48; background:#0d1921; }
.ex-weekly li.is-locked>small { color:#91a2ae; }
.ex-weekly .muted { color:#92a6b0; font-size:11px; }
.ex-weekly .ex-next-week { margin-bottom:0; padding:10px 12px; border-left:2px solid #9580b1; background:#0c1821; }
.ex-next-week>span { display:block; margin-bottom:4px; color:#b39fc9; font-size:8px; letter-spacing:.14em; }
.ex-record { display:flex; flex-wrap:wrap; gap:6px 12px; margin:4px 0 0; font-size:11px; color:#a8bec6; }
.ex-record>span { color:#7c9aa5; font-size:8px; letter-spacing:.12em; }
.ex-entry-actions { display:flex; flex-direction:column; gap:8px; margin-top:4px; }
.ex-depth-board .ex-entry-actions>.primary-button { display:flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:11px; border:1px solid #b09047; border-radius:3px; background:linear-gradient(150deg,#8b6d2a,#68511f); color:#f4e5bb; box-shadow:inset 0 1px rgb(255 255 255 / 17%),0 3px 8px #0004; font-size:13px; font-weight:600; line-height:1.5; white-space:normal; cursor:pointer; }
.ex-entry-actions>.primary-button i { font:18px Georgia,serif; }
.ex-entry-actions p { margin:0; color:#8fa7b1; font-size:11px; line-height:1.7; text-align:center; }
.ex-entry-actions .ex-entry-reason { color:#e2b790; }
.ex-entry-actions .secondary-button { min-height:44px; border-radius:3px; }
.ex-depth-guide { margin-top:3px; border-top:1px solid rgb(var(--route-crystal) / 17%); font-size:12px; line-height:1.8; }
.ex-depth-guide summary { display:list-item; min-height:44px; padding:12px 0; color:#a1bbc5; cursor:pointer; font-size:11px; }
.ex-depth-guide summary::marker { color:#d1aa68; }
.ex-depth-guide ul { padding-left:18px; margin:4px 0; }
.ex-depth-guide li { margin:8px 0; color:#a2b8c1; }
.ex-depth-board button:focus-visible,.ex-depth-guide summary:focus-visible,.ex-destination-switch button:focus-visible { outline:2px solid #a2dbec; outline-offset:2px; }
.ex-depth-board button:disabled { opacity:.45; cursor:not-allowed; }
@media(hover:hover) {
  .ex-gate-card:hover { border-color:var(--gate-color); }
  .ex-tier-choices button:hover,.ex-part-choices button:hover { color:#e0e9eb; background:#19303b; }
  .ex-depth-board .ex-entry-actions>.primary-button:not(:disabled):hover { filter:brightness(1.1); }
}
@media(max-width:680px) {
  .ex-depth-reward { grid-template-columns:1fr; gap:12px; padding:13px; }
  .ex-depth-reward dl { gap:24px; padding-top:10px; border-top:1px solid rgb(var(--route-crystal) / 15%); }
  .ex-depth-reward dd { display:flex; align-items:baseline; gap:8px; }
  .ex-weekly ul { grid-template-columns:1fr; }
}
@media(max-width:360px) {
  .ex-dungeon-choices { gap:5px; }
  .ex-gate-card>strong { font-size:10px; }
  .ex-gate-card>small { font-size:8px; }
  .ex-tier-choices small { font-size:9px; }
}

/* Existing result layout and narrow-card name wrapping. */
.ex-featured-result { margin:14px 0; padding:17px; border:1px solid #8e779b; border-left-width:3px; border-radius:2px; background:linear-gradient(125deg,#36293d,#17211e); }
.ex-featured-result h3 { color:#e0c8ed; font-family:'Yu Mincho','Hiragino Mincho ProN',serif; font-size:16px; font-weight:500; }
.ex-featured-result li,.ex-featured-result p { font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.ex-featured-result strong { color:#d5b8fa; }
.expedition-result-actions:has(> [data-action="retry-ex-depth"]) { display:grid; gap:12px; }
.ex-floor-clear-notice .ex-floor-clear-name { display:block; min-width:0; max-width:100%; color:#bfc7b9; font-size:12px; line-height:1.5; letter-spacing:.04em; white-space:normal; overflow-wrap:anywhere; }
.ex-floor-clear-notice > strong { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
