.roster-page-head h1{max-width:900px}.roster-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.roster-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:24px;margin-bottom:15px}.roster-filter{display:flex;flex-direction:column;gap:9px;min-width:0}.roster-filter>span,.banner-collection{color:#aaa9b3;font-size:11px;letter-spacing:.7px}.roster-filter .select-filter,.roster-filter .search-box{width:100%;min-width:0;max-width:100%;font-size:12px}.roster-search{grid-column:span 2}.roster-filter select{color-scheme:dark}.roster-filter option,.banner-collection option{background:#191a20;color:#ececf1}.owned-switch{align-self:center;display:flex;gap:9px;font-size:12px;align-items:center;color:#d3d2dd}.owned-switch input{accent-color:#cfb87f;width:17px;height:17px}.roster-note{font-size:12px!important;line-height:1.6!important;color:#9c9ba8!important;margin:12px 0}.roster-separator{margin:0 12px;color:#575660}.roster-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 28px}.roster-pagination>span{font-size:12px;color:#b6b5c0}.roster-pagination .button{min-width:125px}.roster-pagination .button:disabled{opacity:.35}.collection-count-row .button{font-size:10px}.banner-collection{display:flex;align-items:center;gap:12px;margin-left:auto}.banner-collection .select-filter{max-width:260px;font-size:11px}.portrait-placeholder{position:absolute;inset:25% 8% 29%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;gap:14px;z-index:1;pointer-events:none}.portrait-placeholder small{font-size:clamp(5px,3cqw,9px);letter-spacing:1px;color:#d2cadb}.portrait-placeholder b{font:400 35cqw/1 Georgia,serif;color:#f0e5f6;text-shadow:0 0 30px rgba(var(--rare-rgb),.5)}.portrait-placeholder>span{font-size:clamp(5px,3cqw,8px);letter-spacing:2px;color:#b5acbf}
.character-card .card-class{font-size:clamp(5px,3.3cqw,10px);line-height:1.2;color:var(--class-color);padding:4px 5px;background:#090a12e8;border:1px solid #ffffff26;border-radius:3px;white-space:nowrap}.character-card.card-fullart .card-top-right{align-items:flex-end;max-width:68%}.character-card.card-fullart .equipped-label{top:79px}.character-card.card-fullart .card-universe{white-space:normal;line-height:1.35;font-size:clamp(5px,3cqw,9px);letter-spacing:.25px;max-height:3em;overflow:hidden}.passive-mark{font-size:clamp(4px,2.4cqw,7px);color:var(--rare);font-style:normal;display:block;letter-spacing:1px;margin-top:3px}.character-card.card-fullart .card-name{font-size:clamp(17px,11.6cqw,38px);overflow-wrap:anywhere}.character-card.card-fullart .fullart-signature{max-height:35%;top:29%}.class-detail{display:flex;align-items:center;gap:20px;border:1px solid #ffffff1c;border-left:3px solid var(--class-color);background:#ffffff04;border-radius:5px;padding:15px;margin:18px 0;color:var(--class-color)}.class-detail strong{font-size:18px}.class-detail span{font-size:11px;line-height:1.8;color:#c2c0cd}.four-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.four-stats>div{min-width:0}.four-stats strong{font-size:23px}.detail-passive{padding:16px;margin:16px 0 22px;border:1px solid #ffffff12;border-radius:6px;background:#ffffff03}.detail-passive.has-passive{border-color:#b59ac344;background:linear-gradient(130deg,#8a418512,#bc86450a)}.detail-passive h3{margin-bottom:8px;color:#e6d6ed}.detail-passive p{font-size:12px;line-height:1.7}.detail-combat-stats{padding:12px;border:1px solid #ffffff12;border-radius:5px}.detail-combat-stats summary{font-size:12px;cursor:pointer}.family-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.family-tags .button{font-size:10px;padding:8px 10px;min-height:30px;letter-spacing:.2px}.team-slot .four-stats{padding:12px 0;margin:0;gap:6px}.team-slot .four-stats strong{font-size:18px}.team-slot .four-stats small{font-size:8px}.combat-stat-caption{color:#a29fad;display:block;font-size:9px;line-height:1.6;margin-bottom:10px}.team-effects h3{font-size:15px;margin:22px 0 12px}.team-effects h3>span{display:inline-block;padding:3px 7px;font-size:11px;border:1px solid #ffffff20;border-radius:3px;margin-left:7px}.link-effect{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;border:1px solid #b2be9c35;background:#aaba8d08;color:#e1e8d3;margin-bottom:7px;text-align:left;border-radius:4px;cursor:pointer}.link-effect strong{font-size:12px;display:block}.link-effect small,.passive-effect small{display:block;font-size:10px;color:#b6b8ab;margin-top:5px;line-height:1.7}.link-effect:hover{border-color:#c4cca96a}.team-effects .muted,.effect-rule{font-size:11px;line-height:1.8}.passive-effect{padding:11px 12px;border-left:2px solid #ab8cc9;background:#a385be08;margin-bottom:8px}.passive-effect>strong{font-size:12px}.team-information{min-width:0}.fighter-class{color:var(--class-color,#c9bfd8);font-size:10px;display:block;margin:5px 0 8px}.affinity-indicator{text-align:center;font-size:12px;margin:20px 10px 0}.advantage{color:#81dca9}.weakness{color:#ee9099}.neutral{color:#a5a4af}.battle-links{background:#ffffff03;border:1px solid #ffffff15;border-radius:6px;padding:16px;margin-top:18px}.battle-links summary{font-size:12px;cursor:pointer}.class-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.class-guide-grid article{border:1px solid #ffffff20;border-top:2px solid var(--class-color);padding:16px 12px;background:#ffffff03;border-radius:6px;min-width:0}.class-guide-grid strong{color:var(--class-color);font-size:17px}.class-guide-grid p{font-size:11px;margin:10px 0;line-height:1.6}.class-guide-grid small{font-size:10px;color:#b8b4c2;line-height:1.8}.affinity-table-wrap{overflow-x:auto;margin:24px 0}.affinity-table{border-collapse:collapse;width:100%;font-size:12px;min-width:490px}.affinity-table caption{text-align:left;color:#a8a4b4;font-size:11px;padding-bottom:15px}.affinity-table th,.affinity-table td{padding:14px 10px;text-align:center;border-bottom:1px solid #ffffff13}.affinity-table th{color:#d5d2dd}.affinity-table tbody th{text-align:left}.rules-examples{display:flex;gap:15px;flex-wrap:wrap;margin:0 0 25px}.rules-examples span{background:#ffffff05;border:1px solid #ffffff13;padding:12px;font-size:11px;color:#bfbbc9;border-radius:4px}.class-guide-modal h3{margin:23px 0 10px}.class-guide-modal p{line-height:1.8}.family-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:24px 0}.family-tiers>div{border:1px solid #ffffff20;border-radius:5px;padding:20px;background:#ffffff03}.family-tiers .active{border-color:#b6c68f;background:#aabe7910}.family-tiers strong{font-size:18px}.family-tiers p{font-size:13px;margin:10px 0 0}.family-members{margin:26px 0;grid-template-columns:repeat(4,minmax(0,1fr))}.family-members .card-name{font-size:clamp(16px,10cqw,29px)!important}#collection-results{scroll-margin-top:100px}
.summon-content h1{font-size:clamp(29px,4.8vw,68px);max-width:100%;overflow-wrap:anywhere}.summon-content{min-width:0}
@media(max-width:1000px){.roster-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-search{grid-column:span 2}.class-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.banner-collection{margin-left:0}.roster-filters .select-filter{font-size:11px}}
@media(max-width:620px){.roster-filters{padding:17px;gap:14px}.roster-filter>span{font-size:10px}.roster-filter .search-box{font-size:12px}.roster-filter .select-filter{font-size:10px;padding:10px 6px}.owned-switch{grid-column:span 2}.roster-actions{gap:7px}.roster-actions .button{padding:10px;font-size:9px}.roster-pagination .button{min-width:90px;font-size:9px;padding:10px 8px}.roster-pagination>span{font-size:10px}.roster-note{font-size:10px!important}.class-detail{gap:15px}.class-detail strong{font-size:16px}.class-detail span{font-size:10px}.four-stats{gap:8px}.four-stats strong{font-size:23px}.family-members{grid-template-columns:repeat(2,minmax(0,1fr))}.family-tiers{gap:10px}.family-tiers>div{padding:14px}.family-tiers p{font-size:11px}.team-slot .four-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;text-align:center}.team-slot .four-stats strong{font-size:18px}.team-slot .slot-heading{min-height:30px;font-size:7px;gap:4px;flex-wrap:wrap}.team-slot .combat-stat-caption{font-size:8px;text-align:center}.banner-collection{width:100%;font-size:10px}.banner-collection .select-filter{flex:1;max-width:none;min-width:0}.character-card.card-fullart .equipped-label{top:70px}.character-card .card-class{font-size:clamp(5px,3.2cqw,9px)}.class-guide-grid article{padding:14px 10px}.class-guide-grid strong{font-size:15px}.rules-examples{gap:7px}.rules-examples span{width:100%}.fighter-class{font-size:8px}.team-information .stat-list strong{font-size:28px}}
