.evo-family{display:flex;flex-direction:column;gap:5px}
.evo-stage{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}
.evo-stage-arrow{text-align:center;color:#625d6b;font:16px "DM Mono",monospace}
.evo-stage-arrow{height:22px;position:relative;font-size:0}.evo-stage-arrow:before{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #554b62}.evo-stage-arrow+.evo-stage{position:relative;padding-top:11px}.evo-stage-arrow+.evo-stage:before{content:'';position:absolute;left:calc(50% / var(--branches,1));right:calc(50% / var(--branches,1));top:0;border-top:1px solid #554b62}.evo-stage-arrow+.evo-stage .evo-node:before{content:'';position:absolute;left:50%;top:-12px;height:11px;border-left:1px solid #554b62}
.evo-node{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:8px;background:#101013;border:1px solid #29272f;border-radius:11px}
.evo-node:hover{border-color:#635377;background:#17151b}
.evo-node.current{border-color:var(--violet);background:#191620;box-shadow:0 0 0 2px #a78bfa18}
.evo-node.off-dex{cursor:default;border-style:dashed}.evo-node.off-dex:hover{border-color:#29272f;background:#101013}
.evo-node img{width:50px;height:50px;flex:0 0 auto;image-rendering:pixelated}
.evo-node span{min-width:0}.evo-node small,.evo-node b,.evo-node em{display:block}
.evo-node small{color:#6f6b76;font:9px "DM Mono",monospace}
.evo-node b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evo-node em{margin-top:3px;color:var(--violet);font:9px "DM Mono",monospace;font-style:normal}
.evo-node>i{position:absolute;right:6px;top:6px;padding:3px 5px;border-radius:4px;background:var(--acid);color:#151713;font:700 7px Manrope,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.portrait{display:block;padding:24px;background:radial-gradient(circle at 48% 42%,#463754 0,#241c2d 46%,#151319 78%)}
.portrait .sprite-view{z-index:1;text-align:center}
.portrait .sprite-view:first-child{position:absolute;inset:24px 164px 24px 24px;display:grid;place-items:center}
.portrait .sprite-view:first-child img{width:min(100%,310px);filter:drop-shadow(0 28px 25px #0009)}
.portrait .sprite-view:first-child span{position:absolute;left:0;bottom:0}
.portrait .sprite-view:nth-child(2){position:absolute;right:20px;bottom:20px;width:132px;padding:10px 10px 8px;background:#121116dd;border:1px solid #8e8199;border-radius:14px;box-shadow:0 14px 35px #0009,inset 0 1px #ffffff1c;backdrop-filter:blur(8px)}
.portrait .sprite-view:nth-child(2) img{display:block;width:96px;margin:auto;filter:drop-shadow(0 10px 10px #0008)}
.portrait .sprite-view span{display:inline-block;padding:4px 8px;border:1px solid #51475b;border-radius:99px;color:#ddd9e1;background:#211d27e6;font:9px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.12em}
.portrait .sprite-view:nth-child(2) span{margin-top:3px;font-size:8px}
@media(max-width:900px){.portrait .sprite-view:first-child{inset:24px}.portrait .sprite-view:first-child img{width:min(78%,310px)}}
@media(max-width:500px){.portrait{min-height:280px;padding:16px}.portrait .sprite-view:first-child{inset:16px}.portrait .sprite-view:first-child img{width:min(76%,220px)}.portrait .sprite-view:nth-child(2){right:12px;bottom:12px;width:94px;padding:7px 6px 6px}.portrait .sprite-view:nth-child(2) img{width:68px}.portrait .sprite-view span{font-size:7px;padding:3px 6px}}
.dex-entry{margin:0 0 22px;padding:14px 16px;background:#101013;border-left:2px solid var(--violet);border-radius:0 8px 8px 0}
.dex-entry small{color:var(--acid);font:9px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.12em}
.dex-entry p{margin:7px 0 0;color:#aaa7b0;font-size:12px;line-height:1.55}
.location-list{border-top:1px solid var(--line);font:11px "DM Mono",monospace}.location-head,.location-group summary{display:grid;grid-template-columns:minmax(130px,1.5fr) minmax(80px,1fr) 65px 65px 52px;align-items:center;gap:8px}.location-head{padding:10px 11px;color:#77747e;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.location-group{border-top:1px solid #25242a}.location-group summary{padding:12px 11px;color:#aaa7b0;cursor:pointer;list-style:none}.location-group summary::-webkit-details-marker{display:none}.location-group summary:hover{background:#1b1a20}.location-group summary b{color:var(--ink);font-weight:500}.location-group summary i{display:inline-block;color:var(--violet);font-style:normal;transition:.15s}.location-group[open] summary i{transform:rotate(90deg)}.location-details{padding:5px 11px 10px;background:#101013}.location-details>div{display:grid;grid-template-columns:1fr auto 42px;gap:15px;padding:6px 8px;color:#77747e;border-top:1px solid #211f25}.location-details>div:first-child{border-top:0}.location-details>div span:last-child{text-align:right;color:#9995a0}
.location-links{display:grid;gap:9px}.location-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;background:#101013;border:1px solid #29272f;border-radius:9px}.location-links a:hover{border-color:var(--violet)}.location-links span{color:var(--ink);font-weight:650}.location-links i{color:var(--muted);font:10px "DM Mono",monospace;font-style:normal}.location-hero{margin-bottom:28px}.location-hero h1{font-size:clamp(44px,7vw,78px);margin:12px 0}.location-hero p{color:var(--muted)}.location-area{margin-bottom:20px}.location-area h2 small{display:block;margin:5px 0 0}.location-encounters{font:11px "DM Mono",monospace}.encounter-head,.location-encounters>a{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(90px,1fr) 90px 55px;gap:12px;align-items:center}.encounter-head{padding:8px 10px;color:var(--muted);font-size:9px;text-transform:uppercase}.location-encounters>a{padding:8px 10px;border-top:1px solid var(--line);color:var(--muted)}.location-encounters>a:hover{background:#1b1a20}.encounter-pokemon{display:flex;align-items:center;gap:10px;color:var(--ink)}.encounter-pokemon img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated}
.location-summary{font:11px "DM Mono",monospace}.location-summary-head,.location-summary>a{display:grid;grid-template-columns:minmax(130px,1.5fr) minmax(80px,1fr) 80px 75px;align-items:center;gap:8px}.location-summary-head{padding:8px 11px;color:var(--muted);font-size:9px;text-transform:uppercase}.location-summary>a{padding:12px 11px;border-top:1px solid var(--line);color:#aaa7b0}.location-summary>a:hover{background:#1b1a20}.location-summary b{display:block;color:var(--ink)}.location-summary small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.location-summary i{float:right;color:var(--violet);font-style:normal}
@media(max-width:600px){.location-links a{align-items:flex-start;flex-direction:column}.encounter-head{display:none}.location-encounters>a{grid-template-columns:1fr auto;gap:4px 12px}.encounter-pokemon{grid-row:1/3}.location-encounters>a>span:last-child{text-align:right}.location-summary-head{display:none}.location-summary>a{grid-template-columns:minmax(0,1fr) 70px 65px;padding-left:5px;padding-right:5px}.location-summary>a>span:nth-child(2){display:none}}
@media(max-width:600px){.location-head,.location-group summary{grid-template-columns:1.4fr 1fr 55px 48px}.location-head span:last-child,.location-group summary span:last-child{display:none}}
.location-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.location-title .secret-toggle{margin-bottom:8px}
@media(max-width:600px){.location-title{align-items:flex-start;flex-direction:column;gap:12px}.location-title .secret-toggle{margin:0;padding:0;border:0}}
