/* Compact game artwork; concept art is only shown inside open entry panels. */
.ency-view-switch{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.ency-view-switch button{border:1px solid #bcc5b6;background:transparent;color:var(--ink);font-size:13px;font-weight:600;padding:13px 20px;min-height:46px;cursor:pointer}.ency-view-switch button[aria-pressed=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}.ency-view-switch button span{margin-left:15px}.ency-visual-note{color:var(--muted);font-size:11px;padding:13px 0;border-bottom:1px solid var(--line)}.ency-layout{padding-top:20px}.ency-entry summary{grid-template-columns:64px minmax(0,1fr) minmax(85px,150px) 18px;padding:14px 18px;gap:16px}.ency-thumb{display:flex;width:64px;height:64px;flex-shrink:0;align-items:center;justify-content:center;border:0;background:transparent;border-radius:0;overflow:visible}.ency-thumb img{width:100%;height:100%;object-fit:contain;padding:3px}.ency-thumb-pending{background:transparent;border:0}.ency-thumb-pending svg{width:26px;height:26px;fill:none;stroke:#7e8b7a;stroke-width:1.2}.ency-pending{display:block;font-size:10px;line-height:1.4;color:#777960;margin-top:5px}.ency-entry-title{font-size:22px}.ency-summary{font-size:11px}.ency-body{padding:8px 26px 26px 98px}.ency-body h2{font-size:27px}.entry-media{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px;align-items:stretch}.entry-figure{margin:0;min-width:0;max-width:100%;border:0;background:transparent;flex:1 1 240px}.entry-figure figcaption{font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;padding:12px 0;border-bottom:1px solid var(--line)}.entry-figure>a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;padding:16px;gap:12px;min-height:230px}.entry-figure img{width:auto;height:340px;max-width:100%;object-fit:contain}.entry-figure.game{flex:0 1 170px;background:transparent;color:var(--ink);border:0}.entry-figure.game figcaption{border-color:var(--line)}.entry-figure.game>a{color:var(--ink)}.entry-figure.game img{height:130px;width:130px;object-fit:contain}.entry-figure a>span{font-size:11px;border-bottom:1px solid #b5baa7;padding-bottom:3px}.entry-media-note{font-size:11px!important;line-height:1.6;color:var(--muted);margin-top:12px!important}.ency-tree-link{border:1px solid var(--line);background:#edeadd;color:var(--ink);padding:12px;margin:18px 14px 0 0;cursor:pointer;font-size:12px;min-height:44px}.ency .ency-permalink{min-height:44px;padding:13px 0}.ency-result-actions button{min-height:44px}.ency-filter select,.ency-result-actions select{min-height:44px}.ency button:focus-visible,.ency a:focus-visible,.ency summary:focus-visible,.ency select:focus-visible,.ency input:focus-visible{outline:2px solid #8c601d;outline-offset:3px}.ency-thumb img{image-rendering:auto}
/* The graph reflows instead of shrinking touch targets on small screens. */
.class-tree{border-top:2px solid var(--ink);padding-top:25px}.tree-intro{display:flex;align-items:flex-start;gap:35px;justify-content:space-between}.tree-intro h2{font-size:38px;margin:10px 0}.tree-intro p{font-size:14px;line-height:1.7;max-width:620px;color:var(--muted)}.tree-settings{flex:0 0 245px;display:grid;gap:7px}.tree-settings label{font-size:11px;font-weight:600}.tree-settings select{width:100%;font-size:12px;min-height:44px;background:#fffdf4;color:var(--ink);border:1px solid #b9c3b2;padding:10px;margin-bottom:9px}.tree-legend{font-size:11px;color:var(--muted);padding:16px 0;margin-top:16px!important;display:flex;align-items:center;gap:10px}.tree-legend>span{width:24px;height:3px;background:#b68439;flex-shrink:0}.tree-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start}.tree-map{position:relative;isolation:isolate;padding:16px 16px 25px;border:1px solid var(--line);background:radial-gradient(#c8caba 1px,transparent 1px) 0 0/18px 18px,#eceadd;min-width:0}.tree-lines{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:visible}.tree-lines path{stroke:#b9c3b4;stroke-width:1.4;fill:none}.tree-lines path.traced{stroke:#b68439;stroke-width:3}.tree-tier{position:relative;margin-bottom:34px}.tree-tier:last-child{margin-bottom:0;padding-top:12px;border-top:1px dashed #b7bda8}.tree-tier h3{font:600 10px var(--sans);text-transform:uppercase;letter-spacing:.09em;margin:0 0 13px;display:flex;align-items:center;gap:8px}.tree-tier h3 span{color:var(--muted);font-size:9px}.tree-nodes{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.class-node{position:relative;width:calc((100% - 36px)/5);min-width:93px;max-width:150px;flex:1 1 93px;display:flex;align-items:center;flex-direction:column;gap:8px;border:1px solid #bcc5b5;background:#f8f5eb;padding:12px 5px;min-height:143px;cursor:pointer;color:var(--ink);transition:border-color .15s,box-shadow .15s}.class-node:hover{border-color:#6a886b;box-shadow:0 2px 6px #203d3615}.class-node[aria-pressed=true]{background:#fff8e9;border:2px solid #9e6f28;padding:11px 4px;box-shadow:0 0 0 3px #b6843922}.class-node.on-path{border-color:#b68439}.class-node.next-path:after{content:'';position:absolute;top:6px;right:6px;width:5px;height:5px;border-radius:50%;background:#5c8263}.class-node .ency-thumb{width:48px;height:48px}.class-node-name{font:600 12px/1.3 var(--sans);overflow-wrap:anywhere;text-align:center}.class-state{font:9px/1.35 var(--sans);color:#787768;max-width:105px}.class-state.ready{color:#477054}.tree-detail{position:sticky;top:18px;border:1px solid #b7bfae;background:#fffdf4;scroll-margin-top:18px}.tree-detail article{padding:23px}.tree-detail .eyebrow{font-size:9px;letter-spacing:.08em;line-height:1.7}.tree-detail h3{font-size:32px;letter-spacing:-.035em;margin:10px 0 6px}.class-status{font-size:11px;color:var(--muted);margin-bottom:22px!important}.tree-detail h4{font:600 10px var(--sans);text-transform:uppercase;letter-spacing:.08em;margin:22px 0 10px}.tree-detail p{font-size:12px;line-height:1.7}.tree-detail ul{list-style:none;padding:0;margin:0}.tree-detail li{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e1e2d5;min-height:43px}.tree-detail li span{font-size:10px;white-space:nowrap;color:var(--muted)}.tree-detail button{background:none;border:0;cursor:pointer;color:var(--accent);text-align:left;font-size:12px;min-height:44px;padding:8px 0}.tree-next{display:flex;flex-direction:column;gap:0}.tree-next button{border-bottom:1px solid #e1e2d5}.tree-open{display:block;border:1px solid var(--ink);padding:12px;text-align:center;background:var(--ink);color:var(--white);font-size:11px;margin-top:20px;text-decoration:none!important}
/* Native dialog supplies modal focus handling and Escape-to-close. */
.image-dialog{width:min(960px,94vw);max-width:94vw;height:min(880px,91dvh);max-height:91dvh;border:1px solid #7a896f;background:#f4f0e5;padding:0;color:var(--ink);margin:auto;box-shadow:0 24px 80px #0008}.image-dialog::backdrop{background:#101d20dc}.image-dialog[open]{display:flex;flex-direction:column}.image-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 16px;border-bottom:1px solid #c7cbb9;flex-shrink:0}.image-dialog-bar p{font:500 13px/1.5 var(--sans);margin:0}.image-tools{display:flex;gap:5px;flex-shrink:0}.image-tools button{min-width:44px;min-height:44px;border:1px solid #b5bdab;background:#fffaf0;font-size:14px;cursor:pointer;color:var(--ink)}.image-tools button:last-child{margin-left:7px;font-size:25px}.image-viewport{flex:1;min-height:0;overflow:auto;padding:20px;text-align:center;background:transparent}.image-viewport img{display:block;max-width:100%;max-height:calc(91dvh - 130px);width:auto;height:auto;min-height:160px;margin:auto;object-fit:contain}.image-dialog:focus{outline:none}
@media(min-width:1100px){.tree-tier[data-tier="0"] .tree-nodes,.tree-tier[data-tier="1"] .tree-nodes{gap:28px}.class-node{min-width:90px}.tree-tier[data-tier="2"] .class-node{max-width:calc((100% - 36px)/5)}}
@media(max-width:1050px){.tree-layout{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.tree-map{padding:15px 10px}.tree-detail article{padding:17px}.class-node{flex-basis:95px}.ency-entry summary{grid-template-columns:54px minmax(0,1fr) 105px 16px;gap:12px}.ency-thumb{width:54px;height:54px}.ency-body{padding-left:84px}.ency-entry-title{font-size:21px}}
@media(max-width:760px){.tree-layout{grid-template-columns:1fr}.tree-intro{display:block}.tree-settings{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.tree-settings label:first-child{grid-column:1;grid-row:1}.tree-settings select:nth-child(2){grid-column:1;grid-row:2}.tree-settings label:nth-child(3){grid-column:2;grid-row:1}.tree-settings select:last-child{grid-column:2;grid-row:2}.tree-settings select{min-width:0}.tree-detail{position:static}.tree-detail article{padding:22px}.tree-tier[data-tier="2"] .class-node{max-width:calc((100% - 18px)/3)}.tree-intro h2{font-size:32px}.tree-map{padding:16px}.class-node{flex-basis:82px;min-width:0;max-width:calc((100% - 18px)/3);padding:12px 5px}.class-node[aria-pressed=true]{padding:11px 4px}.class-node-name{font-size:11px}.class-state{font-size:8px}.tree-tier{margin-bottom:33px}}
@media(max-width:650px){.ency-entry summary{grid-template-columns:48px minmax(0,1fr) 16px;gap:9px 12px;padding:14px 12px}.ency-entry summary>.ency-thumb{grid-column:1;grid-row:1/3;align-self:start;width:48px;height:48px}.ency-tags{grid-column:2;grid-row:2}.ency-entry-title{font-size:21px}.ency-entry-copy{grid-column:2;grid-row:1}.ency-toggle{grid-column:3;grid-row:1}.ency-body{padding:10px 16px 20px}.entry-media{gap:12px}.entry-figure{flex-basis:180px}.entry-figure.game{flex:1 1 100%;display:flex;align-items:center}.entry-figure.game figcaption{max-width:50%;border:0;font-size:10px}.entry-figure.game>a{flex:1;min-height:130px;padding:12px}.entry-figure.game img{width:75px;height:75px}.entry-figure.art img{height:320px}.ency-search-row input,.ency-filter select,.ency-result-actions select,.tree-settings select{font-size:16px}.ency-result-actions{width:100%;justify-content:space-between;gap:10px}.ency-result-actions select{max-width:67%;font-size:13px}.ency-view-switch{gap:6px}.ency-view-switch button{flex:1;font-size:11px;padding:12px 10px}.ency-view-switch button span{margin-left:5px}.ency-visual-note{font-size:10px;line-height:1.6}.ency-summary{-webkit-line-clamp:2}.image-dialog-bar{align-items:flex-start;flex-direction:column;gap:8px}.image-tools{width:100%}.image-tools button:last-child{margin-left:auto}.image-viewport{padding:12px}.image-viewport img{max-height:calc(91dvh - 180px)}.tree-map{padding:13px 8px}.tree-nodes{gap:7px}.class-node{max-width:calc((100% - 14px)/3)}.tree-tier[data-tier="2"] .class-node{max-width:calc((100% - 14px)/3)}}
@media(prefers-reduced-motion:reduce){.class-node{transition:none}}

/* Profiles let the full paired illustration breathe before the long-form guide. */
.ency-class-body .class-profile-intro{font-size:15px;line-height:1.85;max-width:72ch}
.ency-class-body .entry-media{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:22px}
.ency-class-body .entry-figure.art{grid-row:1;max-width:100%;width:100%}
.ency-class-body .entry-figure.art>a{padding:12px 0 18px;min-height:0}
.ency-class-body .entry-figure.art img{width:100%;height:auto;max-height:580px;object-fit:contain}
.ency-class-body .entry-figure.game{display:flex;flex-direction:row;align-items:center;gap:16px}
.ency-class-body .entry-figure.game figcaption{border:0;max-width:220px;line-height:1.7}
.ency-class-body .entry-figure.game>a{padding:0;min-height:0;flex-direction:row;gap:18px}
.ency-class-body .entry-figure.game img{height:88px;width:88px}
.ency-class-body .entry-media-note{margin-bottom:30px!important}
.class-profile-sections{display:grid;gap:25px;padding-top:6px}
.class-profile-section{border-top:1px solid var(--line);padding-top:20px}
.class-profile-section h3{font:500 23px/1.35 var(--serif);color:var(--ink);margin:0 0 12px;letter-spacing:-.015em}
.class-profile-section p{font-size:14px;line-height:1.85;max-width:72ch;margin:0}
.rarity-legendary,.rarity-legend{color:#80561d;border-color:#d7bc82;background:#faf0d9}
/* Additional category tabs remain comfortable to touch and scroll into view. */
.ency-tabs{scroll-padding:18px;overscroll-behavior-x:contain}
.ency-tabs button{flex:0 0 auto;min-width:88px}
@media(min-width:1300px){.ency-tabs button{flex:1 0 auto}}
@media(max-width:650px){
 .ency-class-body .class-profile-intro{font-size:14px;line-height:1.8}
 .ency-class-body .entry-figure.art img{max-height:none;width:100%;height:auto}
 .ency-class-body .entry-figure.game{gap:10px;justify-content:space-between}
 .ency-class-body .entry-figure.game figcaption{max-width:48%;font-size:9px}
 .ency-class-body .entry-figure.game>a{flex-direction:column;gap:4px;flex:0 1 45%}
 .ency-class-body .entry-figure.game img{height:80px;width:80px}
 .class-profile-section h3{font-size:22px}
 .class-profile-section p{font-size:14px;line-height:1.8}
 .class-profile-sections{gap:22px}
 .entry-figure a>span{font-size:10px;text-align:center}
}
