.team-builder-container{width:100%;min-width:0;margin:20px 0}.page-title{color:var(--header-text);margin-bottom:2rem}.share-menu-wrapper{position:relative}.share-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background-color:var(--gray-1200);border:1px solid var(--border);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000004d;z-index:100;min-width:200px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease}.share-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.share-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;color:var(--text-color);font-size:.9rem;cursor:pointer;transition:background-color .2s ease;text-align:left}.share-option:first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}.share-option:last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}.share-option:not(:last-child){border-bottom:1px solid var(--border-color)}.share-option:hover{background-color:var(--card-hover-bg)}.share-option svg{width:16px;height:16px;flex-shrink:0}.best-teams{margin:1rem 0;text-align:center;display:flex;width:100%}.btn-best{display:flex;width:100%;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--border-radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;border:none;background-color:var(--blue);color:var(--header-text)}.btn-best:hover{transform:translateY(-1px)}.team-header-actions{display:flex;gap:.75rem;margin-bottom:1rem;justify-content:flex-end}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:var(--border-radius);background-color:var(--blue);color:var(--header-text);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0003}.action-btn:hover:not(:disabled){transform:translateY(-1px)}.action-btn:active:not(:disabled){transform:translateY(0)}.action-btn:disabled{opacity:.4;cursor:not-allowed;background-color:var(--gray-1100);color:var(--text-muted)}.action-btn.secondary{background-color:var(--gray-1100);border:1px solid var(--border);color:var(--text-color)}.action-btn.secondary:hover:not(:disabled){background-color:var(--gray-1100)}.action-btn svg{width:16px;height:16px}.team-notification{position:fixed;top:20px;right:20px;background-color:var(--orange);color:var(--header-text);padding:1rem 1.5rem;border-radius:var(--border-radius);font-weight:600;z-index:1000;opacity:0;transform:translate(100px);transition:all .3s ease}.team-notification.show{opacity:1;transform:translate(0)}.team-main-row{display:flex;gap:1rem;align-items:stretch}.team-main-row .team-slots{flex:1;min-width:0}.team-main-row .synergy-container{width:320px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.synergy-container{padding:1rem;background:var(--gray-1200);border:1px solid var(--border);border-radius:var(--border-radius)}.synergy-meter{display:flex;flex-direction:column;gap:.5rem}.synergy-meter .synergy-bar-row{display:flex;align-items:center;gap:.75rem}.synergy-meter .synergy-bar-track{flex:1;height:24px;background:var(--gray-800);border-radius:12px;overflow:hidden}.synergy-meter .synergy-score{font-size:1.5rem;font-weight:700;color:var(--text-primary);flex-shrink:0;min-width:55px;text-align:right}.synergy-label{font-weight:600;font-size:.95rem;color:var(--text-color);text-align:center}.synergy-bar{height:100%;border-radius:12px;transition:width .5s ease;background:linear-gradient(90deg,#ef4444,#f97316)}.synergy-bar.synergy-average{background:linear-gradient(90deg,#f97316,#eab308)}.synergy-bar.synergy-good{background:linear-gradient(90deg,#eab308,#22c55e)}.synergy-bar.synergy-excellent{background:linear-gradient(90deg,#22c55e,#06b6d4)}.synergy-breakdown{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.synergy-toggle-btn{display:none;align-items:center;justify-content:center;gap:.4rem;width:100%;margin-top:.5rem;padding:.35rem .75rem;background:var(--gray-900);border:1px solid var(--border);border-radius:var(--border-radius);color:var(--text-secondary);font-size:.78rem;cursor:pointer;transition:all .2s ease}.synergy-toggle-btn:hover{background:var(--gray-800);color:var(--text-primary)}.toggle-icon{transition:transform .2s ease}.synergy-toggle-btn.open .toggle-icon{transform:rotate(180deg)}.breakdown-row{padding:.3rem 0}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem}.breakdown-label{font-size:.78rem;color:var(--text-secondary)}.breakdown-score{font-size:.78rem;font-weight:600;color:var(--text-primary)}.breakdown-bar-track{height:5px;background:var(--gray-800);border-radius:3px;overflow:hidden}.breakdown-bar{height:100%;border-radius:3px;background:var(--blue);transition:width .5s ease}.breakdown-detail{font-size:.7rem;color:var(--text-secondary);margin-top:.1rem;opacity:.8}.team-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem;border-radius:var(--border-radius);border:1px solid black;min-height:240px;background:linear-gradient(135deg,#0d0d1a,#1a0a2e,#0d0d1a)}.team-card{cursor:pointer}.slot{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;background-color:#00000080;border-radius:var(--border-radius);min-height:170px;transition:all .2s ease;position:relative}.slot-placeholder{text-transform:uppercase;font-size:14px;font-weight:600;color:var(--footer-text);padding-top:50%}.slot.has-card{background-color:transparent}.roster-section{margin-top:1rem;width:100%;min-width:0}.roster-list{display:flex;overflow-x:auto;gap:1rem;padding:1rem 0;scrollbar-width:thin;scroll-behavior:smooth;width:100%;min-height:150px;scrollbar-color:#2c2d33 #73757e;scrollbar-width:auto}.roster-list::-webkit-scrollbar{height:8px}.roster-list::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:10px}.roster-filters{padding:1rem;margin-top:2rem;display:flex;gap:1.5rem;background-color:var(--gray-1200);border-radius:var(--border-radius);border:1px solid var(--border);align-items:flex-start;flex-wrap:wrap}.filter-group{margin-bottom:0}.filter-group h4{margin:0 0 .5rem;color:var(--text-color);font-size:1rem}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{background-color:var(--gray-900);color:var(--text-color);border:2px solid var(--border);padding:.5rem 1rem;border-radius:var(--border-radius);min-width:55px;cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:500}.filter-btn:hover{background-color:var(--gray-1200);border-color:var(--gray-100)}.filter-btn.active{background-color:var(--blue);color:var(--header-text);border-color:var(--border-color);box-shadow:0 0 5px rgba(var(--accent-primary-rgb),.5);transform:scale(1.05)}.character-card{flex-shrink:0;width:130px;text-align:center;background-color:var(--gray-1100);border:2px solid transparent;border-radius:var(--border-radius);cursor:pointer;box-shadow:0 4px 8px #0003;transition:all .2s ease}.team-card{width:100%;height:100%}.character-card:hover{transform:translateY(-2px)}.card-image{width:100%;height:auto}.metainfo{display:flex;flex-direction:column;gap:5px;padding:8px 5px}.card-name{font-size:.78rem;color:var(--text-primary);line-height:1.2;display:block}.card-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}.card-tags span{font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;line-height:1.3;white-space:nowrap}.tag-class{color:#fff}.tag-tactic{background:#7c3aed}.tag-assault{background:#dc2626}.tag-support{background:#059669}.tag-type{color:#fff}.tag-thrust{background:#0891b2}.tag-strike{background:#d97706}.tag-slash{background:#e11d48}.tag-spirit{background:#7e22ce}.tag-rarity{background:#374151;color:#e5e7eb}.tag-tier{background:#fbbf24;color:#1f2937}.rarity-ssr{border-color:#fbbf24}.rarity-srplus{border-color:#a78bfa}.rarity-sr{border-color:#60a5fa}.character-card.is-in-team{opacity:.4;pointer-events:none;cursor:not-allowed}@media(max-width:768px){.team-main-row{flex-direction:column}.team-main-row .synergy-container{width:100%}.team-slots{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.5rem}.roster-filters{padding:.7rem;margin-top:1rem;flex-direction:column}.filter-group{width:100%}.filter-group h4{display:none}.team-header-actions{justify-content:center;flex-wrap:wrap}.share-menu{right:auto;left:0}.synergy-toggle-btn{display:flex}.synergy-breakdown{display:none}.synergy-breakdown.open{display:flex}}
