← back to Wallco Ai

output/drunk-animals-rescue-review.html

96 lines

<!doctype html><meta charset=utf-8><title>Drunk-animals per-species curator</title>
<style>
:root{--cols:5}
*{box-sizing:border-box}
body{margin:0;background:#14110d;color:#eee;font:14px/1.4 -apple-system,system-ui,sans-serif}
header{position:sticky;top:0;background:#1c1814;border-bottom:1px solid #332b22;z-index:60;padding:10px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
h1{font-size:15px;margin:0;white-space:nowrap}
.sub{color:#9a8f7e;font-size:12px}
select{background:#0c0a08;color:#eee;border:1px solid #332b22;border-radius:8px;padding:7px 9px;font:inherit}
input[type=range]{accent-color:#c9b07a}
button{background:#c9b07a;color:#1a1611;border:0;border-radius:8px;padding:8px 13px;font:600 13px/1 sans-serif;cursor:pointer}
button.ghost{background:#2a241d;color:#cfc6b6}
label.f{display:flex;gap:6px;align-items:center;color:#9a8f7e;font-size:12px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(var(--cols),1fr);padding:16px 16px 96px;user-select:none}
.c{background:#1c1814;border:1px solid #332b22;border-radius:12px;overflow:hidden;cursor:pointer;position:relative}
.c img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#0c0a08;-webkit-user-drag:none;pointer-events:none}
.c .cb{position:absolute;top:8px;left:8px;width:22px;height:22px;cursor:pointer;z-index:2}
.c:has(.cb:checked){outline:3px solid #5fd08a;outline-offset:-3px}
.badge{position:absolute;top:8px;right:8px;font:700 9px/1 sans-serif;letter-spacing:.06em;padding:4px 7px;border-radius:999px;text-transform:uppercase;z-index:2}
.badge.pub{background:#1f7a44;color:#dcffe8}.badge.und{background:#8a6d1f;color:#fff4d6}
.m{padding:8px 10px;font-size:11px;color:#cfc6b6}
.m .sp{color:#c9b07a;font-weight:700;text-transform:capitalize}
.m .t{color:#9a8f7e;display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.when{color:#7c7264;font-size:10px;margin-top:4px;display:block}
#marquee{position:fixed;display:none;border:1.5px solid #5fd08a;background:rgba(95,208,138,.15);z-index:50;pointer-events:none}
#out{position:fixed;bottom:0;left:0;right:0;background:#1c1814;border-top:1px solid #332b22;padding:9px 16px;z-index:60;display:flex;gap:12px;align-items:center}
#ids{flex:1;background:#0c0a08;color:#eee;border:1px solid #332b22;border-radius:6px;font:12px monospace;padding:7px;height:34px}
</style>
<header>
<h1>🐾 Per-species curator</h1>
<label class="f">Show <select id="fStatus"><option value="both">Published + Undecided</option><option value="und">Undecided only</option><option value="pub">Published only</option></select></label>
<label class="f">Species <select id="fSpecies"><option value="">All species</option></select></label>
<label class="f">Sort <select id="fSort"><option value="species">Species</option><option value="newest">Newest</option><option value="oldest">Oldest</option><option value="id">SKU id</option></select></label>
<label class="f">Density <input type="range" id="fDens" min="3" max="9" step="1" value="5"></label>
<span style="flex:1"></span>
<button class="ghost" onclick="selAll(true)">Select all shown</button><button class="ghost" onclick="selAll(false)">Clear</button>
<span class="sub" id="cnt"></span>
<button onclick="exp()">Export keepers</button>
</header>
<div class="grid" id="grid"></div>
<div id="marquee"></div>
<div id="out"><span class="sub">Keeper IDs &rarr;</span><textarea id="ids" readonly placeholder="drag a box or click to select, then Export"></textarea><button onclick="exp()">Copy</button></div>
<script>
const DATA=[{"id":2656,"title":"Pandas Spree in Honey","species":"red","animal":"red panda","created_at":"2026-05-13 15:21:16.828627+00","is_published":false,"img":"../data/generated/1778685668648_2055457701.png"},{"id":2662,"title":"Giraffes Soirée in Rosewood","species":"giraffe","animal":"giraffe","created_at":"2026-05-13 15:21:44.697947+00","is_published":false,"img":"../data/generated/1778685696105_686848057.png"},{"id":3391,"title":"Elephants Tipple in Amber","species":"elephant","animal":"elephant","created_at":"2026-05-13 18:47:16.849972+00","is_published":false,"img":"../data/generated/1778698021286_938868690.png"},{"id":38358,"title":"Orangutans Saunter in Bottle Green","species":"monkey","animal":"monkey","created_at":"2026-05-21 02:39:09.894778+00","is_published":false,"img":"../data/generated/1779330960862_227413352.png"},{"id":38777,"title":"Orangutans Toast in Celadon","species":"monkey","animal":"monkey","created_at":"2026-05-21 06:29:39.579087+00","is_published":false,"img":"../data/generated/1779344880416_94875645.png"},{"id":39341,"title":"Orangutans Tipple in Bottle Green","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 14:51:28.615922+00","is_published":false,"img":"../data/generated/smartfix_37987_1779634288388_466578558.png"},{"id":38394,"title":"Macaws Nightcap in Amber","species":"parrot","animal":"parrot","created_at":"2026-05-21 02:54:39.281762+00","is_published":false,"img":"../data/generated/1779331920870_1492278695.png"},{"id":39362,"title":"Bottle Green Soirée No.39362","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:45:41.750432+00","is_published":false,"img":"../data/generated/bgswap__39341_1779637541732_652731294.png"},{"id":39371,"title":"Orangutans Tipple in Verdigris","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:46:40.708443+00","is_published":false,"img":"../data/generated/smartfix_39362_1779637600464_1358613367.png"},{"id":39370,"title":"Orangutans Carouse in Bottle Green","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:46:28.892582+00","is_published":false,"img":"../data/generated/smartfix_39363_1779637588649_1459939932.png"},{"id":39365,"title":"Bottle Green Bacchanal No.39365","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:45:46.805175+00","is_published":false,"img":"../data/generated/bgswap__39341_1779637546786_644925107.png"},{"id":39367,"title":"Orangutans Toast in Bottle Green","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:46:16.051344+00","is_published":false,"img":"../data/generated/smartfix_39364_1779637575826_1495608109.png"},{"id":39366,"title":"Orangutans Spree in Chamois","species":"monkey","animal":"monkey","created_at":"2026-05-24 15:46:04.304212+00","is_published":false,"img":"../data/generated/smartfix_39365_1779637564065_86435313.png"},{"id":39372,"title":"Orangutans Soirée in Bottle Green","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:47:29.523022+00","is_published":false,"img":"../data/generated/smartfix_39369_1779637649270_1106887758.png"},{"id":39373,"title":"Orangutans Revel in Bottle Green","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:47:49.10013+00","is_published":false,"img":"../data/generated/smartfix_39368_1779637668853_1387509589.png"},{"id":39376,"title":"Orangutans Spree in Chamois","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:49:40.918781+00","is_published":false,"img":"../data/generated/smartfix_39342_1779637780686_1090820541.png"},{"id":39379,"title":"Bottle Green Folly No.39379","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:54:43.949696+00","is_published":false,"img":"../data/generated/bgswap__39341_1779638083928_570349862.png"},{"id":39385,"title":"Orangutans Bacchanal in Oxblood","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:54:57.729489+00","is_published":false,"img":"../data/generated/smartfix_39379_1779638097507_1474684521.png"},{"id":39386,"title":"Bottle Green Spree No.39386","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:54:58.199725+00","is_published":false,"img":"../data/generated/bgswap__39341_1779638098181_1401397737.png"},{"id":39384,"title":"Bottle Green Nightcap No.39384","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:54:56.684189+00","is_published":false,"img":"../data/generated/bgswap__39341_1779638096664_840462451.png"},{"id":39383,"title":"Bottle Green Revel No.39383","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:54:56.125484+00","is_published":false,"img":"../data/generated/bgswap__39341_1779638096107_1455733706.png"},{"id":39387,"title":"Bottle Green Toast No.39387","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:54:59.051434+00","is_published":false,"img":"../data/generated/bgswap__39341_1779638099032_1932319494.png"},{"id":39390,"title":"Orangutans Carouse in Greige","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:55:18.729823+00","is_published":false,"img":"../data/generated/smartfix_39378_1779638118486_897183613.png"},{"id":39388,"title":"Bottle Green Saunter No.39388","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:54:59.629626+00","is_published":false,"img":"../data/generated/bgswap__39341_1779638099608_1118477352.png"},{"id":39389,"title":"Bottle Green Folly No.39389","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:55:00.333015+00","is_published":false,"img":"../data/generated/bgswap__39341_1779638100314_245427867.png"},{"id":39395,"title":"Orangutans Bacchanal in Honey","species":"gibbon","animal":"gibbon","created_at":"2026-05-24 15:55:39.069317+00","is_published":false,"img":"../data/generated/smartfix_39377_1779638138831_176348518.png"},{"id":39396,"title":"Orangutans Spree in Claret","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:56:11.48557+00","is_published":false,"img":"../data/generated/smartfix_39394_1779638171237_1901881619.png"},{"id":39392,"title":"Bottle Green Soirée No.39392","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:55:32.337688+00","is_published":false,"img":"../data/generated/bgswap__39341_1779638132320_1431157164.png"},{"id":39391,"title":"Bottle Green Tipple No.39391","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:55:29.637631+00","is_published":false,"img":"../data/generated/bgswap__39341_1779638129620_1317415059.png"},{"id":39397,"title":"Orangutans Toast in Oxblood","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:56:39.883402+00","is_published":false,"img":"../data/generated/smartfix_39393_1779638199661_646612794.png"},{"id":39398,"title":"Orangutans Saunter in Bottle Green","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:56:52.160149+00","is_published":false,"img":"../data/generated/smartfix_39392_1779638211919_772672689.png"},{"id":39400,"title":"Orangutans Carouse in Bottle Green","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:58:09.786721+00","is_published":false,"img":"../data/generated/smartfix_39389_1779638289567_1252457004.png"},{"id":39401,"title":"Orangutans Tipple in Delft","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:58:22.989073+00","is_published":false,"img":"../data/generated/smartfix_39388_1779638302758_1074058379.png"},{"id":39399,"title":"Orangutans Folly in Oyster","species":"monkey","animal":"monkey","created_at":"2026-05-24 15:57:04.225078+00","is_published":false,"img":"../data/generated/smartfix_39391_1779638223995_149949115.png"},{"id":39402,"title":"Orangutans Soirée in Greige","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:58:43.060499+00","is_published":false,"img":"../data/generated/smartfix_39387_1779638322821_1568670650.png"},{"id":39404,"title":"Orangutans Nightcap in Bottle Green","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:59:33.20955+00","is_published":false,"img":"../data/generated/smartfix_39384_1779638372980_361529076.png"},{"id":39403,"title":"Orangutans Revel in Bottle Green","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 15:59:00.873449+00","is_published":false,"img":"../data/generated/smartfix_39386_1779638340639_1835364128.png"},{"id":39407,"title":"Orangutans Toast in Pewter","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 16:00:47.590893+00","is_published":false,"img":"../data/generated/smartfix_39381_1779638447328_289616841.png"},{"id":39406,"title":"Orangutans Spree in Bottle Green","species":"monkey","animal":"monkey","created_at":"2026-05-24 16:00:35.133806+00","is_published":false,"img":"../data/generated/smartfix_39382_1779638434913_636957579.png"},{"id":39405,"title":"Orangutans Bacchanal in Bottle Green","species":"monkey","animal":"monkey","created_at":"2026-05-24 16:00:05.819506+00","is_published":false,"img":"../data/generated/smartfix_39383_1779638405595_1999448174.png"},{"id":39408,"title":"Orangutans Saunter in Delft","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 16:01:01.009765+00","is_published":false,"img":"../data/generated/smartfix_39380_1779638460785_1908382532.png"},{"id":39410,"title":"Pewter Carouse No.39410","species":"monkey","animal":"monkey","created_at":"2026-05-24 16:03:52.088968+00","is_published":false,"img":"../data/generated/bgswap__39407_1779638632070_1885428329.png"},{"id":39433,"title":"Orangutans Revel in Sage","species":"monkey","animal":"monkey","created_at":"2026-05-24 16:05:06.482532+00","is_published":false,"img":"../data/generated/smartfix_39411_1779638706257_1557433438.png"},{"id":39411,"title":"Bottle Green Tipple No.39411","species":"monkey","animal":"monkey","created_at":"2026-05-24 16:03:52.22711+00","is_published":false,"img":"../data/generated/bgswap__39406_1779638632210_216268377.png"},{"id":39435,"title":"Monkeys Bacchanal in Chamois","species":"monkey","animal":"monkey","created_at":"2026-05-24 16:05:32.801554+00","is_published":false,"img":"../data/generated/smartfix_39410_1779638732585_1923160011.png"},{"id":39419,"title":"Bottle Green Folly No.39419","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 16:04:19.762269+00","is_published":false,"img":"../data/generated/bgswap__39398_1779638659745_1024245404.png"},{"id":39425,"title":"Chamois Bacchanal No.39425","species":"monkey","animal":"monkey","created_at":"2026-05-24 16:04:41.579494+00","is_published":false,"img":"../data/generated/bgswap__39376_1779638681563_2017248796.png"},{"id":39442,"title":"Orangutans Soirée in Bottle Green","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 16:08:43.97334+00","is_published":false,"img":"../data/generated/smartfix_39428_1779638923736_2118076427.png"},{"id":39439,"title":"Orangutans Folly in Chamois","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 16:07:23.732533+00","is_published":false,"img":"../data/generated/smartfix_39431_1779638843507_1741246804.png"},{"id":39441,"title":"Orangutans Tipple in Chamois","species":"monkey","animal":"monkey","created_at":"2026-05-24 16:08:11.598918+00","is_published":false,"img":"../data/generated/smartfix_39429_1779638891366_364543225.png"},{"id":39447,"title":"Orangutans Toast in Chamois","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 16:11:19.920234+00","is_published":false,"img":"../data/generated/smartfix_39422_1779639079680_8936344.png"},{"id":39444,"title":"Orangutans Nightcap in Chamois","species":"monkey","animal":"monkey","created_at":"2026-05-24 16:09:59.522156+00","is_published":false,"img":"../data/generated/smartfix_39426_1779638999284_61682647.png"},{"id":39655,"title":"Bottle Green Bacchanal No.39655","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 18:55:00.091013+00","is_published":false,"img":"../data/generated/bgswap__39341_1779648900072_1600392898.png"},{"id":39658,"title":"Bottle Green Saunter No.39658","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 18:55:04.97177+00","is_published":false,"img":"../data/generated/bgswap__39341_1779648904951_464683517.png"},{"id":39659,"title":"Bottle Green Folly No.39659","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 18:55:07.307849+00","is_published":false,"img":"../data/generated/bgswap__39341_1779648907290_1381639266.png"},{"id":39660,"title":"Bottle Green Carouse No.39660","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 18:55:13.68513+00","is_published":false,"img":"../data/generated/bgswap__39341_1779648913665_1973808810.png"},{"id":39662,"title":"Bottle Green Soirée No.39662","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 18:55:15.820726+00","is_published":false,"img":"../data/generated/bgswap__39341_1779648915803_1729002526.png"},{"id":39663,"title":"Bottle Green Revel No.39663","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 18:55:16.344539+00","is_published":false,"img":"../data/generated/bgswap__39341_1779648916325_718689794.png"},{"id":39720,"title":"Bottle Green Carouse No.39720","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 19:30:07.604057+00","is_published":false,"img":"../data/generated/bgswap__39341_1779651007585_1447947972.png"},{"id":39721,"title":"Bottle Green Tipple No.39721","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 19:30:07.712872+00","is_published":false,"img":"../data/generated/bgswap__39341_1779651007696_2130562742.png"},{"id":39723,"title":"Bottle Green Revel No.39723","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 19:30:08.658758+00","is_published":false,"img":"../data/generated/bgswap__39341_1779651008642_1296373121.png"},{"id":39722,"title":"Bottle Green Soirée No.39722","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 19:30:07.870986+00","is_published":false,"img":"../data/generated/bgswap__39341_1779651007853_1127307463.png"},{"id":39724,"title":"Bottle Green Nightcap No.39724","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 19:30:10.125429+00","is_published":false,"img":"../data/generated/bgswap__39341_1779651010108_1238619134.png"},{"id":39725,"title":"Bottle Green Bacchanal No.39725","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 19:30:10.681103+00","is_published":false,"img":"../data/generated/bgswap__39341_1779651010663_1583121645.png"},{"id":39727,"title":"Bottle Green Toast No.39727","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 19:30:17.091936+00","is_published":false,"img":"../data/generated/bgswap__39341_1779651017075_157185222.png"},{"id":40941,"title":"Terracotta Tipple No.40941","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:35.283232+00","is_published":false,"img":"../data/generated/fixed_39734_1779688234790_923424096.png"},{"id":40945,"title":"Terracotta Bacchanal No.40945","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:35.811318+00","is_published":false,"img":"../data/generated/fixed_39728_1779688235377_181259145.png"},{"id":40948,"title":"Bottle Green Saunter No.40948","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:35.849584+00","is_published":false,"img":"../data/generated/fixed_39727_1779688235378_667192496.png"},{"id":40949,"title":"Terracotta Folly No.40949","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:36.362514+00","is_published":false,"img":"../data/generated/fixed_39724_1779688235893_1129011685.png"},{"id":40951,"title":"Terracotta Tipple No.40951","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:36.410184+00","is_published":false,"img":"../data/generated/fixed_39722_1779688235933_234318137.png"},{"id":39728,"title":"Bottle Green Saunter No.39728","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 19:30:17.457081+00","is_published":false,"img":"../data/generated/bgswap__39341_1779651017437_1060733149.png"},{"id":40952,"title":"Bottle Green Soirée No.40952","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:36.435454+00","is_published":false,"img":"../data/generated/fixed_39723_1779688235933_1422952653.png"},{"id":39734,"title":"Bottle Green Nightcap No.39734","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 19:30:28.571049+00","is_published":false,"img":"../data/generated/bgswap__39341_1779651028553_1679342387.png"},{"id":40953,"title":"Bottle Green Revel No.40953","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:36.891932+00","is_published":false,"img":"../data/generated/fixed_39721_1779688236446_1418959099.png"},{"id":39732,"title":"Bottle Green Soirée No.39732","species":"orangutan","animal":"orangutan","created_at":"2026-05-24 19:30:19.79835+00","is_published":false,"img":"../data/generated/bgswap__39341_1779651019778_2002625031.png"},{"id":40959,"title":"Terracotta Folly No.40959","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:37.492008+00","is_published":false,"img":"../data/generated/fixed_39664_1779688237014_1947984910.png"},{"id":40957,"title":"Bottle Green Toast No.40957","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:37.003643+00","is_published":false,"img":"../data/generated/fixed_39720_1779688236488_1116727534.png"},{"id":40960,"title":"Terracotta Carouse No.40960","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:37.513379+00","is_published":false,"img":"../data/generated/fixed_39663_1779688237074_882753880.png"},{"id":40961,"title":"Ochre Tipple No.40961","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:37.53752+00","is_published":false,"img":"../data/generated/fixed_39662_1779688237088_1537604096.png"},{"id":40963,"title":"Bottle Green Revel No.40963","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:38.005908+00","is_published":false,"img":"../data/generated/fixed_39660_1779688237576_1536982023.png"},{"id":40964,"title":"Pewter Nightcap No.40964","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:38.108731+00","is_published":false,"img":"../data/generated/fixed_39658_1779688237618_535562838.png"},{"id":40966,"title":"Verdigris Spree No.40966","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:38.574979+00","is_published":false,"img":"../data/generated/fixed_39655_1779688238091_1882284531.png"},{"id":40993,"title":"Oxblood Revel No.40993","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:42.080508+00","is_published":false,"img":"../data/generated/fixed_39394_1779688241596_1303097593.png"},{"id":40965,"title":"Terracotta Bacchanal No.40965","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:38.109053+00","is_published":false,"img":"../data/generated/fixed_39659_1779688237592_853281797.png"},{"id":40996,"title":"Bottle Green Spree No.40996","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:42.478244+00","is_published":false,"img":"../data/generated/fixed_39392_1779688242044_696501732.png"},{"id":40997,"title":"Terracotta Toast No.40997","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:42.636023+00","is_published":false,"img":"../data/generated/fixed_39391_1779688242163_316257555.png"},{"id":40998,"title":"Bottle Green Saunter No.40998","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:42.681053+00","is_published":false,"img":"../data/generated/fixed_39389_1779688242222_1703995371.png"},{"id":40999,"title":"Terracotta Folly No.40999","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:42.971547+00","is_published":false,"img":"../data/generated/fixed_39388_1779688242501_2084717395.png"},{"id":41001,"title":"Bottle Green Tipple No.41001","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:43.162808+00","is_published":false,"img":"../data/generated/fixed_39386_1779688242720_653397494.png"},{"id":41002,"title":"Bottle Green Soirée No.41002","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:43.223449+00","is_published":false,"img":"../data/generated/fixed_39384_1779688242762_334314967.png"},{"id":41003,"title":"Bottle Green Revel No.41003","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:43.469506+00","is_published":false,"img":"../data/generated/fixed_39383_1779688243051_2002176395.png"},{"id":41007,"title":"Oxblood Toast No.41007","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:44.009541+00","is_published":false,"img":"../data/generated/fixed_39379_1779688243549_738372322.png"},{"id":41017,"title":"Bottle Green Toast No.41017","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:45.199812+00","is_published":false,"img":"../data/generated/fixed_37987_1779688244747_1675538034.png"},{"id":41016,"title":"Bottle Green Spree No.41016","species":"orangutan","animal":"Orangutan","created_at":"2026-05-25 05:50:45.138998+00","is_published":false,"img":"../data/generated/fixed_39362_1779688244672_481580312.png"},{"id":41014,"title":"Terracotta Nightcap No.41014","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:50:44.667871+00","is_published":false,"img":"../data/generated/fixed_39365_1779688244164_509355836.png"},{"id":41092,"title":"Greige Soirée No.41092","species":"chimpanzee","animal":"chimpanzee","created_at":"2026-05-25 05:55:28.051435+00","is_published":false,"img":"../data/generated/recolor_1779688528034_p41017_charcoal_994102155.png"},{"id":41093,"title":"Greige Revel No.41093","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:55:29.463347+00","is_published":false,"img":"../data/generated/recolor_1779688529446_p41017_magenta_1436221352.png"},{"id":41094,"title":"Greige Nightcap No.41094","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:55:31.209664+00","is_published":false,"img":"../data/generated/recolor_1779688531192_p41017_pink_1559898714.png"},{"id":41097,"title":"Greige Toast No.41097","species":"chimpanzee","animal":"chimpanzee","created_at":"2026-05-25 05:55:41.730756+00","is_published":false,"img":"../data/generated/recolor_1779688541712_p41017_neutral_371329937.png"},{"id":41100,"title":"Greige Carouse No.41100","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:55:46.298182+00","is_published":false,"img":"../data/generated/recolor_1779688546281_p41017_blue_80815595.png"},{"id":41268,"title":"Bottle Green Saunter No.41268","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 06:18:01.086731+00","is_published":false,"img":"../data/generated/fixed_37987_1779689880650_1365787951.png"},{"id":41099,"title":"Peacocks Folly in Greige","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:55:44.092918+00","is_published":false,"img":"../data/generated/recolor_1779688544075_p41017_cyan_1855707210.png"},{"id":41107,"title":"Greige Toast No.41107","species":"chimpanzee","animal":"chimpanzee","created_at":"2026-05-25 05:56:03.373128+00","is_published":false,"img":"../data/generated/recolor_1779688563355_p41017_indigo_1851838365.png"},{"id":41105,"title":"Greige Bacchanal No.41105","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 05:56:00.297163+00","is_published":false,"img":"../data/generated/recolor_1779688560280_p41017_magenta_1582065267.png"},{"id":41478,"title":"Bottle Green Saunter No.41478","species":"sloth","animal":"sloth","created_at":"2026-05-25 06:20:31.365587+00","is_published":false,"img":"../data/generated/fixed_38358_1779690030996_1396034175.png"},{"id":41481,"title":"Aubergine Tipple No.41481","species":"red","animal":"red panda","created_at":"2026-05-25 06:20:31.782267+00","is_published":false,"img":"../data/generated/fixed_38334_1779690031398_580912250.png"},{"id":41497,"title":"Garnet Toast No.41497","species":"butterfly","animal":"butterfly","created_at":"2026-05-25 06:20:33.823125+00","is_published":false,"img":"../data/generated/fixed_37280_1779690033400_1102865951.png"},{"id":41498,"title":"Aubergine Saunter No.41498","species":"toucan","animal":"toucan","created_at":"2026-05-25 06:20:33.853019+00","is_published":false,"img":"../data/generated/fixed_37049_1779690033462_385662886.png"},{"id":41502,"title":"Teal Soirée No.41502","species":"giraffe","animal":"giraffe","created_at":"2026-05-25 06:20:34.362082+00","is_published":false,"img":"../data/generated/fixed_36234_1779690033932_629919310.png"},{"id":41508,"title":"Bottle Green Saunter No.41508","species":"red","animal":"red panda","created_at":"2026-05-25 06:20:35.078651+00","is_published":false,"img":"../data/generated/fixed_34524_1779690034684_449827883.png"},{"id":41504,"title":"Verdigris Nightcap No.41504","species":"parrot","animal":"parrot","created_at":"2026-05-25 06:20:34.601955+00","is_published":false,"img":"../data/generated/fixed_35679_1779690034112_1375183381.png"},{"id":41510,"title":"Loden Carouse No.41510","species":"frog","animal":"frog","created_at":"2026-05-25 06:20:35.344006+00","is_published":false,"img":"../data/generated/fixed_33121_1779690034934_790907993.png"},{"id":41521,"title":"Verdigris Tipple No.41521","species":"cat","animal":"cat","created_at":"2026-05-25 06:20:36.462798+00","is_published":false,"img":"../data/generated/fixed_27859_1779690036185_1923180611.png"},{"id":41528,"title":"Amber Saunter No.41528","species":"parrot","animal":"parrot","created_at":"2026-05-25 06:20:36.982378+00","is_published":false,"img":"../data/generated/fixed_16576_1779690036723_367015503.png"},{"id":41527,"title":"Ochre Toast No.41527","species":"lemur","animal":"lemur","created_at":"2026-05-25 06:20:36.921373+00","is_published":false,"img":"../data/generated/fixed_17024_1779690036650_2100572965.png"},{"id":41525,"title":"Greige Bacchanal No.41525","species":"frog","animal":"frog","created_at":"2026-05-25 06:20:36.815574+00","is_published":false,"img":"../data/generated/fixed_23401_1779690036543_2039525815.png"},{"id":41534,"title":"Teal Nightcap No.41534","species":"elephant","animal":"elephant","created_at":"2026-05-25 06:20:37.601013+00","is_published":false,"img":"../data/generated/fixed_10354_1779690037319_99378299.png"},{"id":41535,"title":"Pewter Bacchanal No.41535","species":"red","animal":"red panda","created_at":"2026-05-25 06:20:37.641642+00","is_published":false,"img":"../data/generated/fixed_10310_1779690037359_2003281117.png"},{"id":41563,"title":"Elephants Revel in Chamois","species":"elephant","animal":"elephant","created_at":"2026-05-25 08:09:04.430089+00","is_published":false,"img":"../data/generated/luxe_10354_1779696544410_919948547.png"},{"id":41583,"title":"Elephants Revel in Oyster","species":"elephant","animal":"elephant","created_at":"2026-05-25 08:09:47.953435+00","is_published":false,"img":"../data/generated/luxe_38318_1779696587938_992573785.png"},{"id":41800,"title":"Lemurs Carouse in Alabaster","species":"monkey","animal":"monkey","created_at":"2026-05-25 08:17:48.916936+00","is_published":false,"img":"../data/generated/luxe_38701_1779697068902_173805942.png"},{"id":41878,"title":"Orangutans Saunter in Chamois","species":"orangutan","animal":"orangutan","created_at":"2026-05-25 08:54:49.449476+00","is_published":false,"img":"../data/generated/luxe_27859_1779699289431_2142163947.png"},{"id":42236,"title":"Honey Spree No.42236","species":"bird","animal":"bird","created_at":"2026-05-25 16:13:56.872321+00","is_published":false,"img":"../data/generated/luxe_38422_1779725636851_1280419894.png"},{"id":42655,"title":"Amber Bacchanal No.42655","species":"bird","animal":"bird","created_at":"2026-05-25 16:29:43.663457+00","is_published":false,"img":"../data/generated/luxe_41100_1779726583645_1153440027.png"},{"id":43197,"title":"Chamois Toast No.43197","species":"bird","animal":"birds, deer","created_at":"2026-05-26 14:28:42.965498+00","is_published":false,"img":"../data/generated/1779805176441_993290578.png"},{"id":43199,"title":"Macaws Folly in Chamois","species":"parrot","animal":"parrot","created_at":"2026-05-26 14:44:35.806005+00","is_published":false,"img":"../data/generated/1779806462956_732266097.png"},{"id":53584,"title":"Bottle Green Nightcap No.53584","species":"orangutan","animal":"orangutan","created_at":"2026-05-26 22:18:22.571844+00","is_published":false,"img":"../data/generated/bgswap_dwro-29784_50603_1779833902525_1163787202.png"},{"id":53867,"title":"Orangutans Toast in Olive","species":"monkey","animal":"monkey","created_at":"2026-05-28 02:28:05.326866+00","is_published":false,"img":"../data/generated/1779935103047_1635923290.png"},{"id":54002,"title":"Elephants Soirée in Amber","species":"elephant","animal":"elephant","created_at":"2026-05-28 08:43:02.102484+00","is_published":false,"img":"../data/generated/1779957662750_1871582830.png"},{"id":54018,"title":"Orangutans Saunter in Bottle Green","species":"cat","animal":"cat","created_at":"2026-05-28 10:40:51.933089+00","is_published":false,"img":"../data/generated/1779964621817_312659706.png"},{"id":54038,"title":"Frogs Saunter in Chamois","species":"frog","animal":"frog","created_at":"2026-05-28 12:23:03.00511+00","is_published":false,"img":"../data/generated/1779970862500_1886263183.png"},{"id":54090,"title":"Frogs Carouse in Olive","species":"monkey","animal":"monkey","created_at":"2026-05-28 16:03:02.801121+00","is_published":false,"img":"../data/generated/1779984062565_1821204884.png"},{"id":54202,"title":"Frogs Soirée in Sage","species":"frog","animal":"frog","created_at":"2026-05-29 02:07:04.067468+00","is_published":false,"img":"../data/generated/1780020303277_801977115.png"},{"id":54200,"title":"Elephants Carouse in Apricot","species":"elephant","animal":"elephant","created_at":"2026-05-29 01:48:52.452799+00","is_published":false,"img":"../data/generated/1780019102383_1695996947.png"},{"id":54220,"title":"Frogs Carouse in Rose","species":"fish","animal":"fish","created_at":"2026-05-29 03:47:01.185342+00","is_published":false,"img":"../data/generated/1780026302167_209293718.png"},{"id":54228,"title":"Giraffes Saunter in Honey","species":"monkey","animal":"monkey, horse","created_at":"2026-05-29 04:31:02.288688+00","is_published":false,"img":"../data/generated/1780028942752_614124974.png"},{"id":54249,"title":"Frogs Folly in Honey","species":"frog","animal":"frog","created_at":"2026-05-29 06:23:01.855228+00","is_published":false,"img":"../data/generated/1780035661861_583859823.png"},{"id":54254,"title":"Frogs Nightcap in Chamois","species":"frog","animal":"frog","created_at":"2026-05-29 06:55:01.671585+00","is_published":false,"img":"../data/generated/1780037582428_424326217.png"},{"id":54252,"title":"Pandas Soirée in Pewter","species":"hippo","animal":"hippo, seal, raccoon","created_at":"2026-05-29 06:40:52.774872+00","is_published":false,"img":"../data/generated/1780036622630_1850277160.png"},{"id":54262,"title":"Capybaras Soirée in Chamois","species":"bear","animal":"bear","created_at":"2026-05-29 07:39:01.587776+00","is_published":false,"img":"../data/generated/1780040222181_1830982964.png"},{"id":54288,"title":"Elephants Saunter in Chamois","species":"elephant","animal":"elephant","created_at":"2026-05-29 10:43:02.736609+00","is_published":false,"img":"../data/generated/1780051263116_641053930.png"},{"id":54303,"title":"Elephants Revel in Amber","species":"elephant","animal":"elephant","created_at":"2026-05-29 12:08:51.20308+00","is_published":false,"img":"../data/generated/1780056302942_288439130.png"},{"id":54309,"title":"Elephants Folly in Chamois","species":"horse","animal":"horse","created_at":"2026-05-29 12:47:03.009448+00","is_published":false,"img":"../data/generated/1780058702840_33911318.png"},{"id":54336,"title":"Giraffes Spree in Honey","species":"cow","animal":"cow","created_at":"2026-05-29 16:03:06.165455+00","is_published":false,"img":"../data/generated/1780070463320_212485813.png"},{"id":54331,"title":"Frogs Tipple in Plum","species":"frog","animal":"frog","created_at":"2026-05-29 15:35:10.496189+00","is_published":false,"img":"../data/generated/1780068782261_1363154870.png"},{"id":54335,"title":"Elephants Bacchanal in Amethyst","species":"elephant","animal":"elephant","created_at":"2026-05-29 15:59:03.464075+00","is_published":false,"img":"../data/generated/1780070222434_1014120832.png"},{"id":54376,"title":"Lemurs Spree in Honey","species":"eagle","animal":"eagle","created_at":"2026-05-29 20:11:04.721416+00","is_published":false,"img":"../data/generated/1780085342136_1094917915.png"},{"id":54384,"title":"Frogs Nightcap in Rose","species":"frog","animal":"frog","created_at":"2026-05-29 20:46:57.1774+00","is_published":false,"img":"../data/generated/1780087502305_114915964.png"},{"id":54478,"title":"Pandas Saunter in Chamois","species":"deer","animal":"deer, squirrel","created_at":"2026-05-30 02:14:44.856941+00","is_published":false,"img":"../data/generated/1780107182167_204319767.png"},{"id":54484,"title":"Elephants Nightcap in Amber","species":"crocodile","animal":"crocodile","created_at":"2026-05-30 03:11:02.629328+00","is_published":false,"img":"../data/generated/1780110542715_567152991.png"},{"id":54508,"title":"Frogs Saunter in Olive","species":"frog","animal":"frog","created_at":"2026-05-30 05:55:01.318936+00","is_published":false,"img":"../data/generated/1780120382675_1587362265.png"},{"id":54510,"title":"Frogs Carouse in Chamois","species":"bird","animal":"bird","created_at":"2026-05-30 06:03:02.553428+00","is_published":false,"img":"../data/generated/1780120862452_52430264.png"},{"id":54515,"title":"Elephants Bacchanal in Chamois","species":"elephant","animal":"elephant","created_at":"2026-05-30 06:23:02.748377+00","is_published":false,"img":"../data/generated/1780122062480_491189092.png"},{"id":54538,"title":"Orangutans Saunter in Sapphire","species":"monkey","animal":"monkey, lion, human","created_at":"2026-05-30 07:55:21.368604+00","is_published":true,"img":"../data/generated/1780127582016_1450323439.png"},{"id":54559,"title":"Orangutans Folly in Verdigris","species":"monkey","animal":"monkey","created_at":"2026-05-30 09:20:51.705845+00","is_published":true,"img":"../data/generated/1780132621884_61715815.png"},{"id":54626,"title":"Elephants Spree in Honey","species":"elephant","animal":"elephant","created_at":"2026-05-30 15:44:52.950659+00","is_published":true,"img":"../data/generated/1780155662804_1315102166.png"},{"id":54641,"title":"Frogs Tipple in Apricot","species":"frog","animal":"frog","created_at":"2026-05-30 17:23:03.223758+00","is_published":true,"img":"../data/generated/1780161662092_2067119027.png"},{"id":54664,"title":"Peacocks Nightcap in Olive","species":"bird","animal":"bird, butterfly, bee","created_at":"2026-05-30 20:07:03.040115+00","is_published":false,"img":"../data/generated/1780171502674_1736901275.png"},{"id":54668,"title":"Frogs Saunter in Loden","species":"frog","animal":"frog","created_at":"2026-05-30 20:37:01.129232+00","is_published":true,"img":"../data/generated/1780173182903_1458760728.png"},{"id":54670,"title":"Pandas Carouse in Verdigris","species":"weasel","animal":"weasel","created_at":"2026-05-30 20:56:52.899567+00","is_published":true,"img":"../data/generated/1780174385029_885294422.png"},{"id":54672,"title":"Elephants Soirée in Sage","species":"elephant","animal":"elephant","created_at":"2026-05-30 21:06:45.875097+00","is_published":true,"img":"../data/generated/1780175102278_826035503.png"},{"id":54701,"title":"Orangutans Tipple in Blush","species":"skull","animal":"skull","created_at":"2026-05-31 00:48:53.151189+00","is_published":true,"img":"../data/generated/1780188303043_342995082.png"},{"id":54714,"title":"Frogs Nightcap in Chamois","species":"frog","animal":"frog","created_at":"2026-05-31 02:23:13.102851+00","is_published":true,"img":"../data/generated/1780194062609_1437997548.png"},{"id":54725,"title":"Giraffes Bacchanal in Greige","species":"giraffe","animal":"giraffe","created_at":"2026-05-31 03:41:01.170594+00","is_published":true,"img":"../data/generated/1780198631712_716737852.png"},{"id":54732,"title":"Peacocks Soirée in Chamois","species":"peacock","animal":"peacock, bird","created_at":"2026-05-31 04:23:05.064855+00","is_published":true,"img":"../data/generated/1780201263870_159251730.png"},{"id":54736,"title":"Pandas Spree in Olive","species":"cat","animal":"cat","created_at":"2026-05-31 04:31:03.730121+00","is_published":true,"img":"../data/generated/1780201742456_2120617846.png"},{"id":54737,"title":"Elephants Toast in Honey","species":"elephant","animal":"elephant","created_at":"2026-05-31 04:37:01.236289+00","is_published":true,"img":"../data/generated/1780201982971_1754006078.png"},{"id":54742,"title":"Orangutans Soirée in Claret","species":"lion","animal":"lion","created_at":"2026-05-31 05:03:03.580131+00","is_published":true,"img":"../data/generated/1780203662493_929442955.png"},{"id":54762,"title":"Orangutans Soirée in Amber","species":"lizard","animal":"lizard","created_at":"2026-05-31 07:31:03.883713+00","is_published":true,"img":"../data/generated/1780212542429_1306325854.png"},{"id":54768,"title":"Frogs Saunter in Honey","species":"frog","animal":"frog, tiki","created_at":"2026-05-31 08:07:03.471757+00","is_published":true,"img":"../data/generated/1780214702879_1654593625.png"},{"id":54771,"title":"Frogs Tipple in Greige","species":"frog","animal":"frog","created_at":"2026-05-31 08:24:53.228405+00","is_published":true,"img":"../data/generated/1780215663153_1195427475.png"},{"id":54794,"title":"Frogs Nightcap in Amber","species":"frog","animal":"frog","created_at":"2026-05-31 11:43:01.961027+00","is_published":true,"img":"../data/generated/1780227662007_1458938600.png"},{"id":54797,"title":"Peacocks Toast in Chamois","species":"bird","animal":"bird","created_at":"2026-05-31 12:03:01.916879+00","is_published":true,"img":"../data/generated/1780228862622_2116456233.png"},{"id":54805,"title":"Macaws Bacchanal in Chamois","species":"bird","animal":"bird","created_at":"2026-05-31 12:51:01.941056+00","is_published":true,"img":"../data/generated/1780231742158_676747147.png"},{"id":54811,"title":"Elephants Tipple in Bottle Green","species":"elephant","animal":"elephant","created_at":"2026-05-31 13:31:03.512729+00","is_published":true,"img":"../data/generated/1780234142370_1955872197.png"},{"id":54806,"title":"Frogs Spree in Bottle Green","species":"frog","animal":"frog","created_at":"2026-05-31 13:08:54.359334+00","is_published":true,"img":"../data/generated/1780232702632_1942734071.png"},{"id":54812,"title":"Elephants Soirée in Apricot","species":"elephant","animal":"elephant","created_at":"2026-05-31 13:36:52.293822+00","is_published":true,"img":"../data/generated/1780234382531_541949019.png"},{"id":54823,"title":"Frogs Revel in Amber","species":"frog","animal":"frog","created_at":"2026-05-31 14:51:03.44537+00","is_published":true,"img":"../data/generated/1780238942164_1724990374.png"},{"id":54827,"title":"Elephants Toast in Chamois","species":"elephant","animal":"elephant","created_at":"2026-05-31 15:07:02.20759+00","is_published":true,"img":"../data/generated/1780239902241_462216527.png"},{"id":54834,"title":"Frogs Nightcap in Chartreuse","species":"frog","animal":"frog","created_at":"2026-05-31 15:47:03.158899+00","is_published":false,"img":"../data/generated/1780242303096_897465552.png"},{"id":54839,"title":"Sloths Folly in Honey","species":"lemur","animal":"lemur","created_at":"2026-05-31 16:27:02.40234+00","is_published":true,"img":"../data/generated/1780244702932_2123565661.png"},{"id":54847,"title":"Frogs Toast in Sage","species":"frog","animal":"frog","created_at":"2026-05-31 17:23:04.170895+00","is_published":true,"img":"../data/generated/1780248062568_1570076501.png"},{"id":54854,"title":"Elephants Nightcap in Sage","species":"elephant","animal":"elephant","created_at":"2026-05-31 18:03:02.726134+00","is_published":true,"img":"../data/generated/1780250462784_1045426189.png"},{"id":54878,"title":"Frogs Saunter in Celadon","species":"frog","animal":"frog","created_at":"2026-05-31 20:39:03.215256+00","is_published":false,"img":"../data/generated/1780259824055_1628414147.png"},{"id":54885,"title":"Elephants Bacchanal in Rosewood","species":"elephant","animal":"elephant","created_at":"2026-05-31 21:27:04.808393+00","is_published":false,"img":"../data/generated/1780262703118_395646385.png"},{"id":54895,"title":"Giraffes Bacchanal in Chamois","species":"horse","animal":"horse, camel","created_at":"2026-05-31 22:16:54.254132+00","is_published":true,"img":"../data/generated/1780265582887_549491304.png"},{"id":54909,"title":"Giraffes Folly in Chamois","species":"giraffe","animal":"giraffe","created_at":"2026-05-31 23:59:38.553112+00","is_published":true,"img":"../data/generated/1780271824038_212973886.png"},{"id":54916,"title":"Orangutans Spree in Amber","species":"monkey","animal":"monkey","created_at":"2026-06-01 01:00:55.120129+00","is_published":true,"img":"../data/generated/1780275423433_1044759311.png"}];
const grid=document.getElementById("grid"),box=document.getElementById("marquee"),cnt=document.getElementById("cnt");
const sel=new Set();
const fStatus=document.getElementById("fStatus"),fSpecies=document.getElementById("fSpecies"),fSort=document.getElementById("fSort"),fDens=document.getElementById("fDens");
[...new Set(DATA.map(d=>d.species))].sort().forEach(s=>{const o=document.createElement("option");o.value=s;o.textContent=s;fSpecies.appendChild(o);});
const LS=k=>{try{return JSON.parse(localStorage.getItem("dac-"+k))}catch(e){return null}};
if(LS("sort"))fSort.value=LS("sort"); if(LS("dens"))fDens.value=LS("dens"); if(LS("status"))fStatus.value=LS("status");
document.documentElement.style.setProperty("--cols",fDens.value);
function fmt(iso){if(!iso)return"";const d=new Date(String(iso).replace(" ","T"));return isNaN(d)?"":d.toLocaleString(undefined,{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit"});}
function curView(){
  let v=DATA.slice();
  const st=fStatus.value; if(st==="pub")v=v.filter(d=>d.is_published); else if(st==="und")v=v.filter(d=>!d.is_published);
  const sp=fSpecies.value; if(sp)v=v.filter(d=>d.species===sp);
  const s=fSort.value;
  v.sort((a,b)=> s==="species"?(a.species.localeCompare(b.species)||a.id-b.id) : s==="newest"?(new Date(b.created_at||0)-new Date(a.created_at||0)) : s==="oldest"?(new Date(a.created_at||0)-new Date(b.created_at||0)) : a.id-b.id);
  return v;
}
function esc(s){return String(s||"").replace(/[&<>"]/g,c=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[c]));}
function render(){
  const v=curView();
  grid.innerHTML=v.map(function(d){
    var src=d.img||("https://wallco.ai/designs/img/by-id/"+d.id);
    var prod="https://wallco.ai/designs/img/by-id/"+d.id;
    return '<label class="c" data-id="'+d.id+'">'
      +'<input type="checkbox" class="cb" data-id="'+d.id+'"'+(sel.has(d.id)?" checked":"")+'>'
      +'<span class="badge '+(d.is_published?"pub":"und")+'">'+(d.is_published?"Published":"Undecided")+'</span>'
      +'<img loading="lazy" src="'+src+'" onerror="this.onerror=null;this.src=\''+prod+'\'">'
      +'<div class="m"><span class="sp">'+esc(d.species)+'</span> &middot; #'+d.id
      +'<span class="t" title="'+esc(d.title)+'">'+esc(d.title)+'</span>'
      +'<span class="when" title="'+esc(d.created_at)+'">&#128339; '+fmt(d.created_at)+'</span></div></label>';
  }).join("");
  upd(v.length);
}
function upd(shown){cnt.textContent=(shown!=null?shown+" shown · ":"")+sel.size+" selected";}
function selAll(v){curView().forEach(d=>{v?sel.add(d.id):sel.delete(d.id);});render();}
function exp(){const t=document.getElementById("ids");t.value=[...sel].join(",");t.select();try{document.execCommand("copy")}catch(e){}}
[fStatus,fSpecies,fSort].forEach(el=>el.addEventListener("change",()=>{localStorage.setItem("dac-status",JSON.stringify(fStatus.value));localStorage.setItem("dac-sort",JSON.stringify(fSort.value));render();}));
fDens.addEventListener("input",()=>{document.documentElement.style.setProperty("--cols",fDens.value);localStorage.setItem("dac-dens",JSON.stringify(fDens.value));});
let dragging=false;
grid.addEventListener("click",e=>{if(dragging){e.preventDefault();e.stopPropagation();return;}const c=e.target.closest(".c");if(!c)return;const id=+c.dataset.id;if(sel.has(id))sel.delete(id);else sel.add(id);c.querySelector(".cb").checked=sel.has(id);upd();},true);
let arming=false,sx=0,sy=0,add=true;
grid.addEventListener("pointerdown",e=>{if(e.button!==0||e.target.classList.contains("cb"))return;arming=true;dragging=false;sx=e.clientX;sy=e.clientY;add=!e.altKey;});
window.addEventListener("pointermove",e=>{if(!arming)return;const dx=e.clientX-sx,dy=e.clientY-sy;if(!dragging&&Math.hypot(dx,dy)<6)return;dragging=true;e.preventDefault();
  const x=Math.min(sx,e.clientX),y=Math.min(sy,e.clientY),w=Math.abs(dx),h=Math.abs(dy);
  box.style.display="block";box.style.left=x+"px";box.style.top=y+"px";box.style.width=w+"px";box.style.height=h+"px";
  const r={l:x,t:y,rt:x+w,b:y+h};
  grid.querySelectorAll(".c").forEach(c=>{const bb=c.getBoundingClientRect();const hit=!(bb.right<r.l||bb.left>r.rt||bb.bottom<r.t||bb.top>r.b);if(hit){const id=+c.dataset.id;if(add)sel.add(id);else sel.delete(id);c.querySelector(".cb").checked=sel.has(id);}});
  upd();
});
window.addEventListener("pointerup",()=>{arming=false;box.style.display="none";setTimeout(()=>dragging=false,0);});
render();
</script>