.cast-journey{margin:16px 0;padding:16px;border:1px solid var(--site-border);border-radius:18px;background:var(--site-surface);color:var(--site-ink);min-width:0}
.cast-journey summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}
.cast-journey label{display:grid;gap:6px;margin:12px 0;color:var(--site-ink)}
.cast-journey :is(select,button){max-width:100%;min-height:44px;border:1px solid var(--site-border);border-radius:12px;background:var(--site-soft);color:var(--site-ink);padding:10px 14px;font:inherit}
.cast-journey button{cursor:pointer}.cast-journey button:hover{background:var(--site-surface)}
.cast-journey :is(button,select,summary):focus-visible{outline:3px solid var(--site-accent);outline-offset:3px}
.cast-journey :disabled{opacity:.65;cursor:default}
.cast-journey p{font-size:.9rem;line-height:1.5;color:var(--site-muted);margin:12px 0}
.cast-journey ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;padding:0;list-style:none}
.cast-journey li{display:grid;gap:6px;padding:12px;background:var(--site-soft);border-radius:12px;overflow-wrap:anywhere}
.cast-journey li strong{font-weight:600}.cast-journey li span{font-size:.85rem;color:var(--site-muted)}
#castTripResult{padding:12px;background:var(--site-soft);border-radius:12px;color:var(--site-ink);line-height:1.5}
.cast-next-goal{display:grid;gap:8px;margin:12px 0;color:var(--site-ink)}
.cast-next-goal[hidden],.cast-goal-hud[hidden]{display:none}
.cast-next-goal select{width:100%;min-height:44px;font:inherit;border:1px solid var(--site-border);border-radius:10px;padding:8px;background:var(--site-surface);color:var(--site-ink)}
.cast-goal-hud{margin:0;padding:10px 14px;background:var(--site-soft);color:var(--site-ink);font-size:.9rem;line-height:1.5}
.sudoku-archive input{min-height:44px;max-width:100%;padding:8px;border-radius:10px;border:1px solid var(--site-border);background:var(--site-surface);color:var(--site-ink);font:inherit}
.sudoku-archive button{margin:4px 6px 4px 0}
.game-modal:has(#castTripResult:not([hidden])) .arcade-result-card{display:none}
