.page-loading{min-height:calc(100vh - 84px);display:grid;place-items:center;padding:32px}.loading-state{max-width:480px;text-align:center;padding:42px}.loading-state>span{display:block;width:34px;height:34px;margin:0 auto 18px;border:3px solid #394b9e;border-top-color:#9a4dff;border-radius:50%;animation:combat-spin .8s linear infinite}.loading-state h1{margin:0;font-size:28px}.loading-state p{color:#aeb8dc;line-height:1.5}.empty-state{grid-column:1/-1;text-align:center;padding:32px}.empty-state h2{margin-top:0}@keyframes combat-spin{to{transform:rotate(360deg)}}
.home-details-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 25px;background:linear-gradient(110deg,#233f89,#652d8d)}.home-details-head>div{display:flex;gap:14px;align-items:center}.home-details-head h2{margin:4px 0 0;font-family:'Barlow Condensed',Impact,sans-serif;font-size:32px}.home-details-head img,.home-details-team-logo{width:56px;height:56px;display:grid;place-items:center;object-fit:contain;border-radius:9px;background:#17204b;color:#d9c8ff;font-style:normal;font-size:10px;font-weight:800}.home-details-content{padding:24px 25px;max-height:min(65vh,580px);overflow:auto}.home-details-content p{line-height:1.55}.home-details-content hr{border:0;border-top:1px solid #2b3566;margin:18px 0}.home-details-content h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:24px;margin:0 0 10px}.home-details-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.home-details-actions .admin-button{margin:0;text-decoration:none}.home-details-roster{display:grid;gap:7px;padding:0;margin:0;list-style:none}.home-details-roster li{padding:9px 11px;border:1px solid #2c3564;border-radius:7px;background:#161c38}.home-details-roster em{float:right;color:#ffd34f;font-size:10px;font-style:normal;letter-spacing:.7px}.home-details-socials{display:flex;gap:9px;margin-top:17px}.home-details-loading{min-width:min(400px,calc(100vw - 64px));text-align:center}.home-details-loading>span{display:block;width:32px;height:32px;margin:0 auto 14px;border:3px solid #394b9e;border-top-color:#9a4dff;border-radius:50%;animation:combat-spin .8s linear infinite}@media(max-width:620px){.home-details-head{padding:18px}.home-details-head h2{font-size:27px}.home-details-content{padding:20px}.home-details-loading{min-width:0}.home-details-head img,.home-details-team-logo{width:46px;height:46px}}
.roster-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.roster-pagination button{border:1px solid #485384;border-radius:6px;background:#1b2144;color:#edf0ff;padding:7px 9px;font-weight:800;cursor:pointer;font-size:11px}.roster-pagination button:disabled{opacity:.4;cursor:not-allowed}.roster-pagination span{color:#aeb9dd;font-size:11px}@media(max-width:480px){.roster-pagination{justify-content:space-between}.roster-pagination button{padding:7px}}
.ranking-panel td:nth-child(2){padding-top:8px;padding-bottom:8px}.ranking-team-link{display:flex;align-items:center;gap:11px;min-width:250px;color:#f5f7ff!important;text-decoration:none!important}.ranking-team-logo{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border:1px solid #43548e;border-radius:9px;background:linear-gradient(135deg,#253763,#542b7c);color:#d8c5ff;font-style:normal;font-size:10px;font-weight:900;letter-spacing:.4px}.ranking-team-copy{display:grid;gap:3px;min-width:0}.ranking-team-copy b{overflow:hidden;color:#f8f9ff;font-size:14px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.ranking-team-copy small{color:#99a9d8;font-size:10px;font-weight:700;letter-spacing:.25px}.ranking-team-link em{margin-left:auto;color:#a973ff;font-size:17px;font-style:normal;opacity:0;transform:translateX(-5px);transition:opacity .16s,transform .16s}.ranking-panel tbody tr:hover .ranking-team-link em,.ranking-team-link:focus-visible em{opacity:1;transform:translateX(0)}.ranking-team-link:focus-visible{outline:2px solid #a973ff;outline-offset:4px;border-radius:8px}@media(max-width:620px){.ranking-team-link{min-width:0;gap:8px}.ranking-team-logo{width:32px;height:32px}.ranking-team-copy b{font-size:12px}.ranking-team-copy small{font-size:9px}.ranking-team-link em{display:none}}

/* Fixed grid tracks keep intrinsic image dimensions from stretching logo tiles. */
.ranking-team-logo,.highlight-logo,.team-of-day-logo,.prize-team i{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.ranking-team-logo img,.highlight-logo img,.team-of-day-logo img,.prize-team i img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.home-details-actions .team-details-page-link { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; box-sizing: border-box; text-align: center; }
