:root{--bg:#171b17;--bg-alt:#1d221d;--surface:#20261f;--ink:#ebe9df;--ink-2:#a9ae9f;--ink-3:#70766a;--line:#2b312a;--line-2:#363d35;--accent:#9dc178;--accent-ink:color-mix(in oklab, var(--accent) 62%, var(--ink));--accent-soft:color-mix(in oklab, var(--accent) 14%, var(--surface));--spark:#ec9350;--spark-ink:color-mix(in oklab, var(--spark) 70%, var(--ink));--spark-soft:color-mix(in oklab, var(--spark) 13%, var(--surface));--scrim:#080a078c;--mix-tag-bg:20%;--mix-tag-fg:70%;--foil-a:#efa9d4;--foil-b:#8cc8ec;--foil-c:#a9df9c;--foil-d:#f5ce8c;--foil-ink:#343931;--font-display:"Source Serif 4", Georgia, serif;--font-ui:"Instrument Sans", system-ui, sans-serif;--font-mono:"Spline Sans Mono", ui-monospace, SFMono-Regular, monospace;--fs-2xs:10.5px;--fs-xs:11.5px;--fs-sm:13px;--fs-base:14.5px;--fs-md:17px;--fs-lg:22px;--fs-xl:30px;--fs-2xl:42px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:72px;--r-sm:4px;--r-md:10px;--r-lg:16px;--r-pill:999px;--t-fast:.12s;--t-base:.16s;--t-slow:.2s;--ease:cubic-bezier(.2, .7, .3, 1);--card-w:224px;--grid-gap:20px}:root[data-theme=field]{--bg:#faf9f6;--bg-alt:#f2f0e9;--surface:#fff;--ink:#20251f;--ink-2:#5d6357;--ink-3:#9aa092;--line:#e7e4da;--line-2:#d8d4c7;--accent:#7fa65a;--spark:#e8863a;--scrim:#181a1461;--mix-tag-bg:13%;--mix-tag-fg:58%}@media (width<=760px){:root{--card-w:calc((100vw - 48px) / 2);--grid-gap:12px;--fs-2xl:31px;--fs-xl:25px;--sp-6:18px;--sp-8:48px}}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes foil{0%{background-position:0 0}to{background-position:100% 0}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;line-height:1.5}input,button,select{font:inherit;color:inherit}::selection{background:color-mix(in oklab, var(--accent) 30%, transparent)}.card{width:var(--card-w);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);cursor:pointer;gap:var(--sp-2);font-family:var(--font-ui);color:var(--ink);transition:transform var(--t-base) var(--ease), border-color var(--t-base) var(--ease);flex-direction:column;display:flex;transform:translateY(0)}.card:hover{border-color:var(--line-2);transform:translateY(-3px)}.card:active{transform:translateY(-1px)}.card:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 3.5px var(--accent);outline:none}.card__head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.card__num{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;color:var(--ink-3);font-variant-numeric:tabular-nums}.card__badge{font-family:var(--font-mono);letter-spacing:.14em;border-radius:var(--r-pill);border:1px solid;padding:2px 8px;font-size:9.5px}.card__badge--legendary{color:var(--spark-ink);background:var(--spark-soft);border-color:color-mix(in oklab, var(--spark) 30%, var(--line))}.card__badge--foil{color:var(--foil-ink);background:linear-gradient(115deg, var(--foil-a) 0%, var(--foil-b) 30%, var(--foil-c) 58%, var(--foil-d) 82%, var(--foil-a) 100%);border-color:color-mix(in oklab, var(--foil-b) 65%, var(--line));animation:foil 5s var(--ease) infinite alternate;background-size:260% 100%}@media (prefers-reduced-motion:reduce){.card__badge--foil{animation:none}}.card__imgbox{aspect-ratio:1;border-radius:var(--r-sm);width:100%;position:relative;overflow:hidden}.card__skel{background:linear-gradient(100deg, var(--bg-alt) 32%, var(--line) 50%, var(--bg-alt) 68%);transition:opacity var(--t-slow) var(--ease);background-size:200% 100%;animation:1.4s linear infinite shimmer;position:absolute;inset:0}.card__skel[data-hidden=true]{opacity:0}.card__skel[data-failed=true]{opacity:.5;animation:none}.card__img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity var(--t-slow) var(--ease);padding:6%;position:absolute;inset:0}.card__img[data-loaded=true]{opacity:1}.card__name{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;display:block;overflow:hidden}.card__types{flex-wrap:wrap;gap:6px;display:flex}.card__type{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-pill);background:color-mix(in oklab, var(--type-color) var(--mix-tag-bg), var(--surface));color:color-mix(in oklab, var(--type-color) var(--mix-tag-fg), var(--ink));padding:3px 10px}.gen{margin-bottom:var(--sp-7);scroll-margin-top:140px}.gen__header{align-items:baseline;gap:var(--sp-3);border-bottom:1px solid var(--line-2);padding-bottom:var(--sp-2);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.gen__title{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:-.005em;margin:0;font-weight:600}.gen__meta{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.14em;color:var(--ink-3);text-transform:uppercase}.gen__count{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.1em;color:var(--ink-3);margin-left:auto}.gen__grid{grid-template-columns:repeat(auto-fill, var(--card-w));gap:var(--grid-gap);display:grid}.app{flex-direction:column;min-height:100dvh;display:flex}.masthead{padding:var(--sp-6) var(--sp-6) var(--sp-5)}.masthead__titles{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.masthead__title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-xl);letter-spacing:-.01em;margin:0}.masthead__eyebrow{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase}.masthead__subtitle{font-family:var(--font-display);color:var(--ink-2);font-style:italic;font-size:var(--fs-md);text-wrap:pretty;margin:6px 0 0}.record{min-width:0;padding:var(--sp-5) var(--sp-6) var(--sp-7);flex:1}.colophon{border-top:1px solid var(--line);padding:var(--sp-5) var(--sp-6);justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;display:flex}.colophon__mark{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.14em;color:var(--ink-3)}.colophon__mark--end{text-align:right}
