/* The live forest remains visible around a physical, illustrated field book. */
#workshop{background:#081c131a;backdrop-filter:none;overflow:hidden;padding:8px;touch-action:manipulation}
#workshop .recipeBook{--ink:#3b3325;position:relative;isolation:isolate;box-sizing:border-box;width:min(880px,96vw,calc(92dvh * 1.58));aspect-ratio:1.58;color:var(--ink);background:url('assets/book-v43.png') center/100% 100% no-repeat;filter:drop-shadow(0 12px 16px #07170e80);perspective:1100px;animation:openRecipeBook .28s ease-out}
@keyframes openRecipeBook{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
#workshop .bookHead{position:absolute;top:9%;left:13%;right:13%;display:flex;align-items:center;justify-content:space-between;height:44px;pointer-events:auto;z-index:3;padding:0;background:none}
.bookHead h2{font:clamp(15px,2.4vw,23px) Georgia;margin:0;font-variant:small-caps;letter-spacing:.04em;color:#42301c}
#workshop .workClose{margin-left:auto;flex:none;background:none;color:#47331d;border:0;box-shadow:none;min-height:44px;width:44px;height:44px;padding:0;font:28px Georgia}
.bookChapters{position:absolute;top:18%;left:13%;right:13%;height:44px;display:flex;justify-content:space-between;gap:14px}
.bookChapters button{font:12px Georgia;min-height:44px;padding:4px 10px;border:0;border-bottom:1px solid #70562d44;border-radius:0;background:transparent;color:#6c5534;box-shadow:none}
.bookChapters button[aria-pressed=true]{font-weight:bold;color:#294b38;border-bottom-color:#294b38}
.bookPages{position:absolute;inset:27% 12% max(32%,calc(22% + 52px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9%}
.bookPage{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}
.pageTitle{font:italic clamp(10px,1.8vw,15px) Georgia;text-align:center;color:#695936;flex:none;height:22px}
.pageNumber{position:absolute;bottom:-16px;left:50%;font:10px Georgia;color:#877453}
#workshop .recipeBook .workRecipes{display:grid;grid-template-rows:repeat(3,minmax(44px,1fr));flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px;gap:2px;scrollbar-color:#77664388 transparent}
#workshop .recipeBook .workRecipe{display:flex;flex:1;align-items:center;gap:5px;min-height:44px;max-height:100px;padding:0;border:0;background:transparent;box-shadow:none;text-shadow:none;color:var(--ink);border-radius:0}
/* A canvas inside a grid kept its intrinsic square size and overgrew the
   last row. Fit the illustration to the row, independently of its width. */
#workshop .recipeBook .workBow{position:relative;display:block;flex:0 0 36%;width:36%;height:100%;min-height:0;min-width:0}
#workshop .recipeBook .workBow canvas{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);min-width:0;min-height:0;max-height:100%;aspect-ratio:auto;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(1px 1px 0 #73603960)}
.recipeInk{display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;flex:1;min-width:0;text-align:left}
#workshop .recipeBook .workRecipe strong{font:clamp(11px,1.8vw,17px) Georgia;flex-basis:100%;color:#443521;text-shadow:none}
#workshop .recipeBook .workCosts{gap:5px;justify-content:flex-start;min-height:18px}
#workshop .recipeBook .workCost{font:10px Arial;color:#4d5730;gap:1px}
#workshop .recipeBook .workCost.missing{color:#8c442e}
#workshop .recipeBook .workCost canvas{width:18px;height:18px}
#workshop .recipeBook .workDamage{font:11px Georgia;color:#573d29}
#workshop .recipeBook .workRecipe:disabled,#workshop .recipeBook .workAbility:disabled{opacity:.56}
#workshop .recipeBook .workRecipe[data-ready=true] strong{color:#244a32;font-weight:bold}
#workshop .recipeBook .workRecipe[data-ready=true] .workBow canvas{animation:bookInkPulse 1.7s ease-in-out infinite}
@keyframes bookInkPulse{50%{filter:drop-shadow(0 0 5px #5d8943aa) brightness(1.18)}}
#workshop .recipeBook .workBow i{color:#385e38;right:0;bottom:4px}
#workshop .recipeBook .workAbilities{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(3,minmax(44px,1fr));gap:3px 6px;padding:2px;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-color:#77664388 transparent}
#workshop .recipeBook .workAbility{min-height:44px;min-width:44px;gap:2px;padding:0;color:#4e5234;text-shadow:none;box-shadow:none;background:none}
#workshop .recipeBook .workGlyph{width:30px;height:30px;filter:none}
#workshop .recipeBook .workAbility .workCosts{gap:3px;min-height:15px}
#workshop .recipeBook .workAbility .workCost{font-size:9px}
#workshop .recipeBook .workAbility .workCost canvas{width:15px;height:15px}
#workshop .recipeBook .workAbility[data-active=true] .workGlyph{color:#285433;filter:drop-shadow(0 0 3px #55743d88)}
#workshop .recipeBook .workAbility[data-ready=true] .workGlyph{animation:bookInkPulse 1.7s ease-in-out infinite}
#workshop .recipeBook .workAbility>b{color:#385e38;font-size:15px}
.bookNavigation{position:absolute;bottom:22%;left:16%;right:16%;display:flex;align-items:center;justify-content:space-between;z-index:3}
.bookNavigation button{width:52px;height:44px;min-height:44px;border:0;background:transparent;box-shadow:none;color:#594226;font:36px Georgia;padding:0;line-height:1}
.bookNavigation button:disabled{opacity:.2}.bookNavigation span{font:11px Georgia;color:#715f40}
.turningLeaf{position:absolute;top:22%;bottom:22%;left:50%;right:10%;transform-origin:left center;background:linear-gradient(90deg,#b6a077,#ecdbac 10%,#eee1b7 90%,#caba93);border-radius:0 5px 8px 0;pointer-events:none;z-index:4;animation:turnBookLeaf .42s ease-in-out both;backface-visibility:visible;box-shadow:5px 5px 12px #36271130}
.turningLeaf i{position:absolute;top:45%;left:40%;font:35px Georgia;color:#92825a;opacity:.45}
[data-turn="-1"] .turningLeaf{animation-direction:reverse}
@keyframes turnBookLeaf{0%{transform:rotateY(0);opacity:.65}45%{opacity:1}100%{transform:rotateY(-180deg);opacity:0}}
#workshop .workReplace{bottom:14%;background:#ecdfbe;color:#3f3426;border:1px solid #816744;box-shadow:0 5px 20px #3b2a2a55;border-radius:6px}
#workshop .workReplace button{background:#40513a;color:#f2e8d3;border:0;border-radius:5px}
#workshop .recipeBook button:focus-visible{outline:2px solid #406745;outline-offset:2px}
#workshop .bookNavigation button,#workshop .workClose{display:grid;place-items:center;background:#e9d8aeaa;border-radius:50%;border:1px solid #76613e44}
#workshop .bookNavigation svg,#workshop .workClose svg{width:24px;height:24px;fill:none;stroke:#4c3d29;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bookNavigation span{background:#eadcbdcc;border-radius:6px;padding:4px 8px}
.homeArcher{object-position:50% 76%}
#workshop .recipeBook .workRecipe{height:100%;max-height:100%;box-sizing:border-box}
#workshop .recipeBook .workBow{max-height:100%}
.pageNumber{display:none}
#hud #progressionRecipes{left:var(--left);right:auto;top:auto;bottom:calc(var(--floor) + var(--stick) + 14px);max-width:170px;width:auto;transform:none}
#hud #progressionRecipes .recipePreview{background:linear-gradient(90deg,#10251c99,transparent);padding-left:0}
/* On a narrow phone a single full-sized leaf is readable, with page layers
   and the spine still visible. Landscape displays the facing-page spread. */
@media(orientation:portrait){
 #workshop .recipeBook{width:min(94vw,430px);height:min(570px,79dvh);aspect-ratio:auto;background-size:200% 100%;background-position:right center}
 #workshop .bookHead{top:8%;left:10%;right:18%}.bookHead h2{font-size:clamp(16px,4.6vw,18px)}
 .bookChapters{top:18%;left:10%;right:20%}.bookChapters button{font-size:13px;padding:4px 3px}
 .bookPages{inset:29% 19% calc(21% + 52px) 12%;grid-template-columns:minmax(0,1fr);gap:0}.bookPage:nth-child(2){display:none}
 .pageTitle{font-size:14px;height:28px}
 #workshop .recipeBook .workRecipe strong{font-size:17px}
 #workshop .recipeBook .workBow{flex-basis:37%;width:37%}
 #workshop .recipeBook .workCost{font-size:12px}#workshop .recipeBook .workCost canvas{width:21px;height:21px}
 #workshop .recipeBook .workGlyph{width:36px;height:36px}#workshop .recipeBook .workAbility{min-height:64px}
 #workshop .recipeBook .workAbilities{grid-template-rows:repeat(3,minmax(64px,1fr))}
 #workshop .recipeBook .workAbility .workCost{font-size:11px}#workshop .recipeBook .workAbility .workCost canvas{width:19px;height:19px}
 .turningLeaf{left:7%;right:17%}.bookNavigation{bottom:21%;left:14%;right:25%}
 #hud #progressionRecipes{left:var(--left);right:auto;top:auto;bottom:calc(var(--floor) + var(--stick) + 12px);max-width:150px}
}
@media(orientation:landscape) and (max-height:480px){
 #workshop .recipeBook{width:min(96vw,calc((100dvh - 16px) * 1.58))}
 #workshop .bookHead{top:9%;right:11%}.bookHead h2{display:none}
 .bookChapters{top:10%;left:13%;right:23%}
 .bookPages{inset:25% 12% calc(21% + 52px)}.pageTitle{display:none}
 .bookNavigation{bottom:21%}
 #workshop .recipeBook .workRecipe strong{font-size:12px}#workshop .recipeBook .workBow{max-height:52px}
 #workshop .recipeBook .workCost{font-size:9px}#workshop .recipeBook .workCost canvas{width:15px;height:15px}
 #workshop .recipeBook .workGlyph{width:25px;height:25px}#workshop .recipeBook .workAbility .workCost{font-size:8px}#workshop .recipeBook .workAbility .workCost canvas{width:13px;height:13px}
 #hud #progressionRecipes{bottom:calc(var(--floor) + var(--stick) + 8px);max-width:150px}
}
[data-reduced-motion=true] .recipeBook,[data-reduced-motion=true] .recipeBook *{animation:none!important}
@media(prefers-reduced-motion:reduce){.recipeBook,.recipeBook *{animation:none!important}.turningLeaf{display:none}}
