/* Compact recipe gallery; details are progressively disclosed, never duplicated
   on every card. Other Workshop activities keep their existing layouts. */
.workshop-compact-hero.workshop-hero{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid #577063;margin-bottom:14px}
.workshop-compact-hero>.recipe-icon{width:40px;height:40px;box-sizing:border-box;align-items:center;justify-content:center;color:#c9dca8;flex:none}
.workshop-station{flex:1;min-width:130px}.workshop-station strong{font-size:13px;line-height:1.5;display:block;color:#dae6cf}.workshop-station small{display:block;font-size:11px;color:#9fb5ab;margin-top:3px}
.workshop-compact-hero .button{min-height:42px;padding:8px 13px;font-size:12px}
.workshop-quick-help{flex-basis:100%;font-size:11px;color:#99b0a5}.workshop-quick-help summary{cursor:pointer;min-height:24px;line-height:24px}.workshop-quick-help p{font-size:12px;line-height:1.7;max-width:none;margin:8px 0}
.compact-workshop-filters.workshop-filters{gap:12px;margin:0 0 12px;padding:12px 14px;align-items:end}
.compact-workshop-filters .recipe-search{flex:2;min-width:160px}.compact-workshop-filters>label{min-width:120px;font-size:11px}
.compact-workshop-filters input:not([type=checkbox]),.compact-workshop-filters select{min-height:42px;margin-top:5px;font-size:12px}
.recipe-extra-filters{flex-basis:100%;font-size:11px;color:#9fb5a9}.recipe-extra-filters summary{cursor:pointer;line-height:24px;min-height:24px;width:max-content;max-width:100%}.recipe-extra-filters>div{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding-top:8px}.recipe-extra-filters label{min-width:110px;flex:1}.recipe-extra-filters .button{font-size:11px;min-height:40px}
.recipe-gallery-caption{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;line-height:1.6;color:#98afa6;margin:12px 0}
.recipe-grid.recipe-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;align-items:start}
.recipe-card.recipe-compact{padding:13px 14px;gap:10px;border-top-width:1px;border-radius:10px;min-width:0;transition:border-color .15s,background .15s}
.recipe-card.recipe-compact:hover,.recipe-card.recipe-compact:focus-within{border-color:#839f74;background:#172925}
.recipe-open{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;color:inherit;padding:0;cursor:pointer;min-height:54px;font:inherit;min-width:0}
.recipe-compact .recipe-icon{width:44px;height:44px;box-sizing:border-box;justify-content:center;align-items:center;flex:none;border-color:#71867d77;background:#0d1b1880;border-radius:9px;padding:9px}
.recipe-compact .recipe-icon .icon{width:25px;height:25px}
.recipe-title{min-width:0;flex:1}.recipe-title strong{display:block;font-family:Georgia,serif;font-size:16px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.recipe-title small{display:block;font-size:10px;color:#9fb1a8;margin-top:4px;letter-spacing:.04em}
.recipe-compact-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}
.recipe-status{font-size:11px;line-height:1.5;color:#a7b7ae;min-width:0}.recipe-status.ready{color:#d1e7a8}
.recipe-info-link{border:0;padding:0 0 0 5px;min-height:30px;flex:none;background:none;font:inherit;font-size:11px;color:#b0c3b7;cursor:pointer}.recipe-info-link span{font-size:14px;margin-left:3px}
.recipe-open:focus-visible,.recipe-info-link:focus-visible,.recipe-extra-filters summary:focus-visible,.workshop-quick-help summary:focus-visible{outline:2px solid #cde9a3;outline-offset:3px;border-radius:4px}
.recipe-craft-controls{display:flex;align-items:end;gap:9px;padding-top:10px;border-top:1px solid #67816f33;min-width:0}
.recipe-craft-controls label{display:flex;align-items:center;gap:8px;font-size:11px;color:#a6bdb1;flex:1;min-width:0}
.recipe-craft-controls input{width:65px;min-height:42px;box-sizing:border-box;background:#0e201b;color:#e9efdc;border:1px solid #57705d;border-radius:6px;padding:8px;font:inherit;font-size:13px;min-width:0;color-scheme:dark}
.recipe-craft-controls input:focus{outline:2px solid #cde9a3;outline-offset:2px}.recipe-craft-controls input[aria-invalid=true]{border-color:#dba984}
.recipe-craft-controls .button{min-height:42px;padding:8px 16px;font-size:12px;white-space:nowrap}
.recipe-hover{position:fixed;z-index:160;width:min(430px,calc(100vw - 24px));box-sizing:border-box;background:#11221e;border:1px solid #849574;border-radius:12px;box-shadow:0 18px 60px #0008;padding:18px;overflow-y:auto;overscroll-behavior:contain;color:#d6e2d5;font-size:12px;scrollbar-gutter:stable}
.recipe-hover[hidden]{display:none!important}.recipe-hover-heading{display:flex;align-items:start;gap:12px}.recipe-hover-heading h2{font:22px/1.4 Georgia,serif;flex:1;margin:0 0 12px;overflow-wrap:anywhere}.recipe-hover-close{width:36px;height:36px;flex:none;border:1px solid #68816d66;background:#0c1b18;color:#dfe8d8;border-radius:6px;cursor:pointer;font-size:23px;line-height:1}
.recipe-detail-facts{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#adc0b1;font-size:11px;line-height:1.6;margin:8px 0 14px}
.recipe-output-stats,.recipe-output-description{font-size:12px;line-height:1.7;color:#c3d1be;overflow-wrap:anywhere}
.recipe-details h2{padding-right:26px;overflow-wrap:anywhere;font-family:Georgia,serif}.recipe-details h3,.recipe-hover h3{font-size:13px;color:#d1dfc5;margin:18px 0 8px}
.recipe-detail-totals{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;line-height:1.7;margin:16px 0 12px;padding:12px;background:#82966712;border:1px solid #72856b44;border-radius:7px;font-size:12px}.recipe-detail-totals strong{color:#dde6b5}.recipe-detail-totals span{color:#a8bcae;font-size:11px}
.recipe-detail-note{font-size:11px;line-height:1.7;color:#a3b5a9;margin:10px 0}.recipe-details .recipe-ingredients,.recipe-hover .recipe-ingredients{margin-bottom:10px}.recipe-details .recipe-ingredient,.recipe-hover .recipe-ingredient{font-size:13px}.recipe-details .recipe-ingredient small,.recipe-hover .recipe-ingredient small{font-size:11px}
.recipe-details .craft-checklist,.recipe-hover .craft-checklist{grid-template-columns:1fr}.recipe-details .craft-check,.recipe-hover .craft-check{font-size:11px}.recipe-details .craft-check strong,.recipe-hover .craft-check strong{font-size:11px}
#recipe-detail-actions:empty{display:none}#recipe-detail-actions{position:sticky;bottom:-22px;background:#11221ef7;padding:10px 0;margin-top:12px;z-index:1}#recipe-detail-actions .recipe-craft-controls{justify-content:flex-end}#recipe-detail-actions .recipe-craft-controls label{flex:none}
.workshop-detail-modal .modal-panel{max-width:620px}.recipe-details{min-width:0}.recipe-details>.eyebrow{padding-right:30px}
@media(max-width:600px){
 .recipe-grid.recipe-gallery{grid-template-columns:1fr;gap:10px}
 .recipe-card.recipe-compact{padding:12px 14px;gap:6px}.recipe-title strong{font-size:16px}.recipe-open{min-height:52px}
 .recipe-info-link{min-height:40px}.recipe-status{font-size:12px}
 .workshop-compact-hero.workshop-hero{padding:12px;gap:10px}.workshop-compact-hero>.recipe-icon{display:none}.workshop-station strong{font-size:12px}
 .compact-workshop-filters.workshop-filters{padding:12px;gap:10px}.compact-workshop-filters .recipe-search{flex-basis:100%}
 .recipe-extra-filters summary,.workshop-quick-help summary{min-height:40px;line-height:40px}
 .workshop-detail-modal.modal-backdrop{align-items:flex-end;padding:0}
 .workshop-detail-modal .modal-panel{width:100%;max-width:none;max-height:90dvh;max-height:min(90dvh,100%);margin:0;border-radius:16px 16px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom,0px));box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain}
 .workshop-detail-modal #modal-title{font-size:23px}.recipe-detail-facts{font-size:11px}
 #recipe-detail-actions{bottom:calc(-18px - env(safe-area-inset-bottom,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.recipe-card.recipe-compact{transition:none}}
/* Fixed physical collections show their actual three-to-six matching slots. */
.recipe-title .recipe-collection-label{font-size:9px;line-height:1.4;letter-spacing:0;overflow-wrap:anywhere;color:#b9a8cd}
.set-card[data-collection] .set-pieces{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}
.set-card[data-collection] .set-pieces.four-pieces{grid-template-columns:repeat(4,minmax(0,1fr))}
.set-card[data-collection] .collection-bonus{line-height:1.6}
.set-card[data-collection] details summary,.set-rules details summary{cursor:pointer;font-size:11px;color:#c5d0bc;padding:6px 0}
.set-card[data-collection] h3 small{font-family:inherit;font-size:12px;white-space:nowrap}
.collection-rules{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;margin-bottom:12px}
.collection-rules details{flex:1;min-width:0}.collection-rules .button{font-size:11px;padding:8px 10px;white-space:nowrap}.collection-rules details summary{padding:7px 0}
