.wk-npc-directory{padding:24px 0 36px}.wk-npc-directory-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.wk-npc-directory-heading h1{color:var(--text-strong);font:700 clamp(30px, 3vw, 40px) / 1.05 var(--display);margin:0}.wk-npc-directory-heading p{max-width:58ch;color:var(--muted);margin:0 0 2px;font-size:14px;line-height:1.5}.wk-npc-directory-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.wk-npc-directory-search{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);align-items:stretch;width:min(100%,520px);min-width:0;display:flex}.wk-npc-directory-search input{width:100%;min-width:0;color:var(--text);font:14px/1.4 var(--body);background:0 0;border:0;padding:12px}.wk-npc-directory-search input::placeholder{color:var(--muted)}.wk-npc-directory-search input::-webkit-search-cancel-button{display:none}.wk-npc-directory-search .button{flex-shrink:0;padding:10px 13px}.wk-npc-directory-clear{color:var(--muted);font:12px var(--body);cursor:pointer;background:0 0;border:0;padding:0 12px}.wk-npc-directory-clear:hover{background:var(--surface-2);color:var(--text)}.wk-npc-directory-clear:active{background:var(--surface-hover)}.wk-npc-directory-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:12px}.wk-npc-directory-filters{flex-wrap:wrap;gap:6px;margin:14px 0 18px;display:flex}.wk-npc-directory-filters[data-enhanced=false]{visibility:hidden}.wk-npc-directory-filters a{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:42px;color:var(--muted);cursor:pointer;align-items:center;padding:9px 14px;font-size:13px;display:inline-flex}.wk-npc-directory-filters a[aria-current=true]{border-color:var(--accent-border);background:var(--accent-soft);box-shadow:inset 0 -2px var(--accent);color:var(--text-strong)}.wk-npc-directory-filters a:hover{border-color:var(--accent-border);color:var(--text)}.wk-npc-directory-filters a:active{background:var(--surface-hover)}.wk-npc-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.wk-npc-directory-grid[data-preview=true]{margin-bottom:10px}.wk-npc-directory-more{margin:0}.wk-npc-directory-more>summary{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--text-strong);font:650 14px/1.35 var(--display);cursor:pointer;padding:12px 14px}.wk-npc-directory-more>summary:hover,.wk-npc-directory-more[open]>summary{border-color:var(--accent-border);background:var(--surface-2);color:var(--accent-hot)}.wk-npc-directory-more[open]>summary{margin-bottom:10px}.wk-npc-directory-grid>li{min-width:0}.wk-npc-directory-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:100%;min-height:188px;clip-path:var(--cut);grid-template-columns:132px minmax(0,1fr);transition:border-color .14s,background .14s;display:grid;overflow:hidden}.wk-npc-directory-card:hover{border-color:var(--accent-border);background:var(--surface-2)}.wk-npc-directory-card:not([data-has-art]){grid-template-columns:92px minmax(0,1fr)}.wk-npc-directory-portrait{border-right:1px solid var(--border);background:linear-gradient(135deg, transparent 49.5%, #ffffff09 50%, transparent 50.5%), radial-gradient(circle at 50% 43%, var(--surface-3), var(--bg-elevated) 72%);place-items:center;width:100%;height:100%;min-height:186px;display:grid;position:relative;overflow:hidden}.wk-npc-directory-portrait:after{background:var(--accent);content:"";width:28px;height:2px;position:absolute;bottom:0;right:0}.wk-npc-directory-portrait .wk-icon{object-fit:contain;width:124px;height:124px;transition:transform .16s}.wk-npc-directory-card:hover .wk-npc-directory-portrait .wk-icon{transform:scale(1.035)}.wk-npc-directory-art-fallback{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);width:70px;min-height:78px;color:var(--muted);text-align:center;place-self:center;place-items:center;padding:8px 5px;display:grid}.wk-npc-directory-art-fallback>span{color:var(--muted-soft);font:650 22px/1 var(--display)}.wk-npc-directory-art-fallback small{max-width:7ch;font-size:9px;line-height:1.2}.wk-npc-directory .wk-icon{image-rendering:auto}.wk-npc-directory-content{flex-direction:column;min-width:0;padding:13px 14px 12px;display:flex}.wk-npc-directory-title>span,.wk-npc-directory-loot-label{color:var(--muted-soft);font:700 10px/1.2 var(--display);letter-spacing:.09em;text-transform:uppercase}.wk-npc-directory-title h2{color:var(--text-strong);font:650 20px/1.1 var(--display);letter-spacing:0;margin:3px 0 9px}.wk-npc-directory-title a{cursor:pointer}.wk-npc-directory-title a:hover{color:var(--accent-hot)}.wk-npc-directory-facts{background:var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid}.wk-npc-directory-facts>div{background:var(--bg-elevated);min-width:0;padding:6px 7px}.wk-npc-directory-facts dt{color:var(--muted);font-size:10px;line-height:1.2}.wk-npc-directory-facts dd{color:var(--text);overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;line-height:1.25}.wk-npc-directory-loot{align-items:center;gap:6px;min-height:58px;margin-top:auto;padding-top:7px;display:flex}.wk-npc-directory-loot-label{flex:0 0 54px;width:54px;line-height:1.35}.wk-npc-directory-loot .wk-item-reference{width:54px}.wk-npc-directory-loot .wk-item-reference-target{padding:2px}.wk-npc-directory-loot-art>a{cursor:pointer;border:1px solid #0000;align-items:center;min-width:64px;min-height:48px;padding:2px 5px;display:flex}.wk-npc-directory-loot-art>a:hover{border-color:var(--border-strong);background:var(--surface-hover)}.wk-npc-directory-loot-art .wk-icon{object-fit:contain;width:48px;height:48px}.wk-npc-directory-loot-art strong{color:var(--text-strong);font-size:12px}.wk-npc-directory-loot-odds{gap:2px;display:grid}.wk-npc-directory-loot-odds strong{color:var(--accent-hot);font-size:13px}.wk-npc-directory-loot-odds small{color:var(--muted);font-size:11px}.wk-npc-directory-empty{border:1px solid var(--border);background:var(--surface);text-align:center;min-height:260px;padding:36px 16px}.wk-npc-directory-empty h2{font:600 26px/1.2 var(--display)}.wk-npc-directory-empty p{color:var(--muted);font-size:14px}.wk-npc-directory-notes{margin-top:22px}.wk-npc-directory :is(a,button,input,summary):focus-visible{outline:2px solid var(--accent-hot);outline-offset:3px}@media (max-width:880px){.wk-npc-directory-grid{grid-template-columns:1fr}}@media (max-width:600px){.wk-npc-directory{padding-top:18px}.wk-npc-directory-heading{margin-bottom:14px;display:block}.wk-npc-directory-heading h1{margin-bottom:5px}.wk-npc-directory-heading p{font-size:13px}.wk-npc-directory-toolbar{flex-direction:column;align-items:stretch;gap:10px}.wk-npc-directory-search{width:100%}.wk-npc-directory-filters{gap:4px;margin:8px 0 12px}.wk-npc-directory-filters a{min-height:40px;padding:8px;font-size:12px}.wk-npc-directory-card{grid-template-columns:106px minmax(0,1fr);min-height:164px}.wk-npc-directory-card:not([data-has-art]){grid-template-columns:78px minmax(0,1fr)}.wk-npc-directory-art-fallback{width:62px;min-height:70px}.wk-npc-directory-portrait{min-height:162px}.wk-npc-directory-portrait .wk-icon{width:100px;height:100px}.wk-npc-directory-content{padding:10px 10px 9px}.wk-npc-directory-title h2{margin-bottom:7px;font-size:18px}.wk-npc-directory-facts>div{padding:5px}.wk-npc-directory-facts dd{font-size:11px}.wk-npc-directory-loot{min-height:50px;padding-top:5px}.wk-npc-directory-loot-label{flex-basis:48px;width:48px;font-size:9px}.wk-npc-directory-loot .wk-item-reference{width:48px}.wk-npc-directory-loot .wk-item-reference-art,.wk-npc-directory-loot .wk-item-reference-art .wk-icon{width:42px;height:42px}}@media (max-width:390px){.wk-npc-directory-card{grid-template-columns:92px minmax(0,1fr)}.wk-npc-directory-portrait .wk-icon{width:86px;height:86px}}@media (prefers-reduced-motion:reduce){.wk-npc-directory-card,.wk-npc-directory-portrait .wk-icon{transition:none}.wk-npc-directory-card:hover .wk-npc-directory-portrait .wk-icon{transform:none}}
