:root{--ink:#171914;--night:#11130f;--paper:#ece8dc;--panel:#f8f5eb;--muted:#72756c;--line:#cbc7b9;--acid:#dfff38;--cheese:#f28b24;--blue:#3da6ca;--green:#315844;--shadow:0 18px 42px rgba(22,24,18,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}.topbar{height:76px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;background:var(--night);color:#f5f1e6;border-bottom:1px solid #34372e}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font:900 13px/1.04 Arial,sans-serif;letter-spacing:.12em}.top-note{font:800 10px/1 Arial,sans-serif;letter-spacing:.18em;color:#979d8e}.top-note span{margin:0 8px;color:var(--cheese)}
h1,h2,h3,p{margin-top:0}.eyebrow{margin-bottom:15px;font:900 10px/1 Arial,sans-serif;letter-spacing:.19em;color:#73776c}.hero{min-height:660px;padding:76px clamp(20px,6vw,88px);display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);align-items:center;gap:5vw;background:var(--night);color:#f5f1e6;overflow:hidden}.hero-copy{position:relative;z-index:3;max-width:760px}.hero .eyebrow{color:var(--cheese)}h1{margin-bottom:25px;font:900 clamp(60px,7.8vw,120px)/.82 Arial Narrow,Arial,sans-serif;letter-spacing:-.075em;text-transform:uppercase}h1 em{font-style:normal;color:var(--acid)}.lede{max-width:630px;color:#afb4a7;font-size:17px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:26px}.jump{display:inline-flex;gap:28px;padding:15px 19px;background:var(--acid);color:var(--ink);font:900 11px Arial,sans-serif;letter-spacing:.11em;text-decoration:none}.hero-count{font:800 10px Arial,sans-serif;letter-spacing:.14em;color:#80867a}.hero-specimen{height:500px;position:relative}.hero-orbit{position:absolute;inset:7% 10%;border:1px solid #374033;border-radius:50%}.hero-orbit:after{content:"";position:absolute;inset:23%;border:1px dashed #455040;border-radius:50%}.hero-chip{position:absolute;z-index:2;margin:0;filter:drop-shadow(0 20px 17px #0009)}.hero-chip img{display:block;width:100%;border-radius:50%}.hero-chip figcaption{position:absolute;left:50%;bottom:-26px;translate:-50% 0;white-space:nowrap;color:#8d9485;font:900 8px Arial,sans-serif;letter-spacing:.16em}.hero-chip-a{width:210px;left:2%;top:11%;transform:rotate(-8deg)}.hero-chip-b{width:185px;right:1%;top:23%;transform:rotate(8deg)}.hero-chip-c{width:164px;left:31%;bottom:0;transform:rotate(3deg)}
.decoder{padding:72px clamp(20px,6vw,88px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.decoder>*{background:var(--paper);padding:34px}.decoder-intro{grid-column:1/-1;padding:44px 32px 30px}.decoder h2,.catalog-head h2,.archive-note h2{margin-bottom:0;font:900 clamp(36px,4.2vw,60px)/.91 Arial Narrow,Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase}.decoder-intro>p:last-child{max-width:640px;margin:20px 0 0;color:var(--muted);font-size:14px;line-height:1.65}.decoder article{min-height:230px}.step{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid #aaa99f;border-radius:50%;font:900 10px Arial}.decoder article h3{margin:38px 0 10px;font:900 18px Arial;text-transform:uppercase}.decoder article p{color:var(--muted);font-size:13px;line-height:1.65}.decoder-rule{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr .8fr;gap:6vw;align-items:center;padding:46px 40px!important;background:#294436!important;color:#f5f1e6}.decoder-rule .eyebrow{color:var(--acid)}.decoder-rule h3{margin:0;font:900 clamp(29px,3vw,45px)/.93 Arial Narrow,Arial,sans-serif;letter-spacing:-.045em;text-transform:uppercase}.decoder-rule>p{margin:0;color:#c1c8bd;font-size:14px;line-height:1.7}.formula{display:grid;grid-template-columns:repeat(4,auto);align-items:baseline;gap:9px}.formula span{font:900 42px Arial}.formula i{font-style:normal;color:var(--acid)}.formula b{font:900 26px Arial;color:var(--acid)}.formula small{grid-column:1/-1;color:#94a092;font:700 9px Arial;letter-spacing:.12em}
.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);align-items:start;border-top:1px solid var(--line)}.sidebar{position:sticky;top:0;min-height:100vh;padding:36px 28px;background:#e1ddd1;border-right:1px solid var(--line)}.progress-head{display:flex;justify-content:space-between;font:900 10px Arial;letter-spacing:.12em}.progress-head strong{font-size:13px}.progress-track{height:5px;margin:13px 0;background:#c2beb1}.progress-track i{display:block;width:0;height:100%;background:var(--cheese);transition:width .3s}.progress-block p{font-size:11px;color:var(--muted)}.filter-group{margin-top:27px}.filter-group label,.label,.sort{display:block;margin-bottom:9px;font:900 9px Arial;letter-spacing:.14em;color:#5d6158}.search-wrap{position:relative}.search-wrap input,input,select{width:100%;padding:12px 36px 12px 12px;border:1px solid #b6b2a5;border-radius:0;background:#f2eee4;color:var(--ink);font:700 12px Arial}.search-wrap kbd{position:absolute;right:10px;top:10px;padding:2px 6px;border:1px solid #bbb6a9;background:#e4dfd3;color:#77796f;font:10px Arial}.type-filter{display:grid;gap:6px}.type-filter button,.segmented button{padding:10px 11px;border:1px solid #b9b5a8;background:transparent;color:#565a51;text-align:left;font:900 10px Arial;letter-spacing:.07em;cursor:pointer}.type-filter button.active{background:var(--ink);border-color:var(--ink);color:#fff}.type-filter small{float:right;color:#8a8d83}.segmented{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented button{text-align:center;padding:9px 3px}.segmented button.active{background:var(--acid);border-color:#acc51d;color:var(--ink)}.sidebar-actions{margin-top:34px;display:grid;gap:10px}.text-button{padding:0;border:0;background:none;text-align:left;font:900 10px Arial;letter-spacing:.08em;cursor:pointer}.text-button.danger{color:#a04434}
.catalog{min-height:100vh;padding:50px clamp(18px,4vw,56px) 80px}.catalog-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px}.catalog-head h2{margin-bottom:0}.sort{width:180px}.sort select{margin-top:8px}.chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.card{position:relative;min-width:0;background:var(--panel);border:1px solid #d0ccbf;transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-images{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:20px 14px 14px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#faf8f1 0,#dfddd4 62%,#cbc8bd 100%);cursor:pointer}.card-images.single{grid-template-columns:1fr}.side{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1}.side img{display:block;width:96%;height:96%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 10px 8px rgba(36,38,31,.23));transition:transform .28s}.card:hover .side:first-child img{transform:rotate(-2deg) scale(1.02)}.card:hover .side:last-child img{transform:rotate(2deg) scale(1.02)}.side-label{position:absolute;left:50%;bottom:-3px;translate:-50% 0;padding:4px 6px;background:#151812;color:#fff;font:900 7px Arial;letter-spacing:.13em}.placeholder-disc{width:96%;aspect-ratio:1;border:1px dashed #858b7e;border-radius:50%;display:grid;place-content:center;text-align:center;background:repeating-radial-gradient(circle,#d9d6cb 0 13px,#cfccc0 14px 15px);color:#73776d}.placeholder-disc b{font:900 24px Arial}.placeholder-disc small{max-width:105px;margin-top:7px;font:800 8px/1.35 Arial;letter-spacing:.08em}.variant-no{position:absolute;left:12px;top:12px;z-index:3;font:900 10px Arial;letter-spacing:.12em;color:#666a61}.series-badge{position:absolute;right:12px;top:12px;z-index:3;padding:5px 7px;background:#20231d;color:#fff;font:900 8px Arial;letter-spacing:.11em}.series-badge.glow{background:#17779a}.card-body{padding:15px}.family{font:900 9px Arial;letter-spacing:.15em;color:var(--cheese)}.card h3{margin:8px 0 5px;font:900 21px/1 Arial Narrow,Arial,sans-serif;text-transform:uppercase}.meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px;color:var(--muted);font-size:10px}.locale-pills{display:flex;gap:4px}.locale-pills button{padding:4px 5px;border:1px solid #c6c2b5;background:transparent;color:#696d63;font:900 7px Arial;letter-spacing:.08em;cursor:pointer}.locale-pills button.verified{border-color:#8caf9b;color:#315844}.locale-pills button.active{background:var(--ink);border-color:var(--ink);color:#fff}.scan-note{color:#8e6553;text-align:right;font:800 8px Arial;letter-spacing:.04em}.statuses{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:14px}.status{padding:8px 3px;border:1px solid #c7c3b7;background:transparent;font:900 9px Arial;cursor:pointer}.status:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--dot)}.status.active{background:var(--ink);border-color:var(--ink);color:#fff}.empty{text-align:center;padding:100px 20px}.empty span{font-size:60px;color:#aaa}
.archive-note{padding:78px clamp(20px,6vw,88px);display:grid;grid-template-columns:1fr 1fr .7fr;gap:6vw;align-items:center;background:#202820;color:#f5f1e6}.archive-note .eyebrow{color:var(--acid)}.archive-note>p{margin:0;color:#bdc4b9;font-size:14px;line-height:1.75}.source-links{display:grid;gap:8px}.source-links a{padding:12px 14px;border:1px solid #4b574b;color:var(--acid);font:900 9px Arial;letter-spacing:.1em;text-decoration:none}.source-links a:hover{background:var(--acid);color:var(--ink)}footer{padding:28px clamp(20px,4vw,64px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--night);color:#8f9588;font-size:10px}footer span{color:#fff;font-weight:900;letter-spacing:.15em}footer p{margin:0}footer a{justify-self:end;color:var(--acid);text-decoration:none}
dialog{width:min(980px,calc(100% - 28px));max-height:92vh;border:0;padding:0;background:var(--panel);box-shadow:0 30px 90px #0009}dialog::backdrop{background:#0d100cda;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:14px;top:14px;z-index:8;width:36px;height:36px;border:0;background:#151812;color:#fff;font-size:24px;cursor:pointer}.dialog-layout{display:grid;grid-template-columns:1.18fr .82fr}.dialog-art{min-height:500px;padding:38px 20px;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center;background:radial-gradient(circle,#fffef7,#d6d2c6)}.dialog-art .side{aspect-ratio:1}.dialog-copy{padding:58px 42px}.dialog-copy .family{color:var(--cheese)}.dialog-copy h2{margin:10px 0 14px;font:900 44px/.9 Arial Narrow,Arial;text-transform:uppercase}.dialog-copy p{font-size:13px;line-height:1.6;color:var(--muted)}.specs{display:grid;grid-template-columns:1fr 1fr;margin:25px 0;border-top:1px solid var(--line)}.specs div{padding:13px 0;border-bottom:1px solid var(--line)}.specs small{display:block;color:var(--muted);font-size:8px;letter-spacing:.12em}.specs b{font-size:12px}.dialog-locale{width:100%;margin:12px 0 4px}.dialog-source{font-size:10px!important}.dialog-source a{color:#315844}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.hero-specimen{width:min(620px,100%);margin:auto}.workspace{grid-template-columns:255px 1fr}.chip-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.archive-note{grid-template-columns:1fr 1fr}.source-links{grid-column:1/-1}}
.decoder-rule{grid-template-columns:minmax(0,1fr) minmax(0,1fr) max-content;gap:clamp(28px,5vw,72px)}.formula{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:8px}.formula-equation{display:flex;align-items:baseline;gap:9px;white-space:nowrap}.formula-equation span,.formula-equation b{font:900 42px Arial}.formula-equation b,.formula-equation i{color:var(--acid)}.formula-equation i{font-style:normal}.formula small{display:block;color:#94a092;font:700 9px Arial;letter-spacing:.12em}@media(max-width:1100px) and (min-width:781px){.decoder-rule{grid-template-columns:1fr 1fr}.formula{grid-column:1/-1}}
@media(max-width:780px){.top-note{display:none}.hero{min-height:auto;padding-top:58px}.hero h1{font-size:58px}.hero-specimen{height:365px}.hero-chip-a{width:160px}.hero-chip-b{width:145px}.hero-chip-c{width:130px}.decoder{grid-template-columns:1fr}.decoder-intro,.decoder-rule{grid-column:auto}.decoder-rule{grid-template-columns:1fr;gap:26px}.workspace{display:block}.sidebar{position:relative;min-height:0;border-right:0;border-bottom:1px solid var(--line)}.chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.catalog{padding-inline:10px}.catalog-head{padding-inline:8px}.sort{width:135px}.card-images{padding:18px 6px 10px}.card-body{padding:10px}.statuses{grid-template-columns:1fr}.meta{display:block}.scan-note{text-align:left;margin-top:7px}.archive-note{grid-template-columns:1fr}.source-links{grid-column:auto}.dialog-layout{grid-template-columns:1fr}.dialog-art{min-height:360px}.dialog-copy{padding:36px 24px}footer{grid-template-columns:1fr;gap:12px;text-align:center}footer a{justify-self:center}}
@media(max-width:440px){.hero h1{font-size:48px}.hero-specimen{height:315px}.hero-chip-a{width:136px}.hero-chip-b{width:126px}.hero-chip-c{width:112px}.chip-grid{grid-template-columns:1fr}.card-images{padding-inline:24px}.statuses{grid-template-columns:repeat(3,1fr)}.dialog-art{grid-template-columns:1fr 1fr;padding:45px 8px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.side img{transition:none}}
/* Two explicit collection actions; no selection means the neutral state. */
.statuses{grid-template-columns:repeat(2,1fr)}
@media(max-width:780px){.statuses{grid-template-columns:1fr}}
@media(max-width:440px){.statuses{grid-template-columns:repeat(2,1fr)}}
/* Collection state */
.card[data-state="owned"]{background:#e2f1e7;border-color:#4f9873;box-shadow:inset 0 4px #65a464}
.card[data-state="owned"] .card-body{background:#e2f1e7}
