:root{--bg-color:#0f172a;--text-color:#f1f5f9;--glass-bg:#1e293be6;--glass-border:#fff3;--panel-shadow:0 25px 50px -12px #00000080;--slot-empty:#0f172a99;--card-bg:#ffffff1a;--card-hover:#ffffff26;--card-selected:#fff9;--accent-blue:#60a5fa;--accent-purple:#a78bfa}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);background-image:radial-gradient(circle at 0 0,#3b82f626 0%,#0000 50%),radial-gradient(circle at 100% 100%,#8b5cf626 0%,#0000 50%),radial-gradient(circle,#1e293b 0%,#0f172a 100%);background-attachment:fixed;justify-content:center;align-items:flex-start;min-height:100vh;padding:clamp(10px,1.5vw,20px);font-family:Outfit,sans-serif;display:flex;overflow-x:hidden}#root{flex-direction:column;gap:15px;width:100%;max-width:1400px;display:flex}#game-container{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(25px);border-radius:24px;width:100%;padding:clamp(12px,3vw,30px);position:relative}.hidden{display:none!important}@keyframes popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10;opacity:0;pointer-events:none;background:#0f172acc;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.overlay.active{opacity:1;pointer-events:all}.spinner{border:3px solid #ffffff1a;border-left-color:#fffc;border-radius:50%;width:40px;height:40px;margin-bottom:15px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#victory-banner{color:#4ade80;text-align:center;background:#22c55e33;border:1px solid #22c55e80;border-radius:8px;margin-bottom:20px;padding:15px;font-size:1.5rem;font-weight:700;animation:.5s cubic-bezier(.175,.885,.32,1.275) dropDown;box-shadow:0 4px 15px #22c55e33}@keyframes dropDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.score-board{align-items:center;display:flex}.score-container{border:1px solid var(--glass-border);background:#0f172a66;border-radius:20px;align-items:center;gap:10px;padding:8px;display:flex}.score-box{border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:10px 18px;transition:all .3s;display:flex}.score-box .label{text-transform:uppercase;letter-spacing:1px;color:#64748b;margin-bottom:2px;font-size:.7rem}.score-box .value{color:#94a3b8;font-size:1.2rem;font-weight:700}.score-box.current{background:#0f172a99;border:1px solid #3b82f680;min-width:120px;padding:12px 25px;box-shadow:0 0 20px #3b82f633,inset 0 0 10px #3b82f61a}.score-box.current .label{color:#60a5fa;font-weight:600}.score-box.current .value{color:#fff;text-shadow:0 0 10px #3b82f64d;font-size:2.2rem;font-weight:800;line-height:1.1}.score-box.pb,.score-box.max{min-width:90px}.filters-panel{flex-direction:column;flex-shrink:0;gap:15px;width:100%;max-width:180px;display:flex}.settings-row{gap:8px;margin-bottom:5px;display:flex}.mode-toggles{gap:5px;display:flex}.mode-btn{border:1px solid var(--glass-border);color:#94a3b8;cursor:pointer;text-align:center;background:#ffffff0d;border-radius:8px;flex:1;padding:6px 4px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .2s}.mode-btn:hover{color:#f8fafc;background:#ffffff1a}.mode-btn.active{color:#fff;background:#3b82f633;border-color:#3b82f6;box-shadow:0 0 10px #3b82f64d}.filter-section{flex-direction:column;gap:8px;display:flex}.filter-title{color:var(--text-color);border-bottom:1px solid var(--glass-border);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding-bottom:3px;font-size:.95rem;font-weight:600;display:flex}.filter-title:after{content:"▼";font-size:.6rem;transition:transform .3s}.filter-section.open .filter-title:after{transform:rotate(180deg)}.filter-list{flex-direction:column;gap:6px;max-height:180px;padding-right:5px;display:flex;overflow-y:auto}.filter-list::-webkit-scrollbar{width:3px}.filter-list::-webkit-scrollbar-track{background:#ffffff0d}.filter-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.gens-list{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.filter-option{cursor:pointer;color:#94a3b8;font-size:.85rem;transition:all .2s}.filter-option:hover{color:#f8fafc}.filter-option.selected{color:#fde047;font-weight:800}@media (width<=1100px){.filters-panel{flex-flow:wrap;justify-content:flex-start;gap:15px;max-width:none}.filter-section{flex:1;min-width:140px}}@media (width<=600px){.filters-panel{gap:10px}.filter-section{min-width:45%}}.pokemon-card{background:var(--card-bg);cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;width:100%;height:100%;padding:clamp(6px,1.5vw,12px);transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.pool-grid.classic-mode .pokemon-card{justify-content:center;width:100%;max-width:100%;padding:clamp(15px,4vw,30px)}.pokemon-card:hover{background:var(--card-hover);transform:translateY(-2px)}.pokemon-card.selected{border-color:var(--card-selected);background:#ffffff14;transform:scale(1.03)}.pokemon-card.revealed{pointer-events:none}.pokemon-card img{object-fit:contain;filter:drop-shadow(0 2px 4px #00000080)grayscale(30%);width:clamp(60px,12vw,100px);height:clamp(60px,12vw,100px);transition:filter .3s}.pool-grid.classic-mode .pokemon-card img{object-fit:contain;width:100%;height:auto;max-height:clamp(180px,35vh,280px)}.pool-grid.classic-mode .pokemon-card .name{margin-top:10px;font-size:clamp(1.1rem,3.5vw,1.6rem)}.pokemon-card:hover img{filter:drop-shadow(0 4px 8px #0009)grayscale(0%)}.pokemon-card .name{text-transform:capitalize;text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;margin-top:6px;font-size:clamp(.75rem,1.8vw,.9rem);font-weight:600;overflow:hidden}.pokemon-card .revealed-stat{color:#020617;z-index:5;background:#fff;border:1px solid #0000001a;border-radius:5px;padding:2px 5px;font-size:clamp(.65rem,1.2vw,.8rem);font-weight:800;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn;position:absolute;top:3px;right:3px;box-shadow:0 2px 8px #0006}.pokemon-card.unrevealed{cursor:pointer;background:#00000080;border:2px dashed #ffffff4d;animation:1s infinite alternate pulseBorder}.pokemon-card.unrevealed img{filter:brightness(.3)contrast(1.2);transition:none}@keyframes pulseBorder{0%{border-color:#ffffff4d}to{border-color:#fffc}}.pokemon-card.lucky-shiny{background:#fde0471a;border:2px solid #fde047;box-shadow:0 0 10px #fde04733}.lucky-stats{grid-template-columns:repeat(3,1fr);gap:3px;width:100%;margin-top:6px;display:grid}.lucky-stat-mini{background:#0f172a99;border-radius:3px;justify-content:space-between;align-items:center;padding:1px 3px;font-size:.55rem;display:flex}.lucky-stat-mini .s-label{color:#64748b;text-transform:uppercase}.lucky-stat-mini .s-val{color:#fde047;font-weight:700}@media (width<=480px){.lucky-stats{grid-template-columns:repeat(2,1fr)}}.slot-bar-container{align-items:center;gap:10px;width:100%;padding:0 8px;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slot-bar-track{background:#ffffff1a;border-radius:4px;flex:1;height:8px;overflow:hidden}.slot-bar-fill{background:#3b82f6;width:0%;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.slot-row.highlighted .slot-bar-fill{background:#fde047;box-shadow:0 0 10px #fde04780}.slot-row.highlighted .stat-label{color:#fde047;font-weight:700}.slot-val{color:#94a3b8;width:32px;font-size:1rem;font-weight:700}.slot-row.highlighted .slot-val{color:#fde047}.stacked{flex-direction:column;gap:8px;display:flex}.slot-row{border:1px solid var(--glass-border);background:#ffffff0a;border-radius:10px;height:clamp(65px,10vw,85px);display:flex;overflow:hidden}.assigned-content{justify-content:space-between;align-items:center;gap:8px;width:100%;height:100%;padding-right:clamp(8px,1.5vw,15px);display:flex}.stat-viz{flex:1;justify-content:flex-end;align-items:center;gap:clamp(4px,1vw,12px);max-width:150px;display:flex}.viz-bar-track{background:#ffffff0d;border-radius:2px;flex:1;height:5px;overflow:hidden}@media (width<=600px){.viz-bar-track{display:none}}.viz-bar-fill{background:var(--accent-blue);border-radius:2px;height:100%}.slot-val.assigned{color:#fff;text-align:center;background:#0f172a99;border:1px solid #ffffff1a;border-radius:6px;min-width:clamp(40px,8vw,55px);padding:4px 10px;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700}.stat-label{text-align:center;text-transform:uppercase;letter-spacing:1px;color:#ffffffb3;background:#ffffff05;border-right:1px solid #ffffff0d;flex-shrink:0;justify-content:center;align-items:center;width:clamp(70px,12vw,95px);font-size:clamp(.65rem,1.3vw,.8rem);font-weight:600;display:flex}.slot{background-color:var(--slot-empty);cursor:pointer;flex:1;justify-content:center;align-items:center;min-width:0;padding:3px;transition:all .2s;display:flex}.slot:hover{background-color:#ffffff0d}.slot.highlight{box-shadow:inset 0 0 0 1px var(--card-selected);background-color:#ffffff0d}.slot .pokemon-card{flex-direction:row;gap:clamp(4px,1.5vw,12px);min-width:0;padding:3px clamp(4px,1.5vw,12px);box-shadow:none!important;background:0 0!important;border-color:#0000!important}.slot .pokemon-card img{width:clamp(45px,9vw,65px);height:clamp(45px,9vw,65px)}.slot .pokemon-card .name{text-align:left;margin-top:0;font-size:clamp(.8rem,1.8vw,1rem)}.optimal-slot{border-left:1px dashed var(--glass-border);background:#22c55e1a;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:clamp(60px,10vw,85px);padding:4px;animation:.3s ease-out popIn;display:flex;position:relative}.optimal-slot img{object-fit:contain;filter:drop-shadow(0 2px 4px #00000080);width:clamp(35px,7vw,55px);height:clamp(35px,7vw,55px)}.optimal-slot .optimal-val{color:#fde047;margin-top:1px;font-size:clamp(.7rem,1.5vw,.85rem);font-weight:800}.game-summary{background:var(--card-bg);text-align:center;border:1px solid var(--glass-border);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:300px;padding:40px;animation:.5s cubic-bezier(.175,.885,.32,1.275) popIn;display:flex}.summary-content h3{color:#94a3b8;text-transform:uppercase;letter-spacing:2px;margin-bottom:20px;font-size:1.5rem}.final-stats{justify-content:center;align-items:center;gap:20px;margin-bottom:20px;display:flex}.stat-box{flex-direction:column;display:flex}.stat-box.divider{color:#475569;align-self:center;font-size:2rem;font-weight:300}.stat-box .label{color:#64748b;text-transform:uppercase;margin-bottom:5px;font-size:.8rem}.stat-box .value{color:#fff;font-size:3rem;font-weight:800}.performance-meter{background:#1e293b;border-radius:4px;width:100%;height:8px;margin-bottom:25px;overflow:hidden}.meter-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;height:100%;transition:width 1s ease-out}.summary-message{color:#f1f5f9;margin-bottom:25px;font-size:1.2rem}.trivia-box{text-align:left;border-left:4px solid var(--accent-blue);background:#0f172a66;border-radius:12px;max-width:500px;margin-bottom:30px;padding:20px}.trivia-box h4{color:var(--accent-blue);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:.9rem}.trivia-box p{color:#cbd5e1;font-size:.95rem;line-height:1.5}.trivia-box p strong{text-transform:capitalize;color:#fff}.trivia-loading{color:#64748b;margin-bottom:30px;font-size:.85rem}.pool-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:clamp(8px,1.5vw,15px);width:100%;display:grid}.pool-grid.open-mode{grid-template-columns:repeat(3,1fr)}.pool-grid.classic-mode{justify-content:center;min-height:clamp(200px,40vh,320px);display:flex}.controls{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;flex:1;min-width:120px;padding:clamp(8px,1.5vw,12px) clamp(15px,3vw,30px);font-family:inherit;font-size:clamp(.9rem,1.8vw,1.1rem);font-weight:600;transition:all .2s}.icon-btn{background:var(--card-bg);color:#94a3b8;border:1px solid var(--glass-border);border-radius:8px;flex:0;justify-content:center;align-items:center;width:auto;padding:10px;display:flex}.icon-btn:hover{background:var(--card-hover);color:#f8fafc}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{color:#fff;border:1px solid var(--glass-border);background:#ffffff1a}.btn.primary:hover:not(:disabled){background:#ffffff26;transform:translateY(-2px)}.btn.secondary{background:var(--card-bg);color:#fff;border:1px solid var(--glass-border)}.btn.secondary:hover{background:var(--card-hover)}@media (width<=480px){.pool-grid,.pool-grid.open-mode{grid-template-columns:repeat(2,1fr)}.btn{min-width:calc(50% - 5px)}}.guess-container{flex-direction:column;align-items:center;gap:20px;width:100%;margin-top:20px;display:flex}.guess-options{grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:500px;display:grid}.guess-btn{background:var(--card-bg);color:#fff;border:1px solid var(--glass-border);cursor:pointer;border-radius:8px;padding:15px;font-family:inherit;font-size:1rem;transition:all .2s}.guess-btn:hover:not(:disabled){background:var(--card-hover);transform:translateY(-2px)}.guess-btn.correct{border-color:#4ade80;background:#22c55e!important}.guess-btn.wrong{border-color:#f87171;background:#ef4444!important}.guess-result{flex-direction:column;align-items:center;gap:20px;width:100%;margin-top:20px;animation:.5s ease-out fadeIn;display:flex}.result-sprite{filter:drop-shadow(0 0 15px #fff6);width:200px;height:200px;transition:transform .3s}.result-sprite:hover{transform:scale(1.1)}.defeat-banner{color:#fff;text-align:center;background:#ef4444;border-radius:8px;width:100%;margin-bottom:20px;padding:15px;font-weight:600}.hard-mode-form{flex-direction:column;gap:15px;width:100%;max-width:400px;display:flex}.hard-mode-input,.hard-mode-submit{box-sizing:border-box;width:100%}.hard-mode-input{border:1px solid var(--glass-border);color:#fff;text-align:center;background:#0003;border-radius:8px;outline:none;padding:15px;font-family:inherit;font-size:1.2rem;transition:all .2s}.hard-mode-input:focus{background:#0000004d;border-color:#3b82f6;box-shadow:0 0 10px #3b82f64d}.hard-mode-input:disabled{opacity:.7;cursor:not-allowed}.result-info{flex-direction:column;align-items:center;gap:5px;margin-bottom:10px;display:flex}.result-name{text-transform:capitalize;color:#f8fafc;font-size:1.8rem;font-weight:700}.result-id{color:#94a3b8;font-size:1.2rem;font-weight:500}.autocomplete-wrapper{width:100%;position:relative}.suggestions-list{border:1px solid var(--glass-border);z-index:100;background:#1e293b;border-top:none;border-radius:0 0 8px 8px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #00000080}.suggestion-item{cursor:pointer;text-align:center;border-bottom:1px solid #ffffff0d;padding:12px 15px;transition:background .2s}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{color:#3b82f6;background:#3b82f633}.info-view-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#020617e6;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.info-view-container{background:var(--glass-bg);border:1px solid var(--glass-border);width:90%;max-width:600px;max-height:80vh;box-shadow:var(--panel-shadow);border-radius:24px;padding:40px;position:relative;overflow-y:auto}.info-view-container .close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:2rem;transition:color .2s;position:absolute;top:20px;right:25px}.info-view-container .close-btn:hover{color:#fff}.info-content h2{color:#fff;margin-bottom:25px;font-size:2rem}.info-content p{color:#cbd5e1;margin-bottom:15px;line-height:1.6}.info-content ul{margin-bottom:20px;margin-left:20px}.info-content li{color:#94a3b8;margin-bottom:10px}.help-section{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;margin-top:20px;padding:15px}.help-section h3{color:#fff;border-bottom:1px solid #ffffff1a;margin-bottom:10px;padding-bottom:5px;font-size:1.1rem}.help-section ul{margin-bottom:0}.help-section li{margin-bottom:8px;font-size:.9rem}.help-section strong{color:var(--accent-blue)}.changelog-item{border-bottom:1px solid #ffffff0d;margin-bottom:30px;padding-bottom:20px}.changelog-item:last-child{border-bottom:none}.changelog-item .version{color:#3b82f6;margin-bottom:10px;font-size:1.1rem;font-weight:800;display:block}.info-content a{color:#3b82f6;text-decoration:none}.history-container{max-width:700px}.stats-summary{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px;display:grid}.stat-card{border:1px solid var(--glass-border);background:#0f172a66;border-radius:12px;flex-direction:column;align-items:center;padding:15px;display:flex}.stat-card .label{color:#94a3b8;text-transform:uppercase;margin-bottom:5px;font-size:.7rem}.stat-card .value{color:#fff;font-size:1.5rem;font-weight:800}.history-list{flex-direction:column;gap:10px;display:flex}.history-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.h-left{flex-direction:column;display:flex}.h-date{color:#64748b;font-size:.75rem}.h-mode{color:#cbd5e1;text-transform:capitalize;font-size:.85rem}.h-score{color:#94a3b8;font-weight:700}.h-score.perfect{color:#fde047;text-shadow:0 0 10px #fde0474d}.settings-container{max-width:400px}.settings-group{margin-bottom:25px}.settings-group label{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:.8rem;font-weight:700;display:block}.settings-row{gap:10px;display:flex}.header-actions{align-items:center;gap:12px;display:flex}.header-btn{border:1px solid var(--glass-border);color:#94a3b8;cursor:pointer;background:#ffffff0d;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.header-btn:hover{color:#fff;background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:clamp(10px,2.5vw,25px);padding:5px 0;display:flex}.header-left{text-align:left;flex:1;min-width:280px}.title-row{align-items:center;gap:12px;margin-bottom:4px;display:flex}.app-logo{filter:drop-shadow(0 0 10px #fff3);width:clamp(28px,4vw,36px);height:clamp(28px,4vw,36px)}header h1{color:#fff;letter-spacing:-1.2px;text-shadow:0 4px 12px #0000004d;font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:800}header p{color:#94a3b8;font-size:clamp(.75rem,1.8vw,.85rem);font-weight:300}.catchphrase{color:#64748b;opacity:.8;letter-spacing:.5px;margin-top:-2px;font-size:clamp(.75rem,1.6vw,.85rem);font-style:italic;font-weight:400}.split-layout{gap:clamp(15px,3vw,40px);display:flex}.header-btn{background:var(--card-bg);color:#94a3b8;border:1px solid var(--glass-border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.header-btn:hover{background:var(--card-hover);color:#f8fafc}.header-btn svg{width:18px;height:18px}.header-actions{gap:6px;display:flex}.mobile-only{display:none}.filter-sidebar-wrapper{transition:all .3s}@media (width<=1100px){.mobile-only{display:flex}.filter-sidebar-wrapper{border:1px solid var(--glass-border);background:#0f172a66;border-radius:12px;width:100%;margin-bottom:15px;padding:15px;display:none}.filter-sidebar-wrapper.mobile-visible{display:block}}footer{text-align:center;border-top:1px solid var(--glass-border);margin-top:20px;padding:15px 0}footer p{color:#64748b;max-width:800px;margin:0 auto;font-size:.7rem;line-height:1.4}.footer-links{justify-content:center;align-items:center;gap:12px;margin-top:10px;display:flex}.footer-links .dot{color:#334155;font-size:.7rem}.text-link{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.7rem;transition:color .2s}.text-link:hover{color:#fff;text-decoration:underline}.left-panel{flex-direction:column;flex:2;justify-content:space-between;gap:clamp(10px,2vw,20px);display:flex}.right-panel{flex-direction:column;flex:1.5;justify-content:center;min-width:280px;display:flex}@media (width<=1100px){.split-layout{flex-direction:column}.left-panel,.right-panel{flex:none;width:100%}}@media (width<=768px){header{text-align:center;flex-direction:column;align-items:center;gap:10px}.header-left{text-align:center;min-width:100%}.title-row{justify-content:center}}
