:root{
  --ink:#0b0c0e;
  --ink2:#15171a;
  --ink3:#222428;
  --red:#c9161d;
  --red2:#a80f15;
  --paper:#f7f7f6;
  --white:#fff;
  --text:#17191c;
  --muted:#687078;
  --line:#d8dadd;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f4f4f3;color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.page-shell{width:min(1480px,calc(100% - 48px));margin:0 auto}

/* ===== HEADER ===== */
.site-header{
  position:relative;isolation:isolate;overflow:hidden;color:#fff;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46)),
    radial-gradient(ellipse at 50% 112%,#282b30 0%,#111316 38%,#08090a 70%);
  border-bottom:4px solid var(--red);
}
.site-header::before{
  content:"";position:absolute;z-index:-2;inset:auto -8% 0;height:50%;opacity:.26;
  background:
    repeating-linear-gradient(74deg,transparent 0 13px,rgba(255,255,255,.05) 14px 15px,transparent 16px 28px),
    linear-gradient(180deg,transparent,rgba(0,0,0,.55));
  transform:perspective(700px) rotateX(58deg);transform-origin:bottom;
}
.site-header::after{
  content:"";position:absolute;z-index:-1;left:50%;bottom:-108px;transform:translateX(-50%);width:740px;height:180px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 -18px 80px rgba(255,255,255,.02);
}
.header-glow{position:absolute;top:-32px;width:170px;height:100px;background:radial-gradient(ellipse,#fff 0 2%,rgba(255,255,255,.42) 3%,rgba(255,255,255,.08) 18%,transparent 62%);filter:blur(1px);opacity:.65}
.header-glow-left{left:21%}.header-glow-right{right:20%}
.header-grid{min-height:166px;display:grid;grid-template-columns:150px 1fr 300px;align-items:center;gap:22px}
.site-logo{display:block;width:102px;margin-left:6px;text-decoration:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.38))}
.site-logo img{display:block;width:100%;height:auto}
.site-title{align-self:center;text-align:center;text-decoration:none;color:#fff;display:flex;flex-direction:column;align-items:center}
.title-line{font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif;font-size:clamp(4.2rem,6.6vw,6.3rem);font-weight:900;line-height:.82;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 4px 0 #000,0 5px 16px rgba(0,0,0,.45)}
.title-line b{font-weight:900;color:#f6f6f6;-webkit-text-stroke:1px rgba(255,255,255,.22)}
.title-line strong{color:#d6262d;-webkit-text-stroke:1px #6d090d;text-shadow:0 4px 0 #62070b,0 6px 14px rgba(0,0,0,.48)}
.title-sub{margin-top:17px;font-family:"Barlow Condensed",Arial,sans-serif;text-transform:uppercase;font-size:.97rem;line-height:1;font-weight:800;letter-spacing:.07em;color:#f5f5f5}
.site-nav{display:flex;justify-content:flex-end;gap:42px;align-items:center;padding-right:6px}
.site-nav a{position:relative;text-decoration:none;text-transform:uppercase;color:#f3f3f3;font-family:"Barlow Condensed",Arial,sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:.02em;padding:14px 0 17px}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:5px;background:transparent}
.site-nav a.active::after,.site-nav a:hover::after{background:var(--red)}

/* ===== PAGE GRID ===== */
.rankings-page{padding:31px 0 0;background:linear-gradient(180deg,#fafafa 0,#f5f5f4 78%,#f1f1f0 100%)}
.rankings-grid{display:grid;grid-template-columns:190px minmax(0,1020px) 190px;justify-content:center;gap:32px;align-items:start}
.rankings-content{min-width:0}
.ad-column{position:sticky;top:20px}
.ad-label{display:block;text-align:center;margin:0 0 10px;text-transform:uppercase;color:#777b80;font-size:.64rem;font-weight:600;letter-spacing:.04em}
.adsense-side{width:100%;min-height:600px;overflow:hidden}
.adsense-side .adsbygoogle{width:100%;min-height:600px}

/* ===== CONTROLS ===== */
.controls-wrap{padding:0 8px 26px}
.rank-form{display:grid;grid-template-columns:1fr 1.15fr 1fr auto;gap:28px;align-items:end}
.field{display:grid;gap:8px}
.field>span{font-family:"Barlow Condensed",Arial,sans-serif;text-transform:uppercase;font-size:.8rem;font-weight:800;letter-spacing:.02em;color:#17191b}
select{height:43px;width:100%;border:1px solid #c9cbcf;border-radius:2px;background:#fff;color:#16181b;padding:0 13px;font:600 .85rem Inter,Arial,sans-serif;box-shadow:0 1px 2px rgba(0,0,0,.025)}
select:focus{outline:3px solid rgba(201,22,29,.09);border-color:var(--red)}
.generate-btn{height:43px;border:0;border-radius:2px;background:linear-gradient(180deg,#d32128,#b80f15);color:#fff;padding:0 23px;font:800 .79rem Inter,Arial,sans-serif;text-transform:uppercase;white-space:nowrap;cursor:pointer;box-shadow:0 2px 4px rgba(112,5,10,.22)}
.generate-btn:hover{background:linear-gradient(180deg,#df2830,#c61219)}
.trophy{font-size:.78rem;margin-right:7px}

/* ===== ALERT ===== */
.alert{margin:0 0 16px;background:#fff;border:1px solid #d6d8da;border-left:4px solid var(--red);padding:12px 14px;display:grid;gap:4px;font-size:.82rem}.alert span{color:var(--muted)}

/* ===== RANK PANEL ===== */
.rank-panel{background:#fff;border:1px solid #c8cace;box-shadow:0 3px 11px rgba(0,0,0,.055)}
.rank-panel-head{min-height:79px;background:linear-gradient(180deg,#111315 0%,#070809 100%);color:#fff;display:flex;align-items:center;justify-content:center;gap:25px;text-align:center;padding:14px 18px;border-bottom:1px solid #393b3e}
.rank-panel-head h1{margin:0;font-family:"Barlow Condensed",Arial,sans-serif;font-size:1.55rem;font-weight:900;letter-spacing:.035em}
.rank-panel-head p{margin:6px 0 0;color:#d3d4d5;font-size:.78rem;font-weight:500}.rank-panel-head p b{margin:0 8px;color:#fff;font-weight:400}
.head-rule{width:52px;height:4px;background:var(--red)}
.table-scroll{overflow:auto}
table{width:100%;border-collapse:collapse}
.rank-table thead th,.mini-table thead th{height:42px;background:linear-gradient(#26282a,#17191b);color:#fff;text-align:left;padding:0 14px;border-right:1px solid #33363a;font-family:"Barlow Condensed",Arial,sans-serif;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.rank-table thead th:last-child,.mini-table thead th:last-child{border-right:0}
.rank-table tbody td,.mini-table tbody td{height:41px;padding:0 14px;background:#fff;border-top:1px solid #dedfe1;border-right:1px solid #ececee;font-size:.8rem}
.rank-table tbody tr:nth-child(even) td{background:#f5f5f5}.rank-table tbody tr:hover td{background:#fff6f6}.rank-table tbody td:last-child,.mini-table tbody td:last-child{border-right:0}
.rank-head{width:64px;text-align:center!important}.rank-number{width:64px;text-align:center!important;background:linear-gradient(180deg,#df2a30,#c5141a)!important;color:#fff;font-weight:800!important;border-right:1px solid #a70b11!important}
.team-name{font-weight:700}.conference,.record,.sos{color:#34383c}.score-head{text-align:right!important}.score{text-align:right!important;color:#b40e14;font-weight:800}
.rank-panel-foot{display:flex;justify-content:center;gap:28px;padding:10px 14px;background:#fafafa;border-top:1px solid #dfe0e2;color:#6d7278;font-size:.68rem}

/* Empty state: polished, not oversized */
.rank-panel.is-empty .rank-panel-head{min-height:77px}
.empty-state{min-height:330px;padding:35px 52px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#fff 0,#fbfbfb 100%)}
.empty-state img{width:76px;opacity:.96;filter:drop-shadow(0 4px 5px rgba(0,0,0,.16))}
.empty-state h2{margin:16px 0 7px;font-family:"Barlow Condensed",Arial,sans-serif;font-size:1.5rem;text-transform:uppercase;letter-spacing:.02em}
.empty-state p{max-width:630px;margin:0;color:#666d74;font-size:.82rem;line-height:1.55}
.factor-strip{width:min(760px,100%);display:grid;grid-template-columns:repeat(4,1fr);margin-top:25px;border-top:1px solid #dedfe1;border-bottom:1px solid #dedfe1}
.factor-strip span{padding:11px 7px;border-right:1px solid #e2e3e5;font-family:"Barlow Condensed",Arial,sans-serif;text-transform:uppercase;font-size:.76rem;font-weight:800;color:#53585e}.factor-strip span:last-child{border-right:0}

/* ===== BELOW TABLE ===== */
.supporting-results{padding:18px 0 34px}
.bottom-ad>.ad-label{margin-bottom:7px}.adsense-bottom{width:100%;min-height:90px;overflow:hidden}.adsense-bottom .adsbygoogle{width:100%;min-height:90px}
.details-stack{display:grid;gap:7px;margin-top:15px}
.detail-card{background:#fff;border:1px solid #d1d3d6}.detail-card summary{cursor:pointer;list-style:none;position:relative;padding:11px 14px;font-family:"Barlow Condensed",Arial,sans-serif;text-transform:uppercase;font-size:.8rem;font-weight:800}.detail-card summary::-webkit-details-marker{display:none}.detail-card summary::after{content:"+";position:absolute;right:14px;color:var(--red);font-size:1.05rem;top:8px}.detail-card[open] summary::after{content:"−"}.detail-card[open] summary{background:#f7f7f7;border-bottom:1px solid #dddfe1}
.detail-card ol{list-style:none;margin:0;padding:0 14px 10px}.detail-card li,.vs-grid>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eceeef;font-size:.76rem}.detail-card li:last-child{border-bottom:0}.detail-empty{margin:0;padding:13px 14px;color:#686e74;font-size:.78rem}.vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:0 14px 10px}
.mini-table tbody td{padding:10px 12px;height:auto}

/* ===== INFO / LEGAL PAGES ===== */
.info-page{max-width:940px;padding:42px 0 56px}.info-card{background:#fff;border:1px solid #d4d6d9;border-top:5px solid var(--red);padding:38px 44px;box-shadow:0 3px 12px rgba(0,0,0,.045);line-height:1.65}.info-card h2{margin:0 0 10px;font-family:"Barlow Condensed",Arial,sans-serif;font-size:2rem;text-transform:uppercase}.info-card h3{margin:27px 0 7px;font-size:1rem}.info-card p,.info-card li{font-size:.9rem;color:#474e55}.info-card a{color:#b20e14;font-weight:700}.info-note{padding:12px 14px;border-left:3px solid var(--red);background:#f7f7f7}

/* ===== FOOTER ===== */
.site-footer{position:relative;background:linear-gradient(180deg,#0e1012,#08090a);color:#e8e8e8;border-top:4px solid var(--red);overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0;opacity:.09;background:repeating-linear-gradient(105deg,transparent 0 28px,#fff 29px 30px,transparent 31px 62px),radial-gradient(circle at 50% 150%,#fff 0,transparent 47%)}
.footer-grid{position:relative;display:grid;grid-template-columns:1.35fr 1.25fr .85fr 1.25fr;gap:48px;align-items:center;padding:25px 0 22px}
.footer-about{display:grid;grid-template-columns:78px 1fr;gap:16px;align-items:center}.footer-about img{width:66px}.footer-about p,.footer-affiliation p{margin:0;color:#d5d6d7;font-size:.72rem;line-height:1.55}
.footer-label{display:block;margin-bottom:7px;color:#a6a9ad;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.footer-source a{display:block;color:#fff;text-decoration:none;font-weight:800;font-size:.96rem;margin-bottom:4px}.footer-source small{color:#c9cbcd;font-size:.68rem}.footer-legal>div{display:flex;align-items:center;gap:10px}.footer-legal a{color:#e4242b;text-decoration:none;font-weight:700;font-size:.8rem}.footer-legal i{width:1px;height:16px;background:#5c5f63}.footer-bottom{position:relative;text-align:center;border-top:1px solid #27292c;padding:10px 0;color:#d0d2d3;font-size:.69rem}

/* ===== RESPONSIVE ===== */
@media(max-width:1260px){.page-shell{width:min(1180px,calc(100% - 36px))}.header-grid{grid-template-columns:120px 1fr 250px}.site-logo{width:88px}.rankings-grid{grid-template-columns:160px minmax(0,820px) 160px;gap:22px}.rank-form{gap:16px}.generate-btn{padding:0 16px}.site-nav{gap:25px}.title-line{font-size:5rem}}
@media(max-width:1050px){.rankings-grid{grid-template-columns:minmax(0,940px)}.ad-column{display:none}.header-grid{grid-template-columns:105px 1fr auto}.footer-grid{grid-template-columns:1fr 1fr;gap:26px 44px}}
@media(max-width:760px){.page-shell{width:calc(100% - 20px)}.header-grid{grid-template-columns:1fr;min-height:auto;padding:17px 0 13px;gap:12px;text-align:center}.site-logo{display:none}.title-line{font-size:3.5rem}.title-sub{font-size:.7rem;margin-top:9px}.site-nav{justify-content:center;padding:0;gap:28px}.site-nav a{font-size:.85rem;padding:8px 0 10px}.rankings-page{padding-top:19px}.rank-form{grid-template-columns:1fr;gap:12px}.controls-wrap{padding:0 0 19px}.generate-btn{width:100%}.rank-panel-head{gap:12px}.head-rule{width:26px}.rank-panel-head h1{font-size:1.2rem}.rank-panel-head p{font-size:.68rem}.rank-table thead th:nth-child(3),.rank-table tbody td:nth-child(3),.rank-table thead th:nth-child(5),.rank-table tbody td:nth-child(5){display:none}.rank-table tbody td,.rank-table thead th{padding:0 10px}.rank-panel-foot{flex-direction:column;gap:3px;text-align:center}.empty-state{padding:30px 20px}.factor-strip{grid-template-columns:1fr 1fr}.factor-strip span:nth-child(2){border-right:0}.factor-strip span{border-bottom:1px solid #e2e3e5}.vs-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-about{grid-template-columns:1fr}.footer-about img{margin:0 auto}.footer-legal>div{justify-content:center}.info-card{padding:28px 22px}}
