:root{--bg:#E6E2D5;--ink:#1E1B16;--card:#FBFAF6;--line:#CBC5B4;--amber:#B5651D;--amber-2:#9A5417;--moss:#3C4838;--moss-2:#4E5C49;--muted:#6B6557;--paper-2:#F3F0E7}*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden;max-width:100%}body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.mono{font-family:Space Mono,ui-monospace,monospace}.bino{font-family:Fraunces,Georgia,serif;font-style:italic}header{border-bottom:1px solid var(--line);background:var(--paper-2)}.bar{height:6px;background:repeating-linear-gradient(90deg,var(--moss) 0 14px,var(--moss-2) 14px 28px)}.head-in{max-width:1180px;margin:0 auto;padding:22px 14px 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px 32px;flex-wrap:wrap}.head-left{flex:1 1 420px;min-width:0}.head-warn{margin:0;max-width:34ch;text-align:right;font-family:Space Mono,monospace;font-weight:700;font-size:11.5px;line-height:1.45;letter-spacing:.01em;color:var(--amber-2)}.wordmark{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.wordmark h1{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(28px,5vw,40px);letter-spacing:.01em;margin:0;line-height:.95}.wordmark .tag{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.sub{margin:8px 0 0;max-width:60ch;display:flex;flex-direction:column;gap:5px}.sub p{margin:0}.sub-lead{color:var(--ink);font-size:14px;line-height:1.5}.sub-lead strong{color:var(--amber-2);font-weight:600}.sub-note{font-family:Space Mono,monospace;font-size:11.5px;letter-spacing:.02em;color:var(--amber-2);line-height:1.45}.sub-donate{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.donate{font-family:Space Mono,monospace;font-size:12px;letter-spacing:.04em;color:var(--amber-2);font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.donate:hover{color:var(--amber)}.donate-url{font-family:Space Mono,monospace;font-size:12px;color:var(--muted);word-break:break-all}.head-right{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.authbar{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.04em;color:var(--muted);display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.authbar strong{color:var(--ink)}.link{background:none;border:none;cursor:pointer;font-family:Space Mono,monospace;font-size:11px;letter-spacing:.06em;color:var(--amber-2);padding:0;text-decoration:underline;text-underline-offset:2px}.link:hover{color:var(--amber)}.btn{font-family:Space Mono,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;padding:13px 20px;border-radius:2px;background:var(--amber);color:#fff;transition:background .15s ease,transform .05s ease;white-space:nowrap}.btn:hover{background:var(--amber-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{background:var(--paper-2);border-color:var(--muted)}:focus-visible{outline:2.5px solid var(--amber);outline-offset:2px}.wrap{max-width:1180px;margin:0 auto;padding:24px 14px 64px}.controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.search{flex:1;min-width:220px;position:relative}.search input{width:100%;padding:12px 14px 12px 38px;border:1px solid var(--line);border-radius:2px;background:var(--card);font-family:Space Mono,monospace;font-size:13px;color:var(--ink)}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.5}.count{font-family:Space Mono,monospace;font-size:12px;color:var(--muted);letter-spacing:.06em;white-space:nowrap}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 26px}.chip{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.06em;cursor:pointer;padding:7px 12px;border:1px solid var(--line);border-radius:100px;background:transparent;color:var(--muted);transition:all .12s ease}.chip:hover{border-color:var(--moss)}.chip.on{background:var(--moss);border-color:var(--moss);color:#f3f0e7}.chip.on .bino{color:#f3f0e7}.chip .bino{color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:3px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;text-align:left;padding:0;font:inherit;color:inherit}.card:hover{border-color:var(--moss);box-shadow:0 8px 22px -14px #1e1b1666;transform:translateY(-2px)}.specimen{position:relative;background:var(--paper-2);aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid var(--line)}.specimen img{width:100%;height:100%;object-fit:cover;display:block}.specimen .empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:.28}.catcode{position:absolute;top:0;left:0;background:var(--moss);color:#f3f0e7;font-family:Space Mono,monospace;font-size:10px;letter-spacing:.14em;padding:5px 9px;border-bottom-right-radius:3px}.price-tag{position:absolute;bottom:8px;right:8px;background:var(--card);border:1px solid var(--line);font-family:Space Mono,monospace;font-weight:700;font-size:15.5px;padding:7px 12px;border-radius:2px}.card-body{padding:14px 15px 16px;display:flex;flex-direction:column;gap:10px;flex:1}.genus-strip{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}.name{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:21px;line-height:1.1;margin:-2px 0 0}.name .common{font-style:normal;font-family:Inter,sans-serif;font-size:12px;color:var(--muted);display:block;margin-top:3px;font-weight:500}.ledger{border-top:1px solid var(--line);margin-top:auto}.ledger .row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-family:Space Mono,monospace;font-size:11.5px}.ledger .row:last-child{border-bottom:none}.ledger .k{color:var(--muted);letter-spacing:.05em}.ledger .v{text-align:right;color:var(--ink)}.tagrow{display:flex;gap:6px;flex-wrap:wrap}.tg{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.04em;padding:3px 8px;border:1px solid var(--line);border-radius:100px;color:var(--muted)}.empty-state{grid-column:1/-1;text-align:center;padding:80px 20px;color:var(--muted)}.empty-state .bino{font-size:26px;color:var(--ink);display:block;margin-bottom:8px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b168c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:40}.overlay.show{opacity:1;pointer-events:auto}.panel{position:fixed;top:0;right:0;height:100%;width:min(460px,100%);background:var(--bg);z-index:50;box-shadow:-20px 0 50px -20px #00000080;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.panel.show{transform:translate(0)}.panel-head{padding:20px 22px;border-bottom:1px solid var(--line);background:var(--paper-2);display:flex;justify-content:space-between;align-items:center}.panel-head h2{font-family:Fraunces,serif;font-weight:600;font-size:20px;margin:0}.panel-head .eyebrow{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);display:block;margin-bottom:3px}.x{background:none;border:none;cursor:pointer;font-size:24px;line-height:1;color:var(--muted);padding:4px 8px}.x:hover{color:var(--ink)}.panel-body{padding:22px;overflow-y:auto;flex:1}label.fld{display:block;margin-bottom:16px}label.fld .lab{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}.inp,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:2px;background:var(--card);font-family:Inter,sans-serif;font-size:14px;color:var(--ink)}textarea{resize:vertical;min-height:78px}select{cursor:pointer}.two{display:flex;gap:12px}.two>*{flex:1}.hint{font-family:Space Mono,monospace;font-size:10px;color:var(--muted);margin-top:5px;letter-spacing:.03em}.drop{border:1.5px dashed var(--line);border-radius:3px;padding:18px;text-align:center;cursor:pointer;background:var(--card);transition:border-color .15s}.drop:hover{border-color:var(--moss)}.drop.has{padding:0;border-style:solid;overflow:hidden}.drop img{width:100%;display:block;max-height:180px;object-fit:cover}.drop .dtext{font-family:Space Mono,monospace;font-size:12px;color:var(--muted)}.err{color:var(--amber-2);font-family:Space Mono,monospace;font-size:11px;margin-top:6px}.notice{font-family:Space Mono,monospace;font-size:12px;color:var(--muted);margin:0 0 14px;line-height:1.6}.d-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;border:1px solid var(--line);background:var(--paper-2);margin-bottom:18px}.d-img.empty-d{display:flex;align-items:center;justify-content:center}.d-genus{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:4px}.d-name{font-family:Fraunces,serif;font-style:italic;font-size:32px;line-height:1.05;margin:0 0 4px}.d-common{color:var(--muted);font-size:14px;margin-bottom:18px}.d-price{font-family:Space Mono,monospace;font-weight:700;font-size:22px;margin-bottom:20px}.d-led{border-top:1px solid var(--line);margin-bottom:20px}.d-led .row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-family:Space Mono,monospace;font-size:13px}.d-led .k{color:var(--muted)}.d-desc{font-size:14px;line-height:1.65;margin-bottom:22px;white-space:pre-wrap}.d-contact{background:var(--moss);color:#f3f0e7;padding:16px;border-radius:3px}.d-contact .cl{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.75;margin-bottom:5px}.d-contact .cv{font-family:Space Mono,monospace;font-size:15px;word-break:break-word}.owner-dot{position:absolute;top:0;right:0;z-index:2;background:var(--amber);color:#fff;font-family:Space Mono,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border-bottom-left-radius:3px}.sold-ribbon{position:absolute;top:20px;left:-46px;z-index:3;transform:rotate(-45deg);background:var(--moss);color:#f3f0e7;font-family:Space Mono,monospace;font-size:14px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:7px 56px;box-shadow:0 3px 8px -2px #00000080}.card.sold .specimen img{filter:grayscale(.65) opacity(.9)}.card.sold .price-tag{text-decoration:line-through;color:var(--muted)}.d-soldbadge{display:inline-block;background:var(--moss);color:#f3f0e7;font-family:Space Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:2px;margin-bottom:14px}.owner-actions{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.oa-label{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.oa-btns{display:flex;gap:8px;flex-wrap:wrap}.oa-btns .btn{flex:1;min-width:110px;padding:11px 12px;font-size:11px}.btn.danger{background:transparent;color:var(--amber-2);border:1px solid var(--amber-2)}.btn.danger:hover{background:var(--amber-2);color:#fff}.chip.toggle{border-color:var(--moss);color:var(--moss)}.chip.toggle.on{background:var(--moss);border-color:var(--moss);color:#f3f0e7}header{position:sticky;top:0;z-index:30}.card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.card:hover{box-shadow:0 12px 28px -16px #1e1b1680}.specimen img{transition:transform .35s ease}.card:hover .specimen img{transform:scale(1.03)}footer{max-width:1180px;margin:0 auto;padding:0 14px 50px;color:var(--muted);font-family:Space Mono,monospace;font-size:11px;letter-spacing:.04em;line-height:1.8}@media (max-width:760px){.head-right{width:100%;align-items:stretch}.head-warn{max-width:none;text-align:left}.authbar,.actions{justify-content:flex-start}.actions .btn{flex:1 1 auto}}@media (max-width:520px){.name{font-size:19px}.two{flex-direction:column;gap:0}.wordmark{gap:6px}.controls{gap:10px}.actions{flex-direction:column}.actions .btn{width:100%;flex:1 1 auto}.panel-head,.panel-body{padding:16px}.d-name{font-size:26px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.actions .btn{padding:11px 16px;font-size:11px}.chips.kinds{margin:0 0 22px}.kind-badge{position:absolute;top:0;right:0;z-index:2;font-family:Space Mono,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#f3f0e7;padding:4px 8px;border-bottom-left-radius:3px;background:var(--moss)}.kind-badge.wanted{background:var(--amber-2)}.kind-badge.list{background:var(--moss)}.d-img .kind-badge{top:0;right:0;border-bottom-left-radius:3px}.wanted-tag{font-weight:400;font-size:11.5px}.name.listname,.d-name.listname{font-style:normal;font-family:Fraunces,serif;font-weight:600}.d-name.listname{font-size:26px}.list-preview{font-family:Space Mono,monospace;font-size:11px;line-height:1.5;color:var(--muted);white-space:pre-wrap;margin:0;max-height:64px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 60%,transparent)}.d-list{font-family:Space Mono,monospace;font-size:13px;line-height:1.7;color:var(--ink);white-space:pre-wrap;background:var(--card);border:1px solid var(--line);border-radius:3px;padding:14px 16px;margin:0 0 20px;overflow-x:auto}.listinput{min-height:200px;font-family:Space Mono,monospace;font-size:13px;line-height:1.6}.catcode.cat-sale{background:var(--moss)}.catcode.cat-wanted{background:var(--amber-2)}.catcode.cat-list{background:var(--moss)}.warn-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#1e1b1699;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:warnfade .2s ease}@keyframes warnfade{0%{opacity:0}to{opacity:1}}.warn-box{position:relative;background:var(--bg);border:1px solid var(--line);border-top:4px solid var(--amber-2);border-radius:4px;max-width:420px;width:100%;padding:30px 28px 26px;box-shadow:0 30px 70px -25px #0009;text-align:center}.warn-x{position:absolute;top:8px;right:10px;background:none;border:none;cursor:pointer;font-size:26px;line-height:1;color:var(--muted);padding:4px 8px}.warn-x:hover{color:var(--ink)}.warn-eyebrow{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:6px}.warn-box h2{font-family:Fraunces,serif;font-weight:600;font-size:26px;margin:0 0 12px;color:var(--amber-2)}.warn-box p{font-size:14.5px;line-height:1.6;color:var(--ink);margin:0 0 22px}.warn-box .btn{width:100%}.verified-chip{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-family:Space Mono,monospace;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#2f7d4f;background:#3c7d4f1f;border:1px solid rgba(60,125,79,.45);padding:3px 8px;border-radius:100px}.d-verified{display:inline-flex;align-items:center;gap:6px;font-family:Space Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#2f7d4f;background:#3c7d4f1f;border:1px solid rgba(60,125,79,.45);padding:6px 12px;border-radius:100px;margin-bottom:14px}.card{position:relative}.reported-cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#1e1b16d1;color:#f3f0e7;text-align:center;padding:18px;border-radius:inherit}.reported-cover .rc-big{font-family:Space Mono,monospace;font-weight:700;font-size:22px;letter-spacing:.14em;text-transform:uppercase;color:#e8a06a}.reported-cover .rc-sub{font-family:Space Mono,monospace;font-size:10.5px;letter-spacing:.04em;color:#cfc8ba;max-width:22ch;line-height:1.4}.card.reported{border-color:var(--amber-2)}.card.flagged .specimen img,.card.flagged .specimen .empty{filter:blur(16px) saturate(1.05);transform:scale(1.12)}.card.flagged:hover .specimen img{transform:scale(1.12)}.d-img.flagged{filter:blur(22px) saturate(1.05)}.d-reported{background:#b5651d1f;border:1px solid var(--amber-2);color:var(--amber-2);font-family:Space Mono,monospace;font-size:12px;line-height:1.5;font-weight:700;padding:12px 14px;border-radius:3px;margin-bottom:16px}.report-row{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.report-btn{background:transparent;border:1px solid var(--line);cursor:pointer;font-family:Space Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:9px 14px;border-radius:2px;transition:color .15s,border-color .15s}.report-btn:hover{color:var(--amber-2);border-color:var(--amber-2)}.report-count{font-family:Space Mono,monospace;font-size:11px;color:var(--amber-2);letter-spacing:.04em}.report-flag{position:absolute;top:0;right:0;z-index:4;display:flex;align-items:center;gap:4px;background:var(--amber-2);color:#fff;font-family:Space Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.06em;padding:4px 8px;border-bottom-left-radius:3px}.report-flag.below{top:24px}.name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.name-row .name{flex:1;min-width:0}.votes{display:flex;gap:6px;flex-shrink:0;margin-top:2px}.vote{display:inline-flex;align-items:center;gap:4px;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:100px;padding:4px 9px 4px 8px;color:var(--muted);font-family:Space Mono,monospace;font-size:11px;font-weight:700;line-height:1;transition:color .15s,border-color .15s,background .15s}.vote svg{display:block}.vote.down svg{transform:rotate(180deg)}.vote:hover{border-color:var(--moss);color:var(--ink)}.vote.up.on{color:#2f7d4f;border-color:#2f7d4f;background:#3c7d4f1a}.vote.down.on{color:var(--amber-2);border-color:var(--amber-2);background:#9a54171a}.vote .vnum{font-size:11px}.oa-reports{font-family:Space Mono,monospace;font-size:11px;color:var(--amber-2);margin-top:10px;letter-spacing:.03em}.share-btn{display:inline-flex;align-items:center;gap:6px;background:var(--paper-2);border:1px solid var(--line);cursor:pointer;font-family:Space Mono,monospace;font-size:11px;letter-spacing:.06em;color:var(--ink);padding:8px 13px;border-radius:2px;margin-bottom:20px;transition:border-color .15s,color .15s}.share-btn:hover{border-color:var(--moss);color:var(--moss)}.comments{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.cm-head{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:14px}.cm-empty{font-size:13px;color:var(--muted);margin:0 0 14px}.cm-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:14px}.cm-item{border-left:2px solid var(--line);padding:2px 0 2px 12px}.cm-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.cm-author{font-family:Space Mono,monospace;font-size:12px;font-weight:700;color:var(--ink)}.cm-date{font-family:Space Mono,monospace;font-size:10px;color:var(--muted)}.cm-body{font-size:14px;line-height:1.55;color:var(--ink);white-space:pre-wrap;word-break:break-word}.cm-del{background:none;border:none;cursor:pointer;font-family:Space Mono,monospace;font-size:10px;letter-spacing:.04em;color:var(--muted);text-decoration:underline;padding:4px 0 0}.cm-del:hover{color:var(--amber-2)}.cm-form{display:flex;flex-direction:column;gap:10px}.cm-form textarea{min-height:70px}.cm-form .btn{align-self:flex-start;padding:10px 18px}.cm-login{font-family:Space Mono,monospace;font-size:12px;color:var(--muted)}
