/* Shared graphite and lime visual system, based on the supplied reference. */
:root{--bg-1:#091216;--bg-2:#0d171b;--bg-3:#152126;--panel:#121e23;--panel-strong:#18252a;--line:rgba(194,210,216,.22);--line-strong:rgba(194,210,216,.4);--text-main:#f4f5f5;--text-sub:#b7c0c3;--accent:#c4db30;--accent-strong:#adca21;--mint:#c4db30;--shadow:0 12px 30px #0002;--bs-primary:#c4db30;--bs-primary-rgb:196,219,48;--bs-link-color:#c4db30}
html{scroll-behavior:smooth;scroll-padding-top:100px}body,body[data-page]{padding-top:82px;background:radial-gradient(ellipse at 75% 50%,#15222955,transparent 70%),#0a1418;color:var(--text-main);font-family:Roboto,Arial,sans-serif}body::before,body::after{display:none}h1,h2,h3,h4,h5,h6,.page-title,.section-title-main,.navbar-brand span{font-family:'Roboto Condensed',Roboto,Arial,sans-serif}a{color:var(--accent)}a:hover{color:#d8ec66}.page-shell,body[data-page] .page-shell{width:min(1180px,calc(100% - 64px))}main.page-shell{padding-bottom:40px!important}.navbar{height:82px;padding:0;border-bottom:1px solid var(--line);background:linear-gradient(110deg,#0b151af5,#0d191ef5);backdrop-filter:blur(20px)}.navbar>.page-shell{width:min(1420px,calc(100% - 56px))}.nav-panel,body[data-page] .nav-panel{margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.nav-panel>.container-fluid{display:flex;align-items:center;gap:36px}.nav-top{flex-shrink:0}.navbar-brand{gap:12px;margin:0;display:flex;align-items:center}.navbar-brand img,body[data-page] .navbar-brand img{width:74px;height:50px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1)}.brand-stack{display:flex;flex-direction:column;gap:0}.brand-stack span,body[data-page] .brand-stack span{font-family:Roboto,Arial,sans-serif;font-size:28px;font-weight:800!important;letter-spacing:.5px;line-height:1.1}.brand-stack small{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:#dce2e4}.public-nav{display:flex;align-items:center;gap:32px;margin-right:auto}.public-nav a{display:flex;align-items:center;gap:12px;height:58px;color:#f5f5f5;text-decoration:none;font-size:15px;white-space:nowrap}.public-nav a:first-child{border-bottom:2px solid var(--accent)}.public-nav i{font-size:22px}.nav-actions{align-items:center!important;gap:12px!important}.nav-actions .btn{padding:9px 15px;font-size:14px;border-radius:8px}.navbar .nav-actions #nav-sign{background:linear-gradient(#c9dc3c,#a1b91d);color:#0c1517;border:1px solid #c0d431;font-weight:700}.btn{border-radius:8px;font-weight:600;box-shadow:none!important}.btn-primary,.btn-success{background:linear-gradient(180deg,#ccdf42,#a4bd20)!important;border-color:#b7cd2a!important;color:#10170e!important}.btn-primary:hover,.btn-success:hover{filter:brightness(1.08)}.btn-outline-secondary{border-color:#a3b0b5!important;color:#f4f5f5!important;background:transparent!important}.btn-outline-secondary:hover{background:#ffffff0c!important}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.form-control,.form-select,.input-group-text,body[data-page] .form-control,body[data-page] .form-select{background-color:#0c171c!important;border-color:var(--line)!important;color:var(--text-main)!important;border-radius:8px}.form-control:focus,.form-select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px #c4db3022!important}.card-soft,.section-panel,.form-panel,.metric-card,.cup-card,.note-card,.status-row,.admin-tile,.cup-accordion-item{border-radius:12px;background:linear-gradient(135deg,#1b292f,#101b20);border-color:var(--line);box-shadow:none;backdrop-filter:none}.section-kicker,.page-kicker{background:transparent;border:0;border-radius:0;padding:0;color:var(--accent)}.page-title{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.02em}.table{--bs-table-bg:transparent;--bs-table-color:#f3f5f5;--bs-table-border-color:#a5b8c322;--bs-table-striped-bg:#ffffff03;--bs-table-hover-bg:#c4db3009}.table th{color:#c9d1d4;font-weight:500}.nav-tabs{border-color:var(--line)}.nav-tabs .nav-link{color:#d9dfe1;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent}.nav-tabs .nav-link.active{color:white;background:transparent;border-color:var(--accent)}.badge,.status-badge{border-radius:20px}.status-live,.race-live{color:#d3ed3c;background:#71871c33;border:1px solid #a7be24}.modal-card{background:#101d22;border:1px solid var(--line);border-radius:14px}.footer-panel{border-radius:0;background:none;border:0;border-top:1px solid var(--line);box-shadow:none}.mobile-bottom-nav{display:none}
/* Homepage: the desktop composition becomes a true mobile interface. */
body[data-page=home] main.page-shell{padding-top:0!important}.fishing-hero{position:relative;min-height:358px;margin-inline:calc((min(1180px,100vw - 64px) - 100vw)/2);background:linear-gradient(90deg,#07121670,transparent 80%),linear-gradient(0deg,#08131770,transparent 50%),url('/static/fishing-hero.webp') center 52%/cover;border-bottom:1px solid var(--line)}.fishing-hero-inner{width:min(1180px,calc(100% - 64px));margin:auto;padding:54px 0 38px}.fishing-kicker{font-size:12px;letter-spacing:6px;color:#d5e63e;margin:0 0 12px}.fishing-hero h1{font-family:'Roboto Condensed',sans-serif;font-weight:800;font-style:italic;font-size:clamp(36px,4.2vw,54px);line-height:1.04;margin:0;letter-spacing:-.8px;text-shadow:0 2px 8px #0005}.fishing-hero h1 em{color:#c4db3b}.hero-dash{display:block;width:24px;height:2px;background:var(--accent);margin:18px 0 12px}.fishing-copy{font-size:16px;line-height:1.45;margin:0 0 21px;color:#eef1f2}.fishing-actions{display:flex;gap:14px}.fishing-actions .btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:11px 20px;font-size:15px}.fishing-actions i{font-size:21px;line-height:1}.fishing-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 0 23px;border-bottom:1px solid var(--line);margin-bottom:10px;scroll-margin-top:95px}.fishing-metrics>div,.fishing-metrics>a{display:flex;align-items:center;gap:17px;border-right:1px solid var(--line);padding:0 25px;text-decoration:none;color:#f4f5f5}.fishing-metrics>:first-child{padding-left:15px}.fishing-metrics>:last-child{border:0}.fishing-metrics i{font-size:30px;color:var(--accent)}.fishing-metrics span{display:flex;flex-direction:column}.fishing-metrics strong{font-size:23px;font-weight:800;line-height:1.2}.fishing-metrics small{font-size:12px;margin-top:3px}.home-tabbar{display:flex;border-bottom:1px solid var(--line);margin:0 0 20px;scroll-margin-top:95px}.home-tabbar button{flex:1;background:none;color:white;border:0;border-bottom:3px solid transparent;padding:16px 8px;font-size:15px}.home-tabbar button.is-active{border-bottom-color:var(--accent);font-weight:700}.home-tab-panel[hidden],[hidden]{display:none!important}.home-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.race-card{border:1px solid #9daeb744;border-radius:12px;padding:13px;background:linear-gradient(120deg,#22313999,#101b2099);overflow:hidden}.race-card-main{display:flex;gap:20px;text-decoration:none;color:white;min-height:116px}.race-card-main:hover{color:white}.race-card-photo{flex:0 0 124px;border-radius:9px;background:url('/static/fishing-hero.webp') 44% center/cover}.race-card:nth-child(even) .race-card-photo{background-position:15% center}.race-card-copy{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding-top:18px}.race-card h3{font-family:Roboto,Arial,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.5px;margin:10px 0}.race-card p{display:flex;align-items:center;gap:10px;font-size:13px;margin:0 0 7px}.race-card p i{font-size:16px}.race-live{position:absolute;right:0;top:0;font-family:'Roboto Condensed',sans-serif;font-size:11px;font-weight:700;line-height:1;padding:5px 12px;border-radius:20px}.race-card-footer{display:flex;gap:12px;align-items:center;margin-top:10px;padding-top:3px}.race-card-footer span{display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px;font-weight:600;flex:1}.race-card-footer span:first-child,.race-card-footer span:nth-child(3){background:#ffffff07;border-radius:20px;padding:5px 8px}.race-card-footer a{display:grid;place-items:center;border:1px solid #82929c;border-radius:6px;color:white;width:42px;height:32px;font-size:22px}.home-teams-section{margin-top:28px;scroll-margin-top:95px}.home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.home-section-heading h2{font-size:22px;font-weight:700;margin:0}.home-section-heading h2:before{content:'/';font-style:italic;color:var(--accent);font-size:30px;margin-right:14px}.text-link{border:0;background:none;color:white;font-size:13px}.home-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.home-team-card.card-home{border:1px solid var(--line)!important;border-radius:10px!important;background:linear-gradient(135deg,#1b292f77,#0d181c)!important;box-shadow:none}.home-team-shell{align-items:center;text-align:center;padding:18px 12px;gap:8px}.home-team-head{flex-direction:column;align-items:center;gap:8px}.home-team-logo,.home-team-logo-placeholder{width:72px;height:60px;border:0;background:none;border-radius:0;box-shadow:none;object-fit:contain}.home-team-title{font-size:17px;line-height:1.1}.home-team-copy-top{justify-content:center}.home-team-description,.home-team-tag,.home-team-meta-pill:nth-child(2){display:none}.home-team-footer{justify-content:center;gap:5px}.home-team-meta-pill{border:0;background:none;font-size:12px;font-weight:400;min-height:24px;padding:0}.home-team-meta-pill i{color:white}.home-team-link{min-height:24px;font-size:11px;border:0;border-radius:4px;background:transparent;color:var(--text-sub);padding:0 7px}
/* Administration uses the same surfaces, accents and dense readable tables. */
body[data-page=admin] .admin-page,body[data-page=status] .status-page{padding-top:22px}body[data-page=admin] .admin-toolbar{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:24px}body[data-page=admin] .admin-page-title{font-family:'Roboto Condensed',sans-serif;font-size:40px;letter-spacing:-.5px}body[data-page=admin] .admin-page-title:before{content:'/';color:var(--accent);margin-right:14px}body[data-page=admin] .admin-toolbar-note{background:#c4db3008;border-color:var(--line);border-radius:8px}body[data-page=admin] .admin-quick-card,body[data-page=admin] .admin-section-panel,body[data-page=admin] .admin-organiser-card,body[data-page=admin] .admin-team-card,body[data-page=status] .status-card{background:linear-gradient(135deg,#1c2b30,#111d22)!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important}body[data-page=admin] .admin-quick-card{padding:24px;transition:border-color .15s,transform .15s}body[data-page=admin] .admin-quick-card:hover{border-color:var(--accent)!important;transform:translateY(-2px)}body[data-page=admin] .admin-quick-icon{background:#c4db3010;border:1px solid #c4db3033;border-radius:10px;color:var(--accent)}body[data-page=admin] .admin-quick-card strong{color:white}body[data-page=admin] .admin-subnav-link{border-radius:6px;background:#ffffff04;border:1px solid var(--line)}body[data-page=admin] .admin-subnav-link.is-active{background:#c4db3018;color:var(--accent);border-color:#c4db3066}body[data-page=admin] .admin-submit,body[data-page=admin] .admin-password-btn{box-shadow:none!important}body[data-page=admin] .admin-section-heading,body[data-page=admin] .admin-section-title{color:#f4f5f5}
@media(min-width:768px) and (max-width:1200px){.public-nav{gap:15px}.public-nav a{gap:7px;font-size:13px}.nav-panel>.container-fluid{gap:22px}.brand-stack span{font-size:23px}.navbar-brand img{width:55px}.nav-actions .btn{padding:8px 10px}.nav-actions{gap:6px!important}.race-card-main{gap:13px}.race-card-photo{flex-basis:110px}.fishing-metrics>div,.fishing-metrics>a{padding-inline:15px}}
@media(max-width:767px){html{scroll-padding-top:84px}body,body[data-page]{padding-top:76px!important;padding-bottom:74px}.page-shell,body[data-page] .page-shell{width:calc(100% - 28px)}.navbar{height:76px}.navbar>.page-shell{width:calc(100% - 30px)}.nav-panel>.container-fluid{display:block}.nav-top{display:flex;justify-content:space-between;align-items:center;width:100%}.navbar-brand img,body[data-page] .navbar-brand img{width:49px;height:36px}.brand-stack span,body[data-page] .brand-stack span{font-size:22px}.brand-stack small{font-size:8px;letter-spacing:1.3px}.navbar-toggler{border:0;padding:5px}.navbar-collapse{margin-inline:-15px;padding:12px 18px;background:#0d181dfc;border-bottom:1px solid var(--line)}.public-nav{gap:20px;justify-content:space-between;flex-wrap:wrap}.public-nav a{font-size:13px;height:44px;gap:6px}.nav-actions{flex-wrap:wrap;margin-top:12px!important}.fishing-hero{min-height:320px;margin-inline:-14px;background-position:61% center}.fishing-hero-inner{width:calc(100% - 36px);padding:40px 0 22px}.fishing-kicker{display:none}.fishing-hero h1{font-size:35px;line-height:1.02;max-width:310px}.fishing-copy{font-size:14px;margin:14px 0 18px}.hero-dash{display:none}.fishing-actions{flex-direction:column;gap:8px}.fishing-actions .btn{width:100%;padding:8px 10px;font-size:13px}.fishing-metrics{grid-template-columns:repeat(3,minmax(0,1fr));padding:15px 0;margin-bottom:7px}.fishing-metrics>a{display:none}.fishing-metrics>div{padding:0 10px!important;gap:10px}.fishing-metrics>div:nth-child(3){border:0}.fishing-metrics i{font-size:24px}.fishing-metrics strong{font-size:19px}.fishing-metrics small{font-size:9px}.home-tabbar{margin-bottom:14px}.home-tabbar button{font-size:12px;padding:15px 2px}.home-cards-grid{grid-template-columns:1fr;gap:12px}.race-card{padding:10px}.race-card-main{gap:16px;min-height:96px}.race-card-photo{flex-basis:96px}.race-card-copy{padding-top:15px}.race-card h3{font-size:17px;margin:7px 0}.race-card p{font-size:11px;gap:8px;margin-bottom:6px}.race-card p i{font-size:13px}.race-live{font-size:9px;padding:4px 9px}.race-card-footer{gap:8px;margin-top:8px}.race-card-footer span{font-size:12px}.race-card-footer a{height:29px;width:34px;font-size:19px}.home-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-section-heading h2{font-size:20px}.text-link{font-size:11px}.home-team-shell{padding:14px 8px}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1030;justify-content:space-around;align-items:center;padding:10px 5px max(12px,env(safe-area-inset-bottom));background:linear-gradient(#112027f5,#071216fa);border-top:1px solid var(--line);border-radius:16px 16px 0 0;backdrop-filter:blur(16px)}.mobile-bottom-nav a{display:flex;align-items:center;flex-direction:column;gap:3px;font-size:10px;text-decoration:none;color:#e9edef}.mobile-bottom-nav i{font-size:21px}.mobile-bottom-nav a:first-child{color:var(--accent)}.footer-shell{padding-bottom:20px}body[data-page=admin] .admin-page-title{font-size:32px}.section-panel,.form-panel{padding:18px}.fishing-metrics small{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.navbar .navbar-brand{max-width:none;padding:0;background:none;border:0;border-radius:0;box-shadow:none}.navbar .navbar-brand img{background:none;border:0;box-shadow:none}.navbar-dark .navbar-brand .brand-stack small{font-family:Roboto,Arial,sans-serif;font-weight:400}.navbar .nav-actions #nav-sign{background:linear-gradient(#c9dc3c,#a1b91d)!important;color:#10170e!important;border-color:#b7cd2a!important}

@media(min-width:768px){.navbar .nav-actions #nav-profile span,.navbar .nav-actions #nav-mycups span,.navbar .nav-actions #nav-addcup span,.navbar .nav-actions #nav-admin span{display:none}.navbar .nav-actions #nav-profile,.navbar .nav-actions #nav-mycups,.navbar .nav-actions #nav-addcup,.navbar .nav-actions #nav-admin{padding:9px 12px}.navbar .navbar-toggler{display:none}}
@media(max-width:767px){.navbar .nav-actions{flex-direction:row!important}.navbar .navbar-brand{max-width:calc(100% - 44px)}}

.navbar .navbar-brand,.navbar .navbar-brand img,body[data-page] .navbar .navbar-brand,body[data-page] .navbar .navbar-brand img{background:transparent;border:0;box-shadow:none;border-radius:0}

/* Quiet, compact footer; legal links should read as text, not action buttons. */
.footer-shell {
  padding-bottom: 28px;
}
.footer-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 0 0;
}
.footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
}
.footer-panel .footer-link,
.footer-panel .footer-pill {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #aab6ba;
  font-family: Roboto, Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}
.footer-panel .footer-link {
  padding: 6px 0;
  text-decoration: none;
}
.footer-panel .footer-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.footer-pill a {
  color: inherit;
  text-decoration: none;
}
.footer-panel .footer-link:hover,
.footer-pill a:hover {
  color: var(--text-main);
  background: none;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 767px) {
  .footer-shell {
    padding-bottom: calc(32px + env(safe-area-inset-bottom));
  }
  .footer-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding-top: 20px;
  }
  .footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 4px 20px;
  }
  .footer-panel .footer-link {
    display: block;
    padding: 8px 0;
    overflow-wrap: anywhere;
  }
  .footer-panel .footer-pill {
    width: 100%;
    padding-top: 16px;
    border-top: 1px solid rgba(194, 210, 216, .1);
    font-size: 12px;
  }
}

/* Competition standings, scaled from the supplied live-results reference. */
body[data-page="pretek"] {
  background: linear-gradient(180deg, #041b25cc 0, #071820f5 350px, #06151b 900px), url('/static/fishing-hero.webp') center top / 100% auto no-repeat #06151b;
}
body[data-page="pretek"] #pretek-root {
  max-width: 1040px;
  margin: 0 auto;
}
.standings-hero { padding: 20px 10px 24px; text-align: center; }
.standings-hero .cup-detail-title {
  margin: 0;
  color: #c8de36;
  font-family: Roboto, Arial, sans-serif;
  font-size: clamp(27px, 4.8vw, 48px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
body[data-page="pretek"] .cup-map-toolbar {
  padding: 0 !important;
  margin: 0 22px 22px;
  border: 1px solid #8dc7d0;
  border-radius: 22px;
  background: linear-gradient(100deg, #5e733249, #81934538);
  box-shadow: inset 0 1px 0 #ffffff10;
}
body[data-page="pretek"] .cup-map-toolbar-actions { display: flex; width: 100%; gap: 0; }
body[data-page="pretek"] .cup-map-toolbar-btn {
  flex: 1;
  min-height: 62px;
  padding: 12px;
  border: 0;
  background: none;
  color: #f5f8f8;
  font-size: clamp(18px, 3vw, 28px);
  font-weight: 700;
  border-radius: 22px;
}
body[data-page="pretek"] .cup-map-toolbar-btn:hover { background: #d1e77912; }
.standings-panel {
  padding: 18px 22px 12px;
  border: 1px solid #6498a7aa;
  border-radius: 22px;
  background: linear-gradient(140deg, #153b47a1, #0e222ba6 65%, #132a3280);
  box-shadow: inset 0 1px 0 #bce8f309, 0 15px 35px #0002;
}
.standings-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 0 6px 16px; border-bottom: 1px solid #a1c9d329; }
.standings-heading h2 { display: flex; align-items: center; gap: 18px; margin: 0; color: #beced5; font-family: Roboto, Arial, sans-serif; font-size: clamp(13px, 2.4vw, 23px); font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.standings-heading h2 i { color: #ffce25; font-size: 29px; }
.standings-team-count { display: inline-flex; align-items: center; gap: 9px; padding: 5px 14px; border: 1px solid #6eacc53b; border-radius: 30px; background: #6494aa12; color: #dae6ed; font-size: clamp(11px, 2vw, 18px); white-space: nowrap; }
.standings-panel .score-table { border-collapse: separate; border-spacing: 0 4px; margin: 0; font-variant-numeric: tabular-nums; }
.standings-panel .score-table > thead { background: none; }
.standings-panel .score-table > thead > tr > th { padding: 10px 8px 13px; border: 0; font-family: Roboto, Arial, sans-serif; font-size: clamp(10px, 1.8vw, 16px); letter-spacing: .09em; color: #bacbd3; font-weight: 700; white-space: nowrap; }
.standings-panel .score-table > tbody > .standings-row > td { height: 49px; padding: 7px 8px; border: 0; border-bottom: 1px solid #9bbdc836; background: transparent; color: white; font-size: clamp(12px, 2.3vw, 21px); box-shadow: none; }
.standings-panel .standings-row:hover > td { background: #b2e3f009; }
.standings-panel .standings-row > td:first-child { text-align: center; width: 60px; }
.standings-panel .standings-row > .standings-total { text-align: right; font-size: clamp(14px, 2.7vw, 25px); font-weight: 800; white-space: nowrap; }
.standings-total small { font-size: .72em; font-weight: 500; }
.standings-team-line { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.standings-team-toggle { display: inline-flex; min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; }
.standings-team-toggle .cup-team-name { font-size: inherit; line-height: 1.25; }
.standings-team-toggle .cup-team-name-main { overflow-wrap: anywhere; }
.rank-movement { display: inline-flex; align-items: center; justify-content: center; gap: 3px; min-width: 48px; padding: 3px 8px; border: 1px solid #9cc2d122; border-radius: 25px; background: linear-gradient(#b8d0dc22,#718b9822); color: #e0e9ec; font-size: 15px; font-weight: 700; line-height: 1.2; white-space: nowrap; flex-shrink: 0; }
.rank-movement-up { color: #c7ec46; border-color: #21ad624f; background: linear-gradient(#2a97452a,#2774322a); }
.rank-movement-down { color: #ff7187; border-color: #c53a5055; background: linear-gradient(#cf30412a,#8a14282a); }
.rank-movement-unknown { color: #9eafb6; }
.rank-number { position: relative; display: inline-grid; place-items: center; width: 42px; height: 40px; }
.podium .rank-number { font-size: 1.25em; font-weight: 800; }
.podium .rank-number::before { content: ''; position: absolute; inset: 0; background: var(--podium-color); mask: url('/static/laurel.svg') center / contain no-repeat; -webkit-mask: url('/static/laurel.svg') center / contain no-repeat; }
.podium-1 { --podium-color: #d3ce46; --podium-bg: #aaa33237; }
.podium-2 { --podium-color: #96c4d2; --podium-bg: #76aabc24; }
.podium-3 { --podium-color: #c9a047; --podium-bg: #b58c392b; }
.standings-panel .score-table > tbody > .podium > td { border-top: 1px solid color-mix(in srgb, var(--podium-color) 65%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--podium-color) 65%, transparent); background: var(--podium-bg); }
.standings-panel .score-table > tbody > .podium > td:first-child { border-left: 1px solid color-mix(in srgb, var(--podium-color) 65%, transparent); border-radius: 15px 0 0 15px; }
.standings-panel .score-table > tbody > .podium > td:last-child { border-right: 1px solid color-mix(in srgb, var(--podium-color) 65%, transparent); border-radius: 0 15px 15px 0; }
.standings-panel .score-table > tbody > .standings-row .bi-circle-fill { font-size: clamp(9px, 2vw, 19px) !important; margin-right: 5px !important; }
.standings-comparison { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 12px 4px 2px; margin: 0; color: #9cb5bf; font-size: 11px; line-height: 1.5; }
.standings-comparison span { margin-left: auto; }
.standings-legend { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin: 16px 0 20px; padding: 15px 22px; border: 1px solid #85b2c18c; border-radius: 20px; background: linear-gradient(120deg,#24414b66,#0d242c99); color: #eef5f7; font-size: clamp(11px, 2vw, 18px); }
.standings-legend > span { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.legend-title i { font-size: 1.25em; }
.catch-dot { display: inline-block; width: 19px; height: 19px; border-radius: 50%; box-shadow: inset 1px 1px 2px #ffffff1a; }
.catch-dot-scored { background: #18a56c; }.catch-dot-15 { background: #0084ff; }.catch-dot-20 { background: #d9143d; }
body[data-page="pretek"] .cup-highlight-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 20px; }
body[data-page="pretek"] .cup-highlight-item { position: relative; display: flex; align-items: center; gap: 22px; min-height: 140px; padding: 22px 28px; border: 1px solid #80a9b585; border-radius: 24px; background: linear-gradient(115deg,#29404a7a,#0b2833b3); overflow: hidden; }
body[data-page="pretek"] .cup-highlight-big { border-color: #c3d348aa; background: linear-gradient(110deg,#8b96322e,#123b43a1 65%,#0a2833); }
body[data-page="pretek"] .cup-highlight-copy { z-index: 1; min-width: 0; }
body[data-page="pretek"] .cup-highlight-label { color: #d7e1e5; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
body[data-page="pretek"] .cup-highlight-copy strong { display: block; color: white; font-family: Roboto,Arial,sans-serif; font-size: clamp(18px,2.5vw,27px); font-weight: 800; margin: 5px 0; line-height: 1.2; overflow-wrap: anywhere; }
body[data-page="pretek"] .cup-highlight-meta { display: block; color: #c5d3d9; font-size: clamp(13px,1.8vw,19px); }
body[data-page="pretek"] .cup-highlight-item > .cup-fish-badge { width: 54px; height: 54px; border-width: 1px; }
body[data-page="pretek"] .cup-highlight-item > .cup-fish-badge svg { width: 26px; height: 26px; }
.milestone-watermark { position: absolute; right: 28px; top: 50%; transform: translateY(-50%); width: 145px; opacity: .1; pointer-events: none; }
body[data-page="pretek"] footer.footer-shell { padding-top: 32px; }
@media(max-width:1000px) { body[data-page="pretek"] .cup-highlight-list { grid-template-columns: 1fr; } }
@media(max-width:767px) {
  body[data-page="pretek"] .page-shell { width: calc(100% - 20px); }
  body[data-page="pretek"] main.page-shell { padding-bottom: 20px !important; }
  .standings-hero { padding: 18px 6px 20px; }
  body[data-page="pretek"] .cup-map-toolbar { margin: 0 8px 16px; border-radius: 16px; }
  body[data-page="pretek"] .cup-map-toolbar-btn { min-height: 49px; font-size: 20px; }
  .standings-panel { padding: 12px 8px 8px; border-radius: 17px; }
  .standings-heading { padding: 0 4px 11px; gap: 6px; }
  .standings-heading h2 { gap: 9px; font-size: 12px; letter-spacing: .12em; }
  .standings-heading h2 i { font-size: 21px; }
  .standings-team-count { padding: 4px 9px; gap: 5px; font-size: 11px; }
  .standings-panel .score-table > thead > tr > th { padding: 10px 3px; font-size: 9px; letter-spacing: .06em; }
  .standings-panel .score-table > tbody > .standings-row > td { height: 47px; padding: 6px 3px; font-size: 12px; }
  .standings-panel .standings-row > td:first-child { width: 29px; }
  .standings-panel .standings-row > .standings-total { font-size: 14px; }
  .standings-total small { display: none; }
  .standings-panel .score-table > thead > tr > th:last-child::after { content: ' (kg)'; font-size: 8px; }
  .rank-number { width: 28px; height: 31px; }
  .standings-team-line { gap: 5px; }
  .rank-movement { min-width: 29px; font-size: 10px; padding: 3px 4px; gap: 1px; }
  .standings-team-toggle .cup-team-name { gap: 4px; }
  .standings-team-toggle .cup-fish-badge { width: 19px; height: 19px; }
  .standings-team-toggle .cup-fish-icon svg { width: 12px; height: 12px; }
  .standings-panel .score-table > tbody > .standings-row .bi-circle-fill { font-size: 9px !important; margin-right: 2px !important; }
  .standings-panel .score-table:not(.score-table-edit) { min-width: 340px; }
  .standings-comparison { padding-top: 8px; font-size: 9px; gap: 4px; }
  .standings-comparison span { margin-left: 0; }
  .standings-legend { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 10px; padding: 13px 12px; font-size: 10px; border-radius: 16px; margin: 12px 0 16px; }
  .standings-legend > span { gap: 7px; }
  .catch-dot { width: 11px; height: 11px; }
  body[data-page="pretek"] .cup-highlight-list { gap: 12px; margin-top: 16px; }
  body[data-page="pretek"] .cup-highlight-item { min-height: 104px; gap: 14px; padding: 17px; border-radius: 18px; }
  body[data-page="pretek"] .cup-highlight-label { font-size: 10px; letter-spacing: .13em; }
  body[data-page="pretek"] .cup-highlight-copy strong { font-size: 19px; }
  body[data-page="pretek"] .cup-highlight-meta { font-size: 13px; }
  body[data-page="pretek"] .cup-highlight-item > .cup-fish-badge { width: 40px; height: 40px; }
  body[data-page="pretek"] .cup-highlight-item > .cup-fish-badge svg { width: 22px; height: 22px; }
  .milestone-watermark { width: 100px; right: 16px; opacity: .07; }
  body[data-page="pretek"] .cup-add-catch-bar { bottom: calc(66px + env(safe-area-inset-bottom)) !important; background: #0d222b; }
  body[data-page="pretek"]:has(.cup-add-catch-bar) { padding-bottom: calc(150px + env(safe-area-inset-bottom)); }
  .standings-panel.is-editing .standings-team-count { display: none; }
}


/* Reference geometry: 25px page gutters, soft directional light, continuous row tints. */
body[data-page="pretek"] {
  padding-top: 96px;
  background:
    radial-gradient(ellipse 75% 450px at 73% 130px, #2d677b55, transparent 76%),
    linear-gradient(180deg, #04212dcc, #061a23e8 390px, #04151ce8 100%),
    url('/static/fishing-hero.webp') left 90px / 220% auto no-repeat #051820;
}
body[data-page="pretek"] .page-shell { width: min(1180px, calc(100% - 50px)); }
body[data-page="pretek"] main.page-shell { padding-top: 0 !important; }
body[data-page="pretek"] #pretek-root { max-width: 1040px; }
.standings-hero { padding: 26px 0 25px; }
.standings-hero .cup-detail-title { font-size: clamp(27px, 5.1vw, 48px); line-height: 1.2; letter-spacing: -.02em; }
body[data-page="pretek"] .cup-map-toolbar {
  margin: 0 21px 22px;
  border-color: #91c5cc;
  background: linear-gradient(110deg, #314e36d9 0%, #2d493bcb 52%, #273f35df 100%);
  box-shadow: inset 0 1px 1px #d5f5db24, 0 8px 24px #00000029;
}
body[data-page="pretek"] .cup-map-toolbar-actions { width: 100%; }
body[data-page="pretek"] .cup-map-toolbar-btn { min-height: 63px; font-size: 30px; }
.standings-panel {
  padding: 16px 11px 18px;
  border-color: #4b8494;
  background:
    radial-gradient(ellipse 100% 300px at 65% 0, #2c607354, transparent 85%),
    linear-gradient(115deg, #102d37e6 0%, #0b2029e3 48%, #0b2029f0 100%);
  box-shadow: inset 0 1px 1px #a6dbe829, inset 0 -1px 0 #17313c66, 0 14px 35px #00000038;
}
.standings-heading { margin: 0 11px; padding: 0 11px 16px; border-color: #678f9f38; }
.standings-heading h2 { gap: 20px; font-size: 23px; letter-spacing: .13em; }
.standings-heading h2 i { font-size: 32px; }
.standings-team-count { font-size: 20px; padding: 5px 16px; background: linear-gradient(#2b4d5a70,#18354180); box-shadow: inset 0 1px 2px #c1e6f40c; }
.standings-standard { table-layout: fixed; }
.standings-panel .score-table > thead > tr > th { padding: 11px 8px 13px; font-size: 17px; letter-spacing: .1em; }
.standings-panel .score-table > tbody > .standings-row > td { height: 47px; padding: 6px 8px; font-size: 22px; border-color: #7595a244; }
.standings-panel .score-table > tbody > .podium > td { height: 61px; background: transparent; }
.standings-panel .score-table > tbody > .standings-row > .standings-total { font-size: 26px; padding-right: 15px; }
.standings-total small { font-size: 19px; }
.standings-team-line { gap: 12px; }
.standings-team-toggle { flex: 1; }
.standings-team-toggle .cup-team-name { display: grid; grid-template-columns: minmax(0, 1fr) 46px; align-items: center; gap: 10px; width: 100%; }
.standings-team-toggle .cup-fish-badge { width: 45px; height: 45px; box-shadow: inset 0 1px 2px #ffffff12, 0 2px 8px #0002; }
.standings-team-toggle .cup-fish-icon svg { width: 22px; height: 22px; }
.rank-movement { min-width: 58px; padding: 5px 8px; font-size: 17px; margin-right: 24px; box-shadow: inset 0 1px 2px #ffffff14, 0 2px 5px #0002; }
.rank-number { width: 54px; height: 48px; }
.podium-1 { --podium-color: #b9b142; --podium-bg: #86834161; }
.podium-2 { --podium-color: #6c9fad; --podium-bg: #5c8b9d52; }
.podium-3 { --podium-color: #a68b48; --podium-bg: #8a75414d; }
.standings-panel .score-table > tbody > .podium { background: linear-gradient(105deg, var(--podium-bg), #263a4080); clip-path: inset(0 round 16px); }
.standings-panel .score-table > tbody > .podium > td { background-color: transparent; background-image: none; box-shadow: inset 0 1px 0 #eaf7ff05; }
.standings-panel .score-table > tbody > .standings-row .bi-circle-fill { font-size: 21px !important; margin-right: 5px !important; filter: drop-shadow(0 1px 2px #0003); }
.standings-comparison { font-size: 10px; padding: 10px 13px 0; color: #8fa6af; }
.standings-legend {
  margin: 17px 0 21px;
  min-height: 61px;
  padding: 13px 27px;
  border-color: #618999;
  background: linear-gradient(110deg, #213b47bb, #102831e6 72%, #142e38ce);
  box-shadow: inset 0 1px 1px #bce6f31c, 0 8px 20px #0003;
  font-size: 20px;
}
.catch-dot { width: 23px; height: 23px; }
body[data-page="pretek"] .cup-highlight-list { gap: 18px; margin-top: 21px; }
body[data-page="pretek"] .cup-highlight-item {
  min-height: 141px;
  padding: 21px 29px;
  gap: 29px;
  border-color: #557e8e;
  background: radial-gradient(ellipse at 26% 0, #294a5877, transparent 75%), linear-gradient(115deg, #19343ed9, #08242ee8);
  box-shadow: inset 0 1px 1px #c6e8ee19, 0 12px 26px #0003;
}
body[data-page="pretek"] .cup-highlight-big {
  border-color: #acb545;
  background: radial-gradient(ellipse at 5% 10%, #87973542, transparent 68%), linear-gradient(115deg, #243f39d9, #092c36e8);
}
body[data-page="pretek"] .cup-highlight-label { font-size: 18px; letter-spacing: .16em; }
body[data-page="pretek"] .cup-highlight-copy strong { font-size: 29px; margin: 6px 0; }
body[data-page="pretek"] .cup-highlight-meta { font-size: 23px; }
body[data-page="pretek"] .cup-highlight-item > .cup-fish-badge { width: 58px; height: 58px; }
.milestone-watermark { width: 150px; right: 35px; opacity: .14; }
@media (min-width: 768px) and (max-width: 1000px) {
  body[data-page="pretek"] .navbar { height: 96px; }
  body[data-page="pretek"] .navbar > .page-shell { width: calc(100% - 80px); }
  body[data-page="pretek"] .nav-panel > .container-fluid { display: block; }
  body[data-page="pretek"] .nav-top { width: 100%; }
  body[data-page="pretek"] .navbar .navbar-toggler { display: inline-flex; }
  body[data-page="pretek"] .navbar .navbar-collapse:not(.show) { display: none !important; }
  body[data-page="pretek"] .navbar-brand img { width: 80px; height: 52px; }
  body[data-page="pretek"] .brand-stack span { font-size: 40px; }
  body[data-page="pretek"] .brand-stack small { font-size: 14px; letter-spacing: 2px; }
}
@media (max-width: 767px) {
  body[data-page="pretek"] .page-shell { width: calc(100% - 24px); }
  .standings-hero { padding: 22px 0 23px; }
  .standings-hero .cup-detail-title { font-size: clamp(26px, 5.1vw, 38px); }
  body[data-page="pretek"] .cup-map-toolbar { margin: 0 9px 17px; }
  body[data-page="pretek"] .cup-map-toolbar-btn { min-height: 49px; font-size: 22px; }
  .standings-panel { padding: 13px 5px 12px; }
  .standings-heading { margin: 0 5px; padding: 0 4px 13px; }
  .standings-heading h2 { font-size: 12px; gap: 11px; }
  .standings-heading h2 i { font-size: 23px; }
  .standings-team-count { font-size: 11px; padding: 5px 9px; }
  .standings-panel .score-table > thead > tr > th { padding: 10px 3px; font-size: 9px; }
  .standings-panel .score-table > tbody > .standings-row > td { height: 36px; padding: 5px 3px; font-size: 12px; }
  .standings-panel .score-table > tbody > .podium > td { height: 43px; }
  .standings-panel .score-table > tbody > .standings-row > .standings-total { font-size: 14px; padding-right: 5px; }
  .standings-team-line { gap: 5px; }
  .standings-team-toggle .cup-team-name { display: inline-flex; width: auto; gap: 5px; }
  .standings-team-toggle .cup-fish-badge { width: 23px; height: 23px; }
  .standings-team-toggle .cup-fish-icon svg { width: 13px; height: 13px; }
  .rank-movement { margin-right: 0; min-width: 30px; font-size: 10px; padding: 3px 4px; }
  .rank-number { width: 28px; height: 34px; }
  .standings-panel .score-table > tbody > .standings-row .bi-circle-fill { font-size: 10px !important; margin-right: 2px !important; }
  .standings-panel .score-table:not(.score-table-edit) { min-width: 350px; }
  .standings-legend { margin: 14px 0 18px; padding: 15px 13px; gap: 14px; font-size: 11px; }
  .catch-dot { width: 13px; height: 13px; }
  body[data-page="pretek"] .cup-highlight-list { margin-top: 18px; gap: 16px; }
  body[data-page="pretek"] .cup-highlight-item { min-height: 116px; padding: 19px 17px; gap: 17px; }
  body[data-page="pretek"] .cup-highlight-label { font-size: 11px; }
  body[data-page="pretek"] .cup-highlight-copy strong { font-size: 20px; margin: 6px 0; }
  body[data-page="pretek"] .cup-highlight-meta { font-size: 14px; }
  body[data-page="pretek"] .cup-highlight-item > .cup-fish-badge { width: 43px; height: 43px; }
  .milestone-watermark { width: 105px; right: 20px; opacity: .1; }
}
/* Keep content line boxes from adding unintended space to the measured rows. */
body[data-page="pretek"] .cup-map-toolbar-btn { line-height: 1.2; }
.standings-panel .score-table > thead > tr > th { padding-top: 8px; padding-bottom: 10px; }
.rank-number { height: 30px; }
.podium .rank-number { height: 48px; }
.standings-panel .score-table > tbody > .podium > td { border-top-color: var(--podium-color); border-bottom-color: var(--podium-color); }
.standings-panel .score-table > tbody > .podium > td:first-child { border-left-color: var(--podium-color); }
.standings-panel .score-table > tbody > .podium > td:last-child { border-right-color: var(--podium-color); }
body[data-page="pretek"] .cup-highlight-copy { display: block; }
body[data-page="pretek"] .cup-highlight-label { line-height: 1.2; }
body[data-page="pretek"] .cup-highlight-copy strong { line-height: 1.15; margin: 5px 0; }
body[data-page="pretek"] .cup-highlight-meta { line-height: 1.3; }
@media(max-width:767px) {
  .standings-standard col:nth-child(1) { width: 8% !important; }
  .standings-standard col:nth-child(2) { width: 49% !important; }
  .standings-standard col:nth-child(3) { width: 7% !important; }
  .standings-standard col:nth-child(4) { width: 17% !important; }
  .standings-standard col:nth-child(5) { width: 19% !important; }
  .rank-number { height: 24px; }
  .podium .rank-number { height: 31px; }
  .standings-team-toggle .cup-team-name { gap: 3px; }
  .standings-team-toggle .cup-fish-badge { width: 20px; height: 20px; }
}
.standings-panel .score-table > tbody > .standings-row > td { line-height: 1.2; }
.rank-number { display: flex; justify-content: center; align-items: center; margin: 0 auto; line-height: 1; }
.standings-team-toggle { vertical-align: middle; }
.standings-legend > span { line-height: 1.2; }
.legend-title i { line-height: 1; }
.standings-comparison { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body[data-page="pretek"] .navbar { background: linear-gradient(110deg,#04151cfa,#082b37ed 75%,#061d25fa); }
@media(min-width:768px) and (max-width:1000px) {
  body[data-page="pretek"] .navbar-brand { gap: 20px; }
  body[data-page="pretek"] .navbar .navbar-toggler { border: 0; padding: 0; }
}
body[data-page="pretek"] { font-family: Arial, sans-serif; }
.standings-panel { padding-bottom: 10px; }
.standings-hero .cup-detail-title { font-family: Arial, sans-serif; font-size: clamp(27px, 5.31vw, 50px); font-weight: 700; letter-spacing: -.5px; }
.standings-heading h2,
.standings-panel .score-table > thead > tr > th,
body[data-page="pretek"] .cup-highlight-copy strong { font-family: Arial, sans-serif; }
@media(max-width:767px) {
  .standings-hero .cup-detail-title { font-size: clamp(26px, 5.1vw, 38px); }
  .standings-panel { padding-bottom: 12px; }
}

/* Account identity stays visible with the mobile menu closed. */
.navbar .brand-stack .account-role {
  margin-top: 5px;
  color: var(--accent);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
}
@media(max-width:767px) {
  .navbar .brand-stack .account-role { margin-top: 4px; font-size: 10px; }
}

/* The whole team card opens its profile, using the existing accessible link. */
.home-team-card { position: relative; }
.home-team-link::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: 10px; }
.home-team-card:has(.home-team-link):hover { border-color: var(--accent) !important; }
.home-team-card:focus-within { outline: 2px solid var(--accent); outline-offset: 3px; }
.team-profile-name-link { color: inherit; text-decoration: none; }
.team-profile-name-link:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.navbar .nav-actions #nav-profile.is-team-profile span { display: inline; }
.navbar .nav-actions #nav-profile.is-team-profile { border-color: #c4db3066 !important; }
.team-catches-toggle { flex-shrink: 0; display: grid; place-items: center; padding: 4px; border: 0; background: transparent; color: #a8bec7; font-size: 12px; }
.team-catches-toggle[aria-expanded=true] i { transform: rotate(180deg); }
@media(max-width:767px) { .team-catches-toggle { padding: 2px; font-size: 9px; } }

/* The team directory and trophy leaderboard share one section. */
.team-view-tabs { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.team-view-tabs button { border:0; border-bottom:2px solid transparent; padding:9px 0; background:none; color:#91a4ac; font-family:'Roboto Condensed',Arial,sans-serif; font-size:22px; font-weight:700; }
.team-view-tabs button.is-active { color:#f4f6f7; border-color:var(--accent); }
.team-view-tabs button:hover { color:var(--accent); }
.team-success-panel { border:1px solid #587c895e; border-radius:16px; padding:18px 22px 8px; background:radial-gradient(ellipse at top left,#254c5a55,transparent 70%),linear-gradient(120deg,#13272e,#0c1b22); box-shadow:inset 0 1px 0 #c3e7ed0d,0 14px 30px #0002; }
.team-success-copy { font-size:13px; color:#9eb2bb; margin:0 0 14px; }
.team-success-table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.team-success-table th { font-size:12px; font-weight:500; color:#acbdc5; padding:12px 14px 17px; border-bottom:1px solid #77929e38; }
.team-success-table th:not(:nth-child(2)),.team-success-table td:not(:nth-child(2)) { text-align:center; }
.team-success-table th i { display:block; font-size:25px; margin-bottom:6px; }
.team-success-table td { padding:15px 14px; border-bottom:1px solid #77929e26; font-size:22px; font-weight:700; }
.team-success-table tr:last-child td { border-bottom:0; }
.team-success-table td small { font-size:12px; font-weight:400; margin-left:4px; opacity:.6; }
.team-success-table .medal-gold { color:#e2c45b; }.team-success-table .medal-silver { color:#bcced8; }.team-success-table .medal-bronze { color:#c78f61; }
.success-team-link { display:flex; align-items:center; gap:15px; color:#edf3f5; text-decoration:none; font-size:16px; }
.success-team-link:hover { color:var(--accent); }
.success-team-link img,.success-logo-placeholder { width:42px; height:42px; border-radius:9px; object-fit:contain; background:#ffffff05; flex-shrink:0; }
.success-logo-placeholder { display:grid; place-items:center; color:#9db25d; font-size:22px; }
.team-success-table .success-rank { width:52px; color:#96aab3; font-size:16px; }
.success-top-1 { background:linear-gradient(90deg,#d2be3910,transparent); }.success-top-2 { background:linear-gradient(90deg,#b3d4e10a,transparent); }.success-top-3 { background:linear-gradient(90deg,#bb7c390a,transparent); }
.success-top-1 .success-rank { color:#e2c45b; }.success-top-2 .success-rank { color:#bcced8; }.success-top-3 .success-rank { color:#c78f61; }
@media(max-width:767px) {
 .home-teams-section .home-section-heading { flex-wrap:wrap; }
 .team-view-tabs { gap:18px; width:100%; }
 .team-view-tabs button { font-size:18px; }
 .team-success-panel { padding:14px 9px 4px; }
 .team-success-copy { font-size:11px; }
 .team-success-table th { padding:8px 5px 12px; font-size:9px; white-space:nowrap; }
 .team-success-table th i { font-size:20px; }
 .team-success-table td { padding:13px 5px; font-size:18px; }
 .team-success-table td small { margin-left:2px; font-size:10px; }
 .success-team-link { gap:8px; font-size:12px; }
 .success-team-link img,.success-logo-placeholder { width:30px; height:30px; }
 .team-success-table .success-rank { width:23px; font-size:12px; }
}

.cup-linked-team-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.cup-linked-team-trophies { display:flex; align-items:center; gap:20px; }
.team-trophy { display:flex; flex-direction:column; align-items:center; gap:4px; min-width:32px; }
.team-trophy i { font-size:26px; line-height:1; filter:drop-shadow(0 2px 4px #0004); }
.team-trophy strong { font-size:16px; line-height:1.2; font-variant-numeric:tabular-nums; }
.team-trophy small { font-size:11px; margin-left:3px; opacity:.7; }
.team-trophy.medal-gold { color:#e2c45b; }.team-trophy.medal-silver { color:#bcced8; }.team-trophy.medal-bronze { color:#c78f61; }
@media(max-width:767px) {
 .cup-linked-team-actions { width:100%; gap:10px; }
 .cup-linked-team-trophies { gap:10px; margin-left:auto; }
 .team-trophy { min-width:25px; }
 .team-trophy i { font-size:22px; }
 .team-trophy strong { font-size:13px; }
 .cup-linked-team-actions .cup-linked-team-cta { font-size:12px; padding:9px; }
}

.team-success-rates { margin:6px 0 10px; }
.team-success-rates-heading h2 { font-size:22px; margin:0 0 7px; }
.team-success-rates-heading p { color:#9eb2bb; font-size:12px; margin:0 0 16px; line-height:1.5; }
.team-success-rates-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.team-success-rate { padding:22px; border:1px solid #7fa1ad38; border-radius:15px; background:radial-gradient(ellipse at top left,#31505d55,transparent 80%),linear-gradient(135deg,#132831,#0c1c23); box-shadow:inset 0 1px 0 #d2eff60c,0 10px 25px #0002; }
.success-rate-label { display:flex; align-items:center; gap:9px; color:#c5d3d9; font-size:14px; font-weight:600; }
.success-rate-label i { font-size:20px; color:#a8cbd5; }
.team-success-rate strong { display:block; font-size:36px; line-height:1.2; margin:15px 0; font-variant-numeric:tabular-nums; color:#f0f5f6; }
.rate-top-1 .success-rate-label i { color:#e2c45b; }
.rate-top-1 strong { color:#e2c45b; }
.success-rate-track { height:5px; overflow:hidden; border-radius:6px; background:#b5d3df15; margin-bottom:13px; }
.success-rate-track span { display:block; height:100%; border-radius:inherit; background:#83afbd; }
.rate-top-1 .success-rate-track span { background:#d1bd57; }.rate-top-5 .success-rate-track span { background:#bdd33d; }
.team-success-rate small { color:#9eb2bb; font-size:12px; }
@media(max-width:767px) {
 .team-success-rates-grid { gap:8px; }
 .team-success-rate { padding:15px 10px; border-radius:12px; }
 .success-rate-label { font-size:12px; gap:6px; }
 .success-rate-label i { font-size:15px; }
 .team-success-rate strong { font-size:25px; margin:13px 0; }
 .team-success-rate small { font-size:10px; line-height:1.4; display:block; }
}

/* Uploaded artwork sits inside one consistent badge, whatever its aspect ratio. */
.team-avatar {
  --avatar-size: 84px;
  --avatar-inset: 8px;
  position: relative;
  display: inline-grid;
  place-items: center;
  width: var(--avatar-size);
  height: var(--avatar-size);
  flex: 0 0 var(--avatar-size);
  padding: var(--avatar-inset);
  overflow: hidden;
  border: 1px solid #93adb545;
  border-radius: 18px;
  background: linear-gradient(145deg,#294047,#12242b);
  box-shadow: inset 0 1px 0 #e1f1f312,0 5px 14px #0003;
  vertical-align: middle;
}
.team-avatar:has(img) { background: #edf0eb; }
.team-avatar > i { position: absolute; color: #c2d636; font-size: calc(var(--avatar-size) * .37); line-height: 1; }
.team-avatar:has(img) > i { visibility: hidden; }
.team-avatar > img,
.success-team-link .team-avatar > img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  border: 0;
  border-radius: 8px;
  object-fit: contain;
  object-position: center;
  background: transparent;
}
.team-avatar-table { --avatar-size: 44px; --avatar-inset: 5px; border-radius: 11px; }
.home-team-logo-shell { display: grid; place-items: center; padding: 4px 0 6px; }
.home-team-head { width: 100%; }
.home-team-title { min-height: 2.2em; display: flex; align-items: center; justify-content: center; }
.home-team-copy-top { min-height: 40px; }
@media(max-width:767px) {
  .team-avatar-directory { --avatar-size: 76px; --avatar-inset: 7px; border-radius: 16px; }
  .team-avatar-table { --avatar-size: 34px; --avatar-inset: 4px; border-radius: 9px; }
  .team-avatar-table > img,.success-team-link .team-avatar-table > img { border-radius: 5px; }
}

.team-claim-panel,.team-request-panel { padding:18px; margin:8px 0 18px; border:1px solid #b5ce3655; border-radius:14px; background:linear-gradient(120deg,#80932c16,#13313c99); }
.team-claim-panel { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.team-claim-panel strong { font-size:17px; }.team-claim-panel p { color:#a9bec7; font-size:13px; margin:7px 0 0; max-width:650px; }
.team-claim-status { color:#d1df96; font-size:13px; }.team-request-panel h3 { display:flex; align-items:center; gap:10px; font-family:Arial,sans-serif; font-size:17px; margin:0 0 14px; }
.team-request-panel h3>span { margin-left:auto; border-radius:20px; padding:3px 9px; font-size:12px; color:#d7e893; background:#bad33218; }
.team-request-panel h3 i { color:var(--accent); }
.team-request-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:14px 0; border-top:1px solid #8bafbe25; }
.team-request-row a { font-weight:700; text-decoration:none; }.team-request-row p { color:#d2dfe4; font-size:13px; margin:6px 0; }.team-request-row small { color:#90a8b2; font-size:12px; }
.team-request-actions { display:flex; gap:8px; }.team-request-actions .btn { font-size:12px; padding:8px 12px; }
.team-request-actions .btn i { margin-right:5px; }.team-request-empty { padding:20px; color:#cadc9c; }
@media(max-width:767px){.team-request-panel,.team-claim-panel{padding:14px}.team-request-panel h3{font-size:14px}.team-request-actions{width:100%}.team-request-actions .btn{flex:1}.team-claim-panel .btn{width:100%}}

.auth-pricing { margin-top:28px; padding-top:25px; border-top:1px solid #829aa52e; }
.auth-pricing h2 { font-family:Arial,sans-serif; font-size:20px; margin:0 0 9px; font-weight:700; }
.auth-pricing-intro { color:#a9bbc3; font-size:13px; line-height:1.6; margin:0 0 17px; }
.auth-pricing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.auth-price-card { padding:19px 16px; border:1px solid #829aa53d; border-radius:14px; background:linear-gradient(140deg,#24394088,#0b1b22aa); box-shadow:inset 0 1px 0 #d7e9ee0b; }
.auth-price-annual { border-color:#bfd63766; background:linear-gradient(140deg,#99ad2a16,#10252b99); }
.auth-price-label { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:#d4e0e4; min-height:30px; }
.auth-price-label i { color:var(--accent); font-size:17px; }
.auth-price-card strong { display:block; margin:12px 0 5px; font-family:Arial,sans-serif; font-size:30px; font-weight:700; color:#f2f6f7; font-variant-numeric:tabular-nums; white-space:nowrap; }
.auth-price-annual strong { color:var(--accent); }
.auth-price-card strong small { font-size:19px; }
.auth-price-tax { display:block; color:#c8d5da; font-size:11px; line-height:1.5; }
.auth-price-card p { margin:9px 0 16px; color:#91a7b1; font-size:11px; line-height:1.5; }
.auth-price-detail { display:block; padding-top:13px; border-top:1px solid #829aa526; color:#b5c5cd; font-size:12px; line-height:1.55; }
@media(max-width:767px) { .auth-pricing-grid{gap:9px}.auth-price-card{padding:15px 11px}.auth-price-card strong{font-size:25px}.auth-price-label{font-size:11px;gap:6px}.auth-price-label i{font-size:15px} }
@media(max-width:350px) { .auth-pricing-grid{grid-template-columns:1fr} }

/* Membership has two deliberate lines and never shrinks word by word. */
.navbar .nav-membership {
  flex-shrink: 0;
  gap: 8px;
  min-height: 44px;
  padding: 6px 10px;
  border-radius: 10px;
  white-space: nowrap;
}
.navbar .nav-membership > i { flex-shrink: 0; font-size: 15px; }
#nav-membership-text { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; line-height: 1.2; }
#nav-membership-text small { font-size: 10px; font-weight: 400; color: #c5d39a; white-space: nowrap; }
#nav-membership-text strong { font-size: 12px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
@media(min-width:768px) {
  .navbar .nav-actions:has(.nav-membership:not(.d-none)) { margin-left: 22px; }
}
