/* Herbino BIT Herbarium piece library. Raster artwork only: PNG/WebP, never SVG. */
.piece-module{
  --piece-paper:#f3e8cf;--piece-paper-light:#fbf7ea;--piece-ink:#20261c;--piece-forest:#29472e;
  --piece-moss:#6f7d55;--piece-sepia:#826846;--piece-gold:#be9a50;--piece-line:rgba(82,69,43,.28);
  color:var(--piece-ink);min-width:0;
}
.piece-module-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:12px}
.piece-module-head h2{font:600 clamp(34px,4vw,54px)/1.05 var(--serif);margin:0 0 10px}
.piece-intro{max-width:68ch;margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.piece-balance{flex:0 0 auto;min-width:128px;padding:12px 14px;border:1px solid var(--piece-line);background:var(--piece-paper-light);display:flex;gap:8px;justify-content:space-between;align-items:baseline}
.piece-balance span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--piece-sepia)}
.piece-balance strong{font:600 20px/1 var(--serif);color:var(--piece-forest)}
.piece-save-status{min-height:20px;margin:0 0 12px;color:var(--muted);font-size:11px}
.piece-toolbar{display:grid;grid-template-columns:minmax(180px,320px) minmax(0,1fr);gap:12px;align-items:center;padding:12px 0 18px;border-bottom:1px solid var(--piece-line)}
.piece-search{width:100%;min-height:44px;padding:10px 13px;border:1px solid var(--piece-line);background:rgba(251,247,234,.86);color:var(--piece-ink);font:400 16px/1.4 var(--sans)}
.piece-filters{display:flex;flex-wrap:wrap;gap:7px}
.piece-filter{min-height:40px;padding:8px 13px;border:1px solid var(--piece-line);background:var(--piece-paper-light);color:var(--piece-ink);cursor:pointer;font:600 12px/1.2 var(--sans)}
.piece-filter[aria-pressed="true"]{background:var(--piece-forest);border-color:var(--piece-forest);color:#fff9e8}
.piece-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:22px;margin-top:22px;align-items:start}
.piece-library,.piece-board-section{min-width:0}
.piece-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.piece-section-head h3{margin:0;font:600 24px/1.25 var(--serif)}
.piece-raster-note{font-size:10px;color:var(--piece-sepia);letter-spacing:.04em}
.piece-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.piece-card{min-width:0;border:1px solid var(--piece-line);background:linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,0)),var(--piece-paper-light);position:relative}
.piece-card.is-selected{outline:2px solid var(--piece-moss);outline-offset:2px}
.piece-card-main{display:block;width:100%;border:0;background:none;color:inherit;text-align:left;padding:12px;cursor:pointer}
.piece-card-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;color:var(--piece-sepia);font-size:8px;font-weight:700;letter-spacing:.12em}
.piece-card h4{margin:8px 0 1px;font:600 22px/1.15 var(--serif)}
.piece-latin{margin:0;color:var(--muted);font:italic 14px/1.4 var(--serif)}
.piece-art{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(111,125,85,.08),transparent 58%)}
.piece-art img{display:block;width:100%;height:100%;object-fit:contain}
.piece-art-pending{width:76%;height:76%;display:grid;place-items:center;align-content:center;gap:6px;border:1px dashed rgba(130,104,70,.35);color:var(--piece-sepia);background:rgba(243,232,207,.35)}
.piece-art-pending strong{font:600 34px/1 var(--serif);opacity:.65}
.piece-art-pending small{font-size:9px;text-align:center;padding:0 8px}
.piece-card.is-locked .piece-art{filter:grayscale(.82) saturate(.38);opacity:.62}
.piece-card-actions{display:flex;flex-wrap:wrap;gap:7px;padding:0 12px 12px;align-items:center}
.piece-card-actions .button{font-size:10px;padding:8px 9px;min-height:36px}
.piece-owned{flex:1 1 100%;padding:7px 9px;background:rgba(111,125,85,.16);color:var(--piece-forest);font-size:10px;font-weight:700}
.piece-locked-label{font-size:10px;color:var(--piece-sepia);margin-right:auto}
.piece-drag-handle{touch-action:none;cursor:grab}
.piece-drag-handle:active{cursor:grabbing}
.piece-no-results{grid-column:1/-1;padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--piece-line)}
.piece-board{position:relative;min-height:440px;overflow:hidden;border:1px solid var(--piece-line);background:linear-gradient(rgba(130,104,70,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(130,104,70,.045) 1px,transparent 1px),var(--piece-paper);background-size:32px 32px;isolation:isolate}
.piece-board.is-drop-target{outline:3px solid rgba(111,125,85,.48);outline-offset:-4px;background-color:#efe5ca}
.piece-board-empty{position:absolute;inset:0;display:grid;place-items:center;padding:36px;text-align:center;color:var(--muted);font:italic 17px/1.6 var(--serif);pointer-events:none}
.piece-placement{position:absolute;width:clamp(92px,22%,145px);transform-origin:center;user-select:none}
.piece-placement-art{width:100%;filter:drop-shadow(0 5px 5px rgba(56,45,29,.12));pointer-events:none}
.piece-placement .piece-art-pending small{display:none}
.piece-placement-tools{display:flex;justify-content:center;gap:4px;position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);opacity:0;transition:opacity .15s}
.piece-placement:hover .piece-placement-tools,.piece-placement:focus-within .piece-placement-tools{opacity:1}
.piece-mini-btn{width:28px;height:28px;border:1px solid var(--piece-line);background:var(--piece-paper-light);color:var(--piece-ink);cursor:pointer}
.piece-mini-btn:first-child{touch-action:none;cursor:grab}
.piece-inspector{margin-top:14px;border:1px solid var(--piece-line);background:var(--piece-paper-light);padding:16px}
.piece-inspector-top{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center}
.piece-inspector h4{margin:0 0 3px;font:600 27px/1.15 var(--serif)}
.piece-art-compact{aspect-ratio:1}
.piece-description{margin:12px 0;color:var(--muted);font-size:12px;line-height:1.7}
.piece-facts{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);margin:0;border-top:1px solid var(--piece-line)}
.piece-facts dt,.piece-facts dd{margin:0;padding:8px 0;border-bottom:1px solid var(--piece-line);font-size:11px}
.piece-facts dt{color:var(--piece-sepia)}
.piece-facts dd{text-align:right;font-weight:600}
.piece-inspector-empty{margin:10px 0;color:var(--muted)}
.piece-drag-ghost{position:fixed;z-index:9999;pointer-events:none;width:112px;padding:7px;border:1px solid var(--piece-line);background:var(--piece-paper-light);box-shadow:0 8px 24px rgba(32,38,28,.16)}
.piece-drag-ghost .piece-art{height:88px}.piece-drag-ghost span{display:block;margin-top:4px;font:600 12px/1.2 var(--serif)}
@media(max-width:1050px){.piece-layout{grid-template-columns:1fr}.piece-board{min-height:390px}.piece-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){
  .piece-module-head{align-items:stretch;flex-direction:column}.piece-balance{align-self:stretch}
  .piece-toolbar{grid-template-columns:1fr}.piece-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.piece-filter{white-space:nowrap}
  .piece-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.piece-card-main{padding:9px}.piece-card-actions{padding:0 9px 9px}
  .piece-card h4{font-size:19px}.piece-card-actions .button{flex:1 1 100%}.piece-owned{font-size:9px}
  .piece-board{min-height:360px}.piece-placement{width:30%}.piece-placement-tools{opacity:1;bottom:-30px}
  .piece-inspector-top{grid-template-columns:78px minmax(0,1fr)}.piece-raster-note{display:none}
}
@media(max-width:390px){.piece-grid{grid-template-columns:1fr 1fr}.piece-card h4{font-size:17px}.piece-card-meta{font-size:7px}.piece-board{min-height:330px}}
