/* Domain-scoped presentation only: classes, universe and dragons. No global UI overrides. */
.visual-dragon>header{height:auto;min-height:0;display:block;position:static;z-index:auto;background:transparent;border:0;padding:0}
.visual-class-list,.visual-world-list,.visual-dragon-list{display:grid;gap:2rem;min-width:0}
.visual-class{display:grid;grid-template-columns:minmax(180px,270px) minmax(0,1fr);gap:2rem;align-items:start;padding:2rem 0;border-bottom:1px solid var(--line)}
.visual-class-portrait{margin:0;min-width:0;position:sticky;top:6rem;text-align:center;background:radial-gradient(ellipse at 50% 70%,#4b355b44,transparent 70%)}
.visual-class-portrait img{display:block;width:100%;height:430px;object-fit:contain;object-position:center bottom}
.visual-class-portrait figcaption,.visual-dragon-comparison figcaption,.visual-world figcaption{font-size:.72rem;color:var(--muted);line-height:1.6;padding:.65rem .4rem;text-align:center}
.visual-class-content,.visual-class-content section{min-width:0}.visual-class-content h2{font-size:clamp(1.9rem,4vw,2.7rem);margin:.5rem 0 1rem}.visual-class-content .lead{margin-bottom:1.4rem}
.visual-class-content section>h3{font-family:inherit;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.visual-spells{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem;padding:0;margin:0}
.visual-spells li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:1rem;align-items:start;padding:1rem;border:1px solid var(--line);background:#211a2b55;min-width:0}
.visual-spells li:not(:has(.visual-spell-icon)){grid-template-columns:minmax(0,1fr)}
.visual-spell-icon{display:block;aspect-ratio:1;width:72px;height:72px;object-fit:contain;border-radius:.6rem;border:1px solid #ad91d14d;background:#100e18}
.visual-spells h4{font-family:Georgia,serif;font-size:1.2rem;line-height:1.4;margin:0 0 .5rem}.visual-spells p{font-size:.88rem;line-height:1.7;margin:0;overflow-wrap:anywhere}
.visual-world{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:2rem;padding:1rem 0 2rem;border-bottom:1px solid var(--line)}
.visual-world:nth-child(even)>figure{order:2}.visual-world figure{margin:0;min-width:0}.visual-world img{display:block;width:100%;height:auto;border-radius:.8rem}.visual-world h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:.5rem 0 1rem}.visual-world p{line-height:1.85}
.visual-dragon-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}.visual-dragon{min-width:0;padding:1.2rem;border:1px solid var(--line);border-radius:.8rem;background:#18132077}.visual-dragon header h2{font-size:clamp(1.4rem,2.6vw,2rem);margin:.4rem 0 1rem}
.visual-dragon-comparison{margin:0;min-width:0}.visual-dragon-comparison img{display:block;width:100%;height:auto;object-fit:contain;max-width:none;background:radial-gradient(ellipse at 60% 55%,#51436033,transparent 70%)}
.visual-stage-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border-top:1px solid var(--line);padding-top:1rem}.visual-stage-labels>div{display:flex;flex-direction:column;gap:.4rem;text-align:center;min-width:0}.visual-stage-labels strong{font-size:1rem}.visual-stage-labels span{font-size:.77rem;line-height:1.5}
.visual-dragon .caption{line-height:1.6;margin-top:1rem}.visual-dragon-independent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.visual-dragon-independent img{width:100%;height:auto;object-fit:contain}
@media(max-width:1000px){.visual-dragon-list{grid-template-columns:minmax(0,1fr)}.visual-dragon{max-width:850px;width:100%;margin-inline:auto}.visual-class{grid-template-columns:200px minmax(0,1fr);gap:1.2rem}}
@media(max-width:700px){.visual-class{grid-template-columns:minmax(0,1fr);gap:1rem;padding-top:1rem}.visual-class-portrait{position:static;max-width:260px;width:100%;margin-inline:auto}.visual-class-portrait img{height:380px}.visual-class-content h2{font-size:2rem}.visual-spells li{grid-template-columns:58px minmax(0,1fr);gap:.8rem;padding:.85rem}.visual-spell-icon{width:58px;height:58px}.visual-world{grid-template-columns:minmax(0,1fr);gap:1.2rem}.visual-world:nth-child(even)>figure{order:0}.visual-dragon-list{grid-template-columns:minmax(0,1fr);gap:1.25rem}.visual-dragon{padding:.9rem}.visual-stage-labels{gap:.5rem}.visual-stage-labels span{font-size:.72rem}}
