:root{color-scheme:light;--bg:#eff7ed;--panel:#f8fcf6;--line:#c6d7c2;--text:#203929;--muted:#526b57;--green:#226443;--gold:#865e18}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 "Microsoft YaHei",system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,select,input{border:1px solid var(--line);background:#f7fcf5;color:var(--text);border-radius:7px;padding:8px 12px}button{cursor:pointer}button:hover,a:hover{color:var(--green);border-color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}a{color:var(--green);text-decoration:none}p{margin:8px 0 16px}h1{font-size:27px;margin:0 0 5px}h2{font-size:20px;margin:0 0 12px}h3{font-size:18px;margin:22px 0 10px}h4{margin:15px 0 8px;font-size:16px}.top{display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);padding:16px 28px;background:#e3efdf}.top span{margin-left:auto;color:var(--muted);font-size:13px}.layout{display:grid;grid-template-columns:190px minmax(0,1fr);max-width:1500px;margin:auto;min-height:calc(100vh - 64px)}aside{border-right:1px solid var(--line);padding:25px 18px;position:sticky;top:0;height:100vh}aside h2{font-size:13px;color:var(--muted);font-weight:400;letter-spacing:2px;margin:4px 10px 8px}nav{display:grid;gap:6px;margin-bottom:22px}nav button{display:flex;align-items:center;justify-content:space-between;background:transparent;border-color:transparent;text-align:left;padding:8px 12px}nav button[aria-current=true]{background:#d5e9ce;border-color:#8eb38b;color:var(--green)}nav small{font-size:12px;color:var(--muted)}.aside-note{font-size:13px;color:var(--muted);margin:35px 10px}main{padding:30px 36px 70px;min-width:0}.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.heading p{color:var(--muted);font-size:14px}.quiet{background:transparent;font-size:14px;white-space:nowrap}.roadmap{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr;align-items:center;gap:12px;padding:20px 22px;margin:12px 0 26px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.roadmap span{color:var(--green);margin-right:12px;font-size:13px}.roadmap p{color:var(--muted);font-size:13px;margin:6px 0 0}.roadmap i{font-style:normal;color:var(--green)}.filters{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.filters label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.filters input,.filters select{font-size:15px;min-height:43px}.filters .search{flex:1;min-width:200px}.filters .check{display:flex;align-items:center;padding-bottom:8px;white-space:nowrap}.check input{min-height:0;width:16px;height:16px}.muted{color:var(--muted);font-size:14px}.list{display:grid;gap:0}.recipe-row{padding:20px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(200px,.9fr) minmax(200px,1.3fr) auto;gap:18px;align-items:start}.item-title{font-size:18px;padding:0;text-align:left;border:0;border-radius:0;background:none;color:var(--text);font-weight:600}.badge{display:inline-block;font-size:12px;line-height:1.7;padding:1px 7px;border-radius:4px;background:#e2ecdd;color:var(--muted);margin:6px 6px 0 0}.badge.latest{background:#d7eacc;color:var(--green)}.row-desc{font-size:13px;color:var(--muted);margin:7px 0 0}.materials-preview{display:flex;flex-wrap:wrap;gap:7px;margin:7px 0}.material-chip{font-size:13px;background:transparent;padding:3px 8px}.source-preview{font-size:14px;color:#3b5742;margin:5px 0}.read{font-size:13px;white-space:nowrap;margin-top:4px}.more{width:100%;margin-top:20px;background:transparent}.gather-row{grid-template-columns:minmax(160px,.6fr) minmax(200px,1.7fr) auto}dialog{width:min(960px,calc(100vw - 32px));max-height:90vh;border:1px solid #a6bfa1;border-radius:12px;padding:0;background:var(--bg);color:var(--text);box-shadow:0 20px 90px #19372526}dialog::backdrop{background:#243c2a66}.dialog-head{display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:1;padding:16px 24px;border-bottom:1px solid var(--line);background:#e6f1e1}.dialog-head h2{margin:0;flex:1;font-size:21px;overflow-wrap:anywhere}.dialog-head button{font-size:14px}.dialog-head #back{font-size:12px}#dialogBody{padding:8px 26px 32px;overflow-wrap:anywhere}.factbar{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.section{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:22px}.section:last-child{border:0}.note{font-size:14px;color:var(--muted)}.warning{color:var(--gold)}.material-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px 0;border-top:1px solid #d1dfcb}.material-line .item-title{font-size:16px;font-weight:500}.source-list{margin:8px 0;padding-left:20px;font-size:14px}.source-list li{margin:7px 0}.source-list .places{color:var(--muted);margin-top:3px;line-height:1.8}.book{padding:14px 18px;margin:10px 0;border-left:3px solid var(--green);background:var(--panel)}.book p:last-child{margin-bottom:0}.tree,.tree ul{list-style:none;padding:0;margin:10px 0}.tree ul{border-left:1px solid #a9c2a3;margin-left:12px;padding-left:22px}.tree li{margin:12px 0}.tree .node{border:1px solid var(--line);background:#f8fcf6;border-radius:7px;padding:9px 12px;display:inline-block;max-width:100%}.tree .node button{padding:0;border:0;background:none;font-size:15px;text-align:left}.tree small{display:block;color:var(--muted);font-size:12px}.uses{display:flex;flex-wrap:wrap;gap:8px}.uses button{font-size:14px}.empty{padding:45px 0;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:900px){main{padding:24px}.layout{grid-template-columns:155px minmax(0,1fr)}aside{padding:22px 10px}.recipe-row{grid-template-columns:1fr auto}.recipe-row .row-materials{grid-column:1/-1;grid-row:2}.roadmap{gap:6px;padding:15px}.roadmap p{font-size:12px}.top{gap:20px}}
@media(max-width:600px){.top{padding:12px 16px;gap:18px;flex-wrap:wrap}.top span{width:100%;margin:0;font-size:12px}.layout{display:block}aside{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:14px 16px;display:grid;grid-template-columns:1fr;gap:5px}aside h2{display:none}nav{grid-template-columns:repeat(4,1fr);gap:3px;margin:0}#makeNav{grid-template-columns:repeat(5,1fr)}nav button{padding:7px 4px;display:block;text-align:center;font-size:14px}nav small{display:none}.aside-note{display:none}main{padding:22px 16px 45px}h1{font-size:24px}.heading{gap:8px}.heading .quiet{font-size:12px;padding:6px}.roadmap{display:block;padding:14px 18px;margin-bottom:20px}.roadmap>div{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:8px;padding:5px 0}.roadmap span{margin:0}.roadmap p{width:100%;margin:0 0 0 28px}.roadmap i{display:none}.filters{gap:12px}.filters .search{flex-basis:100%}.filters select{max-width:100%}.recipe-row{gap:6px 12px;padding:18px 0}.item-title{font-size:17px}.read{padding:5px 8px}.materials-preview{gap:5px}.material-chip{font-size:12px}dialog{width:calc(100vw - 16px);max-height:94vh}.dialog-head{padding:12px;flex-wrap:wrap;gap:10px}.dialog-head h2{font-size:18px}.dialog-head #back:not([hidden]){order:3;width:100%;text-align:left}#dialogBody{padding:6px 16px 26px}.tree ul{margin-left:6px;padding-left:12px}.source-list{padding-left:17px}}

/* Original client icon atlas, decorative beside readable item labels. */
.game-icon{--icon-size:40px;display:inline-block;width:var(--icon-size);height:var(--icon-size);flex:0 0 var(--icon-size);background-image:url('life-icons.webp?v=10037-1');background-repeat:no-repeat;background-size:calc(var(--cols)*var(--icon-size)) calc(var(--rows)*var(--icon-size));background-position:calc(-1*var(--ix)*var(--icon-size)) calc(-1*var(--iy)*var(--icon-size));vertical-align:middle}
.item-title,.material-chip,.uses button{display:inline-flex;align-items:center;gap:8px;max-width:100%;white-space:normal}.item-title>span:last-child,.material-chip>span:last-child{min-width:0;overflow-wrap:anywhere}.recipe-title .game-icon{--icon-size:52px}.nav-label{display:flex;align-items:center;gap:7px}.nav-label .game-icon{--icon-size:30px}.material-chip{padding:2px 7px 2px 2px;gap:3px}.material-chip .game-icon{--icon-size:26px}.tree .game-icon{--icon-size:36px}.uses .game-icon{--icon-size:32px}.output-icons .game-icon{--icon-size:64px}.item-picture .game-icon{--icon-size:96px}.item-picture{margin:18px 0 8px}.material-line{align-items:start}.material-line>strong{padding-top:7px}.uses>div{display:flex;align-items:center;gap:8px}nav button{padding-left:5px;padding-right:7px}
@media(max-width:600px){.nav-label{flex-direction:column;gap:2px}.nav-label .game-icon{--icon-size:36px}nav button{padding:3px 2px 5px}.recipe-title .game-icon{--icon-size:44px}.material-chip .game-icon{--icon-size:24px}.item-title{gap:5px}.output-icons .game-icon{--icon-size:56px}.item-picture .game-icon{--icon-size:80px}}

input::placeholder{color:#637a64;opacity:1}input[type=checkbox]{accent-color:var(--green)}::selection{background:#c6e3bc;color:#203929}

.category-nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 16px}.category-nav button{padding:7px 13px;background:var(--panel);font-size:14px}.category-nav small{margin-left:5px;color:var(--muted);font-variant-numeric:tabular-nums}.category-nav button[aria-pressed=true]{background:#d5e9ce;border-color:#619569;color:#18492a;font-weight:600}.category-nav button[aria-pressed=true] small{color:inherit}@media(max-width:600px){.category-nav{gap:7px}.category-nav button{padding:6px 10px}}
