.potential-card{background:#ffffff80;border-radius:.625rem;overflow:hidden;border:2px solid var(--border);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;display:flex;flex-direction:column;position:relative;backdrop-filter:blur(8px)}[data-theme=dark] .potential-card{background:#14141466}.potential-card:hover{border-color:var(--pastel-pink);border-width:3px;transform:translateY(-3px);box-shadow:0 0 0 3px #e88aad1a,0 4px 12px #e88aad33}.potential-card.selected{border-color:var(--mint-green);border-width:3px;background:#7ed7c114;box-shadow:0 0 0 3px #7ed7c126,var(--shadow-soft)}[data-theme=dark] .potential-card.selected{background:#8fd9cf1f}.potential-card-header{display:flex;flex-direction:column;align-items:center;padding:0}.potential-card-image{width:100%;aspect-ratio:.7;position:relative;display:flex;align-items:flex-start;justify-content:center;font-size:2.5rem;border-bottom:2px solid var(--border);overflow:hidden;padding-top:10px}.potential-bg{position:absolute;width:100%;height:100%;object-fit:cover;z-index:1;top:0;left:0}.potential-icon{position:relative;width:70%;height:70%;object-fit:contain;z-index:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.potential-placeholder{position:relative;z-index:2}.potential-card-info{width:100%;padding:.625rem}.potential-card-name{font-weight:600;margin-bottom:6px;font-size:.9rem;color:var(--text-primary);line-height:1.3;text-align:center}.potential-card-meta{display:flex;justify-content:center;gap:.5rem;font-size:.7rem;color:var(--text-secondary);flex-wrap:wrap;padding-bottom:6px;border-bottom:1px solid var(--border)}.potential-card-body{padding:.625rem;flex:1;display:flex;flex-direction:column;gap:.5rem}.potential-card-desc{color:var(--text-primary);font-size:.8125rem;line-height:1.65;background:var(--surface-light);padding:.75rem .5rem;border-radius:.5rem;min-height:3em;letter-spacing:.01em;word-spacing:.05em}[data-theme=dark] .potential-card-desc{background:#28282899;color:var(--text-primary)}.build-badge{position:absolute;top:8px;right:8px;color:#000;font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:.75rem;box-shadow:0 2px 6px #0006;z-index:10;letter-spacing:.5px}.potential-card[data-build="1"] .build-badge{background:var(--peach)}.potential-card[data-build="2"] .build-badge{background:var(--lavender)}.potential-card[data-build="3"] .build-badge{background:var(--mint-green)}.score-badge{position:absolute;top:8px;left:8px;background:var(--primary-color);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:.75rem;box-shadow:0 2px 6px #0006;z-index:10;letter-spacing:.5px}.potential-level-selector{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--surface);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.potential-level-label{color:var(--text-secondary);font-size:.85rem;font-weight:600;text-align:center}.potential-level-controls{display:flex;align-items:center;justify-content:center;gap:.5rem}.level-btn{background:var(--primary-color);color:#fff;border:none;border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;font-weight:700;transition:all .2s ease;user-select:none}.level-btn:hover{background:var(--primary-hover);transform:scale(1.05)}.level-btn:active{transform:scale(.95)}.potential-level-input{width:3.5rem;height:2rem;text-align:center;border:2px solid var(--border-color);border-radius:.375rem;background:var(--background);color:var(--text-primary);font-size:1rem;font-weight:600;padding:0}.potential-level-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #a855f733}.spinner-container{position:fixed;inset:0;background:var(--background);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.spinner-container.hidden{display:none}.loading-spinner{width:3rem;height:3rem;border:4px solid var(--surface-light, #333);border-top-color:var(--primary, #6366f1);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary, #888);font-size:.9rem}.modal,#disc-modal,#load-modal,#disc-image-viewer{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:1000;backdrop-filter:blur(4px);align-items:center;justify-content:center}#disc-image-viewer{z-index:2000}.modal.active,#disc-modal.active,#load-modal.active,#disc-image-viewer.active{display:flex}.modal-content,.load-modal-content,#disc-image-viewer img{background:var(--surface);border-radius:1rem;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:0 1rem 3rem var(--shadow);display:flex;flex-direction:column}#disc-image-viewer img{max-width:80vw;max-height:80vh;width:auto;height:auto;border-radius:.5rem}.modal-header,.load-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2,.load-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.close-btn,.load-modal-close{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .3s ease;flex-shrink:0}.close-btn:hover,.load-modal-close:hover{background:var(--surface-light);color:var(--text-primary);transform:rotate(90deg)}.modal-body,.load-modal-body{padding:1.5rem;overflow-y:auto;flex:1}@media (max-width: 768px){.modal-content,.load-modal-content{max-width:95vw;max-height:95vh;border-radius:.75rem}.modal-header,.load-modal-header,.modal-body,.load-modal-body{padding:1rem}.modal-header h2,.load-modal-header h2{font-size:1.25rem}.modal-body,.load-modal-body{padding:1rem}}.card-base{background:var(--surface-light);border:2px solid var(--border);border-radius:.75rem;transition:all .3s ease;cursor:pointer}.card-base:hover{transform:translateY(-4px);box-shadow:0 .5rem 1.5rem var(--shadow);border-color:var(--primary-color)}.card-with-image{display:flex;flex-direction:column;align-items:center;padding:1rem;position:relative}.card-image-container{width:100%;aspect-ratio:1;margin-bottom:.75rem;position:relative;overflow:hidden;border-radius:.5rem}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.card-with-image:hover .card-image{transform:scale(1.1)}.card-info{width:100%;display:flex;flex-direction:column;gap:.5rem;text-align:center}.card-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0}.card-subtitle{font-size:.75rem;color:var(--text-secondary);margin:0}.card-badges{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;margin-top:.5rem}.card-badge{padding:.125rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:600;background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.card-base.active{border-color:var(--primary-color);background:#6366f10d;box-shadow:0 0 0 3px #6366f11a}.card-base.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.card-base.selected{border-color:var(--success);background:#10b9810d}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:1rem;padding:1rem}.cards-grid-large{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.tab-navigation{display:flex;gap:.75rem;margin-bottom:1.5rem;background:var(--surface);padding:.75rem;border-radius:.75rem;box-shadow:0 4px 16px var(--shadow)}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;background:var(--surface-light);border:2px solid transparent;border-radius:.5rem;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.tab-button:hover{background:var(--primary-color);color:var(--text-primary);transform:translateY(-2px)}.tab-button.active{background:var(--primary-color);color:var(--text-primary);border-color:var(--accent);box-shadow:0 4px 12px var(--shadow-primary-medium)}.tab-icon{font-size:1.5rem}.tab-label{font-size:1rem}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.875rem,1fr));gap:.75rem;padding:1.5rem;max-height:calc(90vh - 17.5rem);overflow-y:auto}.character-item{background:var(--surface-light);padding:1rem;border-radius:.75rem;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.character-item:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 .5rem 1.5rem var(--shadow)}.character-item-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;position:relative}.character-item-image{width:3.125rem;height:3.125rem;border-radius:50%;border:2px solid var(--border);object-fit:cover;flex-shrink:0}.character-element-badge{position:absolute;top:.375rem;right:.375rem;width:1.5rem;height:1.5rem;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));pointer-events:none}.character-item-info{flex:1;min-width:0}.character-item-name{font-weight:600;margin-bottom:.25rem}.character-item-id{color:var(--text-secondary);font-size:.85rem}.selector-controls{padding:1rem;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:1rem}.element-filter-btn span{display:inline;font-size:inherit;color:inherit}.empty-search-state{grid-column:1 / -1;padding:3rem 1rem;text-align:center;color:var(--text-secondary);font-size:1rem}.empty-search-state p{margin:0}.cards-grid-small{grid-template-columns:repeat(auto-fill,minmax(5rem,1fr))}@media (max-width: 768px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:.75rem;padding:.75rem}.card-with-image{padding:.75rem}.card-title{font-size:.8rem}.card-subtitle{font-size:.7rem}}@media (max-width: 480px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));gap:.5rem}}.selector-controls,.preset-filters-container{padding:1rem;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:1rem}.search-container{position:relative;width:100%}.search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;background:var(--surface-light);border:2px solid var(--border);border-radius:.5rem;color:var(--text-primary);font-size:.95rem;transition:all .3s ease;outline:none}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.search-input::placeholder{color:var(--text-secondary);opacity:.6}.search-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:1rem;pointer-events:none}.element-filters,.preset-filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.element-filter-btn,.filter-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--surface-light);border:2px solid var(--border);border-radius:.5rem;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.element-filter-btn:hover,.filter-btn:hover{background:var(--surface);border-color:var(--primary-color);color:var(--text-primary);transform:translateY(-1px)}.element-filter-btn.active,.filter-btn.active{background:var(--accent-interactive);border-color:var(--accent-interactive);color:#fff;box-shadow:0 .25rem .75rem #3498db4d}.element-filter-btn:active,.filter-btn:active{transform:translateY(0)}.filter-icon{font-size:1rem;display:inline-flex;align-items:center;justify-content:center}.filter-label{font-size:.7rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.clear-filters-btn{padding:.5rem 1rem;background:transparent;border:2px dashed var(--border);border-radius:.5rem;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{border-color:var(--danger);color:var(--danger);background:#ef44440d}@media (max-width: 768px){.selector-controls,.preset-filters-container{padding:.75rem}.search-input{font-size:.9rem;padding:.625rem 2.25rem .625rem .875rem}.element-filter-btn,.filter-btn{padding:.4rem .75rem;font-size:.8rem;gap:.25rem}.filter-icon{font-size:.9rem}}@media (max-width: 480px){.element-filters,.preset-filters{gap:.375rem}.element-filter-btn,.filter-btn{padding:.375rem .625rem;font-size:.75rem}}header h1{display:flex;align-items:center;justify-content:center;gap:.75rem}.page-title-icon{width:3rem;height:3rem;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15));margin-bottom:.25rem}.element-filter-btn{white-space:nowrap}.element-filter-btn .element-icon{width:1.25rem;height:1.25rem;object-fit:contain}.element-filter-btn i{font-size:.95rem}.skill-item{display:grid;grid-template-columns:3rem 1fr;grid-template-rows:auto auto auto;gap:.5rem .75rem;font-size:.75rem;padding:.75rem;background:var(--surface);border-radius:.5rem;margin-bottom:.5rem;border:1px solid var(--border);transition:all .2s ease}.skill-item:hover{border-color:var(--primary-color);background:var(--surface-light)}.skill-icon-wrapper{position:relative;width:3rem;height:3rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;grid-row:1;grid-column:1}.skill-icon-bg{position:absolute;width:100%;height:100%;object-fit:contain;z-index:1}.skill-icon{position:relative;width:2rem;height:2rem;object-fit:contain;z-index:2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.skill-info{display:contents}.skill-title{color:var(--primary-color);font-weight:600;font-size:.875rem;grid-row:1;grid-column:2;display:flex;align-items:center}.skill-desc{color:var(--text-primary);font-size:.8125rem;line-height:1.6;letter-spacing:.01em;grid-row:2;grid-column:1 / -1}.param-value{font-weight:700;color:var(--pastel-pink)}.param-no-level{color:var(--sky-blue);font-weight:700}.param-red{color:var(--danger);font-weight:700}.skill-header{display:flex;align-items:center;gap:.75rem;grid-row:3;grid-column:1 / -1}.skill-label{color:var(--sky-blue);font-weight:600;font-size:.75rem;background:var(--surface-light);padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap;border:1px solid var(--border-light)}[data-theme=dark] .skill-label{background:#1e1e1e66}.skill-level-selector{display:flex;align-items:center;gap:.5rem;margin-left:auto}.skill-level-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;margin:0}.skill-level-controls{display:flex;align-items:center;gap:.375rem}.skill-level-input{width:3.125rem;height:1.75rem;text-align:center;border:1px solid var(--border);border-radius:.25rem;background:var(--background);color:var(--text-primary);font-size:.875rem;font-weight:500;padding:4px}.skill-level-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #a855f733}.description-toggle-wrapper{display:flex;align-items:center;gap:.75rem;margin-left:auto}.description-toggle-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.description-toggle{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1.25rem;border-radius:.5rem;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px var(--shadow);height:2.5rem;display:flex;align-items:center;gap:.5rem}[data-theme=dark] .description-toggle{background:var(--primary-color);color:#fff;border:none;box-shadow:0 2px 8px #6b9bd14d}.description-toggle:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}[data-theme=dark] .description-toggle:hover{box-shadow:0 4px 12px #6b9bd166}.description-toggle:active{transform:translateY(0)}.character-selector-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.625rem;background:var(--surface-light);border:2px solid var(--border);border-radius:.75rem;cursor:pointer;transition:all .2s ease;position:relative}.character-selector-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #6b9bd14d}.character-selector-card.selected{border-color:var(--primary-color);background:#6b9bd11a;box-shadow:0 0 0 3px #6b9bd133}.character-selector-img-wrapper{position:relative;width:100%;aspect-ratio:1;border-radius:50%;overflow:visible;background:linear-gradient(135deg,var(--surface),var(--surface-light));border:2px solid var(--border)}.character-selector-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.character-element-icon{position:absolute;bottom:-.25rem;right:-.25rem;width:1.75rem;height:1.75rem;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.8));background:#000000b3;border-radius:.25rem;padding:.15rem;border:1.5px solid rgba(255,255,255,.3)}.character-selector-info{display:flex;flex-direction:column;align-items:center;gap:.125rem;width:100%}.character-selector-name{font-size:.8rem;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.character-selector-grade{font-size:.75rem;color:#f0c419;font-weight:700;letter-spacing:.05em}.compact-tab-navigation{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:2rem;background:var(--surface);padding:1rem 1.25rem;border-radius:1rem;box-shadow:0 .25rem 1.25rem var(--shadow);flex-wrap:wrap}.main-tabs-group{display:flex;align-items:center;gap:0}.compact-main-tab{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:var(--surface-light);border:2px solid transparent;border-radius:.625rem;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.compact-main-tab:hover{background:var(--primary-color);color:var(--text-primary);transform:translateY(-.125rem);box-shadow:0 .25rem 1rem var(--shadow-primary-medium)}.compact-main-tab.active{background:var(--primary-color);color:var(--text-primary);border-color:var(--accent);box-shadow:0 .25rem 1.25rem var(--shadow-primary-strong)}.compact-tab-icon{font-size:1.5rem}.compact-tab-label{font-size:1rem;letter-spacing:.3px}.position-tabs-inline{display:flex;align-items:center;gap:.25rem;margin-left:.25rem;transition:all .3s ease;opacity:1;max-height:6.25rem;overflow:hidden}.position-tabs-inline.hidden{display:none;opacity:0;max-height:0}.position-separator{color:var(--text-secondary);font-size:1.2rem;font-weight:600;margin:0 8px 0 4px}.position-divider{color:var(--border);font-size:1rem;margin:0 4px}.position-tab{display:flex;align-items:center;gap:.375rem;padding:.625rem 16px;background:transparent;border:2px solid transparent;border-radius:.5rem;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.position-tab:hover{background:var(--surface-light);color:var(--text-primary)}.position-tab.active{background:var(--accent);color:#1e293b;border-color:#fbbf24;font-weight:600}.position-tab-icon{font-size:1.1rem}.position-tab-label{font-size:.9rem}.main-tab-content{display:none;animation:fadeInUp .4s ease}.main-tab-content.active{display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
