:root{
  --bg:#0b0f19;
  --card:#121a2a;
  --text:#e8eefc;
  --muted:#a9b6d3;
  --border:#22304d;
  --ok:#2bd576;
  --err:#ff5c7a;
  --accent:#30e0c6;
  --primary:#3a67ff;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:radial-gradient(1200px 600px at 10% 10%,#172444,var(--bg));
  color:var(--text);
}

.container{
  width:min(1100px,calc(100% - 32px));
  margin:0 auto;
}

/* ========================= */
/* TOPBAR                    */
/* ========================= */

.topbar{
  border-bottom:1px solid var(--border);
  background:rgba(11,15,25,.7);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  position:sticky;
  top:0;
  z-index:10;
}

.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:12px;
}

.brand{
  font-weight:900;
  letter-spacing:.4px;
  white-space:nowrap;
}

.nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

.nav a{
  color:var(--muted);
  text-decoration:none;
  font-size:14px;
}

.nav a:hover{ color:var(--text); }

.navGuide{
  position:relative;
  color:var(--muted);
  font-size:14px;
}

.navGuide__summary{
  list-style:none;
  cursor:pointer;
  white-space:nowrap;
}

.navGuide__summary::-webkit-details-marker{ display:none; }

.navGuide__summary::after{
  content:" |";
}

.navGuide__summary:hover{ color:var(--text); }

.navGuide__menu{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  border:1px solid rgba(34,48,77,.8);
  background:rgba(18,26,42,.98);
  border-radius:12px;
  min-width:220px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  z-index:20;
}

.navGuide__item{
  display:block;
  padding:9px 12px;
}

.navGuide__item:hover{
  background:rgba(58,103,255,.15);
}

.topbarRight{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.langPicker{
  position:relative;
}

.langPicker__summary{
  list-style:none;
  cursor:pointer;
  border:1px solid rgba(34,48,77,.8);
  background:rgba(9,12,20,.35);
  border-radius:12px;
  padding:6px 10px;
  line-height:1;
}

.langPicker__summary::-webkit-details-marker{ display:none; }

.langPicker__flag,
.langPicker__itemFlag{
  font-size:18px;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",sans-serif;
}

.langPicker__menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  border:1px solid rgba(34,48,77,.8);
  background:rgba(18,26,42,.98);
  border-radius:12px;
  min-width:150px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

.langPicker__item{
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:var(--text);
  padding:8px 10px;
  font-size:14px;
}

.langPicker__item:hover{
  background:rgba(58,103,255,.15);
}


/* ========================= */
/* CARD + TYPO               */
/* ========================= */

.card{
  margin:20px auto;
  background:rgba(18,26,42,.9);
  border:1px solid var(--border);
  border-radius:16px;
  padding:18px;
  max-width:560px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

.cardWide{ max-width:1100px; }

h1{ margin:0 0 10px 0; font-size:22px; }
h2{ margin:14px 0 8px 0; font-size:16px; }

.muted{ color:var(--muted); font-size:13px; }

.divider{
  border:0;
  height:1px;
  background:rgba(34,48,77,.8);
  margin:14px 0;
}

/* ========================= */
/* ALERTS                    */
/* ========================= */

.alert{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  margin-bottom:12px;
  font-size:14px;
}

.alert.success{ border-color:rgba(43,213,118,.4); color:var(--ok); }
.alert.error{ border-color:rgba(255,92,122,.4); color:var(--err); }

/* ========================= */
/* BUTTONS                   */
/* ========================= */

.button, button{
  padding:10px 14px;
  border-radius:12px;
  border:0;
  background:var(--primary);
  color:#fff;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.button.secondary{
  background:rgba(58,103,255,.15);
  border:1px solid rgba(58,103,255,.35);
}

.button.danger{
  background:rgba(255,92,122,.16);
  border:1px solid rgba(255,92,122,.35);
  color:#ffd0d9;
}

.button:active, button:active{ transform:translateY(1px); }

/* ========================= */
/* PAGE HEADER               */
/* ========================= */

.pageHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.pageHeaderActions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

/* ========================= */
/* FORMS (RESTORE!)          */
/* ========================= */

.form{
  display:grid;
  gap:12px;
}

.field{
  display:grid;
  gap:6px;
}

.field label{
  font-weight:800;
  color:var(--text);
  font-size:14px;
}

.help{
  margin-top:-2px;
  color:var(--muted);
  font-size:12.5px;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
select,
textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(34,48,77,.85);
  background:rgba(9,12,20,.45);
  color:var(--text);
  outline:none;
  font-size:14px;
}

textarea{
  min-height:96px;
  resize:vertical;
}

input::placeholder,
textarea::placeholder{
  color:rgba(169,182,211,.65);
}

/* Fix select look */
select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(232,238,252,.75) 50%),
    linear-gradient(135deg, rgba(232,238,252,.75) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  padding-right:36px;
}

input:focus,
select:focus,
textarea:focus{
  border-color:rgba(58,103,255,.65);
  box-shadow:0 0 0 3px rgba(58,103,255,.15);
}

/* two-column form grid (desktop) */
.formGrid2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.formActions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:6px;
}

.inlineForm{ display:inline; margin:0; }

/* ========================= */
/* DASHBOARD MENU CARDS      */
/* ========================= */

.kv{
  display:grid;
  gap:6px;
  font-size:14px;
  color:var(--text);
}

.sectionTitle{
  margin:0 0 10px 0;
  font-size:14px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.6px;
}

.menuGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.menuCard{
  text-decoration:none;
  color:var(--text);
  border:1px solid rgba(34,48,77,.8);
  background:rgba(9,12,20,.35);
  border-radius:16px;
  padding:14px;
  display:flex;
  gap:12px;
  align-items:center;
  box-shadow:0 10px 26px rgba(0,0,0,.28);
  position:relative;
  overflow:hidden;
}

.menuCard::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--accent),rgba(48,224,198,.15));
}

.menuCard:hover{
  border-color:rgba(58,103,255,.55);
  transform:translateY(-1px);
  transition:transform .15s ease, border-color .15s ease;
}

.menuIcon{
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:18px;
  background:rgba(18,26,42,.65);
  border:1px solid rgba(34,48,77,.7);
  flex:0 0 auto;
}

.menuGridSingle{ grid-template-columns:1fr; }

.menuText{ min-width:0; }
.menuTitle{ font-weight:900; line-height:1.1; font-size:15px; }
.menuDesc{ margin-top:4px; color:var(--muted); font-size:12.5px; line-height:1.2; }


.filterBar{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 14px;
}

.filterInput{
  flex:1 1 260px;
  min-width:180px;
}

/* ========================= */
/* POTENZE: SORT PILLS       */
/* ========================= */

.sortBar{
  display:none;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:6px 0 14px;
}

.sortPill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(34,48,77,.8);
  background:rgba(9,12,20,.35);
  color:var(--text);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
}

.sortPill:hover{ border-color:rgba(58,103,255,.6); }

/* ========================= */
/* TABLE (DESKTOP)           */
/* ========================= */

.tableWrap{
  border-radius:12px;
  border:1px solid var(--border);
  overflow-x:hidden;
}

.table{
  width:100%;
  border-collapse:collapse;
  background:rgba(9,12,20,.35);
  table-layout:fixed;
}

.table th, .table td{
  padding:8px 6px;
  border-bottom:1px solid rgba(34,48,77,.6);
  text-align:left;
  vertical-align:top;
  font-size:12.5px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.table th{
  color:var(--muted);
  font-weight:900;
  background:rgba(18,26,42,.8);
  position:sticky;
  top:0;
  z-index:1;
}

.thLink{ color:var(--muted); text-decoration:none; }
.thLink:hover{ color:var(--text); text-decoration:underline; }

.cell2{ display:grid; gap:2px; }
.cellTop{ line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cellSub{ line-height:1.1; font-size:11.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cellSingle{ line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.tableCompact .colNick{ width:14%; }
.tableCompact .colRole{ width:6%; text-align:center; }
.tableCompact .colTier{ width:13%; }
.tableCompact .colTotal{ width:11%; }
.tableCompact .colDate{ width:17%; }
.tableCompact .colActions{ width:10%; text-align:center; }

.tableCompact td.colRole,
.tableCompact th.colRole,
.tableCompact td.colActions,
.tableCompact th.colActions{ text-align:center; }

.tableCompact td.colActions,
.tableCompact th.colActions{
  overflow:visible;
}


.tableEssentialLogs th:nth-child(1){ width:18%; }
.tableEssentialLogs th:nth-child(2){ width:20%; }
.tableEssentialLogs th:nth-child(3){ width:28%; }
.tableEssentialLogs th:nth-child(4){ width:34%; }

.tableEssentialLogs td:nth-child(2),
.tableEssentialLogs td:nth-child(3){
  white-space:nowrap;
}

.tableEssentialLogs td:nth-child(4){
  white-space:normal;
}

.actionIcons{
  display:inline-flex;
  align-items:center;
  gap:8px;
  justify-content:center;
}

.iconBtn{
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  cursor:pointer;
  font-size:16px;
  line-height:1;
  color:var(--text);
  text-decoration:none;
}

.iconBtn:hover{ filter:brightness(1.15); }
.iconBtn.danger{ color:#ff93a6; }

/* ========================= */
/* POTENZE: MOBILE CARDS     */
/* ========================= */

.playerCards{ display:none; gap:12px; }

.playerCard{
  border:1px solid rgba(34,48,77,.8);
  background:rgba(9,12,20,.35);
  border-radius:16px;
  padding:12px 12px 10px;
  box-shadow:0 10px 26px rgba(0,0,0,.28);
  position:relative;
  overflow:hidden;
}

.playerCard::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--accent),rgba(48,224,198,.15));
}

.playerCardTop{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  padding-left:6px;
}

.playerTitle{ min-width:0; }

.playerTitleLine{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
  white-space:nowrap;
}

.playerNick{
  font-weight:900;
  font-size:16px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.playerMeta{
  display:inline-flex;
  gap:8px;
  align-items:baseline;
  min-width:0;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.playerActions{
  display:inline-flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  padding-top:2px;
}

.playerCardMid{ padding:10px 6px 6px; }

/* 4 colonne (T1..T4) sempre */
.powerGrid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:6px;
}

.powerCell{
  border:1px solid rgba(34,48,77,.7);
  background:rgba(18,26,42,.65);
  border-radius:12px;
  padding:7px;
  min-width:0;
}

/* riga 1: T1:Carri */
.powerHead{
  font-size:11px;
  font-weight:900;
  letter-spacing:.2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* riga 2: potenza */
.powerVal{
  margin-top:6px;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.playerCardBottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  padding:8px 6px 0;
  border-top:1px solid rgba(34,48,77,.5);
  margin-top:6px;
}

.dateBlock{ display:grid; gap:2px; }
.dateTop{
  font-weight:900;
  font-size:12px;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.dateSub{ font-size:11.5px; }
.notesHint{ font-size:12px; }
.notesOpenBtn{
  font-size:12px;
  color:var(--muted);
}

.desktopOnly{ display:block; }

/* ========================= */
/* RESPONSIVE                */
/* ========================= */

@media (max-width: 820px){
  .container{ width:calc(100% - 20px); }
  .card{ padding:16px; }

  .menuGrid{ grid-template-columns:1fr; }

  .sortBar{ display:flex; }
  .playerCards{ display:grid; }
  .desktopOnly{ display:none; }

  .formGrid2{ grid-template-columns:1fr; }
}

@media (max-width: 420px){
  .playerNick{ font-size:15px; }
  .powerGrid{ gap:5px; }
  .powerCell{ padding:6px; border-radius:11px; }
  .powerHead{ font-size:10.5px; }
  .powerVal{ font-size:12.5px; margin-top:5px; }
}

.footer{
  border-top:1px solid var(--border);
  padding:14px 0 20px;
  color:var(--muted);
}

.pagination{
  margin-top:12px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.logDetailsCell{
  display:flex;
  align-items:center;
  gap:8px;
}

.logDetailsPreview{
  flex:1;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.logDetailsBtn{
  padding:4px 8px;
  font-size:11.5px;
}

.logModal[hidden]{
  display:none !important;
}

.logModal{
  position:fixed;
  inset:0;
  z-index:999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.logModalBackdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}

.logModalDialog{
  position:relative;
  width:min(760px, 100%);
  max-height:80vh;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(11,15,25,.98);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.logModalHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid rgba(34,48,77,.8);
}

.logModalHeader h3{
  margin:0;
  font-size:16px;
}

.logModalBody{
  margin:0;
  padding:14px;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
  color:var(--text);
  font-family:inherit;
  font-size:13px;
  line-height:1.35;
}

.event-user-agent{
  overflow-wrap:anywhere;
  word-break:break-word;
  font-size:.85rem;
  opacity:.9;
}

/* ========================= */
/* RTL (Arabic)             */
/* ========================= */

html[dir="rtl"] body{
  direction:rtl;
  text-align:right;
}

html[dir="rtl"] .topbar__inner{
  flex-direction:row-reverse;
}

html[dir="rtl"] .topbarRight,
html[dir="rtl"] .nav{
  justify-content:flex-start;
}

html[dir="rtl"] .langPicker__menu{
  right:auto;
  left:0;
}

html[dir="rtl"] select{
  background-position:
    18px calc(50% - 3px),
    24px calc(50% - 3px);
  padding-right:12px;
  padding-left:36px;
}

html[dir="rtl"] .table th,
html[dir="rtl"] .table td,
html[dir="rtl"] .logModalBody{
  text-align:right;
}

html[dir="rtl"] .menuCard::before,
html[dir="rtl"] .playerCard::before{
  left:auto;
  right:0;
}

html[dir="rtl"] .playerCardTop{
  padding-left:0;
  padding-right:6px;
}

html[dir="rtl"] .playerActions,
html[dir="rtl"] .pagination{
  justify-content:flex-start;
}

.logModalDialogWide{
  width:min(1040px, 100%);
}

.historyMeta{
  padding:8px 14px 8px;
}

.historyChartWrap{
  padding:10px 14px;
  position:relative;
}

.historyChartTooltip{
  position:absolute;
  z-index:2;
  min-width:150px;
  max-width:220px;
  padding:8px 10px;
  border:1px solid rgba(169,182,211,.35);
  border-radius:10px;
  background:rgba(13,20,36,.96);
  color:#d4dcf0;
  font-size:12px;
  line-height:1.45;
  pointer-events:none;
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}

#playerHistoryCanvas{
  width:100%;
  height:320px;
  border:1px solid rgba(34,48,77,.7);
  border-radius:10px;
  background:rgba(9,12,20,.45);
}


.historyTableWrap .table th{
  background:rgba(18,26,42,.96);
}

.historyTableWrap .table tbody tr:first-child td{
  border-top:0;
}

.historyDateCell{
  white-space:nowrap;
}

.historyGrowth{
  color:#2bd576;
  font-weight:400;
}

.historyGrowthNegative{
  color:#ff6b6b;
}


.historyScaleControls{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 14px 8px;
  flex-wrap:wrap;
}

.historyScaleLabel{
  font-size:12px;
  color:var(--muted);
}

.historyScaleBtn{
  border:1px solid rgba(71,89,130,.45);
  background:transparent;
  color:var(--muted);
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  cursor:pointer;
}

.historyScaleBtn.isActive{
  border-color:rgba(184,107,255,.95);
  color:#efe0ff;
  background:rgba(184,107,255,.18);
}
.historyLegend{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:0 14px 10px;
}

.legendItem{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:var(--muted);
  background:transparent;
  border:1px solid rgba(71,89,130,.45);
  border-radius:999px;
  padding:4px 10px;
  cursor:pointer;
}

.legendDot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}

.legendItemOff{
  color:#8c95aa;
  border-color:rgba(140,149,170,.45);
}

.legendItemOff .legendDot{
  background:#8c95aa !important;
}


@media (max-width: 768px){
  .logModal{
    align-items:flex-start;
    padding:8px;
  }

  .logModalDialog,
  .logModalDialogWide{
    width:100%;
    max-height:96vh;
    border-radius:12px;
  }

  .historyChartWrap{
    padding:8px;
  }

  #playerHistoryCanvas{
    height:260px;
  }

  .historyTableWrap{
    overflow:auto;
  }

  .historyScaleControls{
    padding:0 8px 8px;
  }
}

/* ========================= */
/* SEASON 6 GUIDE            */
/* ========================= */

.seasonPage{
  max-width:1100px;
}

.seasonHero{
  align-items:center;
  padding:4px 0 8px;
}

.eyebrow{
  margin:0 0 6px;
  color:var(--accent);
  font-size:12px;
  font-weight:900;
  letter-spacing:.9px;
  text-transform:uppercase;
}

.seasonLead{
  max-width:760px;
  line-height:1.55;
}

.seasonBadge{
  border:1px solid rgba(48,224,198,.45);
  background:linear-gradient(135deg, rgba(48,224,198,.18), rgba(58,103,255,.18));
  color:var(--text);
  border-radius:18px;
  padding:12px 14px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}

.seasonQuickMessage{
  border:1px solid rgba(43,213,118,.35);
  background:rgba(43,213,118,.08);
  border-radius:16px;
  padding:14px;
  margin:14px 0;
}

.seasonQuickMessage h2,
.seasonQuickMessage p{ margin-top:0; }
.seasonQuickMessage p{ margin-bottom:0; line-height:1.55; }

.seasonToc{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:16px 0 20px;
}

.seasonToc a,
.seasonRefs a{
  color:var(--text);
  text-decoration:none;
  border:1px solid rgba(34,48,77,.8);
  background:rgba(9,12,20,.35);
  border-radius:999px;
  padding:8px 11px;
  font-size:13px;
  font-weight:800;
}

.seasonToc a:hover,
.seasonRefs a:hover{ border-color:rgba(58,103,255,.6); }

.seasonSection{
  scroll-margin-top:86px;
  margin-top:22px;
}

.seasonSection h2{ font-size:18px; }

.seasonGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.seasonGrid4{
  grid-template-columns:repeat(4, minmax(0,1fr));
}

.seasonInfoCard,
.seasonPanel{
  border:1px solid rgba(34,48,77,.8);
  background:rgba(9,12,20,.35);
  border-radius:16px;
  padding:14px;
}

.seasonInfoCard h3,
.seasonPanel h3{ margin:4px 0 8px; font-size:15px; }
.seasonInfoCard p,
.seasonPanel p,
.seasonPanel li,
.seasonChecklist li{ color:var(--muted); line-height:1.5; }
.seasonIcon{ font-size:24px; }

.seasonChecklist{
  display:grid;
  gap:10px;
  margin:0;
  padding-left:22px;
}

.seasonTableWrap{ overflow-x:auto; }
.seasonTable{ table-layout:auto; }
.seasonTable th,
.seasonTable td{ font-size:13px; line-height:1.45; }

.seasonCallout{
  border-color:rgba(255,193,7,.45);
  background:rgba(255,193,7,.08);
}

.seasonTimeline{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}

.seasonTimeline div{
  position:relative;
  border:1px solid rgba(34,48,77,.8);
  background:rgba(9,12,20,.35);
  border-radius:16px;
  padding:14px;
}

.seasonTimeline span{
  display:inline-flex;
  color:var(--accent);
  font-size:12px;
  font-weight:900;
  margin-bottom:6px;
}

.seasonTimeline b{ display:block; }
.seasonTimeline p{ color:var(--muted); line-height:1.45; margin-bottom:0; }

.seasonRequirements{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
  list-style:none;
  padding:0;
  margin:12px 0 0;
}

.seasonRequirements li{
  border:1px solid rgba(34,48,77,.8);
  background:rgba(18,26,42,.55);
  border-radius:12px;
  padding:10px;
}

.seasonRefs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

@media (max-width: 900px){
  .seasonGrid4,
  .seasonTimeline,
  .seasonRequirements{ grid-template-columns:1fr; }
  .seasonGrid{ grid-template-columns:1fr; }
  .seasonHero{ align-items:flex-start; }
}

/* Season 6 refreshed portal guide */
.seasonRainforest{
  position:relative;
  overflow:hidden;
  border-color:rgba(43,213,118,.24);
}

.seasonRainforest::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 88% 8%, rgba(43,213,118,.18), transparent 28%),
    radial-gradient(circle at 8% 18%, rgba(48,224,198,.12), transparent 30%),
    linear-gradient(180deg, rgba(22,66,42,.18), transparent 220px);
}

.seasonRainforest > *{ position:relative; }

.seasonHeroRainforest{
  border:1px solid rgba(43,213,118,.28);
  border-radius:22px;
  padding:22px;
  background:linear-gradient(135deg, rgba(7,34,24,.78), rgba(8,13,25,.55));
  box-shadow:0 18px 42px rgba(0,0,0,.24);
}

.seasonHeroRainforest h1{
  margin-bottom:8px;
  font-size:clamp(30px, 5vw, 54px);
  letter-spacing:-1.2px;
}

.seasonHeroRainforest .seasonBadge{
  min-width:92px;
  text-align:center;
  font-size:28px;
  line-height:1;
}

.seasonHeroRainforest .seasonBadge span{
  color:var(--muted);
  font-size:12px;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.seasonQuickMessage{
  display:flex;
  gap:14px;
  align-items:flex-start;
  border-color:rgba(43,213,118,.45);
  background:linear-gradient(135deg, rgba(43,213,118,.13), rgba(48,224,198,.06));
}

.seasonQuickIcon{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(43,213,118,.16);
  font-size:22px;
}

.seasonIntro,
.seasonPanel,
.seasonInfoCard,
.seasonFaq details{
  backdrop-filter:blur(8px);
}

.seasonIntro{
  border:1px solid rgba(34,48,77,.8);
  background:rgba(9,12,20,.32);
  border-radius:18px;
  padding:18px;
}

.seasonIntro p,
.seasonSection > p,
.seasonSectionLead,
.seasonRule{
  color:var(--muted);
  line-height:1.65;
}

.seasonGrid2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.seasonGrid3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.seasonTimeline4{ grid-template-columns:repeat(4, minmax(0,1fr)); }

.featureCard{
  border-color:rgba(43,213,118,.24);
}

.seasonPillList,
.seasonDangerList{
  grid-template-columns:repeat(2, minmax(0,1fr));
  padding-left:0;
  list-style:none;
  margin-top:14px;
}

.seasonPillList li,
.seasonDangerList li,
.seasonNumbered li{
  border:1px solid rgba(34,48,77,.8);
  background:rgba(9,12,20,.35);
  border-radius:13px;
  padding:11px 12px;
}

.seasonPillList li::before{ content:"✓ "; color:var(--ok); font-weight:900; }
.seasonDangerList li::before{ content:"✕ "; color:#ff5c7a; font-weight:900; }

.seasonNumbered{
  list-style-position:inside;
  padding-left:0;
  grid-template-columns:repeat(2, minmax(0,1fr));
}

.seasonTableWrap{
  margin:16px 0;
  border-radius:16px;
}

.seasonFaq{
  display:grid;
  gap:10px;
}

.seasonFaq details{
  border:1px solid rgba(34,48,77,.8);
  background:rgba(9,12,20,.35);
  border-radius:14px;
  padding:12px 14px;
}

.seasonFaq summary{
  cursor:pointer;
  font-weight:900;
}

.seasonFaq p{
  color:var(--muted);
  line-height:1.55;
  margin:10px 0 0;
}

@media (max-width: 900px){
  .seasonGrid2,
  .seasonGrid3,
  .seasonTimeline4,
  .seasonPillList,
  .seasonDangerList,
  .seasonNumbered{ grid-template-columns:1fr; }
  .seasonQuickMessage{ flex-direction:column; }
}



/* Performance VS */
.perfHeaderGrid{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:12px 18px;
}
.perfFieldYear{ flex:0 0 120px; }
.perfFieldWeek{ flex:0 1 280px; }
.perfFieldEvent{ flex:0 0 170px; }
.perfInputYear{ width:112px; max-width:112px; }
.perfInputWeek{ width:88px; max-width:88px; }
.perfInputEvent{ width:160px; max-width:160px; }
.weekInline{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.weekRangeInline{ margin:0; white-space:nowrap; }
.noSpinner::-webkit-outer-spin-button,
.noSpinner::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.noSpinner{ -moz-appearance:textfield; }
.perfRows{ display:grid; gap:12px; }
.perfRow{ display:grid; grid-template-columns:2fr 1fr 1fr auto; gap:10px; align-items:end; border:1px solid rgba(34,48,77,.8); border-radius:14px; padding:12px; background:rgba(9,12,20,.25); }
.autocomplete{ position:relative; }
.autocompleteMenu[hidden]{ display:none; border:0; padding:0; margin:0; min-height:0; box-shadow:none; }
.autocompleteMenu{ position:absolute; left:0; right:0; top:100%; z-index:30; background:rgba(18,26,42,.98); border:1px solid rgba(34,48,77,.9); border-radius:12px; overflow:hidden; box-shadow:0 10px 28px rgba(0,0,0,.35); }
.autocompleteMenu button{ display:block; width:100%; border-radius:0; background:transparent; text-align:left; font-weight:700; }
.autocompleteMenu button:hover{ background:rgba(58,103,255,.18); }
button:disabled,.button:disabled{ opacity:.55; cursor:not-allowed; transform:none; }
.perfActionPanel{ display:grid; gap:12px; margin-top:16px; padding-top:14px; border-top:1px solid rgba(34,48,77,.65); }
.perfActionGroup{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.perfNavActions{ padding-top:2px; }
.perfDangerZone{ margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,92,122,.28); }
.perfViewFilter{ display:grid; grid-template-columns:minmax(150px,190px) auto; gap:12px; align-items:end; }
.perfSummaryTableWrap{ display:block; border-radius:12px; border:1px solid var(--border); overflow-x:auto; }
.perfSummaryTable{ min-width:920px; }
.perfWeekCards{ display:none; gap:14px; }
.perfWeekCard,.perfEventPanel,.perfPlayerCard{ border:1px solid rgba(34,48,77,.8); border-radius:16px; padding:14px; background:rgba(9,12,20,.24); }
.perfWeekCard h2{ margin-top:0; }
.perfPlayerCards{ display:none; gap:10px; }
.perfPlayerCard{ display:flex; align-items:center; gap:12px; }
.perfPlayerRank{ width:52px; height:40px; border-radius:12px; display:grid; place-items:center; font-weight:900; background:rgba(58,103,255,.16); border:1px solid rgba(58,103,255,.35); }
@media (max-width: 760px){
  .perfHeaderGrid{ flex-direction:column; align-items:flex-start; }
  .perfFieldYear,.perfFieldWeek,.perfFieldEvent{ flex:0 0 auto; width:auto; }
  .perfInputYear{ width:112px; }
  .perfInputWeek{ width:88px; }
  .perfInputEvent{ width:150px; }
  .weekInline{ align-items:flex-start; flex-direction:column; gap:6px; }
  .weekRangeInline{ white-space:normal; }
  .perfRow{ grid-template-columns:1fr; }
  .perfActionGroup{ align-items:stretch; }
  .perfActionGroup .button,.perfActionGroup button{ flex:1 1 180px; }
  .perfViewFilter{ grid-template-columns:1fr; }
  .perfSummaryTableWrap,.perfDetailTable{ display:none; }
  .perfWeekCards,.perfPlayerCards{ display:grid; }
}

.notice {
  margin: 12px 0;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.16);
}
.notice--success {
  background: rgba(34, 197, 94, .15);
  border-color: rgba(34, 197, 94, .45);
}
.notice--danger,
.adminSection--danger {
  background: rgba(239, 68, 68, .10);
  border-color: rgba(239, 68, 68, .35);
}
.adminSection {
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
}
.button--danger {
  background: #b91c1c;
}
.button--danger:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.seasonGuideLauncher{
  border:1px solid rgba(48,224,198,.32);
  background:linear-gradient(135deg, rgba(48,224,198,.12), rgba(58,103,255,.08));
  border-radius:18px;
  padding:14px;
  margin:14px 0;
}

.seasonGuideLauncher__header{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom:12px;
}

.seasonGuideLauncher h2{ margin:0 0 4px; font-size:18px; }
.seasonGuideLauncher p{ margin:0; color:var(--muted); line-height:1.5; }

.seasonGuideButtons{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}

.seasonGuideButton{
  display:flex;
  gap:14px;
  align-items:center;
  min-height:72px;
  text-align:left;
  border:1px solid rgba(48,224,198,.36);
  background:rgba(9,12,20,.45);
  color:var(--text);
  border-radius:15px;
  padding:12px;
  cursor:pointer;
}

.seasonGuideButton:hover,
.seasonGuideButton:focus-visible{
  border-color:rgba(48,224,198,.78);
  box-shadow:0 0 0 3px rgba(48,224,198,.14);
}

.seasonGuideButton__content{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:1;
}

.seasonGuideButton__icon{ flex:0 0 auto; font-size:24px; }
.seasonGuideButton__text{ min-width:0; }
.seasonGuideButton strong{ display:block; font-size:15px; }
.seasonGuideButton small{ display:block; margin-top:3px; color:var(--muted); line-height:1.35; }
.seasonGuideButton__thumb{
  flex:0 0 auto;
  width:64px;
  height:64px;
  object-fit:cover;
  object-position:top;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 8px 18px rgba(0,0,0,.28);
  background:rgba(255,255,255,.04);
}

.seasonGuideModal[hidden]{ display:none; }
.seasonGuideModal{ position:fixed; inset:0; z-index:1000; padding:18px; }
.seasonGuideModal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.78); }
.seasonGuideModal__dialog{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  width:min(960px, 100%);
  max-height:calc(100vh - 36px);
  margin:0 auto;
  border:1px solid rgba(48,224,198,.34);
  border-radius:18px;
  background:var(--card);
  box-shadow:0 24px 70px rgba(0,0,0,.5);
  overflow:hidden;
}

.seasonGuideModal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid rgba(34,48,77,.8);
}

.seasonGuideModal__header h2{ margin:0; font-size:18px; }
.seasonGuideModal__close{
  width:40px;
  height:40px;
  border-radius:999px;
  padding:0;
  font-size:28px;
  line-height:1;
}

.seasonGuideModal__body{ overflow:auto; padding:12px; text-align:center; }
.seasonGuideModal__body img{ display:block; max-width:100%; height:auto; margin:0 auto; }
.seasonGuideModalOpen{ overflow:hidden; }

@media (max-width: 760px){
  .seasonGuideButtons{ grid-template-columns:1fr; }
  .seasonGuideButton{ min-height:64px; }
  .seasonGuideButton__thumb{ width:56px; height:56px; }
  .seasonGuideModal{ padding:8px; }
  .seasonGuideModal__dialog{ max-height:calc(100vh - 16px); }
}

@media (max-width: 600px){
  .seasonGuideButton{ padding:10px; gap:10px; }
  .seasonGuideButton__content{ gap:10px; }
  .seasonGuideButton__thumb{ width:48px; height:48px; border-radius:8px; }
}

/* Event log admin page */
.eventLogPage{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

.eventLogHeader{
  margin-bottom:14px;
}

.eventLogToolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  margin:12px 0 10px;
  border:1px solid rgba(34,48,77,.85);
  border-radius:14px;
  background:rgba(15,23,42,.62);
}

.eventLogFilterBar{
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  flex:0 1 auto;
}

.eventLogFilterField{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:0 0 auto;
  min-width:0;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}

.eventLogFilterField .filterInput,
.eventLogFilterSelect{
  flex:0 0 auto;
  width:auto;
  min-width:220px;
  max-width:320px;
  height:42px;
  min-height:42px;
  max-height:42px;
  padding-top:0;
  padding-bottom:0;
  line-height:42px;
}

.eventLogFilterActions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.eventLogTotal{
  display:flex;
  align-items:baseline;
  align-self:flex-end;
  gap:6px;
  margin-left:auto;
  white-space:nowrap;
  padding:8px 12px;
  border:1px solid rgba(59,130,246,.28);
  border-radius:12px;
  background:rgba(37,99,235,.10);
}

.eventLogTotal strong{
  font-size:18px;
}

.eventLogPagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  margin:4px 0;
}

.eventLogPageStatus{
  color:var(--muted);
  font-weight:700;
}

.eventLogPageButtons{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.eventLogPageNumber{
  min-width:36px;
  justify-content:center;
  padding-left:10px;
  padding-right:10px;
}

.eventLogPageNumber.active{
  pointer-events:none;
}

.button.disabled,
.button[aria-disabled="true"]{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
}

.eventLogPageEllipsis{
  color:var(--muted);
  padding:0 2px;
}

.eventLogTableWrap{
  margin-top:4px;
  border-radius:14px;
}

.eventLogTable{
  table-layout:fixed;
  min-width:860px;
}

.eventLogTable th:nth-child(1),
.eventLogTable td:nth-child(1){ width:120px; }
.eventLogTable th:nth-child(2),
.eventLogTable td:nth-child(2){ width:150px; }
.eventLogTable th:nth-child(3),
.eventLogTable td:nth-child(3){ width:220px; }
.eventLogTable th:nth-child(5),
.eventLogTable td:nth-child(5){ width:92px; text-align:right; }

.eventLogTable th,
.eventLogTable td{
  vertical-align:middle;
}

.eventLogTable tbody tr:nth-child(even){
  background:rgba(15,23,42,.28);
}

.eventLogTable tbody tr:hover{
  background:rgba(37,99,235,.10);
}

.eventLogActivity,
.eventLogOrigin,
.eventLogDetailsText{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.eventLogActivity,
.eventLogOrigin{
  white-space:nowrap;
}

.eventLogDetailsText{
  white-space:normal;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.eventLogActionCell .logDetailsBtn{
  min-width:58px;
}

.eventLogEmpty{
  text-align:center;
  padding:22px !important;
}

@media (max-width: 720px){
  .eventLogToolbar,
  .eventLogFilterBar,
  .eventLogFilterActions,
  .eventLogPagination,
  .eventLogPageButtons{
    align-items:stretch;
    flex-direction:column;
  }

  .eventLogToolbar{
    padding:12px;
  }

  .eventLogFilterField,
  .eventLogFilterField .filterInput,
  .eventLogFilterSelect,
  .eventLogFilterActions .button,
  .eventLogTotal,
  .eventLogPageButtons .button{
    width:100%;
    max-width:none;
  }

  .eventLogTotal{
    justify-content:space-between;
  }

  .eventLogPageStatus{
    text-align:center;
  }

  .eventLogPageNumber,
  .eventLogPageEllipsis{
    display:none;
  }

  .eventLogTableWrap{
    overflow:visible;
  }

  .eventLogTable{
    min-width:0;
    border:0;
  }

  .eventLogTable thead{
    display:none;
  }

  .eventLogTable,
  .eventLogTable tbody,
  .eventLogTable tr,
  .eventLogTable td{
    display:block;
    width:100% !important;
  }

  .eventLogTable tr{
    margin-bottom:12px;
    padding:12px;
    border:1px solid rgba(34,48,77,.85);
    border-radius:14px;
    background:rgba(15,23,42,.66);
  }

  .eventLogTable td{
    border:0;
    padding:8px 0;
    text-align:left !important;
  }

  .eventLogTable td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
  }

  .eventLogDetailsText{
    -webkit-line-clamp:4;
  }

  .eventLogActionCell .logDetailsBtn{
    width:100%;
    min-height:42px;
  }
}

.seasonBackLink,
.seasonPrimaryLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--text);
  text-decoration:none;
  border:1px solid rgba(43,213,118,.45);
  background:linear-gradient(135deg, rgba(43,213,118,.18), rgba(48,224,198,.08));
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
  transition:border-color .15s ease, transform .15s ease, background .15s ease;
}

.seasonBackLink{ margin-bottom:16px; }

.seasonBackLink:hover,
.seasonBackLink:focus-visible,
.seasonPrimaryLink:hover,
.seasonPrimaryLink:focus-visible{
  border-color:rgba(48,224,198,.8);
  background:linear-gradient(135deg, rgba(43,213,118,.26), rgba(58,103,255,.12));
  transform:translateY(-1px);
  outline:none;
}

.seasonGuideLinkCard{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
  border:1px solid rgba(48,224,198,.32);
  background:rgba(48,224,198,.07);
  border-radius:16px;
  padding:14px;
}

.seasonGuideLinkCard h3,
.seasonGuideLinkCard p{ margin:0; }
.seasonGuideLinkCard p{ color:var(--muted); line-height:1.5; margin-top:4px; }

.altarGuidePage .seasonCallout{ margin-top:14px; }
.altarAbilityTable th,
.altarAbilityTable td{ min-width:140px; vertical-align:top; }
.altarAbilityTable th:nth-child(4),
.altarAbilityTable td:nth-child(4),
.altarAbilityTable th:nth-child(5),
.altarAbilityTable td:nth-child(5){ min-width:220px; }

@media (max-width: 700px){
  .seasonGuideLinkCard{ align-items:stretch; flex-direction:column; }
  .seasonPrimaryLink{ width:100%; }
}

/* ========================= */
/* BISS SPLASH SCREEN        */
/* ========================= */

.splash{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%, rgba(48,224,198,.18), transparent 26%),
    radial-gradient(circle at 18% 12%, rgba(43,213,118,.14), transparent 26%),
    linear-gradient(145deg, #05080d 0%, #0b1420 48%, #07130f 100%);
  opacity:1;
  transition:opacity .45s ease, visibility .45s ease;
}

.splash[hidden]{ display:none; }

.splash::before,
.splash::after{
  content:"";
  position:absolute;
  inset:auto;
  pointer-events:none;
}

.splash::before{
  width:min(72vw, 520px);
  aspect-ratio:1;
  border:1px solid rgba(48,224,198,.22);
  border-radius:50%;
  box-shadow:0 0 80px rgba(48,224,198,.18), inset 0 0 80px rgba(43,213,118,.08);
}

.splash::after{
  inset:0;
  background:linear-gradient(115deg, transparent 0 38%, rgba(125,255,226,.08) 46%, transparent 55% 100%);
  transform:translateX(-120%);
  animation:splashSweep 2.3s ease-out forwards;
}

.splash.is-hiding{
  opacity:0;
  visibility:hidden;
}

.splash__scanline{
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(to bottom, rgba(255,255,255,.03) 0 1px, transparent 1px 7px);
  opacity:.26;
  mix-blend-mode:screen;
}

.splash__panel{
  position:relative;
  z-index:1;
  width:min(420px, 100%);
  padding:30px 24px 28px;
  text-align:center;
  border:1px solid rgba(48,224,198,.34);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(18,26,42,.86), rgba(5,8,13,.78));
  box-shadow:0 24px 80px rgba(0,0,0,.56), 0 0 44px rgba(48,224,198,.18);
  animation:splashFadeIn .55s ease-out both;
}

.splash__logoWrap{
  position:relative;
  display:grid;
  place-items:center;
  width:clamp(108px, 28vw, 148px);
  height:clamp(108px, 28vw, 148px);
  margin:0 auto 16px;
  border-radius:32px;
  background:rgba(5,8,13,.55);
  box-shadow:0 0 34px rgba(48,224,198,.32), inset 0 0 24px rgba(43,213,118,.08);
  animation:splashLogoPulse 1.8s ease-in-out infinite;
}

.splash__logo{
  position:relative;
  z-index:1;
  width:82%;
  height:82%;
  object-fit:contain;
}

.splash__logoFallback{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--text);
  font-size:30px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
}

.splash__logo:not([src=""]){ background:transparent; }
.splash__logo:not([src=""]) + .splash__logoFallback{ opacity:0; }
.splash__logo[src=""],
.splash__logo:not([src]){ display:none; }
.splash__logo[src=""] + .splash__logoFallback,
.splash__logo:not([src]) + .splash__logoFallback{ opacity:1; }

.splash__eyebrow{
  margin:0 0 5px;
  color:var(--accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:3px;
  text-transform:uppercase;
}

.splash__title{
  margin:0;
  color:#f3fff9;
  font-size:clamp(42px, 13vw, 72px);
  line-height:.95;
  letter-spacing:5px;
  text-transform:uppercase;
  text-shadow:0 0 22px rgba(48,224,198,.5);
}

.splash__subtitle{
  margin:10px 0 0;
  color:var(--muted);
  font-size:clamp(16px, 5vw, 24px);
  font-weight:700;
  letter-spacing:1.2px;
}

@keyframes splashFadeIn{
  from{ opacity:0; transform:translateY(12px) scale(.98); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}

@keyframes splashLogoPulse{
  0%, 100%{ transform:scale(1); box-shadow:0 0 30px rgba(48,224,198,.26), inset 0 0 24px rgba(43,213,118,.08); }
  50%{ transform:scale(1.035); box-shadow:0 0 48px rgba(48,224,198,.42), inset 0 0 30px rgba(43,213,118,.12); }
}

@keyframes splashSweep{
  to{ transform:translateX(120%); }
}

@media (prefers-reduced-motion: reduce){
  .splash,
  .splash__panel,
  .splash__logoWrap,
  .splash::after{
    animation:none;
    transition:opacity .18s ease;
  }
}

.splash__logo.has-error{ display:none; }
.splash__logo.has-error + .splash__logoFallback{ opacity:1; }
