:root{font-family:Arial,Helvetica,sans-serif;color:#f5efdf;background:#0b2019;--lime:#c7ff25;--muted:#a4b79e;scroll-behavior:smooth;scroll-padding-top:25px}*{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}a,button,input,select{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid var(--lime)}img{display:block;max-width:100%}[hidden]{display:none!important}.skip{position:absolute;top:-100px;z-index:5;padding:15px;background:var(--lime);color:#102a21}.skip:focus{top:12px;left:12px}header{height:85px;border-bottom:1px solid #b1c38720;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-size:31px;font-weight:900;font-style:italic;letter-spacing:-1.8px;display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}.brand span{font-size:14px;letter-spacing:-.5px;font-style:normal}.brand i{font-size:13px;color:var(--lime);font-style:normal;align-self:flex-start}.brand+nav{display:flex;gap:28px;font-size:11px;color:#b4c4ad}.npc-hero{max-width:1600px;margin:auto;padding:55px 5.2% 65px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;overflow:hidden;background:radial-gradient(ellipse at 80% 50%,#25492c66,transparent 55%)}.eyebrow{font-size:8px;letter-spacing:2px;font-weight:700;line-height:1.6;color:var(--lime);margin-bottom:23px}h1{font-size:clamp(60px,6.8vw,96px);letter-spacing:-5px;line-height:1}em{font-style:normal;color:var(--lime)}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;color:#b5c5ae;margin:25px 0}.lime-button{display:inline-flex;align-items:center;gap:35px;background:var(--lime);color:#102a21;font-weight:700;font-size:12px;border-radius:6px;padding:16px 21px}.lime-button span{font-size:18px;font-weight:400}.hero-stats{display:flex;gap:28px;margin-top:30px;font-size:11px;color:#9db294}.hero-stats b{font-size:20px;color:#edf1d7;margin-right:5px}.hero-portraits{display:flex;align-items:center;justify-content:center;padding:35px 10px;min-height:340px;isolation:isolate}.hero-portraits figure{width:38%;flex:none;position:relative;border-radius:9px;overflow:hidden;border:1px solid #b0ce8d50;box-shadow:0 15px 45px #0004;background:#f1efe6}.hero-portraits figure:nth-child(1){transform:rotate(-9deg) translateX(12px);z-index:0}.hero-portraits figure:nth-child(2){transform:translateY(-18px);z-index:1}.hero-portraits figure:nth-child(3){transform:rotate(9deg) translateX(-12px);z-index:0}.hero-portraits img{width:100%;height:240px;object-fit:contain;background:#eef0e8}.hero-portraits figcaption{padding:13px;color:#e5efcf;background:#173727;font-size:12px;font-weight:700;text-align:center}.collection{padding:40px 5.2% 65px;max-width:1650px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.section-head h2{font-size:39px;letter-spacing:-1.7px}.section-head .eyebrow{margin-bottom:13px}.section-head>p{font-size:11px;color:var(--muted);line-height:1.7}.collection-tools{display:flex;align-items:center;gap:25px;justify-content:space-between;border:1px solid #aac88130;background:#163326;border-radius:8px;padding:14px 18px}.search{display:flex;align-items:center;gap:12px;flex:1}.search>span{color:var(--lime);font-size:25px}.search input{min-width:0;width:100%;padding:9px 0;border:0;background:none;color:#edf1dc;font-size:12px}.search input::placeholder{color:#9fb196}.filters{display:flex;gap:7px;white-space:nowrap}.filters button{background:transparent;border:1px solid #94b46b40;border-radius:5px;color:#b7c6ad;font-size:10px;padding:10px 13px}.filters button[aria-pressed=true]{background:var(--lime);color:#133420;border-color:var(--lime)}.result-count{font-size:10px;color:#90a987;margin:19px 0 25px;line-height:1.7}.npc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}.npc-card{border:1px solid #a5c77b30;border-radius:9px;overflow:hidden;background:#153123;display:flex;flex-direction:column;min-width:0}.portrait-button{padding:0;width:100%;border:0;background:#e9eee4;position:relative;overflow:hidden;display:block}.portrait-button>img{width:100%;aspect-ratio:1/1.05;object-fit:contain;transition:transform .2s}.portrait-button:hover>img{transform:scale(1.035)}.portrait-button>span{position:absolute;bottom:12px;right:12px;border-radius:4px;background:#0c2a20eb;color:#d4f4a8;font-size:8px;padding:9px 11px}.npc-info{padding:20px;display:flex;flex-direction:column;flex:1}.kind{font-size:7px;letter-spacing:1.8px;color:var(--lime);display:flex;gap:10px;justify-content:space-between}.kind>span{font-size:6px;color:#9cb68c;letter-spacing:1px;white-space:nowrap}.npc-info h3{font-size:23px;letter-spacing:-.8px;margin-top:13px}.description{font-size:11px;color:#a5b99b;line-height:1.7;margin:14px 0 18px}.version-label{font-size:8px;color:#96b58b;margin:2px 0 8px}.npc-info select{font-size:10px;padding:10px 9px;border:1px solid #a6bd7955;border-radius:5px;background:#0b241a;color:#e5efcf;min-width:0;width:100%;margin-bottom:18px}.card-links{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid #a6bd7925}.card-links>button{background:none;border:0;padding:0;color:var(--lime);font-size:10px;font-weight:600;text-align:left}.pack-link{font-size:8px;color:#8fae80;white-space:nowrap}#no-results{padding:30px 0;font-size:13px;color:#a6b995}.city-return{background:#153325;text-align:center;padding:55px 20px;border-block:1px solid #a6bd7925}.city-return h2{font-size:64px;letter-spacing:-3px;line-height:1;margin-bottom:30px}footer{padding:30px 5.2%;display:flex;align-items:center;gap:35px;font-size:10px}footer p{color:#a3b498}footer>a:last-child{margin-left:auto;font-size:9px}dialog{width:min(940px,calc(100% - 28px));padding:0;border:1px solid #8caa6244;border-radius:13px;background:#132e22;color:#f5efdf;max-height:94dvh;overflow:auto}dialog::backdrop{background:#00190edb;backdrop-filter:blur(8px)}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #a5bb7b30;gap:20px}.preview-header .eyebrow{font-size:7px;margin-bottom:8px}.preview-header h2{font-size:25px;letter-spacing:-.8px}#close-preview{background:#224d32;border:1px solid #7d9f5d40;color:#d7e7c2;border-radius:50%;width:34px;height:34px;font-size:25px;flex:none}.preview-stage{position:relative;height:min(62dvh,600px);min-height:300px;background:#e9eee5}#npc-frame{border:0;position:absolute;inset:0;width:100%;height:100%}#preview-cover{position:absolute;inset:0;background:#e9eee5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}#preview-poster{width:100%;height:calc(100% - 50px);object-fit:contain}#preview-status{font-size:12px;color:#234431;line-height:1.6;text-align:center;padding-top:15px}.preview-footer{display:flex;align-items:center;gap:20px;padding:17px 24px;font-size:10px;color:#9ab28c}.preview-footer button{border:1px solid #85a65c55;padding:9px 13px;border-radius:4px;background:#254b30;color:#def3bb;font-size:10px}.preview-footer>a{margin-left:auto;color:var(--lime);font-size:10px}@media(max-width:1100px){.npc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.npc-hero{gap:25px}.hero-portraits img{height:200px}.npc-info{padding:18px}}@media(max-width:750px){header{height:75px;padding:0 5%}.brand{font-size:27px}.brand span{font-size:12px}.brand+nav{gap:16px;font-size:10px}.brand+nav>a:last-child{display:none}.npc-hero{grid-template-columns:1fr;padding:35px 6% 30px;gap:20px}.hero-copy h1{font-size:68px;letter-spacing:-3.8px}.hero-copy>p:not(.eyebrow){font-size:15px;margin-block:22px}.hero-stats{margin-top:25px}.hero-portraits{min-height:0;padding:26px 20px 18px;max-width:500px;margin:auto;width:100%}.hero-portraits figure{width:35%}.hero-portraits img{height:180px}.hero-portraits figcaption{font-size:10px;padding:10px}.collection{padding:30px 5% 45px}.section-head{display:block;margin-bottom:25px}.section-head h2{font-size:32px}.section-head>p{font-size:10px;margin-top:15px}.collection-tools{flex-direction:column;align-items:stretch;gap:13px;padding:13px 15px}.filters{gap:8px}.filters button{flex:1;font-size:9px;padding:9px 8px}.npc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.npc-info{padding:15px}.npc-info h3{font-size:19px}.description{font-size:10px;margin-block:12px 15px}.kind{font-size:6px;letter-spacing:1px}.kind>span{font-size:5px;letter-spacing:.5px}.card-links{gap:8px;flex-wrap:wrap;padding-top:13px}.card-links>button{font-size:9px}.pack-link{font-size:7px}.portrait-button>span{font-size:7px;right:8px;bottom:8px;padding:8px}.npc-info select{font-size:8px;padding:9px 6px}.city-return{padding:40px 20px}.city-return h2{font-size:54px}.preview-header{padding:17px}.preview-header h2{font-size:21px}.preview-stage{height:55dvh;min-height:290px}.preview-footer{padding:15px 17px;gap:12px;flex-wrap:wrap;font-size:8px}.preview-footer button,.preview-footer>a{font-size:8px}.preview-footer>span{flex-basis:100%}.preview-footer>a{margin-left:auto}footer{gap:20px;flex-wrap:wrap;padding:25px 5%}footer>a:last-child{margin-left:0}}@media(max-width:370px){.npc-grid{gap:11px}.npc-info{padding:12px}.npc-info h3{font-size:17px}.description{font-size:9px}.kind{letter-spacing:.5px}.kind>span{display:none}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
