@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap";:root{color:#182226;font-synthesis:none;text-rendering:optimizelegibility;--red:#c92c36;--ink:#172126;--paper:#f5f2eb;--line:#d9d5cc;background:#f5f2eb;font-family:DM Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer}.sr-only,.sr-only:not(:focus):not(:active){clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f2ebeb;border-bottom:1px solid #1721261f;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(22px,5vw,78px);display:flex;position:relative}.logo{align-items:center;gap:13px;display:flex}.logo>span:last-child{flex-direction:column;line-height:1;display:flex}.logo b{letter-spacing:-.04em;font-size:23px}.logo small{letter-spacing:.18em;margin-top:5px;font-size:8px;font-weight:700}.brand-mark{background:var(--red);border:3px solid var(--ink);border-radius:50%;place-items:center;width:38px;height:38px;display:inline-grid;position:relative;overflow:hidden}.brand-mark:after{background:var(--paper);content:"";width:100%;height:48%;position:absolute;bottom:0;left:0}.brand-mark:before{background:var(--ink);content:"";z-index:1;width:100%;height:3px;position:absolute;top:calc(50% - 1px);left:0}.brand-mark i{background:var(--paper);border:3px solid var(--ink);z-index:2;border-radius:50%;width:12px;height:12px;position:relative}.brand-mark--small{border-width:2px;width:27px;height:27px}.brand-mark--small i{border-width:2px;width:9px;height:9px}.site-header nav{align-items:center;gap:8px;display:flex}.site-header nav a{align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.site-header nav a:first-child{border-bottom:2px solid #0000}.site-header nav a.active{border-color:var(--red);color:var(--red)}.site-header nav a:last-child{border:1px solid var(--line);border-radius:50%;justify-content:center;width:40px;height:40px;padding:0}.hero{color:#fff;background:#182327;grid-template-columns:1.05fr .95fr;min-height:610px;padding:72px clamp(24px,8vw,130px) 68px;display:grid;position:relative;overflow:hidden}.hero:before{background:var(--red);content:"";opacity:.94;width:57%;height:100%;position:absolute;top:0;right:-15%;transform:skew(-17deg)}.hero-noise{opacity:.22;pointer-events:none;background-image:radial-gradient(#ffffff21 .7px,#0000 .7px);background-size:6px 6px;position:absolute;inset:0}.hero-copy{z-index:2;align-self:center;max-width:660px;position:relative}.eyebrow{color:#f2c950;letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 24px;font-size:10px;font-weight:800;display:flex}.eyebrow span{background:currentColor;width:27px;height:2px}.eyebrow--dark{color:var(--red)}.hero h1{letter-spacing:-.07em;margin:0;font-size:clamp(42px,5vw,72px);font-weight:900;line-height:1.18}.hero h1 em{color:#f2c94c;font-style:normal}.hero-lead{color:#c4cdcf;margin:28px 0 34px;font-size:15px;line-height:2}.hero-stats{border-top:1px solid #ffffff2e;gap:48px;max-width:440px;padding-top:24px;display:flex}.hero-stats div{flex-direction:column;display:flex}.hero-stats strong{letter-spacing:-.04em;font-size:26px}.hero-stats span{color:#7f9095;letter-spacing:.16em;margin-top:3px;font-size:9px;font-weight:700}.hero-art{z-index:3;place-self:center;width:min(44vw,510px);height:480px;position:relative}.hero-art img{filter:drop-shadow(0 32px 22px #11090a5c);object-fit:contain;z-index:3;width:92%;height:92%;position:absolute;top:4%;left:50%;transform:translate(-50%)}.hero-number{color:#ffffff1f;letter-spacing:-.08em;font-size:clamp(145px,18vw,270px);font-weight:900;line-height:1;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.hero-ring{border:1px solid #ffffff3d;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-ring--one{width:370px;height:370px}.hero-ring--two{border-style:dashed;width:440px;height:440px}.hero-caption{z-index:4;flex-direction:column;align-items:flex-end;display:flex;position:absolute;bottom:0;right:-15px}.hero-caption b{letter-spacing:.2em;font-size:13px}.hero-caption span{color:#ffffff9e;margin-top:5px;font-size:11px}.dex-section{max-width:1480px;margin:0 auto;padding:90px clamp(20px,6vw,92px) 120px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:36px;display:flex}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{letter-spacing:-.06em;margin:0;font-size:clamp(34px,4vw,52px);line-height:1}.section-heading>p{color:#687277;margin:0;font-size:13px;line-height:1.8}.search-console{background:#fff;border:1px solid #ddd9d0;padding:24px;box-shadow:0 14px 40px #2327250f}.search-row{grid-template-columns:1fr 210px;gap:12px;display:grid}.search-box{background:#f5f3ee;border:1px solid #0000;align-items:center;height:58px;padding:0 18px;transition:border-color .2s,background .2s;display:flex}.search-box:focus-within{border-color:var(--ink);background:#fff}.search-box svg{color:#8c9699;flex:none}.search-box input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;height:100%;padding:0 14px;font-size:14px;font-weight:600}.search-box input::placeholder{color:#9ca2a4;font-weight:500}.search-box button{color:#879093;background:0 0;border:0;place-items:center;padding:6px;display:grid}.select-wrap{background:#fff;border:1px solid #d7d5cf;align-items:center;min-width:190px;display:flex;position:relative}.select-wrap select{appearance:none;color:var(--ink);cursor:pointer;background:0 0;border:0;outline:0;width:100%;height:100%;padding:0 42px 0 17px;font-size:12px;font-weight:700}.select-wrap svg{pointer-events:none;position:absolute;right:15px}.type-filter{border-top:1px solid #e6e2da;border-bottom:1px solid #e6e2da;grid-template-columns:100px 1fr;gap:24px;margin-top:20px;padding:20px 0;display:grid}.filter-label{align-items:center;gap:8px;padding:8px 0;font-size:12px;font-weight:800;display:flex}.type-options{flex-wrap:wrap;gap:8px;display:flex}.type-options button{color:#596469;background:0 0;border:1px solid #ddd9d2;align-items:center;gap:7px;padding:8px 11px;font-size:11px;font-weight:700;transition:all .18s;display:flex}.type-options button>span{background:var(--type-color);border-radius:50%;width:7px;height:7px}.type-options button:hover{border-color:var(--type-color);color:var(--ink)}.type-options button.selected{background:var(--type-color);border-color:var(--type-color);color:#fff}.type-options button.selected>span{background:#fff}.catalog-filter{justify-content:space-between;align-items:stretch;padding-top:20px;display:flex}.filter-tabs{gap:4px;display:flex}.filter-tabs button{color:#778085;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 17px;font-size:12px;font-weight:700}.filter-tabs button.active{border-color:var(--red);color:var(--red)}.select-wrap--wide{width:280px;height:42px}.results-bar{justify-content:space-between;align-items:center;margin:42px 0 18px;display:flex}.results-bar p{color:#6b7477;margin:0;font-size:12px}.results-bar strong{color:var(--ink);margin-right:7px;font-size:22px}.results-bar button{color:var(--red);background:0 0;border:0;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.pokemon-grid,.loading-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.pokemon-card{--accent:#999;animation:.45s both card-in;animation-delay:var(--delay);background:#fff;border:1px solid #dedbd3;flex-direction:column;min-height:392px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative;overflow:hidden}.pokemon-card:before{background:var(--accent);content:"";z-index:3;height:3px;transition:right .25s;position:absolute;top:0;left:0;right:100%}.pokemon-card:hover{border-color:#c6c2b9;transform:translateY(-5px);box-shadow:0 18px 35px #262c2b1c}.pokemon-card:hover:before{right:0}.card-topline{color:#8b9294;letter-spacing:.13em;z-index:2;justify-content:space-between;align-items:center;padding:17px 18px 0;font-size:10px;font-weight:800;display:flex;position:relative}.card-art{background:linear-gradient(145deg,#f7f5f1,#efede7);height:225px;margin:14px 14px 0;position:relative;overflow:hidden}.card-art:after{color:#131f240b;content:attr(data-no);font-size:100px;font-weight:900;position:absolute}.card-art img{object-fit:contain;z-index:2;width:94%;height:94%;transition:transform .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pokemon-card:hover .card-art img{transform:translate(-50%,-54%)scale(1.05)}.card-orbit{border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);border-radius:50%;width:155px;height:155px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-orbit:before,.card-orbit:after{background:color-mix(in srgb, var(--accent) 55%, transparent);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:72%;left:-3px}.card-orbit:after{top:12%;left:auto;right:9px}.card-copy{padding:19px 19px 21px}.card-copy p{color:#9aa0a2;letter-spacing:.16em;text-transform:uppercase;margin:0 0 5px;font-size:9px;font-weight:800}.card-copy h2{letter-spacing:-.04em;margin:0 0 13px;font-size:20px}.type-row{flex-wrap:wrap;gap:6px;display:flex}.type-badge{background:color-mix(in srgb, var(--type-color) 12%, white);color:color-mix(in srgb, var(--type-color) 75%, #182226);align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.type-badge>span{background:var(--type-color);border-radius:50%;width:6px;height:6px}.loading-grid>div{background:#e7e4dd;height:392px;animation:1.3s infinite alternate pulse}.empty-state{text-align:center;border:1px dashed #c9c5bc;flex-direction:column;align-items:center;padding:70px 20px;display:flex}.empty-state h3{margin:20px 0 8px}.empty-state p{color:#737c80;font-size:13px}.empty-state button{background:var(--ink);color:#fff;border:0;margin-top:15px;padding:12px 18px;font-size:12px;font-weight:700}.detail-page{max-width:1480px;margin:0 auto;padding:34px clamp(20px,6vw,92px) 90px}.detail-crumb{color:#8a9295;align-items:center;gap:9px;margin-bottom:27px;font-size:11px;font-weight:700;display:flex}.detail-crumb a{color:var(--ink);align-items:center;gap:2px;display:flex}.detail-hero{background:#fff;border:1px solid #dcd8d0;grid-template-columns:1fr 1fr;min-height:570px;display:grid}.detail-art{background:color-mix(in srgb, var(--accent) 10%, #f3f1ec);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.detail-art:before{background:var(--accent);content:"";width:100%;height:4px;position:absolute;bottom:0;left:0}.detail-art img{filter:drop-shadow(0 30px 25px #1c222129);object-fit:contain;z-index:3;width:72%;height:72%;position:relative}.detail-number{color:color-mix(in srgb, var(--accent) 15%, transparent);letter-spacing:-.1em;font-size:clamp(170px,22vw,340px);font-weight:900;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-53%,-50%)}.detail-orbit{border:1px dashed color-mix(in srgb, var(--accent) 40%, transparent);border-radius:50%;width:62%;height:62%;position:absolute}.shiny{z-index:4;background:#ffffffd1;border:1px solid #18222621;align-items:center;gap:7px;padding:10px 13px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:22px;right:22px}.shiny.active{background:#f0ca46;border-color:#d0ab2d}.detail-copy{align-self:center;padding:54px clamp(35px,5vw,72px)}.detail-copy .eyebrow{margin-bottom:15px}.detail-copy h1{letter-spacing:-.07em;margin:0;font-size:clamp(44px,5vw,70px);line-height:1.1}.genus{color:#838c90;margin:8px 0 20px;font-size:13px;font-weight:600}.detail-types .type-badge{padding:7px 12px;font-size:11px}.description-block{margin:28px 0 32px}.description-block label{align-items:center;gap:12px;display:flex}.description-block label>span{color:#92999b;letter-spacing:.08em;font-size:9px;font-weight:800}.description-block select{appearance:none;color:var(--ink);cursor:pointer;font:inherit;background:#f5f3ee;border:1px solid #d8d4cb;flex:1;max-width:360px;padding:10px 34px 10px 12px;font-size:12px;font-weight:700}.description{border-left:3px solid var(--accent);color:#555f63;min-height:56px;margin:14px 0 0;padding-left:20px;font-size:14px;line-height:2}.facts{border-top:1px solid #e2dfd7;border-bottom:1px solid #e2dfd7;grid-template-columns:1fr 1fr;margin:0;display:grid}.facts div{padding:14px 0}.facts div:nth-child(odd){border-right:1px solid #e2dfd7;padding-right:22px}.facts div:nth-child(2n){padding-left:22px}.facts div:nth-child(-n+2){border-bottom:1px solid #e2dfd7}.facts dt{color:#92999b;letter-spacing:.08em;margin-bottom:4px;font-size:9px;font-weight:800}.facts dd{margin:0;font-size:13px;font-weight:700}.ability-list{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.ability-item{align-items:center;gap:5px;display:inline-flex;position:relative}.ability-item>button{color:#8a9295;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.ability-item>button:hover,.ability-item>button[aria-expanded=true]{color:var(--accent)}.ability-description{color:#fff;z-index:8;background:#182327;width:min(280px,55vw);padding:12px 14px;font-size:11px;font-weight:500;line-height:1.7;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 12px 28px #121b1f3d}.detail-content{grid-template-columns:.9fr 1.1fr;gap:18px;margin-top:18px;display:grid}.stats-panel,.evolution-panel{background:#fff;border:1px solid #dcd8d0;padding:34px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.panel-heading span{color:var(--red);letter-spacing:.18em;font-size:9px;font-weight:800}.panel-heading h2{letter-spacing:-.05em;margin:4px 0 0;font-size:25px}.panel-heading>strong{align-items:flex-end;gap:7px;font-size:28px;display:flex}.panel-heading>strong small{color:#9da3a5;letter-spacing:.1em;padding-bottom:5px;font-size:8px}.stats-list{flex-direction:column;gap:13px;display:flex}.stat-row{grid-template-columns:65px 28px 1fr;align-items:center;gap:11px;display:grid}.stat-row>span{color:#626c70;font-size:10px;font-weight:700}.stat-row b{text-align:right;font-size:12px}.stat-row>div{background:#ece9e2;height:6px;overflow:hidden}.stat-row i{background:var(--accent);min-width:3px;height:100%;display:block}.evolution-chain{justify-content:center;align-items:center;min-height:240px;display:flex}.evolution-step{align-items:center;display:flex}.evolution-step>a{flex-direction:column;align-items:center;min-width:112px;display:flex}.evolution-step>a.current .evo-art{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent)}.evo-art{background:#f5f3ee;border:1px solid #e0ddd6;border-radius:50%;place-items:center;width:105px;height:105px;margin-bottom:11px;display:grid}.evo-art img{object-fit:contain;width:86%;height:86%}.evolution-step small{color:#999fa1;letter-spacing:.1em;font-size:8px;font-weight:800}.evolution-step b{margin-top:3px;font-size:12px}.evolution-arrow{color:#9ca3a5;flex-direction:column;align-items:center;margin:0 14px;display:flex}.evolution-arrow span{letter-spacing:.08em;margin-bottom:4px;font-size:7px;font-weight:800}.forms-panel{background:#fff;border:1px solid #dcd8d0;margin-top:18px;padding:34px}.forms-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;display:grid}.forms-grid>a{text-align:center;background:#f7f5f0;border:1px solid #e0ddd6;flex-direction:column;align-items:center;min-height:225px;padding:16px 12px 14px;transition:border-color .2s,transform .2s;display:flex}.forms-grid>a:hover{border-color:var(--accent);transform:translateY(-3px)}.forms-grid>a.current{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.form-art{place-items:center;width:132px;height:132px;margin-bottom:8px;display:grid}.form-art img{object-fit:contain;width:100%;height:100%}.forms-grid small{color:#999fa1;letter-spacing:.1em;font-size:8px;font-weight:800}.forms-grid strong{margin-top:4px;font-size:13px}.forms-grid>a>span:last-child{color:#81898c;margin-top:4px;font-size:10px}.pokemon-pagination{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.pokemon-pagination>a{color:#fff;background:#182327;align-items:center;min-height:82px;padding:8px 23px;transition:background .2s;display:flex}.pokemon-pagination>a:hover{background:var(--red)}.pokemon-pagination>a:last-child{text-align:right;justify-content:flex-end}.pokemon-pagination img{object-fit:contain;width:65px;height:65px}.pokemon-pagination span{flex-direction:column;margin:0 10px;font-size:14px;font-weight:700;display:flex}.pokemon-pagination small{color:#ffffff80;letter-spacing:.16em;margin-bottom:4px;font-size:8px}.detail-loading{flex-direction:column;justify-content:center;align-items:center;min-height:65vh;display:flex}.detail-loading .brand-mark{animation:1.2s linear infinite spin}.detail-loading p{color:#7d8588;margin-top:16px;font-size:12px}.site-footer{color:#fff;background:#121b1f;align-items:center;min-height:110px;padding:0 clamp(22px,5vw,78px);display:flex}.site-footer p{margin:0 0 0 12px;font-size:15px;font-weight:800}.site-footer p span{color:#7d898d;letter-spacing:.08em;margin-left:10px;font-size:9px;font-weight:600}.site-footer a{color:#a7b0b2;border-bottom:1px solid #6d787c;margin-left:auto;padding-bottom:3px;font-size:10px}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:.45}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.hero{min-height:560px;padding-left:55px;padding-right:55px}.hero-art{width:45vw}.pokemon-grid,.loading-grid{grid-template-columns:repeat(3,1fr)}.detail-hero{grid-template-columns:.9fr 1.1fr}.detail-content{grid-template-columns:1fr}}@media (width<=760px){.site-header{height:66px;padding:0 18px}.site-header nav a:first-child{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding:56px 22px 0}.hero:before{width:120%;height:45%;top:auto;bottom:0;right:-20%;transform:skew(-12deg)}.hero h1{font-size:44px}.hero-lead{font-size:13px}.hero-stats{gap:32px}.hero-art{width:100%;height:390px;margin-top:22px}.hero-ring--one{width:285px;height:285px}.hero-ring--two{width:340px;height:340px}.hero-caption{bottom:20px;right:0}.dex-section{padding-top:64px;padding-bottom:80px}.section-heading{flex-direction:column;align-items:flex-start;gap:14px}.section-heading>p{font-size:12px}.search-console{padding:14px}.search-row{grid-template-columns:1fr}.search-box{height:54px}.search-row .select-wrap{height:48px}.type-filter{grid-template-columns:1fr;gap:10px}.filter-label{padding-bottom:0}.catalog-filter{flex-direction:column;align-items:stretch;gap:14px}.filter-tabs button{flex:1}.select-wrap--wide{width:100%}.pokemon-grid,.loading-grid{grid-template-columns:repeat(2,1fr);gap:12px}.pokemon-card{min-height:310px}.card-art{height:165px;margin:10px 10px 0}.card-orbit{width:120px;height:120px}.card-copy{padding:15px 13px 17px}.card-copy h2{font-size:16px}.type-badge{padding:4px 6px;font-size:9px}.detail-page{padding-left:14px;padding-right:14px}.detail-hero{grid-template-columns:1fr}.detail-art{min-height:420px}.detail-art img{width:76%;height:76%}.detail-copy{padding:36px 25px 42px}.detail-copy h1{font-size:46px}.stats-panel,.evolution-panel,.forms-panel{padding:28px 20px}.facts{grid-template-columns:1fr}.facts div:nth-child(odd){border-right:0;padding-right:0}.facts div:nth-child(2n){padding-left:0}.facts div{border-bottom:1px solid #e2dfd7}.facts div:last-child{border-bottom:0}.ability-description{width:min(280px,72vw)}.forms-grid{grid-template-columns:repeat(2,1fr)}.evolution-chain{flex-direction:column;align-items:stretch}.evolution-step{flex-direction:column}.evolution-step>a{flex-direction:row;justify-content:flex-start;gap:10px;width:100%}.evo-art{flex:none;width:76px;height:76px;margin:0}.evolution-step>a small{margin-left:4px}.evolution-arrow{justify-content:center;width:24px;height:42px;margin:0 0 0 25px}.evolution-arrow svg{transform:rotate(90deg)}.pokemon-pagination{gap:8px}.pokemon-pagination>a{min-height:72px;padding:8px 12px}.pokemon-pagination img,.site-footer p span,.desktop-only{display:none}}@media (width<=390px){.pokemon-grid,.loading-grid{grid-template-columns:1fr}.pokemon-card{min-height:350px}.card-art{height:210px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
