.map-guide .map-region{display:grid;grid-template-columns:96px minmax(0,1fr);gap:30px;padding:28px 0 32px;border-top:1px solid #38242b}.map-guide .map-region>h2{background:#630a1f;color:#fff;font-size:16px;font-weight:700;text-align:center;margin:0;padding:8px 5px;border:0;align-self:start;line-height:1.7;scroll-margin-top:24px}.map-guide>h1{margin-bottom:34px}.map-region-places{min-width:0;display:grid;grid-template-columns:1fr;gap:26px}.map-root-entry{min-width:0}.map-place-link{display:inline-flex;align-items:center;gap:14px;max-width:100%;font-size:16px;font-weight:600;color:#eee;line-height:1.8}.map-place-link>img{width:64px;height:76px;object-fit:contain;image-rendering:pixelated;flex:none}.map-place-link:hover{background:none}.map-place-link:hover>span{color:#e4b4c4;text-decoration:underline;text-underline-offset:5px}.map-place-link>span{overflow-wrap:anywhere}.map-place-children{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px;border-left:1px solid #38242b;padding:0 0 0 18px;margin:18px 0 0 18px}.map-child-entry{min-width:0}.map-place-small{font-size:14px;font-weight:500;gap:10px}.map-place-small>img{width:52px;height:64px}.map-child-rooms{border:0;background:none;padding:0;margin:9px 0 0 4px;font-size:13px;color:#b9a2ac}.map-child-rooms>summary{padding:0;cursor:pointer;color:#ba9aa8;line-height:1.8}.map-child-rooms .map-place-children{grid-template-columns:1fr;gap:13px;padding-left:12px;margin:15px 0 0 5px}.map-child-rooms .map-place-small{font-size:13px}.map-child-rooms .map-place-small>img{width:40px;height:48px}.map-location-parent{color:#aa959f;font-size:14px}.map-related-people{display:flex;gap:15px 28px;flex-wrap:wrap;margin:20px 0 35px}.map-guide-back{margin:40px 0 25px;font-size:14px}.map-location .home-map{margin:32px 0 40px}.map-location .map-image-frame{width:100%}.map-location .map-image-frame>a{display:flex;justify-content:center;min-width:0}.map-location .map-image-frame img{max-width:100%;height:auto}.map-location .map-place-children{margin-bottom:35px}.map-location h2{margin-top:35px}.map-guide .map-root-entry+.map-root-entry{border-top:1px solid #23151b;padding-top:24px}@media(max-width:1100px){.map-place-children{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.map-guide .map-region{gap:22px;grid-template-columns:88px minmax(0,1fr)}.map-place-link{font-size:15px}.map-place-small{font-size:13px}}@media(max-width:760px){.map-guide .map-region{grid-template-columns:1fr;gap:23px;padding:25px 0}.map-guide .map-region>h2{width:96px;font-size:15px}.map-place-children{padding-left:12px;margin-left:8px;gap:20px 14px}.map-place-small{display:flex;align-items:center;gap:8px}.map-place-small>img{width:42px;height:54px}.map-child-rooms{margin-left:0}.map-child-rooms .map-place-small{font-size:12px}.map-child-rooms .map-place-small>img{width:30px;height:40px}.map-location>.map-place-children{grid-template-columns:1fr 1fr}.map-location .home-map{margin:25px 0 35px}}

/* Native 16px icons displayed at an integer scale. */
.map-place-link>img,.map-place-small>img,.map-child-rooms .map-place-small>img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}

.map-location-facts{margin:24px 0 32px;border-top:1px solid #38242b}.map-location-facts>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:15px 0;border-bottom:1px solid #38242b}.map-location-facts dt{color:#c99aa9}.map-location-facts dd{margin:0;line-height:1.9}.map-intro{line-height:1.9}.map-notes{padding-left:22px;line-height:2}.map-notes li+li{margin-top:10px}.map-connections{display:flex;gap:20px 32px;flex-wrap:wrap;margin:24px 0 36px}.map-shop-owner{color:#b9a2ac}.map-location .npc-shop-products{margin-bottom:35px}.map-spoiler{border:1px solid #38242b;background:#100b0d;margin:18px 0;padding:0}.map-spoiler>summary{padding:18px 22px;color:#d4a5b7;cursor:pointer;font-weight:600}.map-spoiler>div{padding:0 22px 20px}.map-spoiler .trivia-picture{margin:20px 0}.map-location .npc-shop-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,30%)}.map-location .npc-shop-price{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;white-space:normal;justify-content:flex-start;text-align:left;min-width:0}.map-location .npc-shop-price .item-chip{white-space:normal}.map-location .map-guide-back{margin-top:45px}@media(max-width:760px){.map-location-facts>div{grid-template-columns:100px minmax(0,1fr);gap:16px}.map-location .npc-shop-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,38%);gap:14px}.map-location .npc-shop-price{flex-wrap:wrap}.map-spoiler>summary{padding:15px}.map-spoiler>div{padding:0 15px 15px}}

.map-location .shop-product-name{min-width:0}.map-location .shop-product-name .item-chip{white-space:normal;overflow-wrap:anywhere}.map-location .npc-shop-price .item-chip{min-width:0;overflow-wrap:anywhere}

/* Location articles: native maps, building indexes, and concise access information. */
.location-wiki .location-intro{line-height:1.95;margin-bottom:22px}.location-facts{margin:18px 0 26px}.location-facts>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;margin:12px 0}.location-facts dt{color:#b598a5}.location-facts dd{margin:0;line-height:1.9}.location-route{padding-left:26px;line-height:2;margin:15px 0 28px}.location-route li+li{margin-top:8px}.location-gallery{margin:22px 0 34px}.location-image{position:relative;padding:0 36px}.location-image>a{display:block;text-align:center}.location-image img{display:inline-block;max-width:100%;height:auto;image-rendering:pixelated;vertical-align:middle}.location-image button{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:52px;padding:0;border:0;border-radius:3px;background:rgba(110,110,110,.18);color:rgba(255,255,255,.6);font-size:26px;cursor:pointer}.location-image .location-prev{left:0}.location-image .location-next{right:0}.location-gallery figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:15px;color:#ad99a2;font-size:12px}.location-gallery figcaption>span:last-child{display:flex;gap:20px;align-items:center}.location-gallery figcaption strong{font-weight:400}.location-original{color:#b79aa8;text-decoration:none}.location-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.location-table th{background:#630a1f;color:#fff;font-weight:600;padding:12px 16px}.location-table td{padding:20px 16px;border-bottom:1px solid #38242b;vertical-align:middle;overflow-wrap:anywhere}.location-table th:first-child{width:44%}.location-table th:last-child{width:28%}.location-building{display:flex;gap:18px;align-items:center;min-width:0}.location-building>div{min-width:0}.location-building small{display:block;color:#a48b98;font-size:12px;margin-top:5px}.location-building a{color:#d3a5b6;text-decoration:none}.location-building a:hover{text-decoration:underline}.location-thumb{display:flex;width:104px;min-width:104px;justify-content:center;align-items:center}.location-thumb img{display:block;max-width:104px;max-height:150px;width:auto;height:auto;object-fit:contain;image-rendering:pixelated}.location-shop-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;margin:28px 0}.location-shop-overview .location-gallery{margin:0}.location-shop-overview .location-facts{margin:0}.location-shop-overview .location-facts>div{grid-template-columns:1fr;gap:4px;margin:0 0 18px}.location-shop-overview .location-image{padding:0 30px}.map-product-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,30%);gap:18px;background:#630a1f;color:#fff;padding:12px 14px;font-weight:600}.location-wiki .npc-shop-products{border:0;padding:0;margin-top:0}.location-wiki .npc-shop-product{padding:16px 14px;border-bottom:1px solid #38242b;margin:0}.location-wiki .item-chip img{image-rendering:pixelated}.location-wiki .shop-product-fold{border:0;background:none;margin:0;padding:0}.location-wiki .shop-product-fold>summary{text-align:center;color:#aa929e;font-size:13px;padding:18px;list-style:none}.location-wiki .shop-product-fold[open]>summary{display:none}.location-wiki .shop-product-rest{padding:0}.location-wiki .shop-product-collapse{display:block;margin:18px auto;border:0;background:none;color:#aa929e}.location-wiki .map-related-people{line-height:2}
@media(max-width:760px){.location-facts>div{grid-template-columns:100px minmax(0,1fr);gap:14px}.location-table td,.location-table th{padding:12px 8px}.location-table th:first-child{width:45%}.location-building{gap:10px;flex-wrap:wrap}.location-thumb{width:64px;min-width:64px}.location-thumb img{max-width:64px;max-height:90px}.location-shop-overview{grid-template-columns:1fr;gap:22px}.location-shop-overview .location-gallery{max-width:450px;width:100%;margin:auto}.location-shop-overview .location-facts>div{grid-template-columns:100px 1fr;gap:14px}.location-image{padding:0 24px}.location-image button{width:20px;height:44px;font-size:23px}.location-gallery figcaption{gap:10px}.location-gallery figcaption>span:last-child{gap:12px;flex-shrink:0}.map-product-head{grid-template-columns:minmax(0,1fr) minmax(110px,38%);gap:14px;padding:10px}.location-wiki .npc-shop-product{padding:14px 10px}}

.location-image img{width:min(100%,calc(var(--map-native)*2));max-width:100%;height:auto}

.location-door-sign{display:flex;align-items:center;flex:none;width:64px}.location-door-sign img{display:block;width:64px;height:32px;image-rendering:pixelated}

.location-table th,.location-table td{text-align:center}.location-table .location-building{justify-content:center;text-align:center}

.location-stacked-table th,.location-stacked-table th:first-child,.location-stacked-table th:last-child{width:33.333333%}.location-stacked-table .location-building{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center}.location-stacked-table .location-thumb{height:108px;width:100%;min-width:0}.location-stacked-table .location-thumb img{max-width:96px;max-height:104px}.location-stacked-table td{padding:16px 10px;height:167px}.location-stacked-table .location-building>div{width:100%;text-align:center}@media(max-width:760px){.location-stacked-table .location-thumb{height:85px}.location-stacked-table .location-thumb img{max-width:64px;max-height:78px}.location-stacked-table td{padding:16px 6px}.location-stacked-table .location-building{gap:12px}}

.office-entry ol{line-height:2;padding-left:25px}.office-entry-images{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px;align-items:center;margin:24px 0 36px}.office-entry-images figure{margin:0;text-align:center;min-width:0}.office-entry-images img{display:block;max-width:100%;height:auto;image-rendering:pixelated;margin:auto}.office-entry-images figcaption{font-size:13px;color:#b59ba8;margin-top:12px}.office-entry-overview{position:relative;max-width:480px;margin:auto}.office-door-marker{position:absolute;left:29.5%;top:3%;width:8.2%;height:10.5%;border:2px solid #bd3355;pointer-events:none}@media(max-width:600px){.office-entry-images{grid-template-columns:1fr;gap:22px}.office-entry-images figure:last-child img{max-width:160px}}

.office-entry-white .office-entry-images{grid-template-columns:minmax(0,2fr) 38px minmax(0,1fr);gap:18px;margin-top:30px}.office-entry-white .office-door-marker{border:2px solid #f3eee8;box-shadow:0 0 0 1px #202020;top:2.5%;height:11%}.office-door-label{position:absolute;left:40%;top:4%;background:#111;color:#f3eee8;padding:2px 8px;font-size:12px;white-space:nowrap}.office-entry-arrow{font-size:34px;text-align:center;color:#f3eee8}.office-door-photo{border:1px solid #f3eee8;padding:10px;background:#080808}.office-entry-detail{max-width:190px;width:100%;justify-self:center}.office-entry-white .office-entry-detail figcaption{color:#f3eee8}.office-entry-detail p{font-size:12px;color:#ad99a3;margin:5px 0 0}@media(max-width:600px){.office-entry-white .office-entry-images{grid-template-columns:1fr;gap:12px}.office-entry-arrow{transform:rotate(90deg);line-height:1}.office-entry-detail{max-width:160px}.office-door-label{font-size:11px;left:41%;padding:1px 5px}}

.location-people-roster{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 16px;margin:0;padding:42px 0 38px;text-align:center}.location-people-roster li{margin:0;padding:0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:25px}.location-person-sprite{height:64px;display:flex;align-items:flex-end;justify-content:center}.location-people-roster .npc-walk{margin:0;animation:none;transform:none;background-position:0 0}.location-person-name{color:#d3a5b6;line-height:1.8;overflow-wrap:anywhere}.location-person-name a{background:none}.location-person-name a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:400px){.location-people-roster{gap:30px 8px;padding-top:30px}.location-person-name{font-size:14px}}
.map-entry-step{margin:36px 0 44px;min-width:0}.map-entry-step>h3{font-size:16px;font-weight:600;color:#d3a5b6;margin:0 0 18px;line-height:1.8}.map-entry-context{width:min(100%,var(--entry-overview-width));max-width:640px}.map-entry-marker{position:absolute;box-sizing:border-box;border:2px solid #f3eee8;box-shadow:0 0 0 1px #202020;pointer-events:none}.map-entry-detail{max-width:224px}.map-entry-detail img{width:var(--entry-detail-width);max-width:100%;height:auto}.map-entry-detail a{display:block}.location-access{min-width:0}.location-access .location-route{line-height:1.9}.map-entry-step .office-entry-images{margin-top:0}.map-entry-context a{display:block}@media(max-width:600px){.map-entry-step{margin:28px 0 36px}.map-entry-detail{max-width:224px}.map-entry-step .office-entry-images{gap:14px}.map-entry-detail p{line-height:1.8}}

.location-access .location-route{list-style:none;padding-left:0}.location-access .location-route li{position:relative;padding-left:1.2em}.location-access .location-route li::before{content:"·";position:absolute;left:.15em;font-weight:700}

.station-menu-figure{margin:24px 0;text-align:left}.station-menu-figure img{display:block;width:min(100%,420px);height:auto;image-rendering:pixelated}.station-menu-figure figcaption{color:#b59ba8;font-size:13px;margin-top:8px}

.station-guide{margin:28px 0 36px}.station-guide .office-entry-images{margin:0}.station-guide-menu{max-width:300px;width:100%;justify-self:center}.station-guide-menu img{width:100%;height:auto;image-rendering:pixelated}.station-guide-menu figcaption{color:#b59ba8;font-size:13px;margin-top:8px}@media(max-width:600px){.station-guide-menu{max-width:240px}}

.location-building small{color:#929292}.apartment-area{margin:32px 0 46px}.apartment-area h3{margin:0 0 12px;font-size:18px;color:#eee}.apartment-area .location-gallery{margin-top:18px}

.apartment-stairs{margin:36px 0}.apartment-stairs h3{font-size:18px;color:#eee;margin:0 0 14px}

.spoiler-hint{font-size:13px;font-weight:400;color:#a999a1}

.elevator-interior .map-entry-context{width:min(100%,calc(var(--entry-overview-width) * 2))}.elevator-interior .map-entry-context img{width:100%;max-width:100%;image-rendering:pixelated}

.shop-before-opening{margin:20px 0 28px}.shop-before-opening img{display:block;width:504px;max-width:100%;height:auto;image-rendering:pixelated}.shop-before-opening figcaption{color:#ad99a2;font-size:13px;margin-top:8px}

.map-fish-head,.map-fish-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center}.map-fish-head{background:#630a1f;color:#fff;font-weight:600;padding:12px 16px}.map-fish-row{border-bottom:1px solid #38242b;padding:14px 16px;min-height:78px}.map-fish-name a{display:flex;align-items:center;gap:12px;color:#d3a5b6;text-decoration:none}.map-fish-name a:hover{text-decoration:underline}.map-fish-name img{width:40px;height:40px;object-fit:contain;image-rendering:pixelated;flex:none}.map-fish-row small{display:block;color:#ab939d;font-size:13px;line-height:1.6}.map-fish-list{margin-bottom:36px}@media(max-width:600px){.map-fish-head,.map-fish-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px 6px;font-size:13px}.map-fish-name a{gap:5px}.map-fish-name img{width:30px;height:30px}.map-fish-row small{font-size:12px;overflow-wrap:anywhere}}

.map-fish-unlinked{display:flex;align-items:center;gap:12px;color:#d3a5b6}@media(max-width:600px){.map-fish-unlinked{gap:5px}}

.map-fish-linked{display:flex;align-items:center;gap:12px}.map-fish-linked a{display:inline;color:#d3a5b6;text-decoration:none}.map-fish-linked a:hover{text-decoration:underline}@media(max-width:600px){.map-fish-linked{gap:5px}}
