/* Phase 43: JuntoVerse visual system and mission-first layout */
:root{--jv43-ink:#18244a;--jv43-indigo:#34366f;--jv43-violet:#6552bb;--jv43-aqua:#57d3cb;--jv43-bg:#f8faff;--jv43-border:#dce3f2}
html{scroll-behavior:smooth}
.jv43-skip{position:absolute;left:-9999px;top:8px;background:white;color:var(--jv43-ink);padding:12px;z-index:100}
.jv43-skip:focus{left:8px}
.jv43-campaign{margin:18px 0;padding:22px;border:1px solid var(--jv43-border);border-radius:18px;background:linear-gradient(110deg,#232e60,#36587b);color:#fff}
.jv43-campaign h2,.jv43-campaign p{color:#fff!important}
.jv43-campaign .eyebrow{color:var(--jv43-aqua)!important}
.jv43-campaign-link{display:inline-block;padding:12px 18px;border-radius:10px;background:var(--jv43-violet);color:#fff!important;font-weight:750;text-decoration:none}
.jv43-campaign-link:hover{background:#4d3a9d}
#playView .quest-layout{align-items:start}
#playView article.scene{min-width:0}
.jv43-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px;padding:10px;border:1px solid var(--jv43-border);border-radius:14px;background:#f1f5fc}
.jv43-nav a,.jv43-nav button{font:inherit;font-weight:700;text-decoration:none;border:1px solid #cdd8ed;border-radius:10px;padding:10px 14px;color:var(--jv43-ink);background:white;cursor:pointer}
.jv43-nav .jv43-nav-main{background:var(--jv43-indigo);color:#fff;border-color:var(--jv43-indigo)}
.jv43-stage{scroll-margin-top:22px;padding:clamp(14px,2vw,26px);background:#fff;border:2px solid #aebce2;border-radius:18px;box-shadow:0 10px 30px #18244a12}
.jv43-stage-header{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--jv43-border)}
.jv43-stage-header h2{margin:4px 0 6px;color:var(--jv43-ink);font-size:clamp(1.35rem,2vw,1.8rem)}
.jv43-stage-header p{margin:0;color:#536482}
.jv43-kicker{font-size:.75rem;letter-spacing:.13em;font-weight:800;color:var(--jv43-violet)}
.jv43-stage .scene-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid var(--jv43-border)}
.jv43-learning-hub{scroll-margin-top:20px;margin-top:18px;border:1px solid var(--jv43-border);border-radius:16px;background:#f1f5fc;color:var(--jv43-ink);overflow:hidden}
.jv43-learning-hub>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;list-style:none}
.jv43-learning-hub>summary::-webkit-details-marker{display:none}
.jv43-learning-hub>summary strong{display:block;font-size:1.1rem;color:var(--jv43-ink)}
.jv43-learning-hub>summary small{display:block;margin-top:5px;color:#50617c;line-height:1.5}
.jv43-expand{white-space:nowrap;font-weight:750;color:var(--jv43-violet)}
.jv43-learning-hub[open] .jv43-expand{font-size:0}
.jv43-learning-hub[open] .jv43-expand:after{content:'Hide resources';font-size:.92rem}
.jv43-hub-content{display:grid;gap:12px;padding:0 16px 18px}
.jv43-resource{min-width:0}
.jv43-resource>[hidden]{display:none!important}
.jv43-resource>section{margin:0!important}
#playView .quest-guide32,#playView .quest-practice33,#playView .quest-activities34,#playView .q41-panel,#playView .quest-consequences35,#playView .quest-map32{color:var(--jv43-ink)}
#playView .quest-practice33,#playView .quest-activities34,#playView .q41-panel,#playView .quest-consequences35,#playView .quest-map32,#playView .quest-guide32{background:#fff!important;border-color:var(--jv43-border)!important}
#playView .jv43-hub-content button:not(.primary),#playView .jv43-stage button:not(.primary){background:#edf2fb;color:var(--jv43-ink);border:1px solid #c5d2e8}
#playView .jv43-hub-content button:hover,#playView .jv43-stage button:hover{filter:brightness(.96)}
#playView .jv43-hub-content button:disabled,#playView .jv43-stage button:disabled{opacity:.65;cursor:not-allowed}
#playView .jv43-stage button.primary{background:var(--jv43-violet);color:white}
#playView .character-card{background:#eaf1ff!important;color:var(--jv43-ink)!important;border:1px solid #bdcceb}
#playView .character-card .eyebrow,#playView .character-card .muted{color:#516587!important}
#playView .character-card strong{color:#36347e!important}
#playView .mission-info{min-width:0}
#playView button:focus-visible,#playView a:focus-visible,#playView summary:focus-visible{outline:3px solid var(--jv43-aqua);outline-offset:3px}
@media(max-width:760px){.jv43-nav{position:static}.jv43-nav a,.jv43-nav button{flex:1;min-width:fit-content}.jv43-learning-hub>summary{align-items:start}.jv43-stage{padding:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
