*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--base-bg:#f3f1ee;--base-surface:#ffffff;--base-fg:#1a1a1a;--base-heading:#1a1a1a;--base-border:rgba(0,0,0,0.08);--base-hover:rgba(0,0,0,0.03);--background:var(--base-bg);--surface:var(--base-surface);--foreground:var(--base-fg);--heading:var(--base-heading);--border:var(--base-border);--hover:var(--base-hover);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-fast:0.2s;--z-lightbox:9999}html.dark{--base-bg:#242526;--base-surface:#1a1a1a;--base-fg:#f3f1ee;--base-heading:#ffffff;--base-border:rgba(255,255,255,0.08);--base-hover:rgba(255,255,255,0.06)}body,html{min-height:100%;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;background:var(--background);color:var(--foreground);font-family:Figtree,sans-serif;font-weight:300}main{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lightbox-scrim{display:flex;position:fixed;inset:0;z-index:var(--z-lightbox);background:rgba(0,0,0,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);align-items:center;justify-content:center;cursor:zoom-out;animation:lightboxFade .25s ease}@keyframes lightboxFade{0%{opacity:0}to{opacity:1}}.lightbox-figure{display:flex;flex-direction:column;align-items:center;gap:.9rem;cursor:default}.lightbox-image{max-width:min(90vw,1000px);max-height:90vh;object-fit:contain;border-radius:6px;box-shadow:0 24px 80px rgba(0,0,0,.6);opacity:0;transition:opacity .25s ease}.lightbox-image.loaded{opacity:1}.theme-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:3000;padding:20px 40px 10px}.theme-bar-pill{width:40px;height:6px;border-radius:99px;margin:0 auto;background:color-mix(in srgb,var(--foreground) 35%,transparent);transition:opacity var(--dur-fast) var(--ease-spring),transform var(--dur-fast) var(--ease-spring)}.theme-bar.open .theme-bar-pill,.theme-bar:focus-within .theme-bar-pill{opacity:0;transform:scaleX(.6) translateY(4px)}.theme-bar-tray{position:absolute;bottom:6px;left:50%;display:flex;align-items:center;padding:3px;background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid var(--border);border-radius:10px;backdrop-filter:blur(32px) saturate(1.6);-webkit-backdrop-filter:blur(32px) saturate(1.6);white-space:nowrap;opacity:0;transform:translateX(-50%) translateY(10px) scale(.92);pointer-events:none;transition:opacity .35s var(--ease-spring),transform .35s var(--ease-spring)}.theme-bar.open .theme-bar-tray,.theme-bar:focus-within .theme-bar-tray{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(1);box-shadow:0 8px 32px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06)}.theme-bar-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;border:none;border-radius:7px;background:transparent;color:var(--foreground);font-family:inherit;font-size:11px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-fast)}.theme-bar-btn:hover{background:var(--hover)}html{scroll-behavior:smooth}body.pokemon-page a:not(.end-of-page a){text-decoration:none;color:#c4c2c0}body.pokemon-page a:not(.end-of-page a) :active,body.pokemon-page a:not(.end-of-page a) :hover,body.pokemon-page span:hover{text-decoration:none;color:#ffffff}@font-face{font-family:retro;src:url(/assets/fonts/Retro-Gaming.ttf) format("truetype")}.caption-text{color:#c4c2c0;font-family:retro,sans-serif}.caption-text:hover{color:#ffffff}#random-gif{height:25px}.end-of-page{text-align:center;margin-top:0;margin-bottom:10px;opacity:0;animation:fadeUp .6s ease .45s forwards}.end-of-page a{text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;color:#888}.end-of-page a:hover{color:var(--heading)}main.pokemon-main{grid-template-columns:1fr;padding-bottom:calc(32px + 12px);opacity:0;animation:fadeUp .6s ease .15s forwards}body.pokemon-page .grid{display:grid;grid-gap:7px;gap:7px;padding:35px 100px 30px;max-width:100vw;margin:0 auto;grid-template-columns:repeat(auto-fit,minmax(min(175px,100vw),1fr));opacity:0;animation:fadeUp .7s ease .3s forwards}.card,body.pokemon-page .grid>*{min-width:0}@media (max-width:768px){body.pokemon-page .grid{padding-inline:clamp(12px,6vw,40px);grid-template-columns:repeat(auto-fit,minmax(min(100px,100vw),1fr));gap:12px}}.card{aspect-ratio:5/7;border-radius:12px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.1);transition:transform .2s ease;position:relative;--pointer-x:50%;--pointer-y:50%;--background-x:50%;--background-y:50%;--card-opacity:0}.card:hover{z-index:10}.card img{width:100%;height:100%;object-fit:cover;display:block}.glare,.shine{position:absolute;inset:0;pointer-events:none;border-radius:inherit}.card .shine{background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(255,255,255,.12) 0,rgba(255,255,255,.08) 10%,rgba(0,255,255,.25) 25%,rgba(255,0,150,.25) 45%,rgba(0,255,100,.2) 65%,transparent 70%),repeating-linear-gradient(110deg,violet,blue,green,yellow,red,violet,blue,green,yellow,red);background-size:100% 100%,300% 300%;background-position:50%,50%;mix-blend-mode:overlay;opacity:var(--card-opacity);filter:brightness(1.2) contrast(1.2) saturate(1.4)}.card .glare{background-image:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(255,255,255,.7) 0,rgba(255,255,255,.15) 30%,rgba(0,0,0,.4) 100%);mix-blend-mode:overlay;opacity:calc(var(--card-opacity) * .8)}.pokemon-lightbox{background:rgba(0,0,0,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.pokemon-lightbox .lightbox-image{max-width:min(95vw,900px);max-height:88vh;aspect-ratio:5/7;border-radius:14px;box-shadow:0 40px 80px rgba(0,0,0,.8)}.pokemon-lightbox .lightbox-caption{letter-spacing:.19em;font-size:14px;opacity:.8}.pokemon-lightbox .lightbox-caption a{color:#c4c2c0}.pokemon-lightbox .lightbox-caption a:hover{color:#ffffff}html.dark .card{box-shadow:0 20px 40px rgba(0,0,0,.5)}html.dark .pokemon-lightbox{background:rgba(5,5,5,.85)}body.pokemon-page .theme-bar-btn span:hover{color:inherit}