.npc-card{border:1px solid #442430;background:#100b0d;overflow:hidden}.npc-card>.portrait{display:block;width:100%;height:auto;margin:0;object-fit:contain}.npc-card-name{padding:10px 12px;background:#630a1f;text-align:center}.npc-card .npc-card-name h2{margin:0;padding:0;border:0;background:transparent;font-size:21px;line-height:1.4;color:#fff}.npc-card-name p{margin:3px 0 0;font:italic 15px/1.4 Georgia,serif;color:#e7c7d1}.npc-card .character-sprite{display:flex;align-items:center;justify-content:center;height:104px;padding:20px 0;background:#100b0d;border-bottom:1px solid #442430}.npc-walk{display:block;width:32px;height:64px;background-repeat:no-repeat;background-size:128px 64px;image-rendering:pixelated;animation:npc-walking .64s steps(4,end) infinite}@keyframes npc-walking{from{background-position:0 0}to{background-position:-128px 0}}.npc-card dl{margin:0;padding:12px 16px;font-size:14px}.npc-card dl .npc-fact{display:flex;gap:12px;margin:0;padding:9px 0;border:0;border-bottom:1px solid #442430}.npc-card dl .npc-fact:last-child{border:0}.npc-card .npc-fact dt{min-width:58px;color:#a29499;font-weight:normal;background:transparent;padding:0;border:0}.npc-card .npc-fact dd{margin:0;padding:0;color:#ddd;background:transparent;line-height:1.85;overflow-wrap:anywhere}.npc-card dd a{color:#d9a6b6}.home-map.map-gallery figcaption{justify-content:space-between;text-align:left}.home-map.map-gallery figcaption>span{text-align:left}.npc-spouse-gallery .home-map.map-gallery figcaption{justify-content:flex-start}@media(prefers-reduced-motion:reduce){.npc-walk{animation:none}}
.home-map.map-gallery figcaption{width:100%;max-width:100%;margin-inline:0;justify-content:space-between;text-align:left}.npc-walk-static{animation:npc-walk-step .64s ease-in-out infinite}@keyframes npc-walk-step{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.npc-walk-static{animation:none}}
.npc-spouse-gallery .map-image-frame img{height:288px;width:auto;max-height:none;max-width:100%}.npc-spouse-gallery figure:nth-child(2) .map-image-frame img{height:192px}.npc-spouse-gallery .map-gallery{max-width:100%;margin-top:10px}.npc-spouse-gallery{gap:40px}

.npc-card .npc-fact dt{background:#630a1f;color:#fff;padding:4px 8px;display:flex;align-items:center;justify-content:center;align-self:stretch}

.npc-card-name p{font-family:Georgia,serif;font-style:italic;font-size:18px;letter-spacing:0}
.npc-card dl{display:grid;grid-template-columns:78px minmax(0,1fr);padding:0;margin:0}
.npc-card dl .npc-fact{display:contents}
.npc-card .npc-fact dt{min-width:0;margin:0;padding:14px 12px;display:flex;align-items:center;justify-content:center;align-self:stretch;background:#630a1f;color:#fff;border:0;border-top:1px solid #813048}
.npc-card .npc-fact dd{min-width:0;margin:0;padding:14px 16px;display:flex;align-items:center;background:#100b0d;color:#eee;border-top:1px solid #442430;line-height:1.5;flex-wrap:wrap;gap:0 5px}
.npc-card .npc-fact-favorite dd{color:#dbb2bf}

.item-chip img{transition:transform .18s ease;transform-origin:center;position:relative}.item-chip img:hover{transform:scale(1.5);z-index:2}.item-link{color:inherit;text-decoration:none}.item-link:hover{text-decoration:underline}.item-detail-image{width:96px;height:96px;image-rendering:pixelated;object-fit:contain}@media(prefers-reduced-motion:reduce){.item-chip img{transition:none}}

.trivia-list .item-chip{display:inline;margin:0;vertical-align:baseline;white-space:normal}.trivia-list .item-chip img{width:1.5em;height:1.5em;vertical-align:-.35em;margin:0 .25em;}

.portrait-gallery+h3{margin-top:36px;margin-bottom:18px}#portraits+h3{margin-top:22px;margin-bottom:18px}

.npc-shop{margin:28px 0 48px}.npc-shop>h3{background:#490b20;color:#fff;padding:12px 18px;margin:0 0 20px}.npc-shop .map-image-frame{max-width:950px;margin-inline:auto}.npc-shop .home-map img{max-height:650px}.npc-shop .home-map{margin-top:24px}

.npc-shop{margin:28px 0 48px;background:#000;padding:0 24px 24px}
.npc-shop>h3{margin:0 -24px 24px;padding:12px 20px;background:#620d26}
.npc-shop-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center}
.npc-shop .home-map{margin:0;min-width:0;width:100%}
.npc-shop .map-image-frame{max-width:100%;margin:0 auto}
.npc-shop .map-image-frame img{width:100%;height:auto;max-height:440px;object-fit:contain}
.npc-shop .home-map figcaption{font-size:.85rem;margin-top:10px;color:#aa939b}
.npc-shop-facts{margin:0;min-width:0}
.npc-shop-facts>div+div{margin-top:22px}
.npc-shop-facts dt{color:#cd96a8;margin-bottom:5px}
.npc-shop-facts dd{margin:0;line-height:1.7}
.npc-shop-products{margin-top:24px;border-top:1px solid #492530;padding-top:18px}
.npc-shop-product{display:flex;align-items:center;justify-content:space-between;gap:18px}
.npc-shop-product+.npc-shop-product{margin-top:14px}
.npc-shop-price{white-space:nowrap;color:#e7c2cf}
@media(max-width:760px){.npc-shop-layout{grid-template-columns:1fr;gap:24px}.npc-shop{padding:0 18px 20px}.npc-shop>h3{margin-inline:-18px}.npc-shop .map-image-frame{max-width:420px}}

.npc-shop .shop-product-fold{margin:14px 0 0;padding:0;border:0;background:none}
.npc-shop .shop-product-fold>summary,.npc-shop .shop-product-collapse{display:block;width:100%;list-style:none;text-align:center;padding:14px 0;font:inherit;font-size:14px;font-weight:400;line-height:1.65;color:#969096;background:none;border:0;border-bottom:1px solid #28171e;cursor:pointer}
.npc-shop .shop-product-fold>summary::-webkit-details-marker{display:none}
.npc-shop .shop-product-fold>summary:hover,.npc-shop .shop-product-collapse:hover{color:#c5b4bb}
.npc-shop .shop-product-fold[open]>summary{display:none}
.npc-shop .shop-product-rest{padding:0}
.npc-shop .shop-product-collapse{margin-top:14px}
.npc-shop .shop-paid{margin-top:32px}
.shop-paid-character{padding:22px 0;border-top:1px solid #492530}
.shop-paid-character h4{margin:0 0 10px;color:#e7c2cf}
.shop-paid-character .hint{margin:0 0 18px}
.shop-trade-cost{color:#e7c2cf;text-align:right}
@media(max-width:600px){.shop-paid-character .npc-shop-product{align-items:flex-start;flex-wrap:wrap}.shop-trade-cost{text-align:left}}

/* Keep every cost at the same left edge, including trade materials. */
.npc-shop .npc-shop-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,28%);gap:24px;align-items:center}
.shop-product-name{min-width:0}.shop-product-description{display:block;color:#a69aa0;font-size:12px;line-height:1.6;margin:5px 0 0 40px}
.npc-shop .npc-shop-price,.npc-shop .shop-trade-cost{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 8px;min-width:0;text-align:left;white-space:normal}
.npc-shop-price>span{white-space:nowrap}.npc-shop-price .item-chip{white-space:normal;min-width:0}
.npc-map-large .map-image-frame{display:block;width:1100px;max-width:100%}.npc-map-large .map-image-frame img{width:100%;height:auto;max-height:none}
.npc-shop .map-image-frame:not(:has(.map-arrow)){display:block;width:100%}
@media(max-width:760px){.npc-shop .npc-shop-product{grid-template-columns:minmax(0,1fr) minmax(0,44%);gap:14px}.npc-shop .npc-shop-price{font-size:13px}.npc-shop-price .item-chip{gap:6px}.npc-shop-price .item-chip img{width:26px;height:26px}.shop-product-description{margin-left:0}}

.article-layout>.article-lead{align-self:start}

.npc-walk-wide{width:64px;height:64px;background-size:256px 64px;animation-name:npc-walking-wide}@keyframes npc-walking-wide{from{background-position:0 0}to{background-position:-256px 0}}

/* Region directory: consistent rows and evenly spaced people. */
.npc-overview .npc-region-grid{display:flex;flex-direction:column;gap:28px;margin:24px 0 40px}
.npc-overview .npc-region{display:grid;grid-template-columns:112px minmax(0,1fr);gap:26px;align-items:start;padding:22px 0;border-top:1px solid #442430}
.npc-overview .npc-region>.npc-bar{padding:8px 10px;text-align:center;font-size:16px}
.npc-overview .npc-region .npc-region-people{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;grid-template-rows:none;gap:12px 20px;padding:0}
.npc-overview .npc-region .npc-person{min-height:60px;gap:12px;font-size:15px;font-weight:500;padding:6px 4px}
.npc-overview .npc-region .npc-person img{width:40px;height:48px;object-fit:contain;flex-shrink:0}
.npc-overview .npc-region .npc-person:hover{color:#efb8cb;background:#150b10;text-decoration:none}
@media(max-width:1100px){.npc-overview .npc-region .npc-region-people{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.npc-overview .npc-region{grid-template-columns:1fr;gap:14px;padding:18px 0}.npc-overview .npc-region>.npc-bar{text-align:left;padding:7px 12px}.npc-overview .npc-region .npc-region-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.npc-overview .npc-region-grid{gap:12px}.npc-overview .npc-region .npc-person{font-size:14px}}

.npc-single-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:48px;align-items:center;max-width:960px;margin:48px auto 64px;min-height:240px}
#npc-single-person{min-width:0;display:flex;justify-content:center}.npc-single-carousel .npc-major{flex:none;width:180px;padding:12px 0;gap:24px}.npc-single-carousel .npc-major img{width:80px;height:128px;object-fit:contain;image-rendering:pixelated}
.npc-single-carousel>button{background:transparent;border:0;color:#ccc;font-size:42px;line-height:1;width:44px;height:64px;padding:0;opacity:.65}.npc-single-carousel>button:hover,.npc-single-carousel>button:focus-visible{opacity:1;color:#fff}
@media(max-width:600px){.npc-single-carousel{gap:16px;margin:32px auto 40px;min-height:210px}.npc-single-carousel .npc-major{width:140px}.npc-single-carousel .npc-major img{width:72px;height:112px}}

.npc-overview .npc-person span{font-weight:700}

#npc-single-person .npc-major{width:100%;max-width:none;align-items:center}
#npc-single-person .npc-major>span{align-self:flex-start;margin-left:12%;text-align:left}

.npc-overview .npc-person,.npc-overview .npc-person:hover{background:transparent;border:0;color:#eee;cursor:default}
.npc-overview .npc-name-link{display:inline-block;width:fit-content;color:#eee;font-weight:700;text-decoration:none;cursor:pointer;transition:color .15s}
.npc-overview .npc-name-link:hover{color:#efb8cb;text-decoration:underline;font-weight:700;-webkit-text-stroke:0}
.npc-overview .npc-name-link:focus-visible{outline:1px solid #d793a8;outline-offset:4px}
#npc-single-person .npc-major>.npc-name-link{align-self:center;margin:0;text-align:center}

.support-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:32px 0}.support-options section{padding:24px;border-top:3px solid #630a1f;background:#100b0d}.support-options h2{margin-top:0}.support-visit{display:inline-block;padding:8px 16px;background:#630a1f;color:#fff}.release-version{margin:16px 0;border:1px solid #442430;padding:0 20px;background:#100b0d}.release-version>summary{padding:16px 0;font-size:19px;font-weight:bold}.release-version>div{padding:0 0 20px}.release-version h3{color:#e4b4c4;margin:24px 0 12px}.release-version p{margin:8px 0}@media(max-width:600px){.support-options{grid-template-columns:1fr;gap:20px}}

.category a[href="#/support"]{white-space:nowrap}.release-version>div>h3:first-child{margin-top:4px}.release-version>summary{padding-bottom:10px}.contact-platforms{display:flex;flex-wrap:wrap;gap:16px 28px;margin:24px 0}.contact-platforms .contact-email{font-size:inherit;margin:0}.qq-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;padding-left:22px}@media(max-width:600px){.qq-groups{grid-template-columns:1fr}}

@media(max-width:380px){.category a[href="#/support"]{font-size:12px;gap:6px}.category a[href="#/support"] img{width:20px;height:20px}}

.permissions-statement h1{color:#edcbd5}.permissions-statement h2{color:#e4b4c4}.permissions-statement p{color:#ccc5c8}

header .search,.portal-home header .search{max-width:420px;flex:1 1 360px}.permissions-closing{margin-top:42px;padding-top:12px}.bug-known,.bug-feedback{margin:28px 0 40px}.bug-known{border-left:3px solid #630a1f;padding:4px 20px}.bug-known h2{margin-top:0}.bug-feedback h2,.bug-known h2,.bug-send h3{color:#e4b4c4}.bug-feedback form{max-width:800px}.bug-feedback label{display:block;margin:18px 0;color:#e4cbd3;font-size:15px}.bug-feedback input,.bug-feedback textarea,.bug-feedback select{display:block;width:100%;box-sizing:border-box;margin-top:8px;border:1px solid #633342;border-radius:3px;background:#100b0d;color:#eee;padding:10px 12px;font:inherit}.bug-feedback textarea{resize:vertical}.bug-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bug-copy{background:#630a1f;color:#fff;border:1px solid #91435a;border-radius:3px;padding:11px 20px;cursor:pointer;font:inherit}.bug-copy:hover{background:#7b1430}.bug-feedback [hidden]{display:none!important}#bug-copy-status{color:#e4b4c4}.bug-send{border-top:1px solid #442430;margin-top:30px;padding-top:8px}@media(max-width:760px){header .search,.portal-home header .search{max-width:none;flex-basis:100%}.bug-fields{grid-template-columns:1fr;gap:0}}

.feedback-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.feedback-privacy{color:#aaa1a4;font-size:13px}.bug-copy:disabled{opacity:.6;cursor:wait}.feedback-admin-toolbar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:24px 0}.feedback-admin-toolbar select,.feedback-admin-toolbar button,.feedback-record button,.feedback-record select{background:#100b0d;color:#eee;border:1px solid #633342;padding:8px 12px;font:inherit}.feedback-record{border:1px solid #442430;margin:18px 0;padding:0 20px;background:#100b0d}.feedback-record summary{padding:16px 0;cursor:pointer;color:#e4b4c4}.feedback-record dl{display:grid;grid-template-columns:100px 1fr;gap:14px;margin:12px 0 24px}.feedback-record dt{color:#e4b4c4}.feedback-record dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-record time{font-size:13px;color:#aaa1a4}.feedback-error{color:#efb1c1}.feedback-success{color:#e4b4c4}@media(max-width:600px){.feedback-record{padding:0 12px}.feedback-record dl{grid-template-columns:1fr;gap:6px}.feedback-record dd{margin-bottom:12px}}

.log-tutorial{max-width:800px;margin:0 0 24px;padding:0 16px}.log-tutorial>summary{padding:12px 0;color:#e4b4c4;font-size:15px;cursor:pointer}.log-tutorial>div{padding:0 0 12px}.log-tutorial li{margin:10px 0;line-height:1.8}.log-tutorial code{overflow-wrap:anywhere}.log-tutorial kbd{font:inherit;color:#e4b4c4}

.category .category-unavailable{display:flex;align-items:center;gap:13px;font-size:15px;line-height:1.5;font-weight:600;color:#aaa1a4;min-height:32px;white-space:nowrap}@media(max-width:1000px){.category .category-unavailable{font-size:14px}}@media(max-width:380px){.category .category-unavailable{font-size:12px;gap:6px}.category .category-unavailable img{width:23px;height:23px}}

/* Shopkeeper and stock share a consistent two-column layout. */
.shop-seller-layout{display:grid;grid-template-columns:152px minmax(0,1fr);gap:32px;align-items:start;margin:24px 0 30px}.shop-seller-layout--no-owner{grid-template-columns:minmax(0,1fr)}.shop-seller-content{min-width:0}.shop-sellers{display:flex;flex-direction:column;gap:24px;align-items:center}.shop-seller{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px}.shop-seller-portrait{display:block;width:128px;max-width:100%;aspect-ratio:1;overflow:hidden;background:#1a1015}.shop-seller-portrait img{display:block;width:100%;height:100%;object-fit:cover}.shop-seller>a:not(.shop-seller-portrait){color:#e0bbc9;text-decoration:none}.shop-seller>a:not(.shop-seller-portrait):hover{text-decoration:underline}.shop-seller>span{color:#a58d97;font-size:13px}.npc-shop .shop-seller-content .npc-shop-products{margin-top:0}.location-wiki .shop-seller-content .npc-shop-products{margin-bottom:0}@media(max-width:600px){.shop-seller-layout{grid-template-columns:76px minmax(0,1fr);gap:14px}.shop-seller-layout--no-owner{grid-template-columns:minmax(0,1fr)}.shop-seller-portrait{width:76px}.shop-seller{font-size:13px}.shop-seller>span{font-size:12px}}
