/* Aspetto Our Elysion per il Mount Tracker.
   Questo file cambia solo colori, caratteri e piccole animazioni: nessuna funzione del tracker.
   Il tema (chiaro o notturno) è lo stesso scelto su ourelysion.com: lo legge dal cookie oe_tema. */

/* ── NOTTURNO (predefinito) ── */
:root{
  --bg:#0F1626; --bg2:#172036; --bg3:#1E2A45; --bg4:#2A3858;
  --border:rgba(142,170,214,.14); --border2:rgba(142,170,214,.28);
  --text:#E8EDF5; --text2:#B4BFD2; --text3:#8E9AB2;
  --accent:#F2A54A; --accent2:#F7B866; --accentbg:rgba(242,165,74,.14);
  --trial:#6EC1E4; --trialbg:rgba(110,193,228,.14);
  --font-display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
  --font-body:'Josefin Sans','Segoe UI',system-ui,sans-serif;
  --oe-ombra:0 14px 30px -12px rgba(0,0,0,.55);
  --oe-velo:rgba(5,9,18,.72);
  --oe-attesa:#E8B04B;
  --oe-su-accento:#0E1B33;
  --oe-col:rgba(159,211,234,.08);
  color-scheme:dark;
}

/* ── CHIARO (crema, come la homepage) ── */
html[data-tema="chiaro"]{
  --bg:#F6F1E7; --bg2:#FFFDF8; --bg3:#F1EADC; --bg4:#E6DCCB;
  --border:rgba(27,35,53,.12); --border2:rgba(27,35,53,.24);
  --text:#1B2335; --text2:#424C66; --text3:#5B6480;
  --accent:#E8952F; --accent2:#9C4E0C; --accentbg:rgba(232,149,47,.16);
  --green:#1E7A3C; --greenbg:rgba(30,122,60,.12);
  --blue:#1F5F9E; --bluebg:rgba(31,95,158,.12);
  --red:#B42318; --redbg:rgba(180,35,24,.10);
  --orange:#B5470B; --orangebg:rgba(181,71,11,.12);
  --purple:#7A3DB8; --purplebg:rgba(122,61,184,.12);
  --yellow:#8A5A00; --yellowbg:rgba(138,90,0,.12);
  --trial:#1F5F9E; --trialbg:rgba(31,95,158,.12);
  --raid:#B5470B; --raidbg:rgba(181,71,11,.12);
  --dt:#8A5A00; --dtbg:rgba(138,90,0,.12);
  --ew:#0E6E80; --ewbg:rgba(14,110,128,.12);
  --shb:#A3266B; --shbbg:rgba(163,38,107,.10);
  --shadow:0 16px 40px -14px rgba(27,35,53,.22),0 2px 8px rgba(27,35,53,.08);
  --oe-ombra:0 14px 28px -14px rgba(27,35,53,.28);
  --oe-velo:rgba(14,27,51,.45);
  --oe-attesa:#8A5A00;
  --oe-col:rgba(232,149,47,.11);
  color-scheme:light;
}

/* ── CARATTERI ── */
body{font-family:var(--font-body);font-variant-numeric:lining-nums;}
button,input,select,textarea{font-family:inherit;}
.stat-val,.topbar-title,.modal h3,.detail-head h3{font-family:var(--font-display);}
.stat-val{font-weight:800;font-size:42px;letter-spacing:.01em;}
.topbar-title{font-weight:800;font-size:27px;letter-spacing:.04em;color:var(--text);}
.topbar-title span{font-family:var(--font-body);}
.section-title{font-family:var(--font-body);}

/* ── TESTO SU SFONDO AMBRA (pulsanti pieni) ── */
.btn-primary,.backup-btn:not(.secondary),.cand-add:not(.added),.karma-mode-btn.active,
.party-pos-layout-toolbar .icon-btn.active,.party-pos-shape-toggle button.active{color:var(--oe-su-accento);}
html[data-tema="chiaro"] :is(.btn-primary,.backup-btn:not(.secondary),.cand-add:not(.added)):hover{background:#F7B866;}
::selection{background:var(--accent);color:var(--oe-su-accento);}

/* ── COLORI CHE NEL TRACKER ERANO SCRITTI A MANO ── */
.modal-bg{background:var(--oe-velo);}
.nav-btn.active{border-color:rgba(242,165,74,.4);}
.karma-plst-row.checked{background:var(--accentbg);}
.ps-list.pending li,.assign-tag.pending,.fp-tag-pending{color:var(--oe-attesa);}
.topbar{box-shadow:0 1px 0 var(--border),var(--oe-ombra);}
html[data-tema="chiaro"] .topbar{box-shadow:0 1px 0 var(--border),0 10px 22px -18px rgba(27,35,53,.35);}
html[data-tema="chiaro"] body::before{opacity:.06;filter:none;}
html[data-tema="chiaro"] .assign-tag .deliver-toggle{background:rgba(27,35,53,.08);}

/* ── BARRA IN ALTO: link al sito e pulsante del tema ── */
.topbar{border-bottom:2px solid var(--accent);height:auto;min-height:74px;padding-top:8px;padding-bottom:8px;row-gap:6px;}
.nav-btn{padding:8px 14px;}
#topbar-nav{gap:2px;}
.oe-sito{color:inherit;text-decoration:none;transition:color .15s;}
.oe-sito:hover{color:var(--accent2);}
.oe-tema-btn{margin-left:auto;width:42px;height:42px;flex-shrink:0;border-radius:50%;border:1px solid var(--border2);background:transparent;color:var(--text2);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,color .15s,transform .15s;}
.oe-tema-btn:hover{border-color:var(--accent);color:var(--accent2);}
.oe-tema-btn:active{transform:scale(.94);}
.oe-tema-btn svg{width:20px;height:20px;}
.oe-tema-btn .ic-sole{display:none;}
html:not([data-tema="chiaro"]) .oe-tema-btn .ic-luna{display:none;}
html:not([data-tema="chiaro"]) .oe-tema-btn .ic-sole{display:block;}

/* ── RIQUADRI DEI NUMERI ── */
.stat-card{position:relative;overflow:hidden;border-top:1px solid var(--border);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;}
.stat-card::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);
  transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.stat-card::after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,var(--accentbg),transparent 70%);opacity:.0;transition:opacity .25s ease;pointer-events:none;}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--oe-ombra);border-color:var(--border2);background:var(--bg2);}
.stat-card:hover::before{transform:scaleX(1);}
.stat-card:hover::after{opacity:1;}
.stat-lbl{color:var(--text2);}
.prog{height:8px;border-radius:999px;}
.prog-fill{border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .9s cubic-bezier(.2,.8,.2,1);}
html[data-tema="chiaro"] .prog-fill{background:linear-gradient(90deg,#E8952F,#F7B866);}

/* ── TABELLA: riga e colonna sotto il mouse ── */
tbody tr.data-row:hover .player-row-name{color:var(--accent2);}
td.oe-col,th.oe-col{background:var(--oe-col) !important;}
thead th.th-mount-col{transition:filter .15s,box-shadow .15s;}
thead th.th-mount-col.oe-col{box-shadow:inset 0 -3px 0 var(--accent);}
.mh-icon-sm{width:32px;height:32px;border-radius:8px;transition:transform .18s ease;}
thead th.th-mount-col:hover .mh-icon-sm{transform:translateY(-2px) scale(1.12);}
.check-btn{transition:transform .15s ease,border-color .15s,background .15s,box-shadow .15s;}
.check-btn:not(.pre):hover{box-shadow:0 0 0 4px var(--accentbg);}
.check-btn.owned::after{display:inline-block;animation:oe-spunta .28s ease-out;}
@keyframes oe-spunta{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
.miss-count{font-size:17px;}

/* ── PROGRESSI ── */
.pr-bar-wrap{height:9px;}
.pr-bar{display:block;transition:width .9s cubic-bezier(.2,.8,.2,1);}
.pr-mount .mount-icon{transition:transform .18s ease;}
.pr-mount:hover .mount-icon{transform:scale(1.1);}
.pr-mount:hover .mount-name{color:var(--accent2);}

/* ── SCHEDE (giocatori, mount, party, cicli) ── */
:is(.mg-card,.party-group-card,.player-row,.party-pool-col,.custom-cat-col,.backup-box){transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
:is(.mg-card,.party-group-card,.player-row):hover{transform:translateY(-2px);box-shadow:var(--oe-ombra);}
.exp-tab,.filter-pill,.type-pill{transition:background .15s,border-color .15s,color .15s,transform .15s;}
.exp-tab:active,.filter-pill:active,.type-pill:active{transform:scale(.96);}

/* ── PIEDE ── */
.piede-oe{border-top:2px solid var(--accent);}

@media (max-width:720px){
  .topbar{height:auto;min-height:64px;padding:10px 16px 8px;gap:10px 12px;}
  .topbar-title{font-size:21px;flex:1;}
  #topbar-nav{order:5;flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -4px;}
  #topbar-nav::-webkit-scrollbar{display:none;}
  .nav-btn{flex-shrink:0;padding:7px 14px;}
  .admin-btn{padding:7px 14px;}
  .main{padding:1.1rem 16px;}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .stat-card{padding:1rem 1.1rem;}
  .stat-lbl{font-size:12.5px;}
  .stat-sub{font-size:13px;}
  thead th.th-player-col{min-width:150px;}
  .player-row-name{max-width:112px;font-size:16px;}
  .row-avatar{width:30px;height:30px;font-size:12px;}
  .stat-val{font-size:34px;}
  .oe-tema-btn{width:38px;height:38px;}
}
@media (prefers-reduced-motion:reduce){
  .stat-card,.stat-card::before,.check-btn,.mh-icon-sm,.prog-fill,.pr-bar,:is(.mg-card,.party-group-card,.player-row){transition:none !important;}
  .stat-card:hover,:is(.mg-card,.party-group-card,.player-row):hover{transform:none;}
  .check-btn.owned::after{animation:none;}
}
