body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#818cf8;--secondary:#8b5cf6;--accent:#ec4899;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--glass-ultra-light:#ffffff08;--glass-light:#ffffff0f;--glass-white:#ffffff1a;--glass-medium:#ffffff1f;--glass-white-hover:#ffffff26;--glass-strong:#ffffff2e;--glass-white-solid:#fff3;--glass-dark:#0000001a;--glass-dark-medium:#00000026;--glass-dark-strong:#00000040;--glass-border:#fff3;--glass-border-strong:#ffffff4d;--glass-success-tint:#10b9811a;--glass-warning-tint:#f59e0b1a;--glass-error-tint:#ef44441a;--glass-primary-tint:#6366f11a;--gradient-primary:linear-gradient(135deg,#6366f1cc,#8b5cf6cc 50%,#ec4899cc);--gradient-success:linear-gradient(135deg,#10b98199,#05966999);--gradient-shimmer:linear-gradient(90deg,#0000,#ffffff1a 50%,#0000);--gray-50:#f9fafbe6;--gray-100:#f3f4f6cc;--gray-200:#e5e7ebb3;--gray-300:#d1d5db99;--gray-400:#9ca3afb3;--gray-500:#6b7280cc;--gray-600:#4b5563e6;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-elevated-1:0 2px 8px #0000001a;--shadow-elevated-2:0 4px 16px #00000026;--shadow-elevated-3:0 8px 32px #0003;--shadow-elevated-4:0 16px 48px #00000040;--shadow-glass:0 8px 32px 0 #0003;--shadow-glass-lg:0 12px 48px 0 #0000004d;--shadow-glass-inset:inset 0 2px 8px #00000026;--shadow-glow:0 0 20px #6366f166;--shadow-glow-success:0 0 20px #10b98166;--shadow-glow-warning:0 0 20px #f59e0b66;--shadow-glow-error:0 0 20px #ef444466;--transition-fast:0.15s;--transition-base:0.2s;--transition-slow:0.3s;--transition-slower:0.5s;--spring-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--spring-smooth:cubic-bezier(0.34,1.56,0.64,1);--ease-out-back:cubic-bezier(0.34,1.56,0.64,1)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.app-container{background:linear-gradient(135deg,#667eea,#764ba2);background-attachment:fixed;background-position:50%;background-size:cover;min-height:100vh;padding:2rem 1rem;padding:var(--spacing-xl) var(--spacing-md);position:relative}.beta-text{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff1a;background:var(--glass-white);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);color:#fff;font-size:.75rem;left:1rem;left:var(--spacing-md);max-width:300px;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);position:fixed;top:1rem;top:var(--spacing-md);z-index:1000}.pokemon-header{margin:0 auto 3rem;margin:0 auto var(--spacing-2xl);max-width:100%;padding:3rem 1rem 0;padding:var(--spacing-2xl) var(--spacing-md) 0;text-align:center}.pokemon-name{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(180deg,#0003,#0000);border-radius:.75rem;border-radius:var(--radius-lg);color:#fff;display:inline-block;font-size:clamp(2.5rem,6vw,4rem);font-weight:900;letter-spacing:-.02em;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);text-shadow:0 4px 24px #0009,0 2px 8px #000c,0 0 40px #fff3;text-transform:uppercase}.type-images{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--spacing-md);justify-content:center}.portrait{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#fff3;background:var(--glass-white-solid);border:2px solid #fff3;border:2px solid var(--glass-border);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 12px 48px 0 #0000004d,0 0 20px #6366f166;box-shadow:var(--shadow-glass-lg),var(--shadow-glow);height:120px;object-fit:contain;padding:.5rem;padding:var(--spacing-sm);width:120px}.type-icon{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff1a;background:var(--glass-white);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);height:60px;padding:.25rem;padding:var(--spacing-xs);transition:all .3s ease;width:60px}.type-icon:hover{background:#ffffff26;background:var(--glass-white-hover);box-shadow:0 12px 48px 0 #0000004d;box-shadow:var(--shadow-glass-lg);transform:translateY(-4px) scale(1.05)}.sword-shield-type-icon-wrapper{display:inline-block;position:relative}.sword-shield-type-icon{cursor:pointer;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3)) drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:all .3s cubic-bezier(.4,0,.2,1)}.sword-shield-type-icon:hover{filter:drop-shadow(0 8px 16px rgba(0,0,0,.4)) drop-shadow(0 4px 8px rgba(0,0,0,.3)) drop-shadow(0 0 12px rgba(255,255,255,.3));transform:translateY(-4px) scale(1.08)}.sword-shield-type-icon:active{transform:translateY(-2px) scale(1.05)}.type-effectiveness-tooltip{animation:tooltipFadeIn .2s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#14141efa;border:1px solid #ffffff1a;border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d,inset 0 1px 1px #ffffff1a;left:50%;max-width:400px;min-width:320px;padding:1rem;padding:var(--spacing-md);pointer-events:none;position:absolute;top:calc(100% + 12px);transform:translateX(-50%);z-index:1000}.type-effectiveness-tooltip:before{border:8px solid;border-color:#0000 #0000 #14141efa;bottom:100%;content:"";left:50%;position:absolute;transform:translateX(-50%)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.tooltip-header{border-bottom:1px solid #ffffff1a;color:#fff;font-size:1rem;padding-bottom:.5rem;padding-bottom:var(--spacing-sm);text-align:center}.effectiveness-section,.tooltip-header{margin-bottom:1rem;margin-bottom:var(--spacing-md)}.effectiveness-section:last-child{margin-bottom:0}.section-header{color:#ffffffe6;font-size:.85rem;font-weight:600;gap:.25rem;gap:var(--spacing-xs);margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.section-header,.section-icon{align-items:center;display:flex}.section-icon{font-size:1rem;justify-content:center;width:20px}.section-title{letter-spacing:.05em;text-transform:uppercase}.type-list{display:flex;flex-wrap:wrap;gap:.25rem;gap:var(--spacing-xs);padding-left:calc(20px + .25rem);padding-left:calc(20px + var(--spacing-xs))}.effectiveness-type-badge{align-items:center;border:1px solid #0003;border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 2px 4px #0000004d,inset 0 1px 0 #fff3;color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;gap:6px;letter-spacing:.05em;padding:4px 10px;text-shadow:0 1px 3px #00000080;text-transform:uppercase}.multiplier{font-size:.65rem;font-weight:600;margin-left:2px;opacity:.9}.effectiveness-section.weak .section-header{color:#ff6b6b}.effectiveness-section.resistant .section-header{color:#51cf66}.effectiveness-section.immune .section-header{color:#a78bfa}.effectiveness-section.normal .section-header{color:#d1d5db}.max-moves-select{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff1a;background:var(--glass-white);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:1.5rem;border-radius:var(--radius-2xl);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);display:flex;gap:1rem;gap:var(--spacing-md);justify-content:center;margin:0 auto 2rem;margin:0 auto var(--spacing-xl);max-width:-webkit-fit-content;max-width:fit-content;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg)}.max-moves-select label{color:#fff;font-size:.95rem;font-weight:600;text-shadow:0 2px 8px #0000004d}.max-moves-select select{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff1a;background:var(--glass-white);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;outline:none;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.max-moves-select select:hover{background:#ffffff26;background:var(--glass-white-hover);border-color:#fff6}.max-moves-select select:focus{border-color:#fff9;box-shadow:0 0 0 3px #ffffff1a,0 8px 32px 0 #0003;box-shadow:0 0 0 3px #ffffff1a,var(--shadow-glass)}.max-moves-select select option{background:#6366f1f2;color:#fff}.move-manager{margin:0 auto;max-width:100%;padding:0 1rem;padding:0 var(--spacing-md)}.move-section{margin-bottom:3rem;margin-bottom:var(--spacing-2xl)}.move-section h2{align-items:center;color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);text-align:center;text-shadow:0 2px 12px #0006,0 0 30px #fff3}.move-section h2,.moves-list{display:flex;gap:.5rem;gap:var(--spacing-sm);justify-content:center}.moves-list{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;background:var(--glass-white);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:1.5rem;border-radius:var(--radius-2xl);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);flex-wrap:wrap;margin:0 auto;max-width:calc(100% - 3rem);max-width:calc(100% - var(--spacing-lg)*2);padding:1.5rem;padding:var(--spacing-lg);position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);width:-webkit-max-content;width:max-content}.moves-list.at-capacity{animation:pulse-success 2s ease-in-out infinite;border:2px solid #10b98199;box-shadow:0 8px 32px 0 #0003,0 0 20px #10b98166;box-shadow:var(--shadow-glass),var(--shadow-glow-success)}@keyframes pulse-success{0%,to{box-shadow:0 8px 32px 0 #0003,0 0 20px #10b98166;box-shadow:var(--shadow-glass),0 0 20px #10b98166}50%{box-shadow:0 8px 32px 0 #0003,0 0 30px #10b98199;box-shadow:var(--shadow-glass),0 0 30px #10b98199}}.move-slot{-webkit-tap-highlight-color:transparent;align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff1a;background:var(--glass-white);border:2px solid #fff3;border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;height:70px;justify-content:center;padding:0;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;width:70px;will-change:transform}.move-slot:before{background:linear-gradient(135deg,#ffffff1a,#0000);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease}.move-slot:hover:before{opacity:1}.move-slot:hover{background:#ffffff24;border-color:#ffffff59;box-shadow:0 4px 12px #0003;transform:translateY(-2px) scale(1.05)}.move-slot:active{box-shadow:0 1px 4px #0003;transform:translateY(0) scale(1.02)}.move-slot.empty{background:#0000001a;border-color:#ffffff40;border-style:dashed;opacity:.7;transition:opacity .2s ease,background .2s ease,border-color .2s ease}.move-slot.empty:hover{background:#00000026;border-color:#fff6;opacity:.85}.move-slot.empty.is-target{animation:pulse-empty-target 1s ease-in-out infinite;opacity:1}@keyframes pulse-empty-target{0%,to{border-color:#10b98166}50%{border-color:#10b981b3}}.move-slot.is-selected{background:#8b5cf626;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf666,0 4px 16px #8b5cf64d,0 2px 8px #0003;cursor:move;transform:translateY(-3px) scale(1.06);z-index:5}.move-slot.is-selected:before{background:linear-gradient(135deg,#ffffff26,#8b5cf60d);opacity:1}.move-slot.is-target{background:#10b9811f;border-color:#10b981;box-shadow:0 0 0 3px #10b98159,0 4px 12px #10b98140,0 2px 6px #00000026;cursor:copy;transform:translateY(-2px) scale(1.04);z-index:4}.move-slot.is-target:before{background:linear-gradient(135deg,#ffffff1f,#10b9810d);opacity:1}.move-slot{cursor:grab}.move-slot:active:not(.is-selected):not(.is-target){cursor:grabbing}.move-slot.empty{cursor:default}.move-slot img{border-radius:.75rem;border-radius:var(--radius-lg);filter:drop-shadow(0 1px 3px rgba(0,0,0,.3));height:100%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;object-fit:cover;pointer-events:none;position:relative;width:100%;z-index:1}.move-name-overlay{background:linear-gradient(0deg,#000000b3 0,#0006 70%,#0000);bottom:0;color:#fff;font-size:.6rem;font-weight:700;left:0;line-height:1.1;padding:.15rem .1rem;position:absolute;right:0;text-align:center;text-shadow:0 1px 2px #000c;text-transform:capitalize;word-break:break-word;z-index:2}.stab-indicator{align-items:center;animation:stab-pulse 2s ease-in-out infinite;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#000000f2,#000000d9);border:2px solid #22c55eb3;border-radius:50%;box-shadow:0 0 12px #000000f2,0 0 20px #22c55ecc,inset 0 1px 2px #ffffff1a;color:#22c55e;display:flex!important;font-size:1.5rem;font-weight:700;height:26px;justify-content:center;position:absolute;right:2px;text-shadow:0 0 10px #22c55e,0 0 16px #22c55ee6,0 2px 4px #000c;top:2px;transition:all .2s cubic-bezier(.34,1.56,.64,1);transition:all var(--transition-base) var(--spring-smooth);width:26px;z-index:10}@keyframes stab-pulse{0%,to{box-shadow:0 0 12px #000000f2,0 0 20px #22c55ecc,inset 0 1px 2px #ffffff1a;transform:scale(1)}50%{box-shadow:0 0 16px #000000f2,0 0 28px #22c55e,inset 0 1px 3px #ffffff26;transform:scale(1.12)}}.stab-indicator:hover{border-color:#22c55ee6;box-shadow:0 0 16px #000,0 0 32px #22c55e,inset 0 1px 3px #fff3;transform:scale(1.25)!important}.move-tooltip{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#000000f2;border:1px solid #ffffff26;border-radius:8px;bottom:calc(100% + 8px);box-shadow:0 4px 16px #0006;display:flex;flex-direction:column;gap:4px;left:50%;min-width:-webkit-max-content;min-width:max-content;opacity:0;padding:8px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .2s ease,visibility .2s ease;visibility:hidden;white-space:nowrap;z-index:100}.move-slot:hover .move-tooltip{opacity:1;visibility:visible}.tooltip-category,.tooltip-type{border-radius:4px;font-size:.7rem;font-weight:600;padding:3px 8px;text-align:center;text-transform:capitalize}.tooltip-type{color:#fff;text-shadow:0 1px 2px #00000080}.tooltip-category{background:#ffffff1a;color:#ffffffe6}.category-physical{background:#c030284d;color:#f87171}.category-special{background:#7058984d;color:#a78bfa}.category-status{background:#6890804d;color:#86efac}.type-normal{background:#6d6d4e;color:#fff}.type-fire{background:#c62a0e;color:#fff}.type-water{background:#4a6fc4;color:#fff}.type-electric{background:#b8960b;color:#fff}.type-grass{background:#4e8234;color:#fff}.type-ice{background:#638d8d;color:#fff}.type-fighting{background:#7d1f1a;color:#fff}.type-poison{background:#682a68;color:#fff}.type-ground{background:#927d44;color:#fff}.type-flying{background:#6d5e9c;color:#fff}.type-psychic{background:#a13959;color:#fff}.type-bug{background:#6d7815;color:#fff}.type-rock{background:#786824;color:#fff}.type-ghost{background:#493963;color:#fff}.type-dragon{background:#4924a1;color:#fff}.type-dark{background:#49392f;color:#fff}.type-steel{background:#5a5a6a;color:#fff}.type-fairy{background:#9b6470;color:#fff}.empty-slot-text{color:#ffffff80;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-shadow:0 2px 4px #00000080;text-transform:uppercase}.move-slot:focus{outline:none}.move-slot:focus-visible{outline:2px solid #8b5cf6cc;outline-offset:2px}@media (prefers-contrast:more){.move-slot:focus-visible{outline:3px solid #fff;outline-offset:2px}}.submit-button-container{display:flex;justify-content:center;margin:0 auto 3rem;margin:0 auto var(--spacing-2xl);max-width:100%;padding:0 1rem;padding:0 var(--spacing-md)}.submit-button-container button{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#6366f14d;border:2px solid #ffffff4d;border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 8px 32px #0003,inset 0 1px 2px #ffffff1a;box-shadow:var(--shadow-elevated-3),inset 0 1px 2px #ffffff1a;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:.08em;overflow:hidden;padding:1rem 3rem;padding:var(--spacing-md) var(--spacing-2xl);position:relative;text-shadow:0 2px 8px #0006;text-transform:uppercase;transition:all .3s cubic-bezier(.34,1.56,.64,1);transition:all var(--transition-slow) var(--spring-smooth)}.submit-button-container button:before{background:linear-gradient(135deg,#6366f1b3,#8b5cf6b3 50%,#ec4899b3);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease;transition:opacity var(--transition-slow) ease}.submit-button-container button:after{background:#ffffff80;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease,opacity .6s ease;width:0}.submit-button-container button:hover:before{opacity:1}.submit-button-container button:active:after{height:300px;opacity:0;transition:width 0s,height 0s,opacity .6s;width:300px}.submit-button-container button:hover{border-color:#fff9;box-shadow:0 16px 48px #00000040,0 0 20px #6366f166,inset 0 1px 3px #ffffff26;box-shadow:var(--shadow-elevated-4),var(--shadow-glow),inset 0 1px 3px #ffffff26;transform:translateY(-3px) scale(1.02)}.submit-button-container button:active{box-shadow:0 4px 16px #00000026,inset 0 2px 8px #00000026;box-shadow:var(--shadow-elevated-2),var(--shadow-glass-inset);transform:translateY(-1px) scale(1.01)}.submit-button-container button span{position:relative;z-index:1}.submit-button-container button.submit-disabled{background:#0003;border-color:#fff3;cursor:not-allowed;opacity:.6}.submit-button-container button.submit-disabled:hover{box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);transform:none}.submit-button-container button.submit-disabled:before{display:none}.reset-button{-webkit-tap-highlight-color:transparent;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#3b82f64d;border:2px solid #3b82f666;border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 16px #00000026,inset 0 1px 1px #ffffff14;box-shadow:var(--shadow-elevated-2),inset 0 1px 1px #ffffff14;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;overflow:hidden;padding:.25rem 1rem;padding:var(--spacing-xs) var(--spacing-md);position:relative;text-shadow:0 2px 4px #0000004d;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;white-space:nowrap}.reset-button:before{background:linear-gradient(135deg,#3b82f699,#2563eb99);content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s ease;transition:opacity var(--transition-base) ease}.reset-button:hover:before{opacity:1}.reset-button:hover{background:#3b82f666;border-color:#3b82f6b3;box-shadow:0 8px 32px #0003,0 0 24px #3b82f680,inset 0 1px 2px #ffffff1a;box-shadow:var(--shadow-elevated-3),0 0 24px #3b82f680,inset 0 1px 2px #ffffff1a;transform:translateY(-3px) scale(1.05)}.reset-button:active{box-shadow:0 2px 8px #0000001a,inset 0 2px 8px #00000026;box-shadow:var(--shadow-elevated-1),var(--shadow-glass-inset);transform:translateY(-1px) scale(1.02)}.local-storage-section{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;background:var(--glass-white);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:1.5rem;border-radius:var(--radius-2xl);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);margin:0 auto 3rem;margin:0 auto var(--spacing-2xl);max-width:100%;padding:1.5rem;padding:var(--spacing-lg)}.local-storage-section h3{color:#fff;font-weight:700;text-align:center;text-shadow:0 2px 12px #0006,0 0 30px #fff3}.local-slots-container{grid-gap:1rem;grid-gap:var(--spacing-md);display:grid;gap:1rem;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1rem;margin-top:var(--spacing-md)}.local-slot{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#00000026;border:1px solid #ffffff26;border-radius:.75rem;border-radius:var(--radius-lg);padding:1rem;padding:var(--spacing-md);transition:all .3s ease}.local-slot:hover{background:#0003;border-color:#ffffff40;box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);transform:translateY(-2px)}.slot-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:.5rem;margin-bottom:var(--spacing-sm);padding-bottom:.5rem;padding-bottom:var(--spacing-sm)}.slot-number{color:#fff;font-size:.9rem;font-weight:700;text-shadow:0 1px 4px #0000004d}.slot-info{color:#fffffff2;font-size:.8rem;font-weight:600;text-shadow:0 2px 6px #0006}.slot-moves-preview{background:#0000001a;flex-wrap:wrap;gap:4px;margin:.5rem 0;margin:var(--spacing-sm) 0;min-height:50px;padding:.5rem;padding:var(--spacing-sm)}.slot-move-thumb,.slot-moves-preview{border-radius:.375rem;border-radius:var(--radius-sm);display:flex}.slot-move-thumb{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;height:40px;justify-content:center;overflow:hidden;transition:all .2s ease;width:40px}.slot-move-thumb:hover{background:#ffffff26;border-color:#fff6;transform:scale(1.1);z-index:1}.slot-move-thumb img{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));height:100%;object-fit:cover;width:100%}.slot-actions{display:flex;flex-wrap:wrap;gap:.25rem;gap:var(--spacing-xs)}.slot-button{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#6366f14d;border:1px solid #ffffff4d;border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);color:#fff;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;min-width:100px;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);text-shadow:0 1px 4px #0000004d;transition:all .2s ease}.slot-button:hover{border-color:#ffffff80;box-shadow:0 12px 48px 0 #0000004d;box-shadow:var(--shadow-glass-lg);transform:translateY(-2px)}.slot-button:active{transform:translateY(0)}.slot-button:disabled{cursor:not-allowed;opacity:.5}.slot-button:disabled:hover{box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);transform:none}.slot-button.save-button{background:#10b9814d}.slot-button.save-button:hover{background:#10b98180}.slot-button.load-button{background:#6366f14d}.slot-button.load-button:hover{background:#6366f180}.slot-button.clear-button{background:#ef44444d;flex:0 1;min-width:auto;padding:.5rem;padding:var(--spacing-sm)}.slot-button.clear-button:hover{background:#ef444480}@media (max-width:768px){.local-slots-container{grid-template-columns:1fr}.slot-actions{justify-content:stretch}.slot-button{flex:1 1 auto}}.centered-content-block{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;background:var(--glass-white);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:1.5rem;border-radius:var(--radius-2xl);box-shadow:0 12px 48px 0 #0000004d;box-shadow:var(--shadow-glass-lg);margin:3rem auto;margin:var(--spacing-2xl) auto;max-width:1200px;padding:3rem 1.5rem;padding:var(--spacing-2xl) var(--spacing-lg)}.centered-content-block h2{color:#fff;font-size:1.75rem;font-weight:800;margin-bottom:2rem;margin-bottom:var(--spacing-xl);text-align:center;text-shadow:0 2px 12px #0006,0 0 30px #fff3}.community-movesets-container{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg)}.moveset-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1f;background:var(--glass-medium);border:2px solid #ffffff26;border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 4px 16px #00000026,inset 0 1px 2px #ffffff14;box-shadow:var(--shadow-elevated-2),inset 0 1px 2px #ffffff14;display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md);overflow:hidden;padding:1.5rem;padding:var(--spacing-lg);position:relative;transition:all .3s cubic-bezier(.34,1.56,.64,1);transition:all var(--transition-slow) var(--spring-smooth)}.moveset-card:before{background:linear-gradient(135deg,#ffffff1f,#0000 50%,#00000014);inset:0;pointer-events:none}.moveset-card:after,.moveset-card:before{content:"";opacity:0;position:absolute;transition:opacity .3s ease;transition:opacity var(--transition-slow) ease}.moveset-card:after{background:linear-gradient(135deg,#10b9814d,#0596694d);border-radius:1rem;border-radius:var(--radius-xl);filter:blur(8px);inset:-2px;z-index:-1}.moveset-card:hover:before{opacity:1}.moveset-card:hover:after{opacity:.5}.moveset-card:hover{background:#ffffff2e;background:var(--glass-strong);border-color:#ffffff4d;box-shadow:0 16px 48px #00000040,0 0 24px #10b98133,inset 0 1px 3px #ffffff1f;box-shadow:var(--shadow-elevated-4),0 0 24px #10b98133,inset 0 1px 3px #ffffff1f;transform:translateY(-6px) scale(1.01)}.moveset-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--spacing-md)}.rank-badge{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#6366f199,#8b5cf699);border:1px solid #ffffff4d;border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);font-weight:800;min-width:50px;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);text-align:center}.moveset-header h3,.rank-badge{color:#fff;font-size:1rem;text-shadow:0 1px 4px #0000004d}.moveset-header h3{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;font-weight:600;gap:.5rem;gap:var(--spacing-sm)}.move-count-badge{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#6366f14d;border:1px solid #ffffff4d;border-radius:9999px;border-radius:var(--radius-full);color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm);text-shadow:0 1px 4px #0000004d}.timestamp{color:#fffffff2;font-size:.85rem;font-weight:500;text-shadow:0 2px 6px #0006}.moveset-moves-list{grid-gap:.25rem;grid-gap:var(--spacing-xs);display:grid;gap:.25rem;gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.move-display{align-items:center;aspect-ratio:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0000001a;border:1px solid #fff3;border-radius:.375rem;border-radius:var(--radius-sm);display:flex;flex-direction:column;overflow:hidden;padding:0;position:relative;transition:all .2s ease}.move-display:hover{background:#00000026;border-color:#ffffff4d;transform:translateY(-2px) scale(1.05)}.move-icon{filter:drop-shadow(0 1px 3px rgba(0,0,0,.3));height:100%;object-fit:cover;width:100%}.move-display span{background:linear-gradient(0deg,#000000b3 0,#0006 70%,#0000);bottom:0;color:#fff;font-size:.55rem;font-weight:700;left:0;line-height:1.1;padding:.15rem .1rem;position:absolute;right:0;text-align:center;text-shadow:0 1px 2px #000c;text-transform:capitalize;word-break:break-word}.moveset-footer{align-items:center;border-top:1px solid #fff3;display:flex;justify-content:space-between;padding-top:1rem;padding-top:var(--spacing-md)}.vote-count{font-size:1rem;text-shadow:0 2px 8px #0000004d}.vote-button,.vote-count{color:#fff;font-weight:700}.vote-button{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#6366f14d;border:2px solid #ffffff4d;border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 16px #00000026,inset 0 1px 1px #ffffff14;box-shadow:var(--shadow-elevated-2),inset 0 1px 1px #ffffff14;cursor:pointer;font-size:.875rem;letter-spacing:.06em;overflow:hidden;padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);position:relative;text-shadow:0 2px 6px #0006;text-transform:uppercase;transition:all .2s cubic-bezier(.34,1.56,.64,1);transition:all var(--transition-base) var(--spring-smooth)}.vote-button:before{background:linear-gradient(135deg,#6366f1b3,#4f46e5b3);content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s ease;transition:opacity var(--transition-base) ease}.vote-button:hover:before{opacity:1}.vote-button:hover{background:#6366f166;border-color:#fff9;box-shadow:0 8px 32px #0003,0 0 20px #6366f166,inset 0 1px 2px #ffffff1a;box-shadow:var(--shadow-elevated-3),var(--shadow-glow),inset 0 1px 2px #ffffff1a;transform:translateY(-3px) scale(1.05)}.vote-button:active{box-shadow:0 2px 8px #0000001a,inset 0 2px 8px #00000026;box-shadow:var(--shadow-elevated-1),var(--shadow-glass-inset);transform:translateY(-1px) scale(1.02)}.vote-button.voted{background:#6366f199;border-color:#6366f1cc;box-shadow:0 4px 16px #00000026,0 0 20px #6366f166,inset 0 1px 2px #ffffff1a;box-shadow:var(--shadow-elevated-2),var(--shadow-glow),inset 0 1px 2px #ffffff1a}.vote-button.voted:before{opacity:.8}.vote-button.voted:hover{background:#4f46e5b3;border-color:#4f46e5e6;box-shadow:0 8px 32px #0003,0 0 20px #6366f166,inset 0 1px 2px #ffffff26;box-shadow:var(--shadow-elevated-3),var(--shadow-glow),inset 0 1px 2px #ffffff26}.vote-button:disabled{cursor:not-allowed;opacity:.5}.vote-button:disabled:hover{background:#6366f14d;box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);transform:none}.vote-button.voted:disabled:hover{background:#6366f199}.load-moveset-button{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#10b9814d;border:2px solid #10b98166;border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 16px #00000026,inset 0 1px 1px #ffffff14;box-shadow:var(--shadow-elevated-2),inset 0 1px 1px #ffffff14;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;letter-spacing:.06em;overflow:hidden;padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);position:relative;text-shadow:0 2px 6px #0006;text-transform:uppercase;transition:all .2s cubic-bezier(.34,1.56,.64,1);transition:all var(--transition-base) var(--spring-smooth);white-space:nowrap}.load-moveset-button:before{background:linear-gradient(135deg,#10b981b3,#059669b3);content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s ease;transition:opacity var(--transition-base) ease}.load-moveset-button:hover:before{opacity:1}.load-moveset-button:hover{background:#10b98166;border-color:#10b981b3;box-shadow:0 8px 32px #0003,0 0 20px #10b98166,inset 0 1px 2px #ffffff1a;box-shadow:var(--shadow-elevated-3),var(--shadow-glow-success),inset 0 1px 2px #ffffff1a;transform:translateY(-3px) scale(1.05)}.load-moveset-button:active{box-shadow:0 2px 8px #0000001a,inset 0 2px 8px #00000026;box-shadow:var(--shadow-elevated-1),var(--shadow-glass-inset);transform:translateY(-1px) scale(1.02)}.community-loading,.loading-container{align-items:center;display:flex;flex-direction:column;gap:1.5rem;gap:var(--spacing-lg);justify-content:center;padding:3rem;padding:var(--spacing-2xl)}.loading-spinner{animation:spin 1s cubic-bezier(.68,-.55,.265,1.55) infinite;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:#6366f1cc #8b5cf699 #ffffff1a #ffffff1a;border-radius:50%;border-style:solid;border-width:4px;box-shadow:0 0 20px #6366f166,inset 0 0 10px #6366f133;height:64px;position:relative;width:64px}.loading-spinner:before{animation:spin 1.5s linear infinite reverse;border:2px solid #fff3;border-radius:50%;content:"";inset:8px;position:absolute}.loading-spinner:after{animation:pulse 2s ease-in-out infinite;background:radial-gradient(circle,#6366f11a,#0000 70%);border-radius:50%;content:"";inset:-4px;position:absolute}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.loading-text{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(180deg,#0003,#0000);border-radius:.5rem;border-radius:var(--radius-md);color:#fff;font-size:1rem;font-weight:600;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);text-shadow:0 2px 8px #0006}.skeleton-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff0f;background:var(--glass-light);border:2px solid #ffffff1a;border-radius:1rem;border-radius:var(--radius-xl);overflow:hidden;padding:1.5rem;padding:var(--spacing-lg);position:relative}.skeleton-card:before{animation:shimmer-slide 2s infinite;background:linear-gradient(90deg,#0000,#ffffff1a 50%,#0000);background:var(--gradient-shimmer);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer-slide{0%{left:-100%}to{left:100%}}.error-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem;padding:var(--spacing-xl)}.error-message{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fff3;background:var(--glass-white-solid);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:1.5rem;border-radius:var(--radius-2xl);box-shadow:0 12px 48px 0 #0000004d;box-shadow:var(--shadow-glass-lg);max-width:500px;padding:3rem;padding:var(--spacing-2xl);text-align:center}.error-message h2{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1rem;margin-bottom:var(--spacing-md);text-shadow:0 2px 8px #0000004d}.error-message p{color:#ffffffe6;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.error-message p,.retry-button{text-shadow:0 1px 4px #0000004d}.retry-button{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#6366f180;border:1px solid #ffffff4d;border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.retry-button:hover{background:#4f46e599;box-shadow:0 12px 48px 0 #0000004d;box-shadow:var(--shadow-glass-lg);transform:translateY(-2px)}.error-boundary-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem;padding:var(--spacing-xl)}.error-boundary-content{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fff3;background:var(--glass-white-solid);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:1.5rem;border-radius:var(--radius-2xl);box-shadow:0 12px 48px 0 #0000004d;box-shadow:var(--shadow-glass-lg);max-width:600px;padding:3rem;padding:var(--spacing-2xl)}.error-boundary-content h1{color:#fff;font-size:2rem;font-weight:800;margin-bottom:1rem;margin-bottom:var(--spacing-md);text-shadow:0 2px 8px #0000004d}.error-boundary-content p{color:#ffffffe6;text-shadow:0 1px 4px #0000004d}.error-boundary-content details{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0003;border:1px solid #fff3;border-radius:.5rem;border-radius:var(--radius-md);margin-top:1.5rem;margin-top:var(--spacing-lg);padding:1rem;padding:var(--spacing-md)}.error-boundary-content summary{color:#fff;cursor:pointer;font-weight:600;text-shadow:0 1px 4px #0000004d}@media (max-width:768px){.pokemon-name{font-size:2rem}.portrait{height:80px;width:80px}.type-icon{height:48px;width:48px}.move-slot{height:60px;width:60px}.moves-list{gap:.25rem;gap:var(--spacing-xs);max-width:100%;padding:1rem;padding:var(--spacing-md)}.moveset-moves-list{grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.beta-text{font-size:.7rem;margin-bottom:1rem;margin-bottom:var(--spacing-md);position:static}.max-moves-select{flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}.submit-button-container button{max-width:400px;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg);width:100%}.moveset-header{align-items:flex-start;flex-direction:column}.moveset-footer{flex-direction:column;gap:1rem;gap:var(--spacing-md)}.vote-button{width:100%}}@media (max-width:480px){.move-slot{height:50px;width:50px}.moves-list{max-width:100%}.move-name-overlay{font-size:.5rem}.moveset-moves-list{grid-template-columns:repeat(auto-fill,minmax(45px,1fr))}.move-display span{font-size:.5rem}}@supports ((-webkit-backdrop-filter:blur(16px)) or (backdrop-filter:blur(16px))) or (-webkit-backdrop-filter:blur(16px)){.beta-text,.centered-content-block,.max-moves-select,.move-slot,.moves-list,.moveset-card,.portrait,.type-icon{background-color:#ffffff1a;background-color:var(--glass-white)}}@supports not (((-webkit-backdrop-filter:blur(16px)) or (backdrop-filter:blur(16px))) or (-webkit-backdrop-filter:blur(16px))){.beta-text,.centered-content-block,.max-moves-select,.move-slot,.moves-list,.moveset-card,.portrait,.type-icon{background-color:#ffffff40}}.load-moveset-button,.move-slot,.moveset-card,.pokemon-card,.reset-button,.submit-button-container button,.type-filter-btn,.vote-button{will-change:transform,box-shadow}.load-moveset-button:not(:hover):not(:active),.move-slot:not(:hover):not(:active),.moveset-card:not(:hover):not(:active),.pokemon-card:not(:hover):not(:active),.reset-button:not(:hover):not(:active),.submit-button-container button:not(:hover):not(:active),.type-filter-btn:not(:hover):not(:active),.vote-button:not(:hover):not(:active){will-change:auto}.move-slot,.moveset-card,.pokemon-card,.search-input,.type-filter-btn{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}@media (prefers-reduced-motion:no-preference){.loading-spinner,.stab-indicator{animation-timing-function:cubic-bezier(.4,0,.2,1)}}.selector-container{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);min-height:100vh;padding:2rem 1rem;padding:var(--spacing-xl) var(--spacing-md)}.selector-content{margin:0 auto;max-width:1400px;padding:1.5rem;padding:var(--spacing-lg)}.selector-header{margin-bottom:3rem;margin-bottom:var(--spacing-2xl);text-align:center}.selector-title{color:#fff;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;letter-spacing:-.02em;margin-bottom:1rem;margin-bottom:var(--spacing-md);text-shadow:0 4px 24px #0006,0 0 40px #ffffff4d;text-transform:uppercase}.selector-subtitle{color:#ffffffe6;font-size:1.2rem;font-weight:600;text-shadow:0 2px 8px #0000004d}.selector-filters{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff0d;border:2px solid #ffffff1a;border-radius:1.5rem;border-radius:var(--radius-2xl);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);margin-bottom:3rem;margin-bottom:var(--spacing-2xl);padding:1.5rem;padding:var(--spacing-lg)}.search-container{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);position:relative}.search-input{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff14;border:2px solid #ffffff26;border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 16px #00000026,inset 0 1px 2px #ffffff0d;box-shadow:var(--shadow-elevated-2),inset 0 1px 2px #ffffff0d;color:#fff;font-size:1.1rem;outline:none;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg);padding-right:50px;position:relative;transition:all .3s cubic-bezier(.34,1.56,.64,1);transition:all var(--transition-slow) var(--spring-smooth);width:100%}.search-input::placeholder{color:#ffffff80;transition:color .2s ease;transition:color var(--transition-base) ease}.search-input:hover{background:#ffffff1f;border-color:#ffffff40;box-shadow:0 8px 32px #0003,inset 0 1px 2px #ffffff14;box-shadow:var(--shadow-elevated-3),inset 0 1px 2px #ffffff14}.search-input:hover::placeholder{color:#ffffffb3}.search-input:focus{background:#ffffff24;border-color:#6366f1e6;box-shadow:0 0 0 4px #6366f14d,0 8px 32px #0003,0 0 20px #6366f166;box-shadow:0 0 0 4px #6366f14d,var(--shadow-elevated-3),var(--shadow-glow);transform:scale(1.01)}.search-clear{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ef44444d;border:2px solid #ef444466;border-radius:50%;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-elevated-1);color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;height:32px;justify-content:center;position:absolute;right:1rem;right:var(--spacing-md);top:50%;transform:translateY(-50%);transition:all .2s cubic-bezier(.34,1.56,.64,1);transition:all var(--transition-base) var(--spring-smooth);width:32px}.search-clear:hover{background:#ef444480;border-color:#ef444499;box-shadow:0 4px 16px #00000026,0 0 20px #ef444466;box-shadow:var(--shadow-elevated-2),var(--shadow-glow-error);transform:translateY(-50%) scale(1.15) rotate(90deg)}.search-clear:active{transform:translateY(-50%) scale(1.05) rotate(90deg)}.sort-container{align-items:center;display:flex;white-space:nowrap}.sort-select{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff14;border:2px solid #ffffff26;border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;outline:none;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:all .3s ease}.sort-select:hover{background:#ffffff1f;border-color:#ffffff4d}.sort-select:focus{border-color:#6366f1cc;box-shadow:0 0 0 3px #6366f14d,0 8px 32px 0 #0003;box-shadow:0 0 0 3px #6366f14d,var(--shadow-glass)}.sort-select option{background:#6366f1f2;color:#fff}.type-filters{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md)}.filter-label{color:#fff;font-size:1rem;font-weight:700;text-shadow:0 2px 8px #0000004d}.type-filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-sm)}.type-filter-btn{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff14;border:2px solid #ffffff26;border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 2px 8px #0000001a,inset 0 1px 1px #ffffff0d;box-shadow:var(--shadow-elevated-1),inset 0 1px 1px #ffffff0d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;overflow:hidden;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);position:relative;text-transform:capitalize;transition:all .2s cubic-bezier(.34,1.56,.64,1);transition:all var(--transition-base) var(--spring-smooth)}.type-filter-btn:before{background:linear-gradient(135deg,#6366f166,#8b5cf666);content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s ease;transition:opacity var(--transition-base) ease}.type-filter-btn:hover{background:#ffffff1f;background:var(--glass-medium);border-color:#ffffff59;box-shadow:0 4px 16px #00000026,inset 0 1px 2px #ffffff14;box-shadow:var(--shadow-elevated-2),inset 0 1px 2px #ffffff14;transform:translateY(-3px) scale(1.05)}.type-filter-btn:hover:before{opacity:.3}.type-filter-btn.active{background:#6366f180;border-color:#6366f1cc;box-shadow:0 0 0 4px #6366f14d,0 4px 16px #00000026,0 0 20px #6366f166;box-shadow:0 0 0 4px #6366f14d,var(--shadow-elevated-2),var(--shadow-glow);transform:translateY(-2px) scale(1.03)}.type-filter-btn.active:before{opacity:1}.type-filter-btn:active{transform:translateY(-1px) scale(1.02)}.type-count{font-size:.75rem;font-weight:500;margin-left:2px;opacity:.8}.clear-filters-btn{align-self:flex-start;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ef44444d;border:2px solid #ef444480;border-radius:9999px;border-radius:var(--radius-full);color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.clear-filters-btn:hover{background:#ef444480;transform:translateY(-2px)}.pokemon-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:2rem;margin-top:var(--spacing-xl)}.pokemon-card{align-items:center;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#ffffff1f;background:var(--glass-medium);border:2px solid #ffffff2e;border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 4px 16px #00000026,inset 0 1px 2px #ffffff1a;box-shadow:var(--shadow-elevated-2),inset 0 1px 2px #ffffff1a;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem;padding:var(--spacing-lg);position:relative;transition:all .3s cubic-bezier(.34,1.56,.64,1);transition:all var(--transition-slow) var(--spring-smooth)}.pokemon-card:before{background:linear-gradient(135deg,#fff3,#0000 50%,#0000001a);inset:0;pointer-events:none}.pokemon-card:after,.pokemon-card:before{content:"";opacity:0;position:absolute;transition:opacity .3s ease;transition:opacity var(--transition-slow) ease}.pokemon-card:after{background:linear-gradient(135deg,#6366f166,#8b5cf666,#ec489966);border-radius:1rem;border-radius:var(--radius-xl);filter:blur(8px);inset:-2px;z-index:-1}.pokemon-card:hover:before{opacity:1}.pokemon-card:hover:after{opacity:.6}.pokemon-card:hover{background:#ffffff2e;background:var(--glass-strong);border-color:#ffffff80;box-shadow:0 16px 48px #00000040,0 0 30px #6366f14d,inset 0 1px 3px #ffffff26;box-shadow:var(--shadow-elevated-4),0 0 30px #6366f14d,inset 0 1px 3px #ffffff26;transform:translateY(-10px) scale(1.03)}.pokemon-card:active{box-shadow:0 8px 32px #0003,inset 0 2px 8px #00000026;box-shadow:var(--shadow-elevated-3),var(--shadow-glass-inset);transform:translateY(-6px) scale(1.02)}.pokemon-card:focus{border-color:#6366f1e6;box-shadow:0 0 0 4px #6366f166,0 8px 32px #0003;box-shadow:0 0 0 4px #6366f166,var(--shadow-elevated-3);outline:none}.pokemon-card-image{height:120px;margin-bottom:1rem;margin-bottom:var(--spacing-md);position:relative;width:120px;z-index:1}.pokemon-card-image img{filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));height:100%;object-fit:contain;transition:transform .3s ease;width:100%}.pokemon-card:hover .pokemon-card-image img{transform:scale(1.1)}.pokemon-card-info{align-items:center;display:flex;flex-direction:column;gap:.5rem;gap:var(--spacing-sm);position:relative;width:100%;z-index:1}.pokemon-card-name{color:#fff;font-size:1.3rem;font-weight:800;margin:0;text-align:center;text-shadow:0 2px 8px #0006}.pokemon-card-types{display:flex;flex-wrap:wrap;gap:.25rem;gap:var(--spacing-xs);justify-content:center}.type-badge{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff1a;background:var(--glass-white);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:9999px;border-radius:var(--radius-full);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm);text-shadow:0 1px 4px #0000004d;text-transform:uppercase}.type-fire{background:#f0803066;border-color:#f0803099}.type-water{background:#6890f066;border-color:#6890f099}.type-grass{background:#78c85066;border-color:#78c85099}.type-electric{background:#f8d03066;border-color:#f8d03099}.type-psychic{background:#f8588866;border-color:#f8588899}.type-ice{background:#98d8d866;border-color:#98d8d899}.type-dragon{background:#7038f866;border-color:#7038f899}.type-dark{background:#70584866;border-color:#70584899}.type-fairy{background:#ee99ac66;border-color:#ee99ac99}.type-fighting{background:#c0302866;border-color:#c0302899}.type-flying{background:#a890f066;border-color:#a890f099}.type-poison{background:#a040a066;border-color:#a040a099}.type-ground{background:#e0c06866;border-color:#e0c06899}.type-rock{background:#b8a03866;border-color:#b8a03899}.type-bug{background:#a8b82066;border-color:#a8b82099}.type-ghost{background:#70589866;border-color:#70589899}.type-steel{background:#b8b8d066;border-color:#b8b8d099}.type-normal{background:#a8a87866;border-color:#a8a87899}.pokemon-card-stats{display:flex;gap:.5rem;gap:var(--spacing-sm);margin-top:.25rem;margin-top:var(--spacing-xs)}.stat-badge{background:#0003;border-radius:.375rem;border-radius:var(--radius-sm);color:#ffffffe6;font-size:.75rem;font-weight:600;padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm);text-shadow:0 1px 4px #0000004d}.no-results{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff0d;border:2px solid #ffffff1a;border-radius:1.5rem;border-radius:var(--radius-2xl);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);padding:3rem;padding:var(--spacing-2xl);text-align:center}.no-results p{color:#fff;font-size:1.2rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);text-shadow:0 2px 8px #0000004d}.back-button{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff1a;background:var(--glass-white);border:2px solid #fff3;border:2px solid var(--glass-border);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;left:1.5rem;left:var(--spacing-lg);padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);position:absolute;text-shadow:0 1px 4px #0000004d;top:1.5rem;top:var(--spacing-lg);transition:all .3s ease;z-index:1000}.back-button:hover{background:#ffffff26;background:var(--glass-white-hover);border-color:#fff6;box-shadow:0 12px 48px 0 #0000004d;box-shadow:var(--shadow-glass-lg);transform:translateX(-4px)}.back-button:active{transform:translateX(-2px)}@media (max-width:768px){.pokemon-grid{gap:1rem;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pokemon-card{padding:1rem;padding:var(--spacing-md)}.pokemon-card-image{height:100px;width:100px}.pokemon-card-name{font-size:1.1rem}.selector-title{font-size:2rem}.type-filter-buttons{justify-content:center}.back-button{margin-bottom:1rem;margin-bottom:var(--spacing-md);max-width:200px;position:static;width:100%}.pokemon-header{margin-top:1rem;margin-top:var(--spacing-md)}}@media (max-width:480px){.pokemon-grid{gap:.5rem;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.pokemon-card-image{height:80px;width:80px}.pokemon-card-name{font-size:1rem}}.social-links{display:flex;gap:.5rem;gap:var(--spacing-sm);position:fixed;right:1.5rem;right:var(--spacing-lg);top:1.5rem;top:var(--spacing-lg);z-index:1001}.social-link{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff1a;background:var(--glass-white);border:2px solid #fff3;border:2px solid var(--glass-border);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);color:#fff;display:flex;height:48px;justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:all .3s ease;width:48px}.social-link:before{background:linear-gradient(135deg,#fff3,#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.social-link:hover:before{opacity:1}.social-link:hover{border-color:#ffffff80;box-shadow:0 12px 48px 0 #0000004d,0 0 20px #6366f166;box-shadow:var(--shadow-glass-lg),var(--shadow-glow);transform:translateY(-4px) scale(1.05)}.social-link:active{transform:translateY(-2px) scale(1.02)}.social-link svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));height:24px;position:relative;width:24px;z-index:1}.instagram-link:hover{background:linear-gradient(135deg,#833ab499,#fd1d1d99 50%,#fcb04599)}.social-link:last-child:hover{background:#f009}.report-btn{align-items:center!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff1a;background:var(--glass-white);border:2px solid #fff3;border:2px solid var(--glass-border);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 8px 32px 0 #0003;box-shadow:var(--shadow-glass);color:#fff;cursor:pointer;display:flex!important;font-family:inherit;gap:.5rem!important;gap:var(--spacing-sm)!important;overflow:hidden;padding:.5rem 1rem!important;padding:var(--spacing-sm) var(--spacing-md)!important;position:relative;text-decoration:none;transition:all .3s ease;width:auto!important}.report-btn-text{color:#fff;font-size:.85rem;font-weight:600;text-shadow:0 2px 4px #0000004d;white-space:nowrap}.report-btn svg{stroke:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.report-btn:before{background:linear-gradient(135deg,#ef444466,#dc262666);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.report-btn:hover:before{opacity:1}.report-btn:hover{border-color:#ef4444cc;box-shadow:0 12px 48px 0 #0000004d,0 0 20px #ef444466;box-shadow:var(--shadow-glass-lg),0 0 20px #ef444466;transform:translateY(-4px) scale(1.05)}.report-btn:active{transform:translateY(-2px) scale(1.02)}@media (max-width:768px){.social-links{right:1rem;right:var(--spacing-md);top:1rem;top:var(--spacing-md)}.social-link{height:40px;width:40px}.social-link svg{height:20px;width:20px}.report-btn-text{font-size:.75rem}.report-btn svg{height:16px;width:16px}}@media (max-width:480px){.social-links{flex-wrap:wrap;justify-content:center;margin-bottom:1rem;margin-bottom:var(--spacing-md);padding:0 1rem;padding:0 var(--spacing-md);position:static}.report-btn{justify-content:center!important;margin-bottom:.5rem;margin-bottom:var(--spacing-sm);order:-1;width:100%!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.move-slot,.moveset-card,.pokemon-card,button{transition:none!important}.pokemon-card:hover{transform:none!important}.loading-spinner{animation:none!important}}@media (max-width:768px) and (pointer:coarse){.move-slot,.type-filter-btn{min-height:44px;min-width:44px}.pokemon-card,button{min-height:44px}}@media (hover:none) and (pointer:coarse){.move-slot:active,.pokemon-card:active,.type-filter-btn:active,button:active{position:relative}.move-slot:active:after,.pokemon-card:active:after,.type-filter-btn:active:after{animation:touchRipple .6s ease-out;background:#ffffff4d;border-radius:50%;content:"";height:100px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);width:100px}@keyframes touchRipple{to{opacity:0;transform:translate(-50%,-50%) scale(2)}}.pokemon-card:active{transform:scale(.98)}.move-slot:active,.pokemon-card:active{box-shadow:0 2px 8px #0000001a,inset 0 2px 8px #00000026;box-shadow:var(--shadow-elevated-1),var(--shadow-glass-inset)}.move-slot:active{transform:scale(.95)}.type-filter-btn:active{transform:scale(.96)}.move-slot,.pokemon-card,.search-input,.type-filter-btn,button{touch-action:manipulation}.modal-content,.moves-list,.pokemon-grid{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.search-clear{height:40px;width:40px}.social-link{min-height:48px;min-width:48px}}@media (max-width:480px){.moves-list{-webkit-overflow-scrolling:touch;gap:.25rem;gap:var(--spacing-xs);justify-content:flex-start;max-width:100%;overflow-x:auto;scroll-behavior:smooth;width:auto}}.modal-overlay{align-items:center;animation:fadeInBackdrop .4s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;padding:var(--spacing-md,1rem);position:fixed;right:0;top:0;z-index:2000}@keyframes fadeInBackdrop{0%{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:1}}.modal-content{animation:slideUpSpring .5s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#ffffff1f;border:2px solid #fff3;box-shadow:0 20px 60px 0 #0006,0 0 40px #6366f133,inset 0 1px 3px #ffffff1a;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%}.modal-content,.modal-content:before{border-radius:1.5rem;border-radius:var(--radius-2xl,1.5rem)}.modal-content:before{background:linear-gradient(135deg,#ffffff26,#0000 50%,#0000001a);content:"";inset:0;pointer-events:none;position:absolute}@keyframes slideUpSpring{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1.5rem;padding:var(--spacing-lg,1.5rem)}.modal-header h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-close-btn:hover:not(:disabled){background:#fff3;transform:scale(1.1)}.modal-close-btn:disabled{cursor:not-allowed;opacity:.5}.report-form{padding:1.5rem;padding:var(--spacing-lg,1.5rem)}.form-group{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem)}.form-group label{color:#fff;display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem;margin-bottom:var(--spacing-sm,.5rem)}.form-group input,.form-group select,.form-group textarea{background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;border-radius:var(--radius-md,.5rem);color:#fff;font-family:inherit;font-size:1rem;padding:1rem;padding:var(--spacing-md,1rem);transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#ffffff26;border-color:#fff6;box-shadow:0 0 0 3px #6366f133;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{cursor:not-allowed;opacity:.6}.form-group textarea{min-height:120px;resize:vertical}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23fff' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff80}.modal-actions{display:flex;gap:1rem;gap:var(--spacing-md,1rem);justify-content:flex-end;margin-top:2rem;margin-top:var(--spacing-xl,2rem)}.btn-cancel,.btn-submit{border:none;border-radius:.5rem;border-radius:var(--radius-md,.5rem);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:1rem 2rem;padding:var(--spacing-md,1rem) var(--spacing-xl,2rem);transition:all .2s ease}.btn-cancel{background:#ffffff1a;border:1px solid #fff3;color:#fff}.btn-cancel:hover:not(:disabled){background:#ffffff26;transform:translateY(-2px)}.btn-submit{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 12px #6366f14d;color:#fff}.btn-submit:hover:not(:disabled){box-shadow:0 6px 20px #6366f166;transform:translateY(-2px)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.success-message{padding:3rem;padding:var(--spacing-2xl,3rem);text-align:center}.success-icon{align-items:center;animation:scaleIn .3s ease-out;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;color:#fff;display:flex;font-size:2rem;height:64px;justify-content:center;margin:0 auto 1.5rem;margin:0 auto var(--spacing-lg,1.5rem);width:64px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-message p{color:#fff;font-size:1.25rem;font-weight:500}@media (max-width:640px){.modal-content{max-height:95vh}.modal-header h2{font-size:1.25rem}.form-group input,.form-group select,.form-group textarea{font-size:16px}.modal-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}