
:root{--bg:#08100f;--panel:#0d1715;--panel2:#111f1b;--panel3:#162820;--text:#eaf4ee;--muted:#91a89d;--line:#20382f;--gold:#f2c14d;--green:#69d194;--blue:#78c6ff;--red:#ff817a;--shadow:0 18px 60px rgba(0,0,0,.28);--radius:16px;--sidebar:252px;--rail:220px;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html[data-theme="light"]{--bg:#f3f7f4;--panel:#ffffff;--panel2:#f6faf7;--panel3:#edf5f0;--text:#142019;--muted:#5f7569;--line:#d8e6dd;--shadow:0 18px 50px rgba(28,61,43,.10);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);line-height:1.65}a{color:var(--green);text-decoration:none}a:hover{color:var(--gold)}button,input{font:inherit}.skip-link{position:fixed;top:-80px;left:16px;background:var(--gold);color:#17120a;padding:10px 14px;z-index:999}.skip-link:focus{top:10px}.topbar{height:66px;position:sticky;top:0;z-index:30;display:grid;grid-template-columns:var(--sidebar) minmax(260px,620px) 1fr;gap:20px;align-items:center;padding:0 20px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;color:var(--text)}.brand:hover{color:var(--text)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;color:var(--gold);font-size:24px;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--gold) 45%,transparent))}.brand b{display:block;line-height:1.05}.brand small{display:block;color:var(--muted);letter-spacing:.22em;font-size:9px;margin-top:3px}.search-button{height:40px;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:10px;display:flex;align-items:center;gap:10px;padding:0 12px;cursor:pointer}.search-button:hover{border-color:#3f6655;color:var(--text)}.search-button kbd{margin-left:auto}.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.version-pill{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:5px 10px;font-size:12px;color:var(--muted)}.icon-button{border:1px solid var(--line);background:var(--panel);color:var(--text);width:38px;height:38px;border-radius:10px;cursor:pointer}.mobile-menu{display:none}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr) var(--rail);max-width:1580px;margin:auto}.sidebar{position:sticky;top:66px;height:calc(100vh - 66px);border-right:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column}.sidebar-scroll{padding:22px 14px;overflow:auto}.nav-group{margin-bottom:22px}.nav-group>span{display:block;padding:0 10px 7px;color:#6f887c;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.nav-group a{display:block;color:var(--muted);padding:7px 10px;border-radius:8px;font-size:14px;margin:1px 0}.nav-group a:hover{background:var(--panel);color:var(--text)}.nav-group a.active{background:var(--panel3);color:var(--text);font-weight:700;box-shadow:inset 2px 0 var(--green)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:16px 20px;color:var(--muted);font-size:11px}.sidebar-foot span,.sidebar-foot small{display:block}.content{padding:38px 54px 70px;max-width:980px;width:100%;margin:0 auto}.breadcrumbs{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:18px}.breadcrumbs a{color:var(--muted)}.article-head{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;padding-bottom:26px;border-bottom:1px solid var(--line)}.article-head h1{font-size:42px;line-height:1.08;margin:0 0 8px;letter-spacing:-.035em}.article-head p{margin:0;color:var(--muted);max-width:700px}.status{white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:5px 9px;border:1px solid}.status.live{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:color-mix(in srgb,var(--green) 8%,transparent)}.status.dev{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 45%,var(--line));background:color-mix(in srgb,var(--blue) 8%,transparent)}.status.pending{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,var(--line));background:color-mix(in srgb,var(--gold) 8%,transparent)}article{font-size:16px;padding-top:28px}article h2{font-size:25px;line-height:1.2;margin:42px 0 14px;letter-spacing:-.02em;scroll-margin-top:85px}article h3{font-size:19px;margin:28px 0 10px}article p{margin:0 0 16px}article ul,article ol{padding-left:22px}.lede{font-size:18px!important;color:color-mix(in srgb,var(--text) 88%,var(--muted));line-height:1.7}.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:40px;align-items:center;padding:10px 0 16px}.eyebrow{color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.18em}.hero-grid h1{font-size:54px;line-height:1.02;letter-spacing:-.05em;margin:10px 0 18px}.hero-grid h1 span{color:var(--green)}.hero-actions{display:flex;gap:10px;margin:24px 0 18px}.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border-radius:10px;border:1px solid var(--line);font-weight:750;cursor:pointer}.button.primary{background:var(--green);border-color:var(--green);color:#07120b}.button.ghost{background:var(--panel);color:var(--text)}.hero-meta{display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:12px}.hero-panel{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow)}.hero-panel strong{display:block;font-size:18px;margin-top:12px}.hero-panel p{color:var(--muted);font-size:14px}.crest{width:86px;height:70px;position:relative;margin:auto}.crest i{position:absolute;width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-bottom:38px solid var(--gold);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--gold) 35%,transparent))}.crest i:nth-child(1){left:21px;top:0}.crest i:nth-child(2){left:0;top:34px}.crest i:nth-child(3){left:42px;top:34px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-card{display:block;border:1px solid var(--line);background:var(--panel);padding:18px;border-radius:14px;color:var(--text);transition:.18s ease}.feature-card:hover{transform:translateY(-2px);border-color:#3c6654;color:var(--text);box-shadow:var(--shadow)}.feature-card b{display:block;margin:8px 0 4px}.feature-card p{color:var(--muted);font-size:13px;margin:0}.feature-icon{font-size:24px}.callout{border:1px solid var(--line);background:var(--panel);border-left:3px solid var(--blue);padding:15px 17px;border-radius:10px;margin:20px 0}.callout b{display:block;margin-bottom:4px}.callout p{margin:0;color:var(--muted)}.callout.warning{border-left-color:var(--gold)}.callout.success{border-left-color:var(--green)}.split-callouts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ad-slot{border:1px dashed #52665e;background:repeating-linear-gradient(135deg,var(--panel),var(--panel) 9px,var(--panel2) 9px,var(--panel2) 18px);min-height:100px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);margin:30px 0;text-align:center}.ad-slot span{font-size:9px;letter-spacing:.18em}.ad-slot b{font-size:13px;color:var(--text)}.ad-slot small{font-size:11px}.ad-slot.compact{min-height:82px}.article-intro{display:grid;grid-template-columns:1fr 170px;gap:28px;align-items:center}.item-art{height:150px;border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 50% 40%,var(--panel3),var(--panel));display:grid;place-items:center;font-size:54px}.item-art small{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:11px;padding:4px 8px;border-radius:999px;background:var(--panel3);border:1px solid var(--line);color:var(--green)}.tag.dev{color:var(--blue)}.tag.muted{color:var(--muted)}.pending{border:1px dashed var(--line);background:var(--panel2);border-radius:10px;color:var(--muted);padding:14px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat-grid div{border:1px solid var(--line);background:var(--panel);padding:14px;border-radius:10px}.stat-grid span{display:block;color:var(--muted);font-size:11px}.stat-grid b{font-size:19px}table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:15px 0 25px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px 13px;vertical-align:top}th{background:var(--panel2);font-size:12px;color:var(--muted)}td{font-size:14px}tr:last-child td{border-bottom:0}.steps{list-style:none;padding:0;counter-reset:steps}.steps li{position:relative;padding:2px 0 18px 42px;counter-increment:steps}.steps li:before{content:counter(steps);position:absolute;left:0;top:0;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--panel3);border:1px solid var(--line);color:var(--green);font-weight:800}.steps b,.steps span{display:block}.steps span{color:var(--muted);font-size:14px}.link-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.link-list a{display:flex;justify-content:space-between;gap:15px;padding:12px 14px;background:var(--panel);border-bottom:1px solid var(--line);color:var(--text)}.link-list a:last-child{border:0}.link-list a:hover{background:var(--panel2)}.link-list span{color:var(--muted);font-size:13px}.checklist{list-style:none;padding:0!important}.checklist li{padding:7px 0 7px 28px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.faq details,.spoiler{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:13px 15px;margin:9px 0}.faq summary,.spoiler summary{cursor:pointer;font-weight:750}.faq p,.spoiler p{color:var(--muted);margin:10px 0 2px}.status-list>div{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:10px 0}.status-list p{margin:0;color:var(--muted)}kbd{border:1px solid var(--line);background:var(--panel2);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px;color:var(--muted)}.article-footer{border-top:1px solid var(--line);margin-top:60px;padding-top:24px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.article-footer b,.article-footer span{display:block}.article-footer nav{display:flex;gap:16px}.right-rail{position:sticky;top:66px;height:calc(100vh - 66px);padding:34px 18px 0;border-left:1px solid var(--line)}.toc>span{display:block;color:#6f887c;font-size:9px;font-weight:900;letter-spacing:.14em;margin-bottom:8px}.toc a{display:block;color:var(--muted);font-size:12px;padding:5px 0;border-left:1px solid var(--line);padding-left:10px}.toc a:hover{color:var(--text);border-color:var(--green)}.rail-ad{margin-top:28px!important}.search-modal{position:fixed;inset:0;z-index:100}.search-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px)}.search-panel{position:relative;width:min(720px,calc(100% - 30px));max-height:72vh;overflow:hidden;margin:10vh auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 100px rgba(0,0,0,.55)}.search-input-wrap{height:60px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:0 15px}.search-input-wrap input{flex:1;background:transparent;border:0;outline:0;color:var(--text);font-size:17px}.search-input-wrap button{border:1px solid var(--line);background:var(--panel2);color:var(--muted);border-radius:6px;font-size:11px;padding:4px 7px}.search-results{max-height:calc(72vh - 60px);overflow:auto;padding:10px}.search-result{display:block;padding:12px 13px;border-radius:10px;color:var(--text)}.search-result:hover{background:var(--panel2);color:var(--text)}.search-result b{display:block}.search-result span{display:block;color:var(--muted);font-size:12px}.search-result em{font-style:normal;color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.search-hint{padding:34px;text-align:center;color:var(--muted)}.search-hint b,.search-hint span{display:block}.toc-empty{color:var(--muted);font-size:11px}
@media(max-width:1150px){:root{--rail:0px}.right-rail{display:none}.app-shell{grid-template-columns:var(--sidebar) minmax(0,1fr)}.topbar{grid-template-columns:var(--sidebar) minmax(250px,520px) 1fr}.content{padding-left:44px;padding-right:44px}}
@media(max-width:820px){.topbar{grid-template-columns:42px 1fr auto;padding:0 12px;gap:8px}.mobile-menu{display:block}.topbar .search-button{width:40px;padding:0;justify-content:center}.search-button span:nth-child(2),.search-button kbd,.version-pill{display:none}.top-actions{gap:6px}.app-shell{display:block}.sidebar{position:fixed;left:0;top:66px;width:280px;z-index:40;transform:translateX(-100%);transition:.2s ease;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.content{padding:28px 22px 55px}.article-head{display:block}.article-head .status{display:inline-block;margin-top:12px}.article-head h1{font-size:34px}.hero-grid{grid-template-columns:1fr}.hero-grid h1{font-size:42px}.card-grid{grid-template-columns:1fr 1fr}.article-intro{grid-template-columns:1fr}.item-art{display:none}.stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.brand small{display:none}.card-grid,.split-callouts{grid-template-columns:1fr}.hero-grid h1{font-size:36px}.hero-actions{flex-direction:column}.stat-grid{grid-template-columns:1fr 1fr}.article-footer{display:block}.article-footer nav{margin-top:12px}th,td{padding:9px;font-size:12px}}

/* Crafting references and long tables */
.table-scroll{overflow-x:auto;border-radius:12px;margin:18px 0}
.table-scroll table{margin:0;min-width:520px}
.recipe{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:19px 20px;margin:19px 0;box-shadow:0 4px 20px rgba(0,0,0,.05)}
.recipe-title{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:15px}
.recipe-title b{font-size:17px;color:var(--text)}.recipe-title span{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-size:10px;font-weight:850}
.craft-layout{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.craft-grid{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,52px);gap:4px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:7px}
.craft-cell{display:grid;place-items:center;border:1px solid var(--line);background:var(--panel);font-family:monospace;font-size:22px;font-weight:900;color:var(--gold);border-radius:5px}
.recipe-legend{flex:1;min-width:180px}.recipe-legend p{display:flex;align-items:baseline;gap:10px;margin:5px 0;font-size:13px}.recipe-legend b{color:var(--gold);border:1px solid var(--line);background:var(--panel2);border-radius:5px;padding:2px 8px;font-family:monospace}
.recipe-result{background:var(--panel3);border:1px solid var(--line);padding:11px 15px;border-radius:8px;margin-top:15px;font-size:14px;color:var(--green)}.recipe-result b{color:var(--text)}
.smith-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.smith-line>div{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:13px}.smith-line small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.smith-line strong{margin-top:7px;color:var(--gold);font-size:14px}
.recipe-entry{border:1px solid var(--line);border-radius:16px;margin:18px 0 25px;padding:4px 16px 8px;background:var(--panel)}.recipe-entry[hidden],.pending[hidden]{display:none!important}.recipe-entry .recipe{border:0;background:none;margin:0;padding:14px 0}.recipe-source{color:var(--muted);font-size:11px;border-top:1px solid var(--line);padding:8px 3px 0}.recipe-source code{color:var(--blue)}.recipe-search{position:sticky;top:75px;z-index:9;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:12px 16px;box-shadow:var(--shadow);display:grid;gap:7px;margin:24px 0}.recipe-search label{font-weight:800;font-size:12px;letter-spacing:.07em;text-transform:uppercase}.recipe-search input{border:1px solid var(--line);border-radius:8px;padding:11px 13px;background:var(--bg);color:var(--text);width:100%}.recipe-search span{font-size:12px;color:var(--muted)}.formation{font-size:21px;letter-spacing:.25em;color:var(--gold);background:var(--panel2);border:1px solid var(--line);padding:22px;overflow:auto;border-radius:14px;line-height:1.6}.sprite-strip{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.sprite-card{display:grid;justify-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:17px 13px;min-width:100px;max-width:160px;flex:1;text-align:center}.sprite-card img{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 8px rgba(0,0,0,.22))}.sprite-card span{font-size:12px;color:var(--muted);line-height:1.4}.recipe-note{font-size:12px;color:var(--muted)}.ingredients{padding:10px 0}.content article>p{max-width:77ch}
@media(max-width:520px){.recipe{padding:14px 12px}.smith-line{grid-template-columns:1fr}.craft-layout{gap:12px}.craft-grid{grid-template-columns:repeat(3,45px);grid-template-rows:repeat(3,45px)}.table-scroll table{min-width:440px}}


.world-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));margin:17px 0}
.world-card{cursor:default;display:flex;flex-direction:column;justify-content:flex-start}
.world-card a{font-size:13px;font-weight:800;color:var(--green);margin-top:auto}
.world-card p{overflow-wrap:anywhere}
.world-card[hidden]{display:none!important}
.field-filter{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--line);background:var(--panel);padding:17px 19px;border-radius:13px;margin:20px 0}
.field-filter label{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.field-filter select{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:11px 12px;font-size:14px}
.field-filter select{min-width:205px;max-width:100%}.field-filter [data-biome-count]{color:var(--green);font-weight:800;font-size:12px}
.quest:hover{border-color:var(--green)}.quest input{height:20px;width:20px;flex:0 0 auto;accent-color:#54bc86;margin:4px 0}.quest span{display:block;min-width:0}.quest b{display:block;font-size:15px;color:var(--text)}.quest small{display:block;margin-top:4px;color:var(--muted);font-size:13px}.quest:has(input:checked){background:var(--panel2)}.quest input:checked+span>b{text-decoration:line-through;color:var(--muted)}
@media(max-width:590px){.field-filter{align-items:stretch}.field-filter label{width:100%}.field-filter select{width:100%}.world-grid{grid-template-columns:1fr}}


/* Loot finder and coordinate plots. */
.finder-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;background:linear-gradient(130deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:20px;margin:24px 0}
.finder-toolbar label{display:flex;flex-direction:column;gap:7px;min-width:180px;flex:1;font-size:13px;font-weight:800;color:var(--muted)}
.finder-toolbar input,.finder-toolbar select{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:9px;padding:11px 13px;min-height:44px;font:inherit}
.finder-toolbar input:focus-visible,.finder-toolbar select:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.finder-count{color:var(--green);font-weight:800;font-size:13px;white-space:nowrap;padding-bottom:10px}
.loot-card-grid{display:grid;gap:18px;margin:22px 0 36px}
.loot-card{min-width:0;padding:21px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(138deg,var(--panel2),var(--panel))}
.loot-card[hidden],.blueprint-card[hidden],.finder-empty[hidden]{display:none!important}
.loot-card-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}
.loot-card-head h3{margin:0;font-size:23px}.loot-card-head p{margin:5px 0 0;color:var(--muted);font-size:14px}
.loot-location{color:var(--muted);font-size:13px;padding:11px 0 14px;border-bottom:1px solid var(--line)}
.loot-card details{border:0;margin:10px 0 0}.loot-card summary{font-weight:800;color:var(--green);cursor:pointer;padding:10px 0;list-style:revert}
.loot-card summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.loot-pool{border-top:1px solid var(--line);padding:12px 0 3px}.loot-pool h4{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:3px 0 12px;font-size:16px;color:var(--text)}
.loot-pool h4 span{display:inline-block;border-radius:50px;background:var(--panel3);color:var(--muted);padding:2px 8px;font-size:11px;font-weight:700}
.loot-pool .table-scroll{margin:0 0 8px}.loot-pool table{font-size:13px}.loot-pool td,.loot-pool th{padding:8px 10px}.loot-odds{color:var(--muted);font-variant-numeric:tabular-nums}
.finder-empty{padding:25px;border:1px dashed var(--line);border-radius:13px;text-align:center;color:var(--muted)}
.blueprint-toolbar{align-items:center}.blueprint-toolbar p{font-size:13px;color:var(--muted);margin:0;flex:2}
.blueprint-grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px;margin:24px 0 38px}
.blueprint-card{border:1px solid var(--line);background:linear-gradient(150deg,var(--panel2),var(--panel));border-radius:16px;overflow:hidden;min-width:0;padding:17px}
.blueprint-head{display:flex;justify-content:space-between;align-items:baseline;gap:15px}.blueprint-head h3{margin:0;font-size:19px}.blueprint-head a{font-size:12px;font-weight:800}
.blueprint-card>p{color:var(--muted);font-size:12px;margin:5px 0 12px}
.blueprint-plot{display:grid;place-items:center;min-height:230px;border:1px solid var(--line);background:radial-gradient(ellipse at 45% 15%,color-mix(in srgb,var(--green) 9%,var(--panel)),var(--bg));border-radius:12px;overflow:hidden}
.blueprint-plot svg{display:block;width:100%;height:auto;max-height:500px}
.blueprint-bound{fill:color-mix(in srgb,var(--green) 5%,transparent);stroke:var(--green);stroke-dasharray:5 5;stroke-width:1.5}
.blueprint-grid{fill:none;stroke:color-mix(in srgb,var(--green) 25%,transparent);stroke-width:.65;pointer-events:none}
.blueprint-marker circle{stroke:var(--panel);stroke-width:3;fill:var(--green)}.blueprint-marker text{fill:#07140e;stroke:none;font-size:11px;font-weight:900;pointer-events:none}
.blueprint-marker.elevated circle{fill:var(--gold)}.blueprint-axis{font-size:11px;font-weight:800;fill:var(--muted)}
.blueprint-points{list-style:none;margin:14px 0 4px;padding:0;display:grid;gap:10px}
.blueprint-points li{display:flex;gap:11px;align-items:flex-start;margin:0!important}
.marker-num{flex:0 0 auto;display:grid;place-items:center;border-radius:50%;height:25px;width:25px;background:var(--green);color:#07140e;font-size:12px;font-weight:900}
.marker-num.elevated{background:var(--gold)}
.blueprint-points strong{display:block;font-size:14px}.blueprint-points small{display:block;color:var(--muted);margin-top:2px;font-size:12px}
.blueprint-points code{color:var(--text)}
@media(max-width:720px){.finder-toolbar{padding:15px;align-items:stretch}.finder-toolbar label{flex:1 1 100%}.finder-count{padding-bottom:0}.loot-card{padding:15px}.loot-card-head h3{font-size:20px}.blueprint-grid-cards{grid-template-columns:1fr}}


/* Material tracker and probability calculator. */
.planner-shell,.odds-shell{border:1px solid var(--line);border-radius:19px;background:linear-gradient(155deg,var(--panel2),var(--panel));padding:24px;margin:23px 0 37px;box-shadow:0 16px 40px color-mix(in srgb,var(--bg) 70%,transparent)}
.planner-crest img{max-height:58px;width:auto;object-fit:contain;image-rendering:pixelated}.planner-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.planner-heading h2{font-size:26px!important}.planner-crest{display:grid;place-items:center;width:58px;height:58px;border-radius:15px;border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));background:color-mix(in srgb,var(--gold) 12%,var(--panel));font-size:29px;color:var(--gold)}
.planner-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.planner-actions .button{font-size:12px;padding:10px 13px;cursor:pointer}
.planner-shell .finder-toolbar,.odds-shell .finder-toolbar{margin:16px 0;padding:14px;border:0;box-shadow:none;background:var(--panel)}
.planner-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.planner-stats>div{background:var(--panel);border:1px solid var(--line);padding:15px 14px;border-radius:12px}
.planner-stats small{display:block;color:var(--muted);font-size:12px;line-height:1.3;min-height:31px}.planner-stats strong{font-size:27px;line-height:1.3;color:var(--green);font-variant-numeric:tabular-nums}
.planner-table{font-size:14px}.planner-table td,.planner-table th{padding:12px 10px}.planner-table th:nth-child(n+2),.planner-table td:nth-child(n+2){text-align:right;white-space:nowrap}.planner-table td:first-child{min-width:175px}
.planner-table tr.owned{color:var(--muted)}.planner-table tr.owned td:first-child{text-decoration:line-through;text-decoration-color:var(--green)}
.planner-table input{max-width:100px;width:100%;text-align:center;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:7px 4px;font:inherit;font-variant-numeric:tabular-nums}
.planner-table input:focus-visible{outline:2px solid var(--green);outline-offset:2px}.planner-missing{color:var(--gold);font-weight:800}.planner-ready{color:var(--green);font-weight:800}.planner-foot{font-size:12px!important;color:var(--muted);margin-top:17px!important}
.odds-result{border-radius:15px;background:radial-gradient(ellipse at 80% 0,color-mix(in srgb,var(--green) 18%,var(--panel3)),var(--panel));border:1px solid var(--line);padding:23px;margin:16px 0}
.odds-result>span{color:var(--muted);font-weight:750;font-size:13px}.odds-result strong{display:block;margin-top:6px;font-size:clamp(35px,7vw,56px);line-height:1.1;letter-spacing:-.04em;color:var(--green);font-variant-numeric:tabular-nums}
.odds-result p{margin:11px 0 0;color:var(--text);font-size:14px}.odds-meter{height:10px;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--bg);margin-top:18px}
.odds-meter>div{background:linear-gradient(90deg,var(--green),var(--gold));width:0%;height:100%;border-radius:999px;transition:width .22s ease}
.odds-pools{display:grid;gap:11px}.odds-pool-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:14px 16px}.odds-pool-card h3{margin:0 0 7px;font-size:16px}.odds-pool-card p{color:var(--muted);margin:0;font-size:13px}
.odds-pool-card b{color:var(--text)}.odds-pool-card em{color:var(--green);font-style:normal;font-weight:800}.planner-zero{color:var(--green)}
@media(max-width:820px){.topbar{grid-template-columns:42px minmax(0,1fr) 40px 40px;gap:8px}.topbar .brand,.topbar .brand>span:last-child{min-width:0}.topbar .brand b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topbar .top-actions{width:38px}.topbar .search-button{width:40px}}
.mobile-hint{display:none}
@media(max-width:720px){.mobile-hint{display:block;color:var(--muted);font-size:12px!important}.planner-shell,.odds-shell{padding:12px}.planner-stats{gap:6px}.planner-stats>div{padding:10px 8px}.planner-stats strong{font-size:22px}.planner-stats small{font-size:10px;min-height:38px}.planner-table td,.planner-table th{padding:10px 7px;font-size:12px}.planner-table td:first-child{min-width:116px}.planner-table input{max-width:70px}.planner-actions{width:100%}.planner-heading{align-items:flex-start}.planner-heading>div:first-child{min-width:0}.planner-heading h2{font-size:23px!important;overflow-wrap:anywhere}.planner-crest{flex:0 0 45px;width:45px;height:45px}.planner-crest img{max-width:43px;max-height:43px}}
@media print{.topbar,.sidebar,.right-rail,.search-modal,.planner-actions,.finder-toolbar,.article-footer,.ad-slot{display:none!important}.app-shell{display:block!important}.content{max-width:none!important;margin:0!important;padding:0!important}body{background:white!important;color:black!important}.planner-shell{box-shadow:none!important;padding:12px!important}.planner-stats>div,.planner-table input{background:white!important;color:black!important}.planner-table input{border:0!important;appearance:textfield}.planner-shell .table-scroll{overflow:visible!important}.planner-table{width:100%!important}}

/* V16 item visuals: compact, scan-friendly, and intentionally lighter than feature cards. */
.item-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px;margin:14px 0 30px}
.item-card{display:flex;align-items:center;gap:11px;min-height:66px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.item-card img,.recipe-item-icon{flex:0 0 auto;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 5px rgba(0,0,0,.18))}
.item-card img{width:48px;height:48px}.item-card>span:last-child{font-size:13px;font-weight:750;line-height:1.25}
.item-glyph{width:48px;height:48px;display:grid;place-items:center;border-radius:10px;background:var(--panel2);border:1px solid var(--line);color:var(--gold);font-size:23px;font-weight:900}
.recipe-title b.has-item-icon{display:inline-flex;align-items:center;gap:8px}.recipe-item-icon{width:28px;height:28px}
.recipe-legend p.has-item-icon,.smith-line strong.has-item-icon,.recipe-result.has-item-icon{display:flex;align-items:center;gap:7px}
.recipe-legend .recipe-item-icon,.smith-line .recipe-item-icon,.recipe-result .recipe-item-icon{width:22px;height:22px}
@media(max-width:560px){.item-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-card{min-height:60px;padding:8px}.item-card img,.item-glyph{width:40px;height:40px}.item-card>span:last-child{font-size:12px}}

a.item-card{position:relative;color:var(--text);transition:.16s ease;padding-right:30px}
a.item-card:hover{color:var(--text);border-color:#3c6654;background:var(--panel2);transform:translateY(-1px);box-shadow:var(--shadow)}
.item-card-arrow{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:22px;font-weight:400}.item-card:hover .item-card-arrow{color:var(--green)}
.catalog-item-intro{display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;align-items:center;margin-bottom:12px}.catalog-item-hero{width:150px;height:150px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at 50% 38%,var(--panel3),var(--panel));display:grid;place-items:center}.catalog-item-hero img{width:112px;height:112px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 10px rgba(0,0,0,.24))}.catalog-item-glyph{font-size:58px;color:var(--gold)}.recipe-source{margin:-16px 0 25px!important;font-size:12px;color:var(--muted)}
@media(max-width:620px){.catalog-item-intro{grid-template-columns:1fr}.catalog-item-hero{width:120px;height:120px}.catalog-item-hero img{width:92px;height:92px}}

.item-icon-link{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;line-height:0}
.item-icon-link:hover img{filter:drop-shadow(0 4px 7px rgba(0,0,0,.28)) brightness(1.08)}
.item-icon-link:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.sprite-card .item-icon-link{display:flex}

.home-install{display:flex;justify-content:space-between;gap:22px;align-items:center;border:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--green) 8%,var(--panel2)),var(--panel));border-radius:16px;padding:22px;margin:18px 0 30px}.home-install h2{margin:2px 0 8px}.home-install p{margin:0;color:var(--muted)}.home-install-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 30px}.download-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:18px;color:var(--text)}.download-card:hover{color:var(--text);border-color:#3c6654;transform:translateY(-1px)}.download-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--panel3);color:var(--gold);font-weight:900}.download-card b,.download-card small{display:block}.download-card small{color:var(--muted);margin-top:3px}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 34px}.video-card{border:1px solid var(--line);background:var(--panel);border-radius:15px;overflow:hidden}.video-card>div:last-child{padding:15px}.video-card b{font-size:16px}.video-card p{font-size:13px;color:var(--muted);margin:5px 0 8px}.video-frame{aspect-ratio:16/9;background:#000}.video-frame iframe{width:100%;height:100%;border:0;display:block}.fairy-tracker{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:18px;margin:18px 0 30px}.fairy-progress{display:grid;grid-template-columns:minmax(170px,.45fr) 1fr;gap:18px;align-items:center;margin-bottom:16px}.fairy-progress b,.fairy-progress span{display:block}.fairy-progress span{color:var(--muted);font-size:12px}.fairy-meter{height:12px;border:1px solid var(--line);background:var(--bg);border-radius:999px;overflow:hidden}.fairy-meter i{display:block;width:0;height:100%;background:var(--green);transition:width .2s}.fairy-tracker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fairy-slot{display:grid;grid-template-columns:auto 56px 1fr;gap:12px;align-items:center;border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:10px 12px}.fairy-slot>input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}.fairy-number{font-weight:900;color:var(--gold);font-variant-numeric:tabular-nums}.fairy-slot>input[type=text]{min-width:0;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:6px 4px;outline:none}.fairy-slot>input[type=text]:focus{border-color:var(--green)}.fairy-slot:has(input[type=checkbox]:checked){border-color:color-mix(in srgb,var(--green) 55%,var(--line));background:color-mix(in srgb,var(--green) 7%,var(--panel2))}.tracker-actions{display:flex;justify-content:flex-end;margin-top:14px}@media(max-width:760px){.home-install{align-items:flex-start;flex-direction:column}.home-install-actions{justify-content:flex-start}.download-grid,.video-grid,.fairy-tracker-grid{grid-template-columns:1fr}.fairy-progress{grid-template-columns:1fr}}

.fairy-tracker-icon{width:56px;height:56px;object-fit:contain;image-rendering:pixelated;border-radius:4px;box-shadow:0 0 0 1px rgba(255,255,255,.05)}
.fairy-tracker-symbol{display:grid;place-items:center;font-size:27px;color:var(--gold)}
.fairy-variant strong,.fairy-variant small{display:block}
.fairy-variant small{font-size:11px;color:var(--muted);margin-top:3px}
.fairy-slot:has(input:checked) .fairy-variant strong{text-decoration:line-through;text-decoration-thickness:1px;opacity:.74}

.video-grid.single{grid-template-columns:minmax(0,760px)}
.fairy-reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 26px}
.fairy-reference-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:126px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:12px;text-align:center}
.fairy-reference-card img{width:70px;height:70px;object-fit:contain;image-rendering:pixelated;border-radius:4px}
.fairy-reference-card b{font-size:13px}
.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 30px}
.support-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:18px;color:var(--text)}
.support-card:hover{color:var(--text);border-color:#3c6654;transform:translateY(-1px)}
.support-card>span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--panel3);color:var(--gold);font-size:20px;font-weight:900}
.support-card b,.support-card small{display:block}.support-card small{color:var(--muted);margin-top:3px}
@media(max-width:760px){.fairy-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-grid{grid-template-columns:1fr}}

/* V15 readability polish */
.spoiler-alert{margin:22px 0 34px;background:color-mix(in srgb,var(--gold) 7%,var(--panel));}
.spoiler-alert b{color:var(--gold);}
.recipe:has(.smith-line) .recipe-title{margin-bottom:12px;}

/* Structure interior cards and evidence badges. */
.interior-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:16px;margin:20px 0 30px}
.interior-card{background:linear-gradient(155deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:19px;min-width:0}
.interior-head{display:flex;gap:12px;flex-direction:column;align-items:flex-start}
.interior-head h3{margin:0;font-size:19px;line-height:1.3}
.interior-card p{color:var(--muted);font-size:14px;margin:12px 0}
.interior-card ul{font-size:14px;line-height:1.6;padding-left:20px;margin:8px 0}
.interior-card li{margin:7px 0}
.source-pill{display:inline-flex;border-radius:100px;padding:3px 10px;font-weight:750;font-size:11px;line-height:1.5;border:1px solid var(--line)}
.source-pill.good{background:color-mix(in srgb,var(--green) 14%,var(--panel));color:var(--green)}
.source-pill.pending{background:color-mix(in srgb,var(--gold) 11%,var(--panel));color:var(--gold)}

/* Scan-friendly long-form reading. */
.orientation-list{display:grid;gap:10px;margin:18px 0 30px}.orientation-list>div{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:15px 17px}.orientation-list b{display:block;margin-bottom:4px}.orientation-list p{margin:0;color:var(--muted);font-size:14px}.deep-dive{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:13px 15px;margin:18px 0}.deep-dive summary{cursor:pointer;font-weight:800}.deep-dive>div{padding-top:10px;color:var(--muted)}
article>h2+table,article>h2+.table-scroll{margin-top:10px}
@media(max-width:700px){.orientation-list>div{padding:13px 14px}}


/* Contextual internal links added in the SEO pass. */
.related-section{margin-top:46px;padding-top:6px;border-top:1px solid var(--line)}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.related-card{display:block;border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:14px 15px;color:var(--text)}
.related-card:hover{border-color:#3f6655;background:var(--panel3);color:var(--text)}
.related-card b{display:block;margin-bottom:4px}
.related-card span{display:block;color:var(--muted);font-size:13px;line-height:1.5}
@media(max-width:700px){.related-grid{grid-template-columns:1fr}}

.ad-slot{display:none!important}
