/* TEN homepage styling */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');
@font-face{font-family:Ethnocentric;src:url('assets/ethnocentric-regular-webfont.woff2') format('woff2');font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;overflow-x:hidden;background:#fff;color:#080808;font-family:Poppins,sans-serif;line-height:1.5}
.font-ethnocentric{font-family:Ethnocentric,Poppins,sans-serif}
/* UEN-style section headings: heavy italic display font */
#schedule h2,#varsity-ranking h3,#latest-news h2{
 font-family:Ethnocentric,Poppins,sans-serif;
 font-weight:900;font-style:italic;
 letter-spacing:.02em!important;text-transform:uppercase;color:#0a0a0a;
 font-size:clamp(1.9rem,4.4vw,2.9rem);line-height:1.05
}
#schedule-cards h3,#schedule-cards article span,#ranking-list,#news-cards{font-family:Poppins,sans-serif}
#schedule-cards article>div:nth-child(2)>span{font-style:italic;font-weight:900;letter-spacing:.06em}
body>header{position:sticky;top:0;width:100%;height:80px;padding:0;background:#443cff;box-shadow:none;backdrop-filter:none;z-index:110}
/* UEN palette: vivid indigo header/actions and charcoal footer */
footer.bg-slate-950{background:#3d3f40!important}
footer.bg-slate-950 .border-slate-800{border-color:#5a5c5d!important}
footer.bg-slate-950 .text-slate-400{color:#e7e7e7!important}
footer.bg-slate-950 .text-slate-300{color:#f0f0f0!important}
footer.bg-slate-950 .text-slate-500{color:#ededed!important}
footer.bg-slate-950 a svg,
footer.bg-slate-950 a svg path,
footer.bg-slate-950 a svg circle,
footer.bg-slate-950 a svg polygon,
footer.bg-slate-950 a svg rect,
footer.bg-slate-950 a svg ellipse{fill:#bdbdbd!important;stroke:#bdbdbd!important;transition:opacity .2s ease}
footer.bg-slate-950 a:hover svg,
footer.bg-slate-950 a:hover svg path,
footer.bg-slate-950 a:hover svg circle,
footer.bg-slate-950 a:hover svg polygon,
footer.bg-slate-950 a:hover svg rect,
footer.bg-slate-950 a:hover svg ellipse{opacity:.8}
body>main{margin:0;padding:0;min-height:0;display:block;overflow:visible}
/* UEN-style hero: slanted indigo panel overlapping a boxed video */
#hero{margin:0;padding:0;background:#fff!important;height:auto!important;min-height:620px;padding:60px 0}
#hero>div:first-child{position:absolute;right:0;top:60px;bottom:60px;height:auto!important;width:60%!important;background:#000}
#hero>div:first-child iframe{width:100%;height:100%;display:block}
#hero>div:nth-child(2){position:relative;z-index:10}
#hero>div:nth-child(2)>div{
 width:42%!important;background:#443cff!important;
 clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);
 padding:60px 46px 60px 68px!important;box-shadow:none!important;
 min-height:450px;justify-content:center
}
#hero h1{font-family:Poppins,sans-serif!important;font-weight:800;font-size:3rem;line-height:1.06;text-transform:uppercase}
#hero p{font-size:.95rem;font-weight:600;line-height:1.7;margin-bottom:26px!important}
#hero>div:nth-child(2)>div>span:first-child{display:none}
#hero a{clip-path:none!important;border-radius:2px;font-size:.85rem;padding:8px 18px!important}
#schedule,#varsity-ranking,#latest-news{width:100%}
#schedule-cards{border-left:1px solid #cbd5e1;border-right:1px solid #cbd5e1}
.btn-cut-corner{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);padding:10px 28px;background:#fff;color:#403cff;font-weight:700;display:inline-block}
/* Varsity ranking filter controls */
#varsity-ranking .filter-tag{
  width:190px;height:40px;padding:0 17px 0 16px;
  display:flex;align-items:center;justify-content:space-between;
  background:#403cff;color:#fff;border:0;border-radius:0;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  font-family:Poppins,sans-serif;font-size:14px;font-weight:700;
  cursor:pointer;transition:background-color .2s ease,transform .2s ease;
}
#varsity-ranking .filter-tag:hover,#varsity-ranking .filter-tag:focus-visible{background:#302bdd;outline:none}
#varsity-ranking .filter-tag:active{transform:translateY(1px)}
#varsity-ranking .filter-tag svg{flex:none}
@media (max-width:640px){#varsity-ranking .filter-tag{width:calc(50vw - 26px);min-width:140px;padding-left:14px;padding-right:14px}}

/* UEN-style schedule rows */
#schedule-cards>article{grid-template-columns:1fr 1.45fr 180px!important;min-height:104px;padding:16px 24px!important;border-bottom:1px solid #cbd5e1!important;background:#fff}
#schedule-cards>article>div:first-child{grid-column:auto!important;align-items:center;text-align:center!important}
#schedule-cards>article>div:nth-child(2){grid-column:auto!important}
#schedule-cards>article>div:last-child{grid-column:auto!important;justify-content:flex-end}
#schedule-cards h3{font-size:16px;line-height:1.35;white-space:normal!important;max-width:310px;margin:0 auto}
#schedule-cards article>div:first-child p{font-size:13px;font-weight:700;margin-top:7px}
#schedule-cards article>div:nth-child(2){gap:14px}
#schedule-cards article>div:nth-child(2)>div{gap:10px}
/* white bordered crest box */
#schedule-cards .match-logo{
  width:72px;height:72px;flex:none;border:1px solid #e2e8f0;background:#fff;
  border-radius:0;padding:4px;display:flex;align-items:center;justify-content:center;overflow:hidden
}
#schedule-cards .match-logo img{width:100%;height:100%;object-fit:contain}
#schedule-cards .match-team{font-size:14px;font-weight:700;color:#0f172a}
#schedule-cards .verified-badge{width:16px;height:16px;flex:none;color:#403cff}
#schedule-cards article>div:nth-child(2)>span{width:90px;font-size:22px;letter-spacing:.08em}
/* flat blue action button */
#schedule-cards article button{
  min-width:150px;padding:11px 25px;background:#403cff!important;color:#fff;
  clip-path:none!important;border-radius:6px;box-shadow:none;font-weight:700;
  font-size:15px;letter-spacing:.01em;cursor:pointer;border:0;
  transition:background-color .2s ease,transform .2s ease
}
#schedule-cards article button:active{transform:translateY(1px)}
#schedule-cards article button:hover{background:#302bdd!important}
#schedule-cards article button a{color:#fff!important;font-weight:700}
@media(max-width:767px){
 body>header{height:64px}
 #hero{height:auto;min-height:0;align-items:stretch;padding:0!important}
 #hero>div:first-child{position:relative!important;top:auto;bottom:auto;width:100%!important;height:230px!important;inset:auto}
 #hero>div:nth-child(2){padding-left:0;padding-right:0}
 #hero>div:nth-child(2)>div{width:100%!important;padding:36px 24px!important;clip-path:none!important;min-height:0}
 #hero h1{font-size:2.35rem}
 #hero p{font-size:.92rem;line-height:1.6}
 #schedule-cards>article{display:flex!important;flex-direction:column;gap:14px;align-items:stretch;padding:20px 16px!important}
 #schedule-cards>article>div:first-child,#schedule-cards>article>div:nth-child(2),#schedule-cards>article>div:last-child{width:100%;justify-content:center!important}
 #schedule-cards article button{width:100%}
 #schedule-cards .match-logo{width:56px;height:56px}
 #schedule-cards article>div:nth-child(2)>span{width:70px;font-size:19px}
}

/* Responsive site-wide layout tuning */
@media (max-width: 1024px){
  #hero>div:nth-child(2)>div{width:48%!important;padding-right:30px!important;padding-left:48px!important}
  #hero h1{font-size:2.6rem}
  #varsity-ranking .filter-tag{width:170px}
  #latest-news .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer .grid{grid-template-columns:1.2fr 1fr}
}

@media (max-width: 768px){
  body{overflow-x:hidden}
  header .mx-auto{gap:12px}
  header .text-2xl{font-size:1.7rem}
  header .text-[10px]{letter-spacing:.12em}
  .btn-cut-corner{padding:8px 14px;font-size:.76rem}
  #hero{min-height:540px}
  #hero>div:nth-child(2)>div{width:100%!important;padding:32px 22px!important;clip-path:none!important}
  #hero h1{font-size:2.2rem;line-height:1.08}
  #hero p{max-width:100%;font-size:.9rem}
  #hero a{width:fit-content}
  #schedule .mx-auto,#latest-news .mx-auto{padding-left:1rem;padding-right:1rem}
  #schedule-cards>article{grid-template-columns:1fr!important;gap:12px;padding:18px 16px!important}
  #schedule-cards>article>div:last-child{justify-content:center!important}
  #schedule-cards>article .match-team{font-size:13px}
  #varsity-ranking .filter-tag{min-width:0;width:calc(50% - 10px)}
  #latest-news .grid{grid-template-columns:1fr}
  .site-footer .grid{grid-template-columns:1fr}
  .site-footer .mt-12{margin-top:2rem}
  .site-footer .social-link{margin-top:0}
}

@media (max-width: 560px){
  body>header{height:60px;padding-left:12px;padding-right:12px}
  header .flex-col span:first-child{font-size:1.6rem}
  header .flex-col span:last-child{display:none}
  .btn-cut-corner{display:none}
  #mobile-menu-btn{width:2.4rem;height:2.4rem}
  #mobile-menu{width:82vw;max-width:320px;padding:20px 18px}
  #hero{min-height:480px}
  #hero>div:first-child{height:210px}
  #hero h1{font-size:1.85rem}
  #hero p{font-size:.82rem;line-height:1.55}
  #varsity-ranking .filter-tag{width:100%}
  #varsity-ranking .flex.gap-5{width:100%;flex-direction:column}
  #varsity-ranking .filter-tag span{font-size:13px}
  #ranking-list>div{grid-template-columns:54px 1fr 90px!important;column-gap:8px}
  #ranking-list .text-right{font-size:13px}
  #ranking-list a{font-size:13px}
  #backToTopBtn{right:18px;bottom:18px;width:44px;height:44px}
  .site-footer{padding-bottom:1.5rem}
  .site-footer .text-2xl{font-size:1.4rem;letter-spacing:.12em}
  .site-footer .grid{gap:1.5rem}
  .site-footer .space-y-3 li{margin-bottom:.6rem}
}

@media (min-width: 768px){#hero>div:nth-child(2)>div{min-height:390px}}

.site-footer { background:#1f1f1f; }
.site-footer .social-link svg,
.site-footer .social-link path,
.site-footer .footer-social-icon,
.site-footer .footer-social-icon path { fill: #bdbdbd !important; stroke: #bdbdbd !important; color: #bdbdbd !important; }
@media (prefers-reduced-motion: reduce){
  #mobile-menu-btn .hamburger-bar{transition:none!important} 
  #mobile-menu-btn{transition:none!important}
}

/* Animated hamburger -> X (exact profile-style menu icon) */
:root{--hamburger-duration:350ms;--hamburger-ease:cubic-bezier(.22,1,.36,1);--hamburger-scale-hover:1.06;--hamburger-mid-fade:200ms;--hamburger-mid-delay:40ms}
#mobile-menu-btn,.mobile-menu-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);transition:transform .2s ease,background-color .2s ease,border-color .2s ease}
#mobile-menu-btn:hover,#mobile-menu-btn:focus-visible,.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{transform:scale(1.04);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}
#mobile-menu-btn:active,.mobile-menu-toggle:active{transform:scale(.97)}
#mobile-menu-btn .hamburger-bar,.mobile-menu-toggle .hamburger-bar{position:absolute;left:50%;top:50%;width:22px;height:2px;border-radius:9999px;background:#fff;transform-origin:center;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .2s ease}
#mobile-menu-btn .hamburger-bar.top,.mobile-menu-toggle .hamburger-bar.top{transform:translate(-50%,-8px)}
#mobile-menu-btn .hamburger-bar.middle,.mobile-menu-toggle .hamburger-bar.middle{transform:translate(-50%,0);opacity:1;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .2s ease .04s}
#mobile-menu-btn .hamburger-bar.bottom,.mobile-menu-toggle .hamburger-bar.bottom{transform:translate(-50%,8px)}
#mobile-menu-btn.active .hamburger-bar.top,.mobile-menu-toggle.active .hamburger-bar.top{transform:translate(-50%,0) rotate(45deg)}
#mobile-menu-btn.active .hamburger-bar.middle,.mobile-menu-toggle.active .hamburger-bar.middle{opacity:0;transform:translate(-50%,0) scale(.78)}
#mobile-menu-btn.active .hamburger-bar.bottom,.mobile-menu-toggle.active .hamburger-bar.bottom{transform:translate(-50%,0) rotate(-45deg)}
#mobile-menu-btn .hamburger-bar{box-shadow:0 1px 0 rgba(255,255,255,.06)}

/* Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce){
  #mobile-menu-btn .hamburger-bar{transition:none!important}
  #mobile-menu-btn{transition:none!important}
}

/* News card image edit buttons */
/* News image edit UI removed - styles cleaned up */

/* Admin panel styles */
#admin-toggle-btn{position:fixed;right:18px;bottom:18px;z-index:1200;background:#0b5cff;color:#fff;padding:8px 12px;border-radius:10px;border:none;cursor:pointer;box-shadow:0 6px 20px rgba(11,92,255,0.18)}
#admin-panel{position:fixed;right:18px;bottom:72px;z-index:1200;width:340px;max-height:70vh;overflow:auto;background:#fff;color:#0f1724;padding:12px;border-radius:12px;box-shadow:0 12px 40px rgba(2,6,23,0.15)}
#admin-panel.hidden{display:none}
.admin-panel-header{display:flex;gap:8px;align-items:center;justify-content:space-between}
.admin-entries{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.admin-entry{background:#f8fafc;border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:6px}
.admin-entry input,.admin-entry textarea{width:100%;padding:6px;border:1px solid #e2e8f0;border-radius:6px}
.admin-entry-actions{display:flex;gap:8px;justify-content:flex-end}
.admin-entry-actions button{padding:6px 8px;border-radius:6px;border:0;cursor:pointer}
.admin-entry-actions .admin-save{background:#0b5cff;color:#fff}
.admin-entry-actions .admin-remove{background:#ef4444;color:#fff}
