/* Reusable /jollyeoman-guide/ sections. Scope intentionally stays inside .adventure-guide. */
.adventure-guide { --vg-ink:#173044; --vg-muted:#526b7e; --vg-line:#d7e6ee; --vg-blue:#166f91; color:var(--vg-ink); margin:68px 0; scroll-margin-top:90px; }
.adventure-guide * { box-sizing:border-box; }
.adventure-guide img { display:block; max-width:100%; }
.adventure-guide h2,.adventure-guide h3,.adventure-guide p,.adventure-guide figure { margin:0; }
.adventure-guide h2 { font-size:clamp(27px,4vw,40px); line-height:1.2; letter-spacing:-.055em; color:var(--vg-ink); }
.adventure-guide h3 { color:var(--vg-ink); }
.adventure-guide .vg-adventure-heading { margin-bottom:25px; }
.adventure-guide .vg-adventure-heading>p:last-child { margin-top:11px; color:var(--vg-muted); font-size:16px; }
.adventure-guide .vg-eyebrow { font-size:11px; font-weight:900; letter-spacing:.17em; color:var(--vg-blue); margin-bottom:9px; }
.adventure-guide .vg-job-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.adventure-guide .vg-job-card { position:relative; border:1px solid var(--vg-line); background:#fff; border-radius:22px; padding:12px 12px 20px; overflow:hidden; text-align:center; box-shadow:0 8px 26px #123e5710; }
.adventure-guide .vg-job-family { display:block; font-weight:800; font-size:12px; text-align:left; padding:3px 4px 11px; color:var(--job-color); }
.adventure-guide .vg-job-art { position:relative; background:radial-gradient(ellipse at 50% 75%,#2c526b,#172b46 66%); border-radius:14px; margin-bottom:16px; }
.adventure-guide .vg-sheet { position:relative; display:block; width:100%; aspect-ratio:1.125; overflow:hidden; }
.adventure-guide .vg-sheet>img { position:absolute; width:400%; height:300%; max-width:none; top:0; left:0; }
.adventure-guide .vg-sheet.vg-skill-frame>img { left:-200%; top:-100%; }
.adventure-guide .vg-job-weapon { position:absolute; width:30%; height:36%; right:2%; bottom:2%; object-fit:contain; filter:drop-shadow(0 3px 6px #0619288a); }
.adventure-guide .vg-job-card h3 { display:flex; justify-content:center; align-items:center; gap:8px; font-size:26px; letter-spacing:-.04em; }
.adventure-guide .vg-job-card h3>span:first-child { font-size:16px; color:#647783; font-weight:600; }
.adventure-guide .vg-inline-arrow { font-size:16px; color:#6a99ad; font-weight:500; }
.adventure-guide .vg-job-card p { font-size:12px; margin-top:8px; color:var(--vg-muted); }
.adventure-guide .vg-job-card p strong { color:var(--job-color); }
.adventure-guide .vg-advance-flow { display:grid; grid-template-columns:minmax(0,.85fr) 22px minmax(0,2.15fr) 22px minmax(0,1fr); gap:9px; align-items:center; margin-top:23px; }
.adventure-guide .vg-require-card { padding:22px 12px; border:1px solid var(--vg-line); border-radius:20px; background:#edf7fa; text-align:center; min-width:0; }
.adventure-guide .vg-step-number { display:inline-grid; place-items:center; width:26px; height:26px; background:#e2edf2; color:#356779; border-radius:50%; font-weight:900; font-size:11px; }
.adventure-guide .vg-require-card>.vg-step-number { display:grid; margin:0 auto 10px; }
.adventure-guide .vg-level-emblem { display:block; margin:0 auto 11px; font-size:52px; line-height:1.3; font-weight:900; color:#39829a; text-shadow:0 3px #fff; }
.adventure-guide .vg-require-card h3 { font-size:17px; margin-bottom:7px; }
.adventure-guide .vg-require-card p { font-size:11px; color:var(--vg-muted); margin-top:10px; line-height:1.6; }
.adventure-guide .vg-large-value { font-size:clamp(17px,1.9vw,23px); white-space:nowrap; color:#156885; letter-spacing:-.04em; }
.adventure-guide .vg-flow-sign { font-size:25px; font-weight:500; text-align:center; color:#7297a7; }
.adventure-guide .vg-material-require { background:#fff; border:1px solid var(--vg-line); border-radius:20px; padding:18px 15px; }
.adventure-guide .vg-card-title { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.adventure-guide .vg-card-title h3 { font-size:15px; line-height:1.5; }
.adventure-guide .vg-card-title h3 strong { color:#11779c; white-space:nowrap; }
.adventure-guide .vg-material-group { border-top:1px solid #e7eef2; padding-top:10px; margin-top:10px; }
.adventure-guide .vg-material-group>p { font-size:11px; color:var(--vg-muted); }
.adventure-guide .vg-material-group b { color:#23516a; }
.adventure-guide .vg-materials { display:grid; gap:6px; margin-top:8px; }
.adventure-guide .vg-basic-materials { grid-template-columns:repeat(8,minmax(0,1fr)); }
.adventure-guide .vg-crystal-materials { grid-template-columns:repeat(6,minmax(0,1fr)); }
.adventure-guide .vg-material { min-width:0; text-align:center; }
.adventure-guide .vg-material img,.adventure-guide .vg-material svg { display:block; height:42px; width:100%; object-fit:contain; }
.adventure-guide .vg-material figcaption { font-size:10px; color:#405769; margin-top:3px; white-space:nowrap; }
.adventure-guide .vg-small-note { font-size:11px; color:var(--vg-muted); line-height:1.75; margin-top:13px; }
.adventure-guide .vg-advance-result { background:#fff7df; border-color:#efdfb3; }
.adventure-guide .vg-advance-result .vg-large-value,.adventure-guide .vg-advance-result .vg-level-emblem { color:#a3711f; }
.adventure-guide .vg-stat-chips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin-top:15px; }
.adventure-guide .vg-stat-chips span { display:block; font-size:10px; background:#fff; border:1px solid #eddfbb; border-radius:6px; padding:6px 3px; white-space:nowrap; color:#876426; }
.adventure-guide .vg-dragon-entry { display:grid; grid-template-columns:1fr 1.55fr; background:#fff; border:1px solid var(--vg-line); overflow:hidden; border-radius:25px; }
.adventure-guide .vg-entry-visual { position:relative; min-height:295px; overflow:hidden; background:#163547; }
.adventure-guide .vg-hub-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.adventure-guide .vg-entry-portal { position:absolute; width:55%; height:76%; left:22.5%; top:5%; object-fit:contain; filter:drop-shadow(0 6px 13px #101920a0); }
.adventure-guide .vg-floor-tag { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); padding:8px 18px; border:1px solid #fff8; border-radius:30px; background:#10222ee6; color:#fff; font-size:12px; font-weight:800; white-space:nowrap; }
.adventure-guide .vg-entry-content { padding:24px 27px; }
.adventure-guide .vg-entry-content>h3 { font-size:21px; margin-bottom:20px; }
.adventure-guide .vg-entry-checks { display:grid; grid-template-columns:1fr 15px 1fr 15px 1fr; align-items:center; gap:5px; }
.adventure-guide .vg-entry-checks>div { text-align:center; min-width:0; }
.adventure-guide .vg-entry-checks strong,.adventure-guide .vg-entry-checks small { display:block; }
.adventure-guide .vg-entry-checks strong { font-size:13px; margin-top:9px; }
.adventure-guide .vg-entry-checks small { font-size:11px; color:var(--vg-muted); margin-top:5px; white-space:nowrap; }
.adventure-guide .vg-entry-symbol { height:75px; font-size:54px; display:grid; place-items:center; font-weight:900; color:#287995; }
.adventure-guide .vg-entry-item { height:75px; width:94px; object-fit:contain; margin:auto; }
.adventure-guide .vg-entry-crystal { display:block; position:relative; width:94px; height:68.2px; margin:3.4px auto; overflow:hidden; }
.adventure-guide .vg-entry-crystal img { position:absolute; max-width:none; width:538.8587%; height:297.0037%; left:-327.9891%; top:-44.9438%; }
.adventure-guide .vg-plus { color:#7a9baa; font-size:19px; text-align:center; }
.adventure-guide .vg-entry-content>.vg-small-note { text-align:center; margin-top:19px; }
.adventure-guide .vg-part-details { margin-top:13px; padding:10px 11px; border-radius:10px; border:1px solid #deebf0; background:#f4f9fb; font-size:11px; color:var(--vg-muted); }
.adventure-guide .vg-part-details summary { cursor:pointer; font-weight:700; color:#285b74; }
.adventure-guide .vg-part-details p { margin-top:8px; line-height:1.7; }
.adventure-guide .vg-part-details b { display:block; color:var(--vg-ink); }
.adventure-guide .vg-dungeon-badges { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:16px 0 23px; }
.adventure-guide .vg-dungeon-badges>span { background:#eaf5f9; border:1px solid #d7e9f0; border-radius:13px; color:#4e7181; font-size:11px; padding:13px 12px; text-align:center; }
.adventure-guide .vg-dungeon-badges b { display:block; color:#1b5c76; font-size:18px; margin-bottom:5px; }
.adventure-guide .vg-dragon-floor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.adventure-guide .vg-dragon-floor { border:1px solid var(--vg-line); background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 7px 23px #123e570b; }
.adventure-guide .vg-floor-art { position:relative; background:var(--dragon-bg) center/cover; padding:17px 23px 0; }
.adventure-guide .vg-floor-art:before { content:""; position:absolute; inset:0; background:linear-gradient(#071b3433,#071b3460); }
.adventure-guide .vg-floor-art .vg-sheet { width:91%; margin:auto; filter:drop-shadow(0 5px 5px #10152088); }
.adventure-guide .vg-floor-label { position:absolute; top:12px; left:12px; z-index:2; border-radius:30px; padding:6px 11px; font-size:10px; line-height:1.2; font-weight:900; color:#fff; background:#132c41df; }
.adventure-guide .vg-dragon-caption { display:flex; align-items:center; gap:10px; padding:13px 16px; }
.adventure-guide .vg-dragon-caption h3 { font-size:17px; flex:1; }
.adventure-guide .vg-dragon-caption>span { color:#6c8190; font-size:10px; line-height:1.5; }
.adventure-guide .vg-dragon-caption img { width:36px; height:40px; object-fit:contain; }
.adventure-guide .vg-center-note { text-align:center; }
.adventure-guide .vg-boss-route { display:grid; grid-template-columns:.75fr 22px 1.8fr 22px .9fr; align-items:center; gap:13px; margin-top:30px; padding:20px; border:1px solid #ddd9ef; border-radius:23px; background:linear-gradient(120deg,#f3efff,#edf9ff 60%,#fff4e5); }
.adventure-guide .vg-boss-door { text-align:center; position:relative; padding-top:17px; }
.adventure-guide .vg-boss-door img { height:133px; object-fit:contain; margin:auto; }
.adventure-guide .vg-boss-door h3 { font-size:14px; margin-top:10px; }
.adventure-guide .vg-boss-door .vg-floor-label { top:0; left:50%; transform:translateX(-50%); white-space:nowrap; background:#73629a; }
.adventure-guide .vg-boss-card { display:grid; grid-template-columns:1.2fr 1fr; gap:13px; align-items:center; }
.adventure-guide .vg-boss-sprite { aspect-ratio:390/365; filter:drop-shadow(0 5px 10px #32618d55); }
.adventure-guide .vg-boss-sprite>img { width:393.84615%; height:280.547945%; }
.adventure-guide .vg-boss-card h3 { font-size:24px; letter-spacing:-.04em; }
.adventure-guide .vg-boss-card .vg-eyebrow { font-size:9px; }
.adventure-guide .vg-boss-skills { display:flex; flex-wrap:wrap; gap:4px; margin-top:9px; }
.adventure-guide .vg-boss-skills span { font-size:9px; background:#fff9; border:1px solid #d6d9e8; border-radius:5px; color:#53657c; padding:4px 5px; white-space:nowrap; }
.adventure-guide .vg-boss-time { display:block; font-size:17px; color:#6a4899; margin-top:15px; }
.adventure-guide .vg-boss-card p:last-child { font-size:10px; color:var(--vg-muted); margin-top:5px; }
.adventure-guide .vg-boss-drop { text-align:center; background:#fffc; border:1px solid #e7dfed; border-radius:16px; padding:12px 9px; }
.adventure-guide .vg-boss-drop img { width:76px; height:76px; object-fit:contain; margin:auto; }
.adventure-guide .vg-boss-drop h3 { font-size:12px; margin-top:5px; }
.adventure-guide .vg-boss-drop>strong { display:block; color:#98600e; font-size:18px; margin-top:7px; }
.adventure-guide .vg-craft-link { display:inline-flex; gap:5px; align-items:center; justify-content:center; text-decoration:none; background:#174f6e; color:#fff; border-radius:7px; font-size:10px; line-height:1.5; padding:8px 9px; margin-top:14px; }
.adventure-guide a:focus-visible,.adventure-guide summary:focus-visible { outline:3px solid #d89b2b; outline-offset:4px; }
@media(max-width:950px) {
 .adventure-guide .vg-advance-flow { grid-template-columns:minmax(0,1fr) 22px minmax(0,1.8fr); }
 .adventure-guide .vg-advance-flow>.vg-flow-sign:nth-last-child(2) { display:none; }
 .adventure-guide .vg-advance-result { grid-column:1/-1; display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:12px; padding:14px 20px; }
 .adventure-guide .vg-advance-result .vg-step-number { margin:0; grid-row:1/3; }
 .adventure-guide .vg-advance-result .vg-level-emblem { display:none; }
 .adventure-guide .vg-advance-result h3 { margin:0; font-size:15px; }
 .adventure-guide .vg-advance-result .vg-stat-chips { grid-column:3; grid-row:1/3; grid-template-columns:repeat(4,1fr); margin:0; }
 .adventure-guide .vg-advance-result p { grid-column:1/-1; margin:0; text-align:right; }
 .adventure-guide .vg-dragon-entry { grid-template-columns:.85fr 1.4fr; }
 .adventure-guide .vg-entry-content { padding:20px 15px; }
 .adventure-guide .vg-boss-route { grid-template-columns:.8fr 18px 1.65fr; }
 .adventure-guide .vg-boss-route>.vg-flow-sign:nth-last-child(2) { display:none; }
 .adventure-guide .vg-boss-drop { grid-column:1/-1; display:flex; align-items:center; gap:15px; padding:10px 18px; }
 .adventure-guide .vg-boss-drop img { width:55px; height:55px; margin:0; }
 .adventure-guide .vg-boss-drop h3,.adventure-guide .vg-boss-drop>strong,.adventure-guide .vg-craft-link { margin-top:0; }
 .adventure-guide .vg-boss-drop .vg-craft-link { margin-left:auto; }
}
@media(max-width:650px) {
 .adventure-guide { margin:47px 0; }
 .adventure-guide .vg-job-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .adventure-guide .vg-job-card { padding:10px 10px 15px; border-radius:17px; }
 .adventure-guide .vg-job-card h3 { font-size:24px; }
 .adventure-guide .vg-job-card p { font-size:11px; }
 .adventure-guide .vg-advance-flow { display:flex; flex-direction:column; gap:11px; }
 .adventure-guide .vg-advance-flow>* { width:100%; }
 .adventure-guide .vg-advance-flow>.vg-flow-sign { width:auto; font-size:20px; }
 .adventure-guide .vg-require-card:not(.vg-advance-result) { display:grid; grid-template-columns:26px auto 1fr; gap:7px 11px; padding:16px; align-items:center; }
 .adventure-guide .vg-require-card:not(.vg-advance-result)>.vg-step-number { grid-row:1/3; margin:0; }
 .adventure-guide .vg-require-card:not(.vg-advance-result) .vg-level-emblem { display:none; }
 .adventure-guide .vg-require-card:not(.vg-advance-result) h3 { font-size:14px; margin:0; text-align:left; }
 .adventure-guide .vg-require-card:not(.vg-advance-result) p { grid-column:2/-1; text-align:left; margin:0; }
 .adventure-guide .vg-require-card:not(.vg-advance-result) .vg-large-value { text-align:right; }
 .adventure-guide .vg-material-require { padding:17px 14px; }
 .adventure-guide .vg-basic-materials { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
 .adventure-guide .vg-material img,.adventure-guide .vg-material svg { height:47px; }
 .adventure-guide .vg-material figcaption { font-size:11px; }
 .adventure-guide .vg-advance-flow>.vg-flow-sign:nth-last-child(2) { display:block; transform:rotate(90deg); }
 .adventure-guide .vg-advance-result { display:block; padding:20px; }
 .adventure-guide .vg-advance-result .vg-step-number { margin:0 auto 10px; }
 .adventure-guide .vg-advance-result h3 { margin-bottom:8px; }
 .adventure-guide .vg-advance-result .vg-large-value { font-size:24px; }
 .adventure-guide .vg-advance-result .vg-stat-chips { display:flex; justify-content:center; margin-top:14px; }
 .adventure-guide .vg-advance-result .vg-stat-chips span { padding:7px 11px; }
 .adventure-guide .vg-advance-result p { text-align:center; margin-top:10px; }
 .adventure-guide .vg-dragon-entry { grid-template-columns:1fr; }
 .adventure-guide .vg-entry-visual { min-height:220px; }
 .adventure-guide .vg-entry-content { padding:22px 15px; }
 .adventure-guide .vg-entry-content>h3 { text-align:center; }
 .adventure-guide .vg-entry-checks { gap:4px; }
 .adventure-guide .vg-entry-checks strong { font-size:12px; }
 .adventure-guide .vg-entry-checks small { font-size:10px; }
 .adventure-guide .vg-entry-crystal { width:100%; max-width:82px; height:auto; aspect-ratio:368/267; margin:7.75px auto; }
 .adventure-guide .vg-entry-item { width:100%; max-width:82px; }
 .adventure-guide .vg-dungeon-badges { grid-template-columns:repeat(2,1fr); gap:8px; }
 .adventure-guide .vg-dragon-floor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .adventure-guide .vg-floor-art { padding:24px 2px 0; }
 .adventure-guide .vg-floor-label { top:8px; left:8px; font-size:9px; }
 .adventure-guide .vg-dragon-caption { flex-wrap:wrap; gap:5px; padding:10px 11px; }
 .adventure-guide .vg-dragon-caption h3 { flex:1 1 100%; font-size:16px; margin-bottom:3px; }
 .adventure-guide .vg-dragon-caption img { width:30px; height:32px; }
 .adventure-guide .vg-dragon-caption>span { font-size:9px; }
 .adventure-guide .vg-dragon-caption>span:last-child br { display:none; }
 .adventure-guide .vg-boss-route { display:flex; flex-direction:column; padding:18px 14px; gap:14px; }
 .adventure-guide .vg-boss-door { padding-top:22px; }
 .adventure-guide .vg-boss-door img { height:105px; }
 .adventure-guide .vg-boss-route>.vg-flow-sign { transform:rotate(90deg); line-height:1; }
 .adventure-guide .vg-boss-route>.vg-flow-sign:nth-last-child(2) { display:block; }
 .adventure-guide .vg-boss-card { width:100%; max-width:380px; grid-template-columns:1.15fr 1fr; }
 .adventure-guide .vg-boss-card h3 { font-size:25px; }
 .adventure-guide .vg-boss-drop { width:100%; display:grid; grid-template-columns:60px 1fr; gap:5px 14px; text-align:left; }
 .adventure-guide .vg-boss-drop img { grid-row:1/3; }
 .adventure-guide .vg-boss-drop h3 { font-size:14px; }
 .adventure-guide .vg-boss-drop>strong { font-size:21px; }
 .adventure-guide .vg-boss-drop .vg-craft-link { grid-column:1/-1; margin:10px 0 0; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .adventure-guide * { scroll-behavior:auto; } }
