@font-face{font-family:Special Elite;src:url('/assets/SpecialElite.ttf') format('truetype');font-display:swap}
:root{--ink:#ddd8cf;--muted:#a8a59b;--paper:#1b1d1b;--panel:#222521;--line:#383b34;--rust:#c17b70;--sidebar:220px;--type:'Special Elite',Georgia,serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#e6a196}button,input,select{font:inherit}button{cursor:pointer;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid #d68e7e;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--type)}img{max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-70px;left:20px;padding:12px;background:var(--panel);z-index:100}.skip-link:focus{top:10px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:34px 23px 24px;background:#141614;border-right:1px solid var(--line);z-index:30;display:flex;flex-direction:column;overflow:auto;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,#ffffff02 4px)}
.brand{display:block;font-family:var(--type);font-size:30px;line-height:1.12;letter-spacing:1.4px;color:#d4cbbb;padding:0 9px 35px}.brand small{font-size:22px;color:var(--rust)}.brand>span{display:block;margin-top:13px;font:10px Arial,sans-serif;letter-spacing:4px;color:#9f7167}.nav-link{display:block;padding:11px 12px;margin:4px 0;font-size:13px;color:#acaea2;border-left:2px solid transparent}.nav-link.active{border-left-color:#ad5c51;background:#332521;color:#ede0d6}.nav-link:hover{background:#252823;color:#e4dbce}.sidebar-note{border-top:1px solid var(--line);margin:35px 9px 0;padding-top:22px;font-size:9px;letter-spacing:1.2px;color:#ad8d7c}.sidebar-note p{font-size:11px;line-height:1.9;letter-spacing:0;color:#979b8e;margin:9px 0 0}.sidebar-about{font-size:11px;color:#9c9d91;margin:24px 9px 0}.site{margin-left:var(--sidebar)}.topbar{height:68px;border-bottom:1px solid var(--line);background:#191b19;display:flex;align-items:center;gap:25px;padding:0 38px}.topbar-name{font-size:10px;font-weight:700;letter-spacing:1.5px}.topbar-name span{color:#97998c;font-weight:400;margin-left:10px}.search-launch{margin-left:auto;display:flex;align-items:center;gap:10px;width:310px;padding:8px 13px;border:1px solid #42453b;background:#242720;color:#b9bcad;font-size:12px;text-align:left}.search-launch>span{font-size:23px;line-height:1}.search-launch kbd{margin-left:auto}kbd{font-family:inherit;font-size:11px;line-height:1.5;border:1px solid #52564a;padding:0 5px;color:#aaa999;background:#20231e}.menu-button{display:none}
.hero{position:relative;isolation:isolate;min-height:248px;display:flex;align-items:center;overflow:hidden;border-bottom:2px solid #723e35;background:#1b221e}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('/assets/hearth.webp') center 54%/cover;filter:saturate(.46) brightness(.65)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#151917f2,#171c18a6 50%,#16191515),linear-gradient(0deg,#15171477,transparent)}.hero-copy{padding:31px 40px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#b89780}.hero h1{font-size:49px;line-height:1.2;letter-spacing:-1px;color:#e1d8c9;margin:14px 0 10px}.hero h1 span{color:#bd7164}.hero p{font-size:14px;letter-spacing:.2px;color:#c5c3b4;margin:0 0 17px}.themes{font-size:10px;color:#baa794;letter-spacing:.35px}.hero-caption{position:absolute;right:18px;bottom:10px;font-size:9px;color:#b2b3a6}
.home-content{max-width:1350px;padding:0 40px 36px;margin:auto}.home-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0 22px;color:#b0b2a4}.home-intro p{margin:0;font-size:13px}.home-intro>span{font-size:9px;letter-spacing:1.3px;color:#b99680}.essentials{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-bottom:28px;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:10px}.section-heading h2{font-size:25px;letter-spacing:-.4px;margin:0;line-height:1.4}.section-heading>a{font-size:11px;color:#c28a78;white-space:nowrap}.basics-panel nav>a{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:10px 2px;font-size:13px}.basics-panel nav>a:last-child{border-bottom:0}.basics-panel nav>a>span{color:#a18370}.townspeople-panel{border-left:1px solid var(--line);padding-left:32px}.residents{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:17px 0}.residents>a{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.residents img{width:64px;height:64px;image-rendering:pixelated;border:2px solid #524f40;filter:saturate(.75)}.residents h3{font-family:var(--type);font-size:20px;line-height:1.4;margin:0 0 4px}.residents p{font-size:11px;line-height:1.5;color:#b2ad9d;margin:0}.residents>a>span{display:none}.resident-links{font-size:12px;color:#c28a78;margin-top:24px}.systems-panel{padding-top:27px}.systems-list{display:grid;grid-template-columns:1fr 1fr;column-gap:35px}.system-link{position:relative;display:block;padding:13px 22px 13px 0;border-bottom:1px solid var(--line)}.system-link strong{display:block;font-size:13px;font-weight:500}.system-link>span{display:block;font-size:11px;color:#a4a79a;margin-top:3px}.system-link b{position:absolute;right:2px;top:13px;font-weight:400;color:#a18370}.pending-system{display:flex;gap:13px;align-items:center;margin-top:23px;font-size:12px}.pending-system a{color:#bdb5a6}.pending-system>span{font-size:10px;color:#b59179;border:1px solid #66503c;background:#30271f;padding:2px 7px}
footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:20px 40px;font-size:10px;color:#9c9c8d}footer>span{font-size:9px;letter-spacing:1.2px}footer>div{display:flex;gap:20px}.page-intro{max-width:760px;margin:8px 0 28px}.page-intro h1{font-size:39px;line-height:1.3;margin:12px 0 15px;letter-spacing:-.5px}.page-intro>p{font-size:15px;color:#b4b5a7;max-width:650px;line-height:1.8}.listing-wrap{max-width:1250px;margin:auto;padding:35px 40px;min-height:76vh}.filter-bar{display:flex;gap:18px;align-items:end;border-block:1px solid var(--line);padding:17px 0;margin-bottom:24px}.filter-bar label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#aaa99a}.filter-bar input,.filter-bar select{padding:9px 12px;background:#242820;border:1px solid #525447;color:#d1d1c0;font-size:13px}.filter-bar input{width:280px}.filter-bar p{margin:0 0 7px auto;font-size:11px;color:#aaa99a}.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.entry-card{border:1px solid var(--line);padding:20px;background:#22251f;min-width:0}.entry-card:hover{border-color:#875f50;background:#292b23;color:var(--ink)}.entry-card>div{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:19px}.entry-card>div>span:last-child{color:#c18a78}.entry-card h3{font-family:var(--type);font-size:20px;line-height:1.5;margin:0 0 9px}.entry-card p{font-size:12px;color:#afb0a1;line-height:1.8;margin:0}.badge{display:inline-flex;align-items:center;gap:6px;line-height:1.5;font-size:10px;letter-spacing:.2px;border:1px solid #4d5640;padding:3px 7px;background:#293121;color:#b5c39f;white-space:nowrap}.badge i{width:4px;height:4px;border-radius:50%;background:currentColor}.badge.planned,.badge.undocumented{background:#332a20;border-color:#69523b;color:#d0ae8d}
.article-wrap{max-width:1300px;margin:auto;padding:30px 40px 50px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#a8a797;margin-bottom:25px}.breadcrumbs a{color:#c18f7a}.breadcrumbs span{color:#7e7f71}.article-header{padding-bottom:21px;border-bottom:1px solid var(--line);margin-bottom:26px}.article-header h1{font-size:40px;line-height:1.3;margin:16px 0 12px}.article-header>p{font-size:15px;color:#b5b5a7;margin:0}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 195px;gap:35px;align-items:start}.article-body{min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.85;color:#c7c7b9}.article-body p{margin-bottom:20px}.article-body a{color:#d5a18b;text-decoration:underline;text-decoration-color:#7e6352;text-underline-offset:3px}.article-body a:hover{color:#f2c9b4}.article-body h1,.article-body h2{font-family:var(--type);font-size:25px;line-height:1.4;margin:33px 0 15px;color:#ddd5c8}.article-body h3{font-family:var(--type);font-size:20px;margin:25px 0 12px;line-height:1.5;color:#d2c9b9}.article-body h4{font-size:15px}.article-body ul,.article-body ol{padding-left:23px;margin:15px 0 24px}.article-body li{margin:7px 0}.article-body code{font-size:12px;background:#2e3027;color:#c3b99f;padding:2px 5px;overflow-wrap:anywhere}.article-body pre{padding:15px;background:#25281f;overflow:auto;white-space:pre-wrap}.article-body blockquote{font-family:Georgia,serif;border-left:3px solid #88564a;margin:25px 0;padding:14px 20px;background:#28251f;color:#bfb8a6}.article-body blockquote p:last-child{margin:0}.table-scroll{max-width:100%;overflow:auto;margin:24px 0;border:1px solid #45493a}table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.7}th{background:#303629;color:#c1c7b0;font-size:11px;font-weight:600;text-align:left;white-space:nowrap}td,th{padding:11px 13px;border-bottom:1px solid #424536;border-right:1px solid #424536}td{min-width:95px}tr:nth-child(even) td{background:#24281f}tr:last-child td{border-bottom:0}td:last-child,th:last-child{border-right:0}.heading-anchor{font:14px Arial,sans-serif;margin-left:10px;text-decoration:none!important;color:#aa8672!important;opacity:0}h1:hover .heading-anchor,h2:hover .heading-anchor,h3:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.source-reference{border-bottom:1px dotted #7c7f69;cursor:help}.status-note{padding:13px 17px;margin-bottom:25px;border-left:3px solid #976e49;background:#302a20;color:#c7b59a;font-size:12px}.conflict-note{background:#34251f;border:1px solid #73523d;padding:14px 17px;font-size:12px;color:#d5b69b;margin-bottom:24px}.conflict-note p{margin:6px 0 0}.article-aside{position:sticky;top:28px;max-height:90vh;overflow:auto;border-left:1px solid var(--line);padding-left:22px}.toc-title{font-size:10px;letter-spacing:1.2px;color:#baa28a;margin:0 0 13px}.article-aside nav a{display:block;font-size:12px;color:#aeb29e;line-height:1.65;padding:6px 0}.article-aside nav a.depth-3{padding-left:10px;font-size:11px}.related{border-top:1px solid var(--line);padding-top:21px;margin-top:23px}.related>a{display:block;font-size:12px;color:#b8a48b;margin:9px 0}.article-source{border-top:1px solid var(--line);padding:18px 0;margin-top:40px}.article-source summary{cursor:pointer;font-size:12px;color:#bba58c}.article-source p{font-size:11px;margin:7px 0}.article-source .small{color:#a5a48f}.resident-pair{display:flex;gap:17px;margin-bottom:24px}.resident-pair img{image-rendering:pixelated;border:3px solid #575442}.about-page{max-width:950px}.reference-page{max-width:1050px}.back-link{font-size:12px;color:#c3a48a}.sync-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#272d21;border:1px solid #4d553d;padding:23px;margin-bottom:26px}.sync-panel h2{font-size:23px;margin:8px 0}.sync-panel p{font-size:12px;color:#b4b99e;margin:6px 0}.sync-panel>a{font-size:12px;color:#c3b598}.review-panel{border:1px solid #70533a;background:#30271f;padding:23px;margin-bottom:30px}.review-panel h2{font-size:24px}.review-panel h3{font-size:14px;font-weight:600}.review-panel p{font-size:12px;color:#c2ad90}.review-panel a{text-decoration:underline}.source-list{border-top:1px solid var(--line)}.source-list>a{display:flex;gap:20px;align-items:center;padding:17px 8px;border-bottom:1px solid var(--line)}.source-list strong{font-size:13px;font-weight:500;display:block}.source-list div>span{font-size:11px;color:#a4a38f;display:block;margin-top:4px}.source-list time{margin-left:auto;font-size:11px;color:#aaa994;white-space:nowrap}.source-list>a>span{color:#be9c7e}.muted{font-size:12px;color:#aba893}.button{display:inline-flex;padding:10px 17px;background:#613b32;border:1px solid #895448;color:#e1c8b6;font-size:12px}
dialog{width:min(650px,calc(100% - 32px));max-height:80vh;padding:25px;border:1px solid #685749;background:#1e221c;color:var(--ink);box-shadow:0 25px 100px #000a}dialog::backdrop{background:#080b09d9;backdrop-filter:blur(3px)}.search-dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.search-dialog-header h2{font-size:25px;margin:0}.search-dialog-header button{border:0;background:none;font-size:28px;color:#b5b09c;line-height:1;padding:0 4px}#search-input{width:100%;background:#292e24;color:var(--ink);border:1px solid #60674f;padding:12px 15px;font-size:15px}#search-status{font-size:12px;color:#aaa994;margin:14px 0}#search-results{max-height:45vh;overflow:auto}.search-result{display:block;padding:15px 12px;border-top:1px solid var(--line)}.search-result:hover{background:#2c3125;color:var(--ink)}.search-result>div{display:flex;justify-content:space-between;align-items:center;gap:15px}.search-result strong{font-family:var(--type);font-size:19px;font-weight:400}.search-result p{font-size:12px;color:#b6b8a3;margin:7px 0 0}.search-help{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:12px;font-size:11px;color:#aaa994}.no-results{padding:20px 12px;background:#2a2e23}.no-results strong{font-size:18px}.no-results p{font-size:12px;color:#b5b59d;margin:8px 0}
@media(min-width:1600px){.hero-copy{padding-left:max(40px,calc((100vw - var(--sidebar) - 1270px)/2))}.hero{min-height:275px}}
@media(max-width:1150px){:root{--sidebar:200px}.sidebar{padding-inline:17px}.topbar{padding-inline:28px}.home-content,.listing-wrap,.article-wrap{padding-left:28px;padding-right:28px}.hero-copy{padding-left:30px}.hero h1{font-size:43px}.residents{gap:14px}.residents>a{display:block}.residents img{margin-bottom:7px}.residents h3{font-size:18px}.essentials{gap:26px}.townspeople-panel{padding-left:24px}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:minmax(0,1fr) 165px;gap:24px}.article-aside{padding-left:17px}.filter-bar input{width:220px}.filter-bar p{display:none}}
@media(max-width:900px){.topbar-name{display:none}.search-launch{flex:1;width:auto;max-width:360px}.article-layout{grid-template-columns:minmax(0,1fr)}.article-aside{display:none}.systems-list{column-gap:24px}.hero h1{font-size:40px}.section-heading h2{font-size:23px}}
@media(max-width:760px){:root{--sidebar:0px}.sidebar{width:235px;transform:translateX(-100%);visibility:hidden;transition:transform .2s;box-shadow:15px 0 60px #0009}.sidebar.open{transform:translateX(0);visibility:visible}.site{margin:0}.topbar{height:60px;padding-inline:18px;gap:15px}.menu-button{display:block;border:0;background:none;font-size:22px;padding:0 4px;color:#c2c1ad}.search-launch{max-width:none;padding:7px 11px}.hero{min-height:225px}.hero-copy{padding:28px 23px}.hero h1{font-size:39px}.hero p{font-size:13px}.themes{font-size:9px}.hero-caption{font-size:8px}.home-content{padding:0 22px 30px}.home-intro{padding:16px 0 22px}.home-intro p{font-size:12px}.home-intro>span{font-size:8px;letter-spacing:.6px}.essentials{grid-template-columns:1fr;gap:25px;padding-bottom:25px}.townspeople-panel{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.residents{gap:20px;grid-template-columns:1fr 1fr}.residents>a{display:flex;gap:11px}.residents img{width:56px;height:56px;margin:0}.residents h3{font-size:19px}.residents p{font-size:10px}.resident-links{margin-top:19px}.systems-list{grid-template-columns:1fr}.system-link{padding-block:13px}.system-link strong{font-size:14px}.system-link>span{font-size:12px}.section-heading h2{font-size:25px}.pending-system{flex-wrap:wrap;font-size:12px;gap:9px}.listing-wrap,.article-wrap{padding:25px 22px 40px}.page-intro h1,.article-header h1{font-size:33px}.article-body{font-size:14px}.article-body h2{font-size:24px}.entry-grid{gap:12px}.entry-card{padding:17px}.entry-card h3{font-size:18px}.filter-bar{flex-wrap:wrap;gap:13px}.filter-bar label{flex:1;min-width:150px}.filter-bar input{width:100%}.filter-bar select{max-width:100%}.sync-panel{flex-direction:column;align-items:start}.source-list>a{gap:12px}.source-list div>span{font-size:10px;overflow-wrap:anywhere}.source-list time{font-size:10px}footer{padding:20px 22px;flex-wrap:wrap;gap:12px}dialog{padding:20px}.search-result>div{flex-wrap:wrap}.search-result strong{font-size:18px}.search-dialog-header h2{font-size:23px}}
@media(max-width:430px){.hero h1{font-size:35px}.home-intro>span{font-size:7px}.entry-grid{grid-template-columns:1fr}.source-list time{display:none}.residents>a{display:block}.residents img{margin-bottom:8px}.residents p{font-size:11px}.filter-bar label{min-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Topic indexes: category → overview → specific page or source section. */
/* Fish and forage: linked rosters followed by compact item references. */
.catalog-filters{margin:18px 0 24px;padding:16px;border:1px solid #54483e;background:#242720}
.catalog-controls{display:flex;align-items:end;flex-wrap:wrap;gap:14px}
.catalog-controls>label{display:flex;flex:1 1 150px;flex-direction:column;gap:5px;font-size:12px;color:#d1c5b0}
.catalog-controls select{width:100%;min-height:40px;padding:8px;border:1px solid #686251;background:#171b16;color:#e2dac6;border-radius:2px}
.catalog-controls .catalog-edible{flex:0 1 auto;flex-direction:row;align-items:center;min-height:40px;gap:8px;white-space:nowrap}
.catalog-edible input{width:17px;height:17px;accent-color:#a56d58}
.catalog-controls button{min-height:40px;padding:8px 12px;border:1px solid #686251;border-radius:2px;background:#36382c;color:#e2dac6;font-size:12px}
.catalog-controls button:hover{background:#484336}
.article-body .catalog-count{margin:12px 0 0;color:#c4c4ad;font-size:12px}
.article-body .catalog-hint{margin:12px 0 0;font-size:12px;color:#b4b4a2}
.article-body .catalog-empty{margin:12px 0 0;padding-top:12px;border-top:1px solid #54483e;color:#e1c5b0}
@media(max-width:480px){.catalog-controls>label{flex-basis:100%}.catalog-controls .catalog-edible{flex:1 1 auto}.catalog-filters{padding:12px}}
.item-entry{min-width:0;margin:24px 0;padding:20px;border:1px solid #54483e;border-top:3px solid #805349;background:#1e211e}
.article-body .item-entry h3{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:25px;border-bottom:1px solid #45443a;padding-bottom:12px}
.item-entry h3 .game-sprite{width:40px;height:40px;flex-shrink:0}
.item-entry>p{font-size:13px;line-height:1.8}
.item-entry .table-scroll{margin:14px 0;border-color:#48493d}
.item-entry table{width:100%;font-size:12px}
.item-entry th{background:#33382c;color:#e1d7bf;font-weight:600;white-space:normal}
.item-entry td{padding:10px;vertical-align:top}
.item-entry .table-scroll:first-of-type td:nth-child(2){font-variant-numeric:tabular-nums;white-space:nowrap}
.item-entry .table-scroll:first-of-type tbody tr:nth-child(2) td:first-child{color:#c7c9c2}
.item-entry .table-scroll:first-of-type tbody tr:nth-child(3) td:first-child{color:#b0bea0}
.item-entry .table-scroll:first-of-type tbody tr:nth-child(4) td:first-child{color:#dec081}
@media(max-width:760px){.item-entry{padding:13px;margin:20px 0}.article-body .item-entry h3{font-size:23px}.item-entry td,.item-entry th{padding:8px}.item-entry h3{flex-wrap:wrap}}
/* Crop references retain native game art and scroll within the article on phones. */
.game-sprite{image-rendering:pixelated;object-fit:contain;width:32px;height:auto;vertical-align:middle}
.crop-entry{min-width:0;margin:24px 0;padding:20px;border:1px solid #54483e;border-top:3px solid #805349;background:#1e211e}
.article-body .crop-entry h3{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:25px;border-bottom:1px solid #45443a;padding-bottom:12px}
.crop-entry h3 .game-sprite{width:40px;height:40px}
.crop-entry>p{font-size:13px;line-height:1.8}
.crop-entry>p .game-sprite{width:28px;height:28px;margin:0 6px}
.crop-entry .table-scroll{margin:14px 0;border-color:#48493d}
.crop-entry table{width:100%;font-size:12px}
.crop-entry th{background:#33382c;color:#e1d7bf;font-weight:600;white-space:normal}
.crop-entry td{padding:10px;vertical-align:top}
.crop-entry table:has(.game-sprite){table-layout:fixed;min-width:430px;text-align:center}
.crop-entry table:has(.game-sprite) th{text-align:center}
.crop-entry table:has(.game-sprite) td{vertical-align:bottom;padding:16px 8px 12px;color:#c9c6af}
.crop-entry td .game-sprite{display:block;width:48px;height:auto;margin:0 auto 14px}
.crop-entry .table-scroll:nth-of-type(2) td:not(:first-child){font-variant-numeric:tabular-nums;white-space:nowrap}
.crop-entry .table-scroll:nth-of-type(2) tbody tr:nth-child(2) td:first-child{color:#c7c9c2}
.crop-entry .table-scroll:nth-of-type(2) tbody tr:nth-child(3) td:first-child{color:#b0bea0}
.crop-entry .table-scroll:nth-of-type(2) tbody tr:nth-child(4) td:first-child{color:#dec081}
@media(max-width:760px){.crop-entry{padding:13px;margin:20px 0}.article-body .crop-entry h3{font-size:23px}.crop-entry td,.crop-entry th{padding:8px}.crop-entry .table-scroll{font-size:11px}}
.wiki-banner{min-height:180px}.wiki-banner .hero-copy{padding-block:25px}.wiki-banner h1{margin-bottom:0}
.wiki-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.directory-section{border:1px solid var(--line);background:#1e211d;min-width:0;padding:0 19px 19px}
.directory-section h2{font-size:22px;display:flex;gap:12px;align-items:center;padding:15px 0 13px;margin:0 0 9px;border-bottom:1px solid #494139;line-height:1.3}
.directory-section h2 img{image-rendering:pixelated;object-fit:contain;flex-shrink:0}
.directory-links{list-style:none;padding:0;margin:0}.directory-links>li{padding:5px 0;font-size:13px;line-height:1.7}
.directory-links a{color:#d1c5b0}.directory-links a:hover{color:#edac99;text-decoration:underline;text-underline-offset:3px}
.directory-links ul{list-style:none;padding:3px 0 0 17px;margin:0;border-left:1px solid #434738;margin-left:3px}
.directory-links ul li{padding:3px 0;font-size:12px}.directory-links ul a{color:#b6baa5;display:inline-flex;align-items:center;gap:9px}
.directory-links img{image-rendering:pixelated;object-fit:contain;border:1px solid #575344}.nav-status{display:inline-block;font-size:9px;margin-left:8px;color:#ba9e84}
.category-index{max-width:1050px}.category-contents{max-width:760px;border:1px solid var(--line);padding:15px 25px;background:#20231e}
.category-contents .directory-links>li{padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}.category-contents .directory-links>li:last-child{border-bottom:0}
.category-contents .directory-links ul li{font-size:14px;padding:5px 0}.category-contents .directory-links img{width:42px;height:42px}
.article-topic-nav{border:1px solid #474939;padding:17px 20px;margin-top:35px;background:#23271e}.article-topic-nav h2{font-size:19px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #474939}
.article-body .article-topic-nav ul{list-style:none;padding:0;margin:0}.article-body .article-topic-nav li{margin:0;padding:4px 0}
.article-body .article-topic-nav ul ul{padding:3px 0 0 16px;margin-left:4px}.article-topic-nav a[aria-current=page]{color:#e0d8c8;font-weight:700;text-decoration:none}
.character-portrait{display:block;image-rendering:pixelated;border:3px solid #575442;margin-bottom:20px}.resident-pair>a{display:flex;flex-direction:column;gap:7px;text-align:center}
@media(max-width:1100px){.wiki-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:760px){.wiki-banner{min-height:170px}.wiki-banner h1{font-size:35px}.wiki-directory{gap:15px}.directory-section{padding:0 14px 15px}.directory-section h2{font-size:20px;gap:8px}.directory-section h2 img{width:28px;height:28px}.category-contents{padding:10px 18px}}
@media(max-width:480px){.wiki-directory{grid-template-columns:1fr}.directory-section{padding:0 18px 18px}.directory-section h2{font-size:23px}.directory-links>li{font-size:14px;padding:6px 0}.directory-links ul li{font-size:13px}.wiki-banner h1{font-size:34px}}

/* Gift preferences: compare tastes across columns, scan one item per line. */
.article-layout:has(.gift-matrix){grid-template-columns:minmax(0,1fr)}
.article-layout:has(.gift-matrix) .article-aside{display:none}
.gift-table-scroll{border-color:#57433d;border-radius:4px;max-height:none;scroll-padding-top:60px}
.gift-matrix{min-width:1090px;table-layout:fixed;font-size:13px;line-height:1.5;background:#1d1e1b}
.gift-matrix caption{text-align:left;padding:12px 14px;color:#c0b4a6;background:#25201e;font-size:12px}
.gift-matrix thead th{position:sticky;top:0;z-index:1;background:#49302c;color:#f0dbca;padding:13px 10px;font-size:13px;white-space:normal}
.gift-matrix .gift-heading-0{width:90px}.gift-matrix .gift-heading-1{width:92px}
.gift-matrix td,.gift-matrix tbody th{vertical-align:top;padding:14px 10px;border-color:#464039;min-width:0;background:#20221e}
.gift-matrix tbody tr:nth-child(even) td,.gift-matrix tbody tr:nth-child(even) th{background:#262823}
.gift-matrix .gift-resident{text-align:center;font-size:13px;white-space:normal;font-weight:normal}
.gift-matrix .gift-resident .game-sprite{display:block;width:64px;height:64px;margin:0 auto 10px}
.gift-matrix .gift-birthday{font-size:12px;color:#c6bead}
.gift-matrix .gift-tier{scroll-margin-top:60px}
.article-body .gift-items{list-style:none;padding:0;margin:0}
.article-body .gift-items li{display:flex;align-items:flex-start;gap:7px;margin:0 0 9px;break-inside:avoid}
.gift-items .game-sprite{width:24px;height:24px;flex:0 0 24px}
.gift-items a{padding-top:2px;overflow-wrap:normal}
.gift-table-scroll:focus-visible{outline:2px solid #c38e75;outline-offset:3px}
@media(max-width:760px){
  .gift-table-scroll{max-height:none;overflow:visible;border:0}
  .gift-matrix,.gift-matrix tbody,.gift-matrix tr{display:block;min-width:0;width:100%}
  .gift-matrix caption{display:block;border:1px solid #57433d}
  .gift-matrix thead{display:none}
  .gift-matrix tbody tr{margin-bottom:24px;border:1px solid #57433d}
  .gift-matrix .gift-resident{display:flex;align-items:center;gap:14px;padding:16px;text-align:left;font-size:18px;border-right:0}
  .gift-matrix .gift-resident .game-sprite{margin:0;width:48px;height:48px}
  .gift-matrix .gift-birthday,.gift-matrix .gift-tier{display:block;width:100%;border-right:0;padding:14px 16px}
  .gift-matrix .gift-birthday::before{content:'Birthday: ';font-weight:bold}
  .gift-matrix .gift-tier::before{content:attr(data-label);display:block;color:#eed4c3;font-weight:bold;margin-bottom:14px}
  .article-body .gift-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px}
  .article-body .gift-items li{margin:0}
}
@media(max-width:420px){.article-body .gift-items{grid-template-columns:minmax(0,1fr)}}
