:root{color:#ffffffde;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}html{background-color:#242424;min-height:100%}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#242424;min-width:320px;min-height:100vh;margin:0}h1{font-size:3.2em;line-height:1.1}button{color:inherit;cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}.site-header{z-index:1000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1rem;font-size:14px;transition:background-color .25s,-webkit-backdrop-filter .25s,backdrop-filter .25s;display:flex;position:sticky;top:0}.site-header.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff73}.site-header.scrolled .header-desktop-nav .header-nav-link{color:#1a1a1a!important}.site-header.scrolled .header-desktop-nav .header-user-button{color:#1a1a1a;background:#0000000f;border-color:#00000026}.site-header.scrolled .header-desktop-nav .header-lang-button{color:#1a1a1a;background:#ffffffb3;border-color:#0003}.site-header.scrolled .hamburger-line{background:#1a1a1a}.site-header.scrolled .header-hamburger{border-color:#0003}.header-desktop-nav{align-items:center;gap:1rem;display:flex}.header-nav-link{padding:.4rem 0;font-weight:500;text-decoration:none;color:#fff!important}.header-user-button{cursor:pointer;color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:14px;display:flex}.header-lang-button{color:inherit;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border:1px solid #666;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.9em;display:flex}.header-dropdown-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1001;background:#000000e6;border:1px solid #ffffff1f;border-radius:8px;min-width:120px;margin-top:4px;padding:.25rem;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0000004d}.header-dropdown-menu-portal{z-index:9999}.header-dropdown-backdrop{z-index:9998;background:0 0;position:fixed;inset:0}.header-dropdown-item{color:#fff;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;width:100%;padding:.5rem .75rem;font-size:14px;text-decoration:none;display:block}.header-dropdown-item:hover{background:#ffffff1a}.header-hamburger{cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;display:none}.hamburger-line{background:#fff;border-radius:2px;width:100%;height:2px;transition:transform .3s,opacity .3s;display:block}.hamburger-line.open:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.header-mobile-overlay{display:none}.header-mobile-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2000;background:#14141efa;width:280px;max-width:85vw;height:100vh;transition:transform .3s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.header-mobile-menu.open{transform:translate(0)}.header-mobile-nav{flex-direction:column;gap:.25rem;padding:5rem 1.5rem 2rem;display:flex}.header-mobile-nav .header-nav-link{border-bottom:1px solid #ffffff0f;padding:.75rem 0;font-size:1.05rem}.header-mobile-divider{border:none;border-top:1px solid #ffffff1f;margin:.75rem 0}@media (max-width:640px){body{overflow-x:hidden}.header-desktop-nav{display:none}.header-hamburger{display:flex}.header-mobile-menu{visibility:hidden;pointer-events:none;display:none}.header-mobile-menu.open{visibility:visible;pointer-events:auto;display:block}.header-mobile-overlay{z-index:1999;background:#00000080;display:block;position:fixed;inset:0}}@media (min-width:641px){.header-mobile-menu,.header-mobile-overlay{display:none!important}}.home-page-wrapper{width:100%;min-height:100vh;position:relative}.home-page-video-backdrop{z-index:0;pointer-events:none;background:radial-gradient(circle at top,#646cff47,#0000 45%),linear-gradient(#11131f 0%,#242424 100%);width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.home-page-video{object-fit:cover;opacity:.35;width:100%;height:100%;position:absolute;inset:0}.home-page-video-overlay{pointer-events:none;background:#0006;position:absolute;inset:0}.home-page{text-align:center;z-index:5;flex-direction:column;align-items:center;gap:2rem;max-width:1280px;margin:100px auto 0;padding:2rem;display:flex;position:relative}.home-hero-content{flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:720px;display:flex}.option-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.home-seo-content{content-visibility:auto;contain-intrinsic-size:520px;width:100%}.primary-button,.secondary-button{min-width:200px;padding:1rem 2rem;font-size:1.1em}.image-upload{width:100%;max-width:600px;margin:0 auto}.upload-area{text-align:center;cursor:pointer;background-color:#646cff1a;border:2px dashed #646cff;border-radius:8px;padding:3rem;transition:all .3s}.upload-area:hover{background-color:#646cff33;border-color:#535bf2}.preview-area{flex-direction:column;align-items:center;gap:1rem;display:flex}.preview-area img{border-radius:8px;max-width:100%;max-height:400px;box-shadow:0 4px 6px #0000001a}@media (max-width:768px),(prefers-reduced-motion:reduce){.home-page-video{display:none}.home-page-video-overlay{background:#0000002e}.home-page{gap:1.5rem;margin-top:88px;padding:1.5rem 1rem 2rem}}.preview-actions{gap:1rem;display:flex}.error-message{color:#ff6b6b;background-color:#ff6b6b1a;border-radius:4px;margin-top:1rem;padding:.5rem}.image-compare-page{max-width:1200px;margin:0 auto;padding:2rem}.upload-section{margin-bottom:2rem}.action-section{justify-content:center;margin:2rem 0;display:flex}.compare-button{color:#fff;background-color:#646cff;border:none;padding:1rem 2rem;font-size:1.1em}.compare-button:hover:not(:disabled){background-color:#535bf2}.compare-button:disabled{opacity:.6;cursor:not-allowed}.loading{text-align:center;color:#888;padding:2rem}.pokeball-loading-wrapper{z-index:1000;background:#00000080;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;width:100%;height:100%;padding:2.5rem 1rem;display:flex;position:fixed;top:0;left:0}.pokeball-loader{background:#b71c1c;border-radius:50%;width:80px;height:80px;animation:1.2s ease-in-out infinite pokeball-wiggle;display:inline-block;position:relative;box-shadow:inset 0 -58px 0 -30px #fff,inset 0 -61px 0 -28px #000,0 0 0 4px #000}.pokeball-loader:before{content:"";z-index:9;background:#fff;border:1px solid #0006;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:2px 0 #00000026,0 0 0 4px #fff,0 0 0 8px #000}.pokeball-loader:after{content:"";border-radius:50%;width:100%;height:104%;position:absolute;top:-3px;right:-4px;box-shadow:inset -8px 0 #00000040}@keyframes pokeball-wiggle{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(-4px)rotate(-12deg)}30%{transform:translate(6px)rotate(20deg)}45%{transform:translate(-3px)rotate(-8deg)}60%{transform:translate(2px)rotate(4deg)}75%{transform:translate(-1px)rotate(-2deg)}}.pokeball-loading-text{color:#ffffffd9;font-size:15px;font-weight:500}.pokeball-loading-subtext{color:#ffffff8c;font-size:13px}.pokeball-loading-bar-track{background:#ffffff1f;border-radius:3px;width:200px;height:6px;overflow:hidden}.pokeball-loading-bar-fill{background:linear-gradient(90deg,#b71c1c,#ef5350);border-radius:3px;width:40%;height:100%;animation:1.4s ease-in-out infinite pokeball-bar-slide}@keyframes pokeball-bar-slide{0%{transform:translate(-100%)}50%{transform:translate(350%)}to{transform:translate(-100%)}}@keyframes mbti-spin{to{transform:rotate(360deg)}}@keyframes mbti-blink{0%,50%{opacity:1}51%,to{opacity:0}}.results-section{margin-top:3rem}.pokemon-results{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;margin-top:.8rem;display:grid}.pokemon-card{text-align:center;background-color:#646cff0d;border:1px solid #646cff;border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.pokemon-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #646cff4d}.similarity-score{color:#646cff;margin-bottom:1rem;font-size:1.1em;font-weight:700}.pokemon-image{border-radius:8px;width:100%;max-width:200px;height:auto;margin:1rem 0}.pokemon-card-silhouette{margin:1rem 0;display:inline-block}.pokemon-card-silhouette .pokemon-image{filter:brightness(0);opacity:.85}.pokemon-type{color:#888;margin:.5rem 0}.pokemon-description{color:#aaa;margin:1rem 0;font-size:.9em}.pokemon-card-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.view-detail-button{color:#fff;cursor:pointer;background-color:#646cff;border:none;border-radius:8px;flex:1;min-width:120px;padding:.6rem 1rem;font-size:.9em;transition:background-color .2s}.view-detail-button:hover{background-color:#535bf2}.share-button-container{display:inline-block;position:relative}.share-button{color:#646cff;cursor:pointer;background-color:#646cff33;border:1px solid #646cff;border-radius:8px;min-width:120px;padding:.6rem 1rem;font-size:.9em;transition:all .2s}.share-button:hover{background-color:#646cff4d;border-color:#535bf2}.share-button:disabled{opacity:.6;cursor:not-allowed}.result-capture-area{outline:none}.result-save-image-row{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;max-width:500px;margin:0 auto 1rem;display:flex}.result-save-image-button{color:#e1306c;cursor:pointer;background:#e1306c26;border:1px solid #e1306c;border-radius:8px;padding:.6rem 1.2rem;font-size:.95em;font-weight:600;transition:background .2s,border-color .2s}.result-save-image-button:hover:not(:disabled){background:#e1306c40;border-color:#c13584}.result-save-image-button:disabled{opacity:.7;cursor:not-allowed}.share-menu{z-index:1000;background-color:#242424f2;border:1px solid #646cff4d;border-radius:8px;flex-direction:column;gap:.25rem;min-width:200px;margin-top:.5rem;padding:.5rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0000004d}.share-menu-item{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9em;transition:background-color .2s;display:flex}.share-menu-item:hover{background-color:#646cff33}.navigation-section{text-align:center;margin-top:3rem}.policy-notice{color:#aaa;border-radius:8px;margin:2rem 0;padding:1.5rem;font-size:.9em}.policy-notice h3{color:#fff;margin-bottom:1rem;font-size:1.1em}.policy-notice ul{padding-left:0;list-style:none}.policy-notice li{margin:.5rem 0;padding-left:1.5rem;position:relative}.pokedex-page{max-width:1200px;margin:100px auto 0;padding:2rem;position:relative}.pokedex-back-button-container{margin-bottom:1.5rem}.pokedex-back-button{color:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1em;font-weight:500;transition:all .2s;display:inline-flex}.pokedex-back-button:hover{background:#ffffff1a;border-color:#646cff;transform:translate(-2px)}.pokedex-header{text-align:center;margin-bottom:2rem}.pokedex-header h1{margin-bottom:.5rem;font-size:2.5em}.pokedex-subtitle{color:#888;font-size:1.1em}.pokedex-search{max-width:500px;margin:0 auto 2rem;position:relative}.pokedex-search-input{width:100%;color:inherit;background-color:#1a1a1a;border:2px solid #444;border-radius:8px;padding:1rem;font-size:1.1em;transition:border-color .25s}.pokedex-search-input:focus{border-color:#646cff;outline:none}.pokedex-search-clear{color:#888;cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1.2em;line-height:1;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.pokedex-search-clear:hover{color:#fff}.pokemon-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.pokemon-card-pokedex{text-align:center;cursor:pointer;color:inherit;background:#ffffff0d;border-radius:12px;padding:1rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block}.pokemon-card-pokedex:hover{background:#ffffff14;transform:translateY(-4px);box-shadow:0 8px 16px #646cff4d}.pokemon-card-image-container{background:#ffffff08;border-radius:8px;justify-content:center;align-items:center;width:100%;height:180px;margin-bottom:1rem;display:flex}.pokemon-card-image{object-fit:contain;max-width:100%;max-height:100%;image-rendering:pixelated}.pokemon-card-info{text-align:center}.pokemon-card-id{color:#888;margin-bottom:.5rem;font-size:.85em}.pokemon-card-name{text-transform:capitalize;margin-bottom:.75rem;font-size:1.2em}.pokemon-card-types{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.pokemon-type-badge{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:.25rem .75rem;font-size:.85em;font-weight:500}.type-normal{background:#a8a8784d;border-color:#a8a87880}.type-fire{background:#f080304d;border-color:#f0803080}.type-water{background:#6890f04d;border-color:#6890f080}.type-electric{background:#f8d0304d;border-color:#f8d03080}.type-grass{background:#78c8504d;border-color:#78c85080}.type-ice{background:#98d8d84d;border-color:#98d8d880}.type-fighting{background:#c030284d;border-color:#c0302880}.type-poison{background:#a040a04d;border-color:#a040a080}.type-ground{background:#e0c0684d;border-color:#e0c06880}.type-flying{background:#a890f04d;border-color:#a890f080}.type-psychic{background:#f858884d;border-color:#f8588880}.type-bug{background:#a8b8204d;border-color:#a8b82080}.type-rock{background:#b8a0384d;border-color:#b8a03880}.type-ghost{background:#7058984d;border-color:#70589880}.type-dragon{background:#7038f84d;border-color:#7038f880}.type-dark{background:#7058484d;border-color:#70584880}.type-steel{background:#b8b8d04d;border-color:#b8b8d080}.type-fairy{background:#ee99ac4d;border-color:#ee99ac80}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:2rem 0;display:flex}.pagination-button{min-width:40px;height:40px;color:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #444;border-radius:6px;padding:.5rem;font-size:1em;transition:all .2s}.pagination-button:hover:not(:disabled){background:#646cff33;border-color:#646cff}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-button.active{color:#fff;background:#646cff;border-color:#646cff;font-weight:700}.pagination-ellipsis{color:#888;padding:.5rem}.loading-container{text-align:center;padding:3rem}.no-results{text-align:center;color:#888;padding:3rem}.search-results-info{text-align:center;color:#888;padding:1rem;font-size:.9em}.pokedex-faq-section{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;margin-top:3rem;padding:2rem}.pokedex-faq-section h2{margin-bottom:.75rem;font-size:1.5em}.pokedex-faq-section h3{color:#aaa;margin:1.5rem 0 .5rem;font-size:1.2em}.pokedex-faq-lead,.pokedex-faq-section p{color:#bbb;margin-bottom:.5rem;line-height:1.6}.pokedex-faq-list{margin:.5rem 0}.pokedex-faq-list dt{color:#ddd;margin-top:1rem;font-weight:600}.pokedex-faq-list dd{color:#999;margin:.25rem 0 0;padding-left:.5rem;line-height:1.5}.faq-page{max-width:720px;min-height:calc(100vh - 201px);margin:90px auto 0;padding:2rem 1.5rem}.faq-page-inner{color:#ffffffe6}.faq-page-title{margin-bottom:.5rem;font-size:1.75rem}.faq-page-lead{color:#aaa;margin-bottom:2rem;line-height:1.6}.faq-section{margin-bottom:2.5rem}.faq-section h2{color:#ddd;border-bottom:1px solid #ffffff1a;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem}.faq-list{margin:0}.faq-list dt{color:#e0e0e0;margin-top:1.25rem;font-weight:600}.faq-list dt:first-child{margin-top:0}.faq-list dd{color:#999;margin:.25rem 0 0;padding-left:0;line-height:1.6}.faq-list dd a{color:#646cff;text-decoration:underline}.faq-list dd a:hover{color:#8b92ff}.faq-section-p{color:#999;margin:0;line-height:1.6}@media (max-width:960px){.pokemon-detail-header{flex-direction:column;gap:1.5rem;display:flex;grid-template-columns:1fr!important}.pokemon-detail-info-section{text-align:center;align-items:center}.pokemon-detail-types{justify-content:center}}@media (max-width:768px){.pokemon-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.pokedex-header h1{font-size:2em}.pokedex-page{padding:1rem}.pokemon-detail-page{margin-top:70px;padding:1rem}.pokemon-detail-container{border-radius:12px;padding:1rem}.pokemon-detail-header{flex-direction:column;gap:1rem;display:flex}.pokemon-detail-image-wrapper{max-width:260px;padding:1rem}.pokemon-detail-name{text-align:center;font-size:1.8em}.pokemon-detail-id{text-align:center}.pokemon-detail-types{justify-content:center}.pokemon-detail-stats{grid-template-columns:1fr;gap:.75rem}.stat-item{padding:.75rem 1rem}.stat-label{font-size:.78em}.stat-value{font-size:1.05em}.pokemon-detail-description h2,.pokemon-detail-shiny h2{font-size:1.3em}.description-content{grid-template-columns:1fr}.shiny-images{grid-template-columns:repeat(2,1fr);gap:.75rem}.shiny-image-item{padding:.6rem}}.pokemon-detail-page{box-sizing:border-box;max-width:1200px;min-height:100vh;margin:90px auto 0;padding:2rem}.pokemon-detail-back-button{margin-bottom:1.5rem}.pokemon-detail-container{background:#ffffff0d;border-radius:16px;margin-top:1rem;padding:2rem;overflow:hidden}.pokemon-detail-header{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.pokemon-detail-image-section{justify-content:center;align-items:center;display:flex}.pokemon-detail-image-wrapper{aspect-ratio:1;box-sizing:border-box;background:#ffffff08;border-radius:12px;justify-content:center;align-items:center;width:100%;max-width:400px;padding:2rem;display:flex}.pokemon-detail-image{object-fit:contain;width:100%;height:100%}.pokemon-detail-info-section{word-break:keep-all;flex-direction:column;gap:1rem;min-width:0;display:flex}.pokemon-detail-id{color:#888;font-size:1.2em;font-weight:500}.pokemon-detail-name{text-transform:capitalize;overflow-wrap:break-word;margin:0;font-size:2.5em}.pokemon-detail-types{flex-wrap:wrap;gap:.75rem;display:flex}.pokemon-detail-stats{border-top:1px solid #ffffff1a;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.stat-item{text-align:center;background:#ffffff08;border-radius:8px;flex-direction:column;gap:.5rem;min-width:0;padding:1rem;display:flex}.stat-label{color:#888;font-size:.9em}.stat-value{color:#646cff;font-size:1.3em;font-weight:700}.pokemon-detail-lookalike{background:linear-gradient(135deg,#646cff1f,#646cff0a);border:1px solid #646cff33;border-radius:12px;margin-top:1.5rem;padding:1.25rem}.pokemon-detail-lookalike h2{color:#c8ccff;margin-bottom:.5rem;font-size:1.25em}.lookalike-sentence{color:#e0e4ff;margin:0;font-size:1.05em;line-height:1.6}.pokemon-detail-description{border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:2rem}.pokemon-detail-description h2{margin-bottom:1rem;font-size:1.8em}.description-content{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.description-content p{overflow-wrap:break-word;background:#ffffff08;border-radius:8px;margin:0;padding:.75rem}.description-content strong{color:#646cff;margin-right:.5rem}.pokemon-detail-shiny{border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:2rem}.pokemon-detail-shiny h2{margin-bottom:1rem;font-size:1.8em}.shiny-images{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;display:grid}.shiny-image-item{text-align:center;background:#ffffff08;border-radius:12px;padding:1rem}.shiny-image{width:100%;max-width:200px;height:auto;margin-bottom:.5rem}.error-container{text-align:center;padding:3rem}.error-container p{color:#ff6b6b;margin-bottom:1.5rem;font-size:1.2em}.back-button{color:#fff;cursor:pointer;background:#646cff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1em;transition:background .2s}.back-button:hover{background:#535bf2}
