/* Fantasy detail artwork, typography and logical sizes mirror fantasy_detail_tooltip.gd. */
@font-face{font-family:FantasyBody;src:url('assets/8cabbc4b845c6d58622b5d802f7940627ebc7034b2682b5112aa5655341a00be.ttf');font-display:swap}
@font-face{font-family:FantasyTitle;src:url('assets/f864ee0e936561b0953759b6d5703afa39047d87614a3c69b7875b0538fce5b0.ttf');font-display:swap}
:root{color-scheme:dark;--paper:#071a2a;--card:#0b2c48;--ink:#eee4cd;--muted:#b9cddd;--line:#345065;--gold:#e9c77f;--accent:var(--gold);--frame:url('assets/ace52734835c6271031ed7340f4e1dded606ae61b4709f0db5b714f16f409ffb.png');--rule:url('assets/44d8c6270740d9dd6416e4a582002fcae1fb32ef9fdeeec6b50daa68895e0029.png')}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 FantasyBody,'Songti SC','Noto Serif CJK SC',serif}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button,a,input,select{touch-action:manipulation}button{background:var(--card);border:1px solid var(--line);padding:8px 14px;border-radius:3px}button:hover{border-color:var(--gold)}button:disabled{opacity:.4;cursor:default}a{color:var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}h1,h2,h3{font-family:FantasyTitle,'Songti SC','Noto Serif CJK SC',serif;font-weight:normal}header{max-width:1740px;margin:auto;padding:32px 40px 24px;border-bottom:1px solid var(--line)}.eyebrow{font:11px/1.5 ui-monospace,monospace;letter-spacing:2px;color:var(--muted)}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:36px;line-height:1.35;margin:12px 0}h1 span+span{margin-left:20px;color:var(--gold)}.heading p{margin:8px 0 24px;color:var(--muted)}.edition{font-size:14px;color:var(--muted);text-align:right}.language-label{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:8px}.language-label select,select{background:var(--card);border:1px solid var(--line);padding:7px 10px;border-radius:3px}.stats{display:flex;gap:32px;flex-wrap:wrap}.stat{display:flex;gap:9px;align-items:baseline}.stat b{font-size:24px;font-weight:normal;color:var(--gold)}.stat span{color:var(--muted);font-size:14px}.layout{max-width:1740px;margin:auto;display:grid;grid-template-columns:205px minmax(0,1fr);gap:28px;padding:28px 40px 50px}aside{align-self:start;position:sticky;top:24px}aside h2{font-size:14px;color:var(--muted);margin:0 12px 14px}aside nav{display:grid;gap:4px}.collection{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;background:none;border:1px solid transparent;padding:10px 12px}.collection[aria-current=true]{background:var(--card);color:var(--gold);border-color:var(--line)}.collection small{font-size:14px;color:var(--muted)}.aside-note{font-size:14px;color:var(--muted);margin:24px 12px 10px}.text-button{border:0;background:none;color:var(--gold);padding:0;font-size:14px;text-align:left}aside .text-button{margin:5px 12px}.tools{position:sticky;top:0;padding:0 0 18px;background:var(--paper);z-index:2;border-bottom:1px solid var(--line)}.search{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--card);padding:6px 14px}.search>span{font-size:26px;line-height:1}.search input{border:0;outline:none;background:none;width:100%;padding:9px 0;min-width:0}.search input::placeholder{color:var(--muted)}.search:focus-within{outline:2px solid var(--gold)}.search kbd{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:0 6px}.filters{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}.filters select{max-width:260px;min-width:120px;font-size:14px}.filters button{font-size:14px;margin-left:auto}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.result-heading h2{font-size:24px;margin:4px 0}.result-heading>div:last-child{text-align:right}.result-heading p{font-size:14px;margin:0;color:var(--muted)}.section-note{font-size:14px;color:var(--muted);margin:8px 0 24px;max-width:1000px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:20px}.card{padding:0;text-align:left;min-width:0;background:none;border:0;border-radius:0;display:flex;flex-direction:column;width:100%}.card:hover .fantasy-card{filter:brightness(1.08)}.thumb{height:176px;width:100%;display:flex;align-items:center;justify-content:center;background:#0d2435;position:relative;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:contain;padding:14px}.thumb img.texture{object-fit:cover;padding:0}.missing{display:grid;place-content:center;text-align:center;height:100%;padding:24px;color:var(--muted);font-size:14px;overflow-wrap:anywhere}.missing strong{font:24px ui-monospace,monospace;display:block;margin-bottom:10px}.badge{position:absolute;left:10px;top:10px;font-size:14px;background:#061b2be8;padding:3px 7px;color:var(--muted);max-width:calc(100% - 20px)}
.fantasy-card{width:100%;min-width:0;padding:12px 16px;background:var(--card);border:8px solid transparent;border-image:var(--frame) 80 fill / 8px / 0 stretch;color:var(--ink)}.card-title{font-size:24px;line-height:1.4;text-align:center;margin:0 0 10px;overflow-wrap:anywhere}.card-rule,.group-title::after{height:3px;background:var(--rule) center/100% 3px no-repeat;opacity:.2}.identity{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:12px 0;color:var(--gold);font-size:14px}.card-category{display:flex;align-items:center;gap:6px;margin-right:auto}.attribute-icon{height:19px;width:19px;object-fit:contain;flex-shrink:0}.header-stat{color:var(--muted)}.card-description{margin:0 0 13px;white-space:pre-line;font-size:16px;overflow-wrap:anywhere}.compact .card-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 0}.tag{display:inline-block;padding:2px 6px;border:3px solid transparent;border-image:var(--frame) 80 / 3px / 0 stretch;background:#14354a;color:var(--gold);font-size:14px;overflow-wrap:anywhere}.card-group{margin-top:14px}.group-title{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:normal;color:var(--muted);margin:0 0 8px}.group-title::after{content:'';flex:1}.attribute{display:flex;align-items:stretch;gap:9px;min-height:34px;background:#061b2be8;margin-top:5px;font-size:16px;overflow-wrap:anywhere}.attribute .attribute-icon{align-self:center;margin-left:7px}.attribute-label{align-self:center;flex:1;min-width:0;color:var(--gold);padding:4px 0 4px 9px}.attribute-icon+.attribute-label{padding-left:0}.attribute-value{display:flex;align-items:center;justify-content:flex-end;width:46%;flex-shrink:0;text-align:right;background:#051522bd;padding:4px 10px;white-space:pre-line}.card-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:15px;font-size:14px}.card-note{font-size:14px;color:var(--muted)}.dimensions{display:grid;gap:2px;border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dimensions small{font-size:14px;color:var(--muted)}.dimension-missing{color:var(--muted)}
.scope-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);width:max-content;max-width:100%;margin:0 0 22px}.scope-tabs button{min-width:108px;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:9px 28px;font-size:16px}.scope-tabs button[aria-selected=true]{background:var(--card);border-bottom-color:var(--gold);color:var(--gold)}.pager{display:flex;align-items:center;justify-content:center;gap:20px;margin:30px 0;font-size:14px}.empty{padding:65px 20px;text-align:center;color:var(--muted);line-height:2.5}.empty code{font-size:12px;overflow-wrap:anywhere}.empty button{margin-top:14px}footer{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:14px}dialog{width:min(900px,96vw);max-height:94vh;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:20px}dialog::backdrop{background:#020e18c9}.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-20px;z-index:3;background:var(--paper);padding:10px 0 18px}.dialog-toolbar .language-label{margin:0;font-size:14px}.close{font-size:14px}.detail-spread{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.preview-column{min-width:0}.detail-preview{height:360px;background:#0d2435;display:flex;align-items:center;justify-content:center}.detail-preview img{width:100%;height:100%;object-fit:contain;padding:14px}.preview-caption,.record-meta{font-size:14px;color:var(--muted)}.preview-column audio{width:100%;margin-top:20px}.detail-extra{margin-top:24px;border-top:1px solid var(--line);padding:8px 8px 16px}.detail-extra .attribute-value{width:65%}dialog h2{font-size:24px}dialog .intro{color:var(--muted);white-space:pre-line;font-size:14px}details{margin-top:22px;font-size:14px;overflow-wrap:anywhere}summary{cursor:pointer;color:var(--gold)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 ui-monospace,monospace;background:#061b2b;padding:14px}.related{display:flex;flex-wrap:wrap;gap:8px}.related button{font-size:14px;padding:6px 10px}.source-list{font-size:14px;width:100%;border-collapse:collapse}.source-list td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
@media(max-width:1100px){header{padding:28px}.layout{padding:24px 28px;grid-template-columns:180px minmax(0,1fr);gap:20px}.stats{gap:22px}.filters select{max-width:210px}}
@media(max-width:760px){header{padding:24px 18px 20px}.heading{align-items:start;flex-wrap:wrap;gap:8px}.heading p{margin-bottom:8px}.edition{text-align:left}.edition>span,.edition>br{display:none}.language-label{justify-content:start}h1{font-size:30px}.stats{gap:12px 24px}.layout{display:block;padding:18px}aside{position:static}aside h2,.aside-note{display:none}aside nav{display:flex;overflow:auto;padding-bottom:8px;gap:6px}.collection{white-space:nowrap;gap:14px;font-size:14px}aside .text-button{margin:6px 0 18px}.tools{position:static;padding-top:12px}.filters{gap:6px}.filters select{max-width:calc(50% - 4px);flex:1;min-width:130px}.filters button{margin-left:0}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.result-heading h2{font-size:24px}.detail-spread{display:flex;flex-direction:column;gap:20px}.detail-spread>.fantasy-card{width:360px;max-width:100%;align-self:center}.preview-column{width:100%}.detail-preview{height:260px}dialog{padding:14px}.dialog-toolbar{top:-14px}.pager{gap:10px}.pager button{padding:7px}.detail-extra .attribute-value{width:55%}}

/* Flat semantic filters share the game palette; choices remain keyboard accessible. */
.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.categories{margin:12px 0}.filter-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #537078;background:#102f49;color:#d8e5df;border-radius:5px;font:inherit;cursor:pointer}.filter-chip small{opacity:.72;font-size:12px}.filter-chip[aria-pressed=true]{background:#e9c77f;color:#102b42;border-color:#f6dda5}.filter-chip:focus-visible,.status-check:focus-within{outline:2px solid #e9c77f;outline-offset:3px}.filter-chip:hover{border-color:#e9c77f}.filters{align-items:center}.filters fieldset{flex:1;border:0;padding:0;margin:0;min-width:0}.filters legend{font-size:12px;color:#9fb9c3;margin-bottom:5px}#status-options{display:flex;flex-wrap:wrap;gap:12px}.status-check{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.status-check input{width:16px;height:16px;accent-color:#e9c77f}.status-check small{opacity:.65}.tag-filter{margin-top:15px;border-top:1px solid #345062;padding-top:12px}.filter-caption{display:flex;align-items:center;gap:12px;margin-bottom:9px;color:#e9c77f}.filter-caption small,.filter-hint{color:#9fb9c3;font-size:13px}.tag-filter .text-button{padding:7px 10px}.categories:empty{display:none}@media(max-width:650px){.filters{flex-wrap:wrap}.filters fieldset{flex-basis:75%}.filter-chip{padding:6px 9px}.filter-caption{flex-wrap:wrap}.tag-filter{margin-top:10px}}

.tools{position:static}
.density-legend{font-size:14px;color:var(--muted);margin-bottom:16px}.density-legend p{margin:6px 0}.density-scroll{max-width:100%;max-height:70vh;overflow:auto;border:1px solid var(--line);background:var(--paper)}.density-scroll:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.density-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;font-variant-numeric:tabular-nums}.density-table caption{text-align:left;padding:12px;color:var(--gold);background:var(--card)}.density-table th,.density-table td{padding:12px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;min-width:112px;background:var(--paper)}.density-table thead th{position:sticky;top:0;z-index:2;background:var(--card);font-weight:normal;color:var(--gold)}.density-table tr>:first-child{position:sticky;left:0;z-index:1;min-width:260px;max-width:300px;text-align:left;background:var(--card)}.density-table thead tr>:first-child{z-index:3}.density-table small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.density-material{display:flex;gap:10px;align-items:center;text-align:left;border:0;background:none;padding:0;width:100%;font-size:14px}.density-material img{width:42px;height:42px;object-fit:cover;flex:none}.density-material>span{min-width:0;overflow-wrap:anywhere}.density-positive strong{font-size:16px;color:var(--gold);font-weight:normal}.density-zero strong{color:var(--muted);font-weight:normal;opacity:.6}.density-table tbody tr:hover td{background:#14354a}.density-rules{margin:16px 0}.density-rules p{margin:10px 0;color:var(--muted)}.density-rules strong{color:var(--gold);font-weight:normal}@media(max-width:760px){.density-table tr>:first-child{min-width:180px;max-width:180px}.density-material img{display:none}.density-table th,.density-table td{min-width:100px;padding:10px 8px}}
.related{max-height:240px;overflow:auto;padding:2px}
.categories{max-height:150px;overflow:auto}

.entry-id{margin:0 0 10px;color:var(--muted);font-size:14px;line-height:1.5;overflow-wrap:anywhere;user-select:text}.entry-id>span:first-child{margin-right:8px;color:var(--gold)}.entry-id code{font:inherit;font-family:ui-monospace,monospace}

.crafting-recipes{margin:12px 0 24px}.crafting-recipes>summary{font-size:16px}.recipe{margin-top:16px;padding:12px;background:var(--card);border:1px solid var(--line)}.recipe h4{margin:0 0 10px}.recipe .text-button{padding:0;text-align:left;font-size:16px;overflow-wrap:anywhere}

/* Status rules are prose; use the full card width instead of numeric value columns. */
.status-card .attribute{display:block}.status-card .attribute-label{display:block;padding:6px 10px 0}.status-card .attribute-value{display:block;width:100%;text-align:left;padding:4px 10px 8px}

.variant-section{margin-top:24px;border-top:1px solid var(--line);padding-top:8px}.variant-section h3{font-size:20px;color:var(--gold)}.variant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:12px;align-items:stretch}.variant-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:8px;text-align:left;overflow-wrap:anywhere;background:var(--card);border:1px solid var(--line);border-radius:3px;cursor:pointer}.variant-card[data-selected=true]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#14354a}.variant-card .thumb{height:150px}.variant-card .thumb img{padding:8px}.variant-name{color:var(--gold);font-size:16px;background:none;border:0;padding:0;text-align:left}.variant-id{font:12px/1.6 ui-monospace,monospace}.variant-pack,.variant-note{font-size:14px;color:var(--muted)}
.variant-card .dimensions{margin-top:auto;padding-top:8px;font-size:14px}

.card{cursor:pointer}.card-open{font:inherit;color:inherit;background:none;border:0;padding:0;width:100%;overflow-wrap:anywhere}.copyable-id{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%;vertical-align:middle}.copyable-id code{font:inherit;font-family:ui-monospace,monospace;overflow-wrap:anywhere;min-width:0}.copy-id{font-size:14px;line-height:1.4;padding:2px 6px;color:var(--gold);white-space:nowrap;vertical-align:middle;user-select:none}.copy-id:disabled{opacity:1}.recipe h4,.related-entry{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.related-entry{max-width:100%}.related-entry>button:first-child{overflow-wrap:anywhere;min-width:0}pre .copy-id{margin:0 6px}.clipboard-input{position:fixed;top:0;left:0;opacity:0;pointer-events:none}
