.recipe-inventory{margin-bottom:10px}.recipe-inventory>summary{min-height:32px;display:list-item;line-height:32px}.book-search-row{display:flex;gap:6px;margin:7px 0}.book-search-row .recipe-search{width:auto;min-width:0;flex:1;min-height:44px;font-size:13px}.book-search-row>button{width:44px;height:44px;border:1px solid #9bb79b66;border-radius:6px;background:#1a4034;color:#e4ce90;font-size:23px;flex:0 0 44px}.book-search-row>button[aria-pressed=true]{background:#745c2e55;border-color:#edcc76}.recipe-scope{display:flex;gap:6px}.recipe-scope>button{flex:1;min-width:0;min-height:44px;border:1px solid #79b09b66;border-radius:7px;background:#173d32;color:#bdd7c6;font-size:12px;padding:8px}.recipe-scope>button[aria-pressed=true]{border-color:#f0cc7e;background:#8c71332a;color:#ffe5ac}.book-scope-note{font-size:10px;line-height:1.45;color:#a7c4b2;margin:6px 0 9px;min-height:15px}.book-selectors{display:grid;grid-template-columns:1fr 1fr;gap:8px}.book-selectors label{min-width:0;font-size:10px;color:#b8d2bd}.book-selectors select{display:block;width:100%;min-width:0;min-height:44px;margin-top:4px;padding:6px;color:#e0e9cc;background:#173b31;border:1px solid #7caa8c66;border-radius:6px;font:11px Arial,sans-serif}.book-quick-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0}.book-quick-row>button{min-height:44px;border:0;background:none;border-radius:6px;color:#bbd5bc;font-size:11px;padding:7px}.book-quick-row #detector-shortcut{color:#f6d38a;border:1px solid #d0b36b55;background:#65552415}.book-quick-row #detector-shortcut[aria-pressed=true]{background:#8e6c283d;border-color:#eac976}.book-section{margin-bottom:20px}.book-section-title{display:flex;gap:9px;align-items:center;color:#cce4cf;font:21px Georgia,serif;margin:17px 0 10px}.book-section-title>small{font:11px Arial,sans-serif;color:#9ab8a4}.mineral-card{display:block;margin:8px 0;padding:9px;border:1px solid #78a88b50;border-radius:9px;background:#183a2e55;min-width:0}.mineral-card.goal-card{border-color:#c8a5eb}.mineral-card .recipe-heading{margin-bottom:0}.mineral-portrait,.component-info{display:grid;place-items:center;min-width:44px;width:44px;height:44px;min-height:44px;padding:0;border:0;background:none;cursor:pointer;flex:0 0 44px}.mineral-portrait>img{width:44px;height:44px;object-fit:contain}.recipe-row .component-info,.stock-gem .component-info{padding:0;background:none;border:0;min-width:44px;width:44px;height:44px}.recipe-component .component-info img,.stock-gem .component-info img{width:30px!important;height:32px!important;object-fit:contain}.property-badges{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:5px}.property-badge,.property-more,.recipe-row .property-badge,.recipe-row .property-more{min-height:44px;padding:6px 9px;border:1px solid #87ae8650;border-radius:6px;background:#25483570;color:#bed8b8;font:11px/1.3 Arial,sans-serif;cursor:pointer}.property-more,.recipe-row .property-more{width:44px;min-width:44px;padding:0;font-size:16px}.property-badge.detector-badge,.recipe-row .property-badge.detector-badge{color:#ffe6a8;border-color:#eac872aa;background:#85662d2b;font-weight:600}.book-card-details{margin-top:4px}.book-card-details>summary{min-height:38px;line-height:38px;cursor:pointer;color:#d9dfbe;font:12px/38px Arial,sans-serif}.book-card-details>.recipe-variants{margin-top:5px}.book-empty{padding:20px 10px;color:#c6d7bd;font-size:13px;line-height:1.7}.base-grade-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.base-grade-grid>div{display:flex;align-items:center;min-width:0;border:1px solid #7ea78b44;border-radius:6px;padding:3px}.base-grade-info{flex:1;display:flex;align-items:center;gap:3px;min-width:0;min-height:44px;border:0;background:none;color:#c7ddc0;font-size:10px;text-align:left;padding:0;cursor:pointer}.base-grade-info>img{width:28px;height:34px;object-fit:contain}.mineral-info{width:490px;max-width:calc(100vw - 22px);max-height:85dvh;padding:20px;border:1px solid #a8c49677;border-radius:13px;background:#143a2e;color:#d6e5cc;box-shadow:0 20px 80px #001a1caa;z-index:70}.mineral-info::backdrop{background:#021c1fc9}.mineral-info>header{display:flex;gap:9px;align-items:center;margin-bottom:15px}.mineral-info>header>img{width:50px;height:55px;object-fit:contain}.mineral-info h2{flex:1;font:24px/1.15 Georgia,serif;color:#f4ddaa;margin:0}.mineral-info header>button{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:6px;background:none;color:#c7dbbc;font-size:25px;cursor:pointer}.property-grade-label{font-size:11px;color:#afcbb1}.property-grade-label select{display:block;width:100%;min-height:44px;margin:5px 0 16px;padding:7px;background:#1a4235;color:#d8e9c6;border:1px solid #88b59766;border-radius:6px}.mineral-property-list h3{font:15px Georgia,serif;color:#c6ddc2;margin:12px 0}.mineral-property-list article{padding:11px;border:1px solid #75a78744;border-radius:8px;margin:7px 0}.mineral-property-list article>b{font-size:13px;color:#dbe8c8}.mineral-property-list article>p,.planned-properties>p{font-size:12px;line-height:1.65;margin:6px 0 0;color:#b9d0ba}.mineral-property-list article.detector-detail{border-color:#d9bb6d99;background:#76562425}.mineral-property-list article.detector-detail>b{color:#ffe2a1}.planned-properties{margin-top:15px;color:#a7bca9}.planned-properties summary{cursor:pointer;min-height:44px;line-height:44px;font-size:12px}.planned-properties article{opacity:.85}
@media(max-width:370px){.book-selectors{gap:5px}.book-selectors select{font-size:10px}.base-grade-grid{grid-template-columns:1fr}.mineral-card .recipe-title h3{font-size:18px}.mineral-info{padding:15px}.mineral-info h2{font-size:21px}}

/* Group accordions and stable image slots, independent of legacy recipe-row buttons. */
.book-results-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 10px}
.book-results-row .recipe-count{margin:0;min-width:0;line-height:1.5}
#book-toggle-sections{flex:0 0 auto;min-height:44px;padding:7px 9px;border:1px solid #83aa8b55;border-radius:6px;background:#214536;color:#d2dfbf;font-size:11px}
.book-section{margin:8px 0;border:1px solid #80ad9255;border-radius:9px;background:#12382c70;overflow:hidden}
.book-section>.book-section-title{display:flex;align-items:center;gap:10px;min-height:54px;margin:0;padding:13px 12px;cursor:pointer;list-style:none;font:20px/1.3 Georgia,serif;color:#e7dfb7}
.book-section-title::-webkit-details-marker{display:none}
.book-section>.book-section-title::before{content:'';width:8px;height:8px;border-right:2px solid #cebd83;border-bottom:2px solid #cebd83;transform:rotate(-45deg);flex:0 0 8px;margin-right:2px}
.book-section[open]>.book-section-title::before{transform:rotate(45deg);margin-top:-4px}
.book-section>.book-section-title>span{flex:1;min-width:0}
.book-section>.book-section-title>small{display:grid;place-items:center;min-width:27px;min-height:25px;border-radius:5px;background:#8fb79a1c;color:#bfdbc3;font:12px Arial,sans-serif}
.book-section[open]>.book-section-title{border-bottom:1px solid #80ad9238;background:#31543b40}
.book-section-cards{padding:2px 8px 8px}
.mineral-card .recipe-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:9px;min-height:44px}
.mineral-card .mineral-portrait{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;background:none;border-radius:4px;line-height:0;overflow:hidden}
.mineral-card .mineral-portrait>img{display:block;width:44px;height:44px;max-width:100%;object-fit:contain}
.mineral-card .recipe-heading>.favorite-toggle{grid-column:3;justify-self:end}
.mineral-card .recipe-components{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:6px}
.mineral-card .recipe-component{display:grid;grid-template-columns:44px minmax(0,1fr) 14px 44px;grid-template-areas:"art name state favorite";align-items:center;gap:4px;width:100%;min-width:0;padding:4px}
.mineral-card .recipe-component>span{grid-area:name;min-width:0;overflow-wrap:anywhere;line-height:1.5}
.mineral-card .recipe-component>b{grid-area:state}
.mineral-card .recipe-component.upgrade-possible{border-color:#93cbd0;background:#254747;border-style:dashed}
.mineral-card .recipe-component.upgrade-possible img{opacity:1}
.mineral-card .recipe-component.upgrade-possible>b{color:#a8ece9}
.mineral-card .component-upgrade-path{display:block;font:10px/1.5 Arial,sans-serif;color:#a8e3dd;margin-top:2px}
.mineral-card .recipe-component>.component-info{grid-area:art;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;background:none;border:0}
.mineral-card .recipe-component>.component-info>img{display:block;width:32px!important;height:36px!important;object-fit:contain}
.mineral-card .recipe-component>.favorite-toggle{grid-area:favorite;width:44px;min-width:44px;padding:0;justify-self:end}
.stock-gem{max-width:100%;min-width:0}.stock-gem>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:370px){.book-section>.book-section-title{font-size:18px;padding:12px 10px}.book-section-cards{padding:1px 4px 4px}.mineral-card .recipe-heading{gap:6px}.book-results-row{gap:5px}#book-toggle-sections{font-size:10px;padding:6px}.book-results-row .recipe-count{font-size:10px}}

/* One overview per mineral; qualities are selected only in its property dialog. */
.mineral-card{container-type:inline-size}
.card-overview{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.card-overview .property-badges{margin:0;gap:4px}
.mineral-card .mineral-portrait{position:relative;overflow:visible}
.portrait-info{position:absolute;right:-2px;bottom:0;display:grid;place-items:center;width:14px;height:14px;border:1px solid #b1c7a377;border-radius:50%;background:#153d30;color:#dfdcaa;font:10px/1 Georgia,serif;pointer-events:none}
.family-info-button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #80ae8a55;border-radius:6px;background:#234c3955;color:#d5dfb9;font:27px/1 Georgia,serif}
.family-info-button:hover{background:#43664a66}
.family-goal-note{font:11px/1.5 Arial,sans-serif;color:#d1b1f1;margin:4px 0 0}.family-goal-note>span{color:#a9c2ac}
.mineral-card .book-card-details{margin-top:3px}
.mineral-card .book-card-details>summary{min-height:44px;line-height:44px}
.mineral-card .recipe-formula-title{font:600 11px/1.5 Arial,sans-serif;color:#cbd9bd;margin:0 0 6px}
.mineral-card .recipe-components{margin:0}
.mineral-card .recipe-component{position:relative}
.mineral-card .recipe-component.goal-component::before{position:absolute;left:3px;top:3px;line-height:1;pointer-events:none}
.recipe-variant-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin-top:7px}
.mineral-card .recipe-variant-footer>.recipe-plan{flex:1 1 160px;min-width:0;margin:0;font-size:11px;line-height:1.5}
.recipe-variant-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-left:auto}
.mineral-card .recipe-variant-actions>.recipe-craft{margin:0}
@container(min-width:520px){.card-overview:has(.property-badges){grid-template-columns:minmax(0,1fr) minmax(150px,240px);align-items:center;gap:14px}.card-overview .property-badges{justify-content:flex-end}.mineral-card .recipe-components{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mineral-info{width:600px}
.mineral-info>header{display:grid;grid-template-columns:56px minmax(0,1fr) 44px;align-items:start;gap:10px;margin-bottom:12px}
.mineral-info>header>img{display:block;width:56px;height:64px;object-fit:contain}
.mineral-info-identity{min-width:0}.mineral-info-identity>h2{font-size:24px;line-height:1.2;overflow-wrap:anywhere}
.mineral-info-identity>small{display:block;font-size:11px;color:#a8c4ac;margin-top:7px}
.mineral-info-identity .property-grade-label{display:block;margin-top:8px;font-size:10px}
.mineral-info-identity .property-grade-label select{margin:4px 0 0;font-size:12px}
.mineral-info-actions{display:flex;flex-direction:column;gap:4px}
.mineral-info-actions>#mineral-info-close{width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:6px;background:none;color:#c7dbbc;font-size:25px;cursor:pointer}
.mineral-info-actions>.favorite-toggle{margin:0}
.mineral-quality-goal{padding:7px 10px;margin:0 0 8px;border:1px solid #bf9cde55;border-radius:6px;color:#ddc7f3;font:11px/1.5 Arial,sans-serif}
.mineral-property-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.mineral-property-list>h3{grid-column:1/-1;margin:0 0 1px;font-size:14px}
.mineral-property-list>article{min-width:0;margin:0;padding:10px}
.mineral-property-list>article:last-of-type:nth-of-type(odd){grid-column:1/-1}
.mineral-property-list>.planned-properties{grid-column:1/-1;margin-top:0}
.planned-properties>summary{line-height:1.5;padding:12px 0}
@media(min-width:620px){.mineral-property-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:370px){.mineral-info>header{grid-template-columns:44px minmax(0,1fr) 44px;gap:7px}.mineral-info>header>img{width:44px;height:54px}.mineral-info-identity>h2{font-size:21px}.recipe-variant-actions{gap:4px}.mineral-card .recipe-variant-footer>.recipe-plan{font-size:10px}}

/* Illustrated medallions replace the text labels on mineral cards. */
.property-glyph{display:block;width:38px;height:38px;flex:0 0 38px;filter:drop-shadow(0 2px 2px #001d2370)}
.mineral-card .property-badge,.mineral-card .property-badge.detector-badge{display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;line-height:1}
.mineral-card .property-badge:hover{background:#8bbaa91c;border-color:#a5d5be55}
.mineral-card .property-badge:focus-visible{outline:2px solid #b7efe1;outline-offset:2px}
.card-overview .property-badges{gap:2px;justify-content:flex-end}
.property-icon-legend{margin:6px 0;border:1px solid #8bb79a44;border-radius:8px;background:#15382d55}
.property-icon-legend>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 8px;list-style:none;cursor:pointer;color:#d7dfbf;font:12px/1.4 Arial,sans-serif}
.property-icon-legend>summary::-webkit-details-marker{display:none}
.legend-summary-glyph .property-glyph{width:30px;height:30px}
.legend-chevron{margin-left:auto;color:#b8c8a6;font-size:20px}
.property-icon-legend[open] .legend-chevron{transform:rotate(180deg)}
.property-icon-legend>p{font:11px/1.5 Arial,sans-serif;color:#afc9b4;margin:3px 12px 9px}
.property-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 9px 10px}
.property-legend-entry{display:flex;align-items:center;gap:8px;min-width:0;padding:6px;border:1px solid #86a98a2e;border-radius:7px;background:#102e2638}
.property-legend-entry>.property-glyph{width:42px;height:42px;flex-basis:42px}
.property-legend-entry>div{min-width:0}.property-legend-entry b{display:block;color:#e5deba;font:13px/1.3 Georgia,serif}
.property-legend-entry span{display:block;color:#b7cbb6;font:11px/1.5 Arial,sans-serif;margin-top:3px}
.mineral-property-list article>b{display:flex;align-items:center;gap:7px}
.mineral-property-list article>b>.property-glyph{width:30px;height:30px;flex-basis:30px}
@container(min-width:260px){.card-overview:has(.property-badge:only-child){grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px}}
@container(min-width:330px){.card-overview:has(.property-badges){grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}}
@media(max-width:620px){.property-legend-grid{grid-template-columns:minmax(0,1fr)}}
