:root{
  --bg:#1f140c;
  --panel:#ead6b3;
  --panel-2:#f6e8cc;
  --text:#2b1609;
  --muted:#6b4f2a;
  --border:#a88f6c;
  --shadow:0 14px 35px rgba(0,0,0,.35);
  --green:#16a34a;
  --blue:#2563eb;
  --orange:#d97706;
  --red:#b91c1c;
  --gray:#4b5563;
  --radius:16px;
}

*{box-sizing:border-box}

body{
  margin:0;
  min-height:100vh;
  font-family:Arial, "Trebuchet MS", sans-serif;
  color:var(--text);
  background:
    linear-gradient(rgba(0,0,0,.46),rgba(0,0,0,.46)),
    var(--familiar-bg,url("./assets/images/fond.webp")) center/var(--familiar-bg-size,cover) fixed no-repeat;
}

body.night{
  --panel:#2b1f14;
  --panel-2:#382817;
  --text:#f4e7c5;
  --muted:#d6c09a;
  --border:#8b6f47;
  background:
    linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.78)),
    var(--familiar-bg,url("./assets/images/fond.webp")) center/var(--familiar-bg-size,cover) fixed no-repeat;
}

body.no-anim *{animation:none!important;transition:none!important}
body.no-tooltips .tooltip::after{display:none!important}
body.no-tooltips .smart-tooltip{display:none!important}

.app{
  width:min(980px,94vw);
  margin:12px auto 72px;
  padding:14px;
  background:rgba(234,214,179,.96);
  border:2px solid var(--border);
  border-radius:20px;
  box-shadow:var(--shadow);
}

body.night .app{background:rgba(43,31,20,.96)}

.layout{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:14px;
  align-items:start;
}

.card{
  background:rgba(255,255,255,.16);
  border:2px solid var(--border);
  border-radius:var(--radius);
  padding:12px;
}

.side{
  display:flex;
  flex-direction:column;
  gap:10px;
  text-align:center;
}

.pykur-img{
  width:170px;
  max-width:100%;
  margin:0 auto;
  display:block;
  transition:.2s;
}

.pykur-img.pop{animation:pop .28s ease}
@keyframes pop{50%{transform:scale(1.1) translateY(-4px)}}

.progress-title{
  font-size:17px;
  font-weight:900;
  margin-bottom:6px;
}

.progress-bar{
  height:22px;
  border-radius:999px;
  overflow:hidden;
  background:#4d4638;
  border:2px solid #3a3429;
}

.progress-fill{
  height:100%;
  width:0;
  background:linear-gradient(90deg,#22c55e,#84cc16);
  transition:.25s;
}

.progress-percent{
  margin-top:6px;
  font-size:25px;
  font-weight:900;
}

.chrono-title{
  font-size:17px;
  font-weight:900;
}

.chrono-time{
  margin:8px 0;
  font-size:28px;
  font-weight:900;
  color:var(--blue);
}

.chrono-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.main{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.profile-row{
  display:grid;
  grid-template-columns:auto 1fr auto auto auto;
  gap:8px;
  align-items:center;
}

.profile-row label{
  font-weight:900;
  color:var(--muted);
}

select,input{
  min-height:38px;
  border:2px solid var(--border);
  border-radius:12px;
  padding:0 10px;
  font-weight:800;
  background:#fff7e6;
  color:#2b1609;
}

.hero{
  text-align:center;
}

.title-row{
  display:grid;
  grid-template-columns:72px 1fr 72px;
  align-items:center;
  gap:10px;
}

h1{
  margin:0;
  font-size:42px;
  line-height:1;
}

.farm-row{
  margin-top:10px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  font-weight:900;
}

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

.btn{
  min-height:40px;
  border:1px solid rgba(255,255,255,.28);
  border-bottom:3px solid rgba(0,0,0,.36);
  border-radius:13px;
  padding:0 12px;
  color:#fff;
  cursor:pointer;
  font-size:14px;
  font-weight:900;
  text-align:center;
  line-height:1.12;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  white-space:normal;
  text-shadow:0 1px 1px rgba(0,0,0,.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 5px 12px rgba(0,0,0,.18);
}

.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn:active{transform:translateY(1px);border-bottom-width:1px}

.btn-green{background:linear-gradient(#22c55e,#15803d)}
.btn-blue{background:linear-gradient(#60a5fa,#2563eb)}
.btn-orange{background:linear-gradient(#f59e0b,#b45309)}
.btn-red{background:linear-gradient(#dc2626,#7f1d1d)}
.btn-gray{background:linear-gradient(#6b7280,#374151)}

.big-btn{
  width:72px;
  height:58px;
  min-height:58px;
  padding:0;
  font-size:34px;
  border-radius:18px;
  white-space:nowrap;
}

.summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.stat-box{
  text-align:center;
  padding:10px;
}

.stat-title{
  font-size:13px;
  font-weight:900;
  color:var(--muted);
}

.stat-value{
  margin-top:4px;
  font-size:24px;
  font-weight:900;
}

.green-text{color:var(--green)}
.red-text{color:var(--red)}
.blue-text{color:var(--blue)}

.pp-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:20px;
  font-weight:900;
}

.pp-row img{width:36px}

.info{
  margin-top:10px;
  text-align:center;
  font-size:13px;
  line-height:1.45;
  color:var(--muted);
  font-weight:800;
}

/* Tooltips */
.tooltip{position:relative}
.tooltip::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%);
  width:max-content;
  max-width:240px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(35,24,16,.98);
  color:#fff4d6;
  font-size:12px;
  line-height:1.25;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:20000;
  box-shadow:0 8px 18px rgba(0,0,0,.35);
}
.tooltip:hover::after{opacity:1;visibility:visible}

/* Floating monster button */
#monsterLauncher{
  position:fixed;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:9000;
  min-width:190px;
  height:46px;
  border-radius:999px;
  font-size:16px;
}

/* Modal system */
.modal-bg{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(24,15,8,.64);
  backdrop-filter:blur(4px) saturate(.92);
  z-index:10000;
}

.modal-bg.show{display:flex}

.modal{
  width:min(780px,94vw);
  max-height:88vh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  background:
    radial-gradient(circle at 18% 0%,rgba(250,204,21,.10),transparent 34%),
    linear-gradient(180deg,rgba(255,250,238,.97),rgba(240,221,185,.96));
  border:2px solid rgba(122,78,24,.78);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.45);
  overflow:hidden;
  animation:modalRise .24s cubic-bezier(.2,.8,.2,1);
}

.modal-head{
  min-height:64px;
  padding:12px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:
    radial-gradient(circle at 12% 0%,rgba(250,204,21,.22),transparent 34%),
    linear-gradient(180deg,#7a4b1b,#321b0d);
  color:#fff4d6;
  border-bottom:1px solid rgba(255,226,154,.22);
}

.modal-head h2{
  margin:0;
  font-size:23px;
  color:#fff4d6;
  display:flex;
  align-items:center;
  gap:10px;
}

.modal-head h2::first-letter{letter-spacing:0}
.modal-title-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  object-fit:contain;
  filter:drop-shadow(0 3px 4px rgba(20,10,3,.38));
}
.modal-head p,.modal-kicker{
  margin:4px 0 0;
  color:rgba(255,244,214,.78);
  font-size:12px;
  font-weight:800;
}

.modal-close{
  width:38px;
  height:38px;
  min-height:38px;
  padding:0;
  border-radius:10px;
  font-size:19px;
}

.modal-body{
  padding:16px;
  overflow:auto;
}

.modal-foot{
  min-height:56px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-top:1px solid rgba(139,111,71,.35);
  background:linear-gradient(180deg,rgba(255,248,232,.42),rgba(238,208,147,.34));
}

body.night .modal-foot{background:rgba(255,255,255,.04)}

@keyframes modalRise{
  from{opacity:0;transform:translateY(10px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.option-grid,
.stats-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.option-card,
.stats-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:2px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.12);
  font-weight:900;
}

.option-card small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
}

.activity-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.activity-item{
  display:grid;
  grid-template-columns:62px 1fr;
  gap:10px;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.14);
  border-left:4px solid var(--blue);
  font-size:13px;
  font-weight:900;
}

.activity-item.success{border-left-color:var(--green)}
.activity-item.warning{border-left-color:var(--orange)}
.activity-item.error{border-left-color:var(--red)}
.activity-time{opacity:.7;font-size:12px}

/* Monster modal */
.monster-modal{
  width:min(960px,94vw);
  max-height:88vh;
}

.monster-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:8px;
  margin-bottom:12px;
}

.monster-tabs .btn{
  height:38px;
  min-height:38px;
  font-size:13px;
  padding:0 9px;
}

.monster-tabs .active{
  outline:3px solid rgba(250,204,21,.55);
  filter:brightness(1.12);
}

.monster-table{
  border:2px solid var(--border);
  border-radius:14px;
  overflow:auto;
  max-height:58vh;
  background:rgba(255,255,255,.12);
}

.monster-row{
  display:grid;
  grid-template-columns:54px minmax(180px,1fr) 110px;
  gap:10px;
  align-items:center;
  min-height:56px;
  padding:8px 12px;
  border-bottom:1px solid rgba(139,111,71,.35);
  font-weight:900;
}

.monster-row.all{
  grid-template-columns:54px minmax(170px,1fr) repeat(4,90px);
}

.monster-row.header{
  position:sticky;
  top:0;
  z-index:2;
  min-height:44px;
  background:rgba(207,177,130,.96);
  color:#5a3415;
  font-size:12px;
  text-transform:uppercase;
}

body.night .monster-row.header{
  background:rgba(255,255,255,.10);
  color:#facc15;
}

.monster-row:nth-child(even):not(.header){background:rgba(255,255,255,.13)}
.monster-icon{width:42px;max-height:48px;object-fit:contain}
.monster-value{text-align:center;color:#7b430d}
body.night .monster-value{color:#facc15}

.mob-edit-grid{
  display:grid;
  grid-template-columns:54px 1fr repeat(3,90px);
  gap:8px;
  align-items:center;
}

.mob-edit-grid.header{
  font-weight:900;
  color:var(--muted);
  margin-bottom:8px;
}

.mob-edit-card{
  display:grid;
  grid-template-columns:54px 1fr repeat(3,90px);
  gap:8px;
  align-items:center;
  padding:8px;
  border-bottom:1px solid rgba(139,111,71,.25);
  font-weight:900;
}

.mob-edit-card img{width:42px;max-height:48px;object-fit:contain}
.mob-edit-card input{text-align:center;width:100%}

.toast-wrap{
  position:fixed;
  right:12px;
  bottom:72px;
  z-index:20000;
  display:flex;
  flex-direction:column;
  gap:8px;
  pointer-events:none;
}

.toast{
  max-width:280px;
  padding:10px 12px;
  border-radius:12px;
  color:white;
  font-size:13px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(0,0,0,.35);
  animation:toastIn .18s ease;
}
.toast.action{
  pointer-events:auto;
  max-width:340px;
}
.toast-action-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.toast-action-row span{
  min-width:0;
}
.toast-action-row button{
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  padding:6px 10px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-weight:950;
  cursor:pointer;
}
.toast-action-row button:hover{background:rgba(255,255,255,.25)}
.toast.success{background:linear-gradient(#16a34a,#22c55e)}
.toast.info{background:linear-gradient(#2563eb,#60a5fa)}
.toast.warning{background:linear-gradient(#b45309,#f59e0b)}
.toast.error{background:linear-gradient(#991b1b,#ef4444)}
@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:768px){
  body{background-attachment:scroll}
  .app{
    width:100%;
    min-height:100vh;
    margin:0 0 60px;
    border-radius:0;
    border:none;
    padding:10px;
  }

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

  .side{
    display:grid;
    grid-template-columns:120px 1fr;
    text-align:left;
    align-items:center;
  }

  .side .card{height:100%}
  .pykur-img{width:110px}

  .chrono-card{
    grid-column:1 / -1;
  }

  .unified-session-metrics{
    grid-template-columns:1fr 1fr;
  }

  .profile-row{
    grid-template-columns:1fr 1fr;
  }

  .profile-row label,
  .profile-row select{
    grid-column:1 / -1;
  }

  .title-row{
    grid-template-columns:64px 1fr 64px;
  }

  h1{font-size:34px}
  .big-btn{width:64px;height:54px;min-height:54px}

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

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

  .monster-tabs{
    grid-template-columns:1fr 1fr;
  }

  .monster-tabs button:last-child{
    grid-column:1 / -1;
  }

  .monster-row.all{
    grid-template-columns:46px 1fr;
    gap:4px 10px;
  }

  .monster-row.all.header{display:none}

  .monster-row.all img{
    grid-row:1 / span 5;
  }

  .monster-row.all span{
    grid-column:2;
    text-align:left;
  }

  .monster-row.all span:nth-child(3)::before{content:"Morose : "}
  .monster-row.all span:nth-child(4)::before{content:"Tynril : "}
  .monster-row.all span:nth-child(5)::before{content:"Zone : "}
  .monster-row.all span:nth-child(6)::before{content:"Total : "}

  .monster-row{
    grid-template-columns:46px 1fr 70px;
  }

  .mob-edit-grid.header{display:none}
  .mob-edit-card{
    grid-template-columns:44px 1fr;
  }
  .mob-edit-card input{
    grid-column:1 / -1;
  }

  .tooltip::after{display:none}
}

/* ===== Ajouts refonte v2 : infobulles, cartes donjons, historique chrono, sauvegarde ===== */
.dungeon-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.dungeon-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  align-items:stretch;
  padding:10px;
}

.dungeon-card h3{
  grid-column:1 / -1;
  margin:0 0 2px;
  font-size:17px;
  text-align:center;
}

.dungeon-mini{
  border:1px solid rgba(139,111,71,.35);
  border-radius:12px;
  padding:9px;
  text-align:center;
  background:rgba(255,255,255,.13);
}

.dungeon-mini.full{
  grid-column:1 / -1;
  cursor:pointer;
}

.dungeon-mini:hover{
  background:rgba(255,255,255,.22);
}

.dungeon-label{
  font-size:12px;
  font-weight:900;
  color:var(--muted);
}

.dungeon-value{
  margin-top:3px;
  font-size:21px;
  font-weight:900;
}

.chrono-history{
  margin-top:10px;
  border-top:1px solid rgba(139,111,71,.35);
  padding-top:9px;
}

.chrono-history-title{
  font-size:13px;
  font-weight:900;
  color:var(--muted);
  margin-bottom:6px;
}

.chrono-history-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.chrono-history-box{
  border:1px solid rgba(139,111,71,.35);
  border-radius:12px;
  padding:7px;
  background:rgba(255,255,255,.12);
  text-align:left;
  max-height:106px;
  overflow:auto;
}

.chrono-history-box strong{
  display:block;
  text-align:center;
  margin-bottom:4px;
  font-size:12px;
}

.chrono-mark{
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:12px;
  font-weight:900;
  padding:3px 0;
  border-bottom:1px solid rgba(139,111,71,.18);
}

.chrono-empty{
  text-align:center;
  opacity:.65;
  font-size:12px;
  font-weight:900;
}

.backup-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

#monsterLauncher{
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:flex!important;
  width:min(260px,92vw)!important;
  margin:-52px auto 18px!important;
  z-index:1!important;
}

.app{
  margin-bottom:68px!important;
}

@media(max-width:768px){
  .dungeon-summary{
    grid-template-columns:1fr;
  }

  .chrono-history-grid{
    grid-template-columns:1fr;
  }

  .backup-actions{
    grid-template-columns:1fr;
  }

  #monsterLauncher{
    margin:10px auto 70px!important;
    width:calc(100vw - 24px)!important;
  }

  .app{
    margin-bottom:0!important;
  }
}


/* ===== Centrage global + bouton Monstres intégré ===== */
html,
body{
  min-height:100%;
}

body{
  min-height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px!important;
  overflow-x:hidden!important;
}

.app{
  margin:0 auto!important;
  width:min(980px,94vw)!important;
}

#monsterLauncher{
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:auto!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

.actions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

@media(max-height:760px) and (min-width:769px){
  body{
    align-items:flex-start!important;
    padding-top:10px!important;
  }

  .app{
    transform:scale(.94);
    transform-origin:top center;
  }
}

@media(max-width:768px){
  body{
    display:block!important;
    padding:0!important;
  }

  .app{
    width:100%!important;
    margin:0!important;
  }

  #monsterLauncher{
    width:100%!important;
    margin:0!important;
  }
}


/* ===== Correctifs fenêtres + bouton monstres + tableau temps ===== */

/* Centrage propre sans perdre les boutons */
body{
  min-height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
  overflow-x:hidden!important;
}

.app{
  margin:0 auto!important;
}

/* Le bouton Monstres est dans la grille, pas flottant */
#monsterLauncher{
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:auto!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

.actions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Bouton tableau des temps */
.chrono-history-open{
  width:100%!important;
  margin-top:8px!important;
}

/* Fenêtres : pas de scroll horizontal */
.modal-bg{
  padding:12px!important;
  overflow:hidden!important;
}

.modal{
  width:min(820px,calc(100vw - 24px))!important;
  max-height:calc(100vh - 24px)!important;
  overflow:hidden!important;
}

.modal-body{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:12px!important;
}

.modal *{
  max-width:100%;
}

.monster-modal{
  width:min(940px,calc(100vw - 24px))!important;
}

.monster-table{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  max-height:calc(100vh - 210px)!important;
}

.monster-row.all{
  grid-template-columns:46px minmax(130px,1fr) repeat(4,minmax(58px,78px))!important;
}

.monster-row{
  grid-template-columns:46px minmax(130px,1fr) minmax(60px,80px)!important;
}

.monster-row.header{
  font-size:11px!important;
}

.monster-tabs{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}

.monster-tabs .btn{
  min-width:0!important;
  padding:0 6px!important;
  font-size:12px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Panneau latéral des temps */
.side-panel-bg{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:12px;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(2px);
  z-index:10001;
}

.side-panel-bg.show{
  display:flex;
}

.side-panel{
  width:min(720px,calc(100vw - 24px));
  max-height:calc(100vh - 24px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  background:var(--panel);
  border:3px solid var(--border);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.52);
  overflow:hidden;
}

.side-panel-head{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 16px;
  background:linear-gradient(#6b4423,#3b2414);
  color:#fff4d6;
}

.side-panel-head h2{
  margin:0;
  font-size:22px;
  color:#fff4d6;
}

.side-panel-body{
  padding:12px;
  overflow:auto;
}

.side-panel-foot{
  min-height:56px;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:10px 14px;
  border-top:1px solid rgba(139,111,71,.35);
  background:rgba(255,247,230,.35);
}

.run-time-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.run-time-category{
  border:2px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.12);
  overflow:hidden;
}

.run-time-category h3{
  margin:0;
  padding:10px;
  text-align:center;
  font-size:16px;
  background:rgba(0,0,0,.08);
}

.run-time-table{
  display:flex;
  flex-direction:column;
  max-height:58vh;
  overflow:auto;
}

.run-time-row{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:8px;
  align-items:center;
  padding:9px 10px;
  border-top:1px solid rgba(139,111,71,.28);
  font-size:13px;
  font-weight:900;
}

.run-time-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.run-time-meta{
  opacity:.7;
  font-size:12px;
}

.run-time-empty{
  padding:16px;
  text-align:center;
  font-weight:900;
  opacity:.7;
}

.run-time-row button{
  min-height:30px!important;
  height:30px!important;
  padding:0 8px!important;
  font-size:12px!important;
}

/* Petits écrans */
@media(max-width:768px){
  body{
    display:block!important;
    padding:0!important;
  }

  .actions{
    grid-template-columns:1fr 1fr!important;
  }

  #monsterLauncher{
    width:100%!important;
  }

  .modal-bg{
    padding:8px!important;
  }

  .modal{
    width:calc(100vw - 16px)!important;
    max-height:calc(100vh - 16px)!important;
  }

  .monster-tabs{
    grid-template-columns:1fr 1fr!important;
  }

  .monster-tabs .btn:last-child{
    grid-column:1 / -1;
  }

  .run-time-columns{
    grid-template-columns:1fr;
  }

  .side-panel{
    width:calc(100vw - 16px);
    max-height:calc(100vh - 16px);
  }
}


/* ===== Patch runs chrono : vraie fenêtre, pas de mini historique ===== */
.chrono-history,
.chrono-history-grid,
.chrono-history-box{
  display:none!important;
}

.chrono-history-open{
  width:100%!important;
  margin-top:8px!important;
}

.run-panel{
  width:min(860px,calc(100vw - 24px))!important;
  max-height:calc(100vh - 24px)!important;
}

.run-time-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.run-time-category{
  border:2px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.12);
  overflow:hidden;
  min-width:0;
}

.run-time-category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 12px;
  background:rgba(0,0,0,.08);
  border-bottom:1px solid rgba(139,111,71,.25);
}

.run-time-category-head h3{
  margin:0;
  font-size:16px;
}

.run-time-stats{
  font-size:12px;
  font-weight:900;
  color:var(--muted);
  white-space:nowrap;
}

.run-time-table{
  max-height:58vh;
  overflow:auto;
}

.run-time-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto;
  gap:8px;
  align-items:center;
  padding:9px 10px;
  border-top:1px solid rgba(139,111,71,.25);
  font-size:13px;
  font-weight:900;
}

.run-time-row:first-child{
  border-top:none;
}

.run-time-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.run-time-time{
  color:var(--blue);
  white-space:nowrap;
}

.run-time-date{
  opacity:.7;
  font-size:12px;
  white-space:nowrap;
}

.run-time-empty{
  padding:18px;
  text-align:center;
  font-weight:900;
  opacity:.7;
}

.run-time-row button{
  min-height:30px!important;
  height:30px!important;
  padding:0 8px!important;
  font-size:12px!important;
}

.side-panel-foot{
  gap:8px;
}

@media(max-width:768px){
  .run-time-columns{
    grid-template-columns:1fr;
  }

  .run-time-row{
    grid-template-columns:1fr auto;
  }

  .run-time-date{
    display:none;
  }

  .run-time-row button{
    grid-column:auto;
  }
}


/* ===== Stats Fantasy UI moderne ===== */
.stats-fantasy-dashboard{
  display:block;
}

.stats-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:0 0 12px;
  padding:5px;
  border:1px solid rgba(126,91,43,.26);
  border-radius:13px;
  background:rgba(255,255,255,.28);
}

.stats-tab{
  min-height:42px;
  padding:7px 10px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}

.stats-tab:hover{
  color:var(--text);
  background:rgba(255,255,255,.36);
}

.stats-tab.active{
  color:#fff;
  border-color:rgba(29,78,216,.30);
  background:linear-gradient(180deg,#3b82f6,#2563eb);
  box-shadow:0 6px 14px rgba(37,99,235,.20);
}

.stats-tab:focus-visible{
  outline:3px solid rgba(37,99,235,.28);
  outline-offset:2px;
}

.stats-view-panel{
  display:none;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.stats-view-panel.active{display:grid}

.stats-view-panel > .wide{
  grid-column:1 / -1;
}

.stats-section-intro{
  grid-column:1 / -1;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}

.stats-fantasy-card{
  position:relative;
  border:2px solid var(--border);
  border-radius:17px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  overflow:hidden;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 8px 18px rgba(0,0,0,.12);
}

.stats-fantasy-card.wide{
  grid-column:1 / -1;
}

.stats-fantasy-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  background:rgba(0,0,0,.08);
  border-bottom:1px solid rgba(139,111,71,.30);
}

.stats-fantasy-head h3{
  margin:0;
  font-size:16px;
  line-height:1;
}

.stats-fantasy-badge{
  padding:4px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(#6b7280,#374151);
  white-space:nowrap;
}

.stats-fantasy-body{
  padding:12px;
}

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

.stats-kpi-grid.two{
  grid-template-columns:repeat(2,1fr);
}

.stats-kpi{
  min-width:0;
  padding:10px;
  border:1px solid rgba(139,111,71,.34);
  border-radius:14px;
  background:rgba(255,255,255,.13);
  text-align:center;
}

.stats-kpi-label{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  line-height:1.15;
}

.stats-kpi-value{
  margin-top:4px;
  font-size:25px;
  font-weight:900;
  line-height:1;
}

.stats-kpi-sub{
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  line-height:1.15;
}

.stats-lines{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.stats-clean-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid rgba(139,111,71,.28);
  border-radius:12px;
  background:rgba(255,255,255,.12);
  font-weight:900;
}

.stats-clean-line span{
  color:var(--muted);
  font-size:13px;
}

.stats-clean-line strong{
  font-size:16px;
}

.stats-green{color:var(--green)!important}
.stats-blue{color:var(--blue)!important}
.stats-orange{color:var(--orange)!important}
.stats-red{color:var(--red)!important}
.stats-purple{color:#7c3aed!important}

.stats-mini-bar{
  height:10px;
  border-radius:999px;
  background:rgba(0,0,0,.18);
  overflow:hidden;
  margin-top:8px;
  display:flex;
}

.stats-mini-bar span:first-child{
  background:linear-gradient(#f59e0b,#b45309);
}

.stats-mini-bar span:last-child{
  background:linear-gradient(#8b5cf6,#6d28d9);
}

.stats-record-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px 10px;
  align-items:center;
  padding:10px;
  border-radius:14px;
  border:1px solid rgba(139,111,71,.32);
  background:rgba(255,255,255,.12);
  font-weight:900;
}

.stats-record-box + .stats-record-box{
  margin-top:8px;
}

.stats-record-label{
  color:var(--muted);
  font-size:12px;
}

.stats-record-value{
  font-size:18px;
}

@media(max-width:768px){
  .stats-view-panel{
    grid-template-columns:1fr;
  }

  .stats-view-panel > .wide,
  .stats-section-intro{
    grid-column:1;
  }

  .stats-tabs{
    gap:4px;
  }

  .stats-tab{
    min-height:40px;
    padding:5px;
    font-size:11px;
  }

  .stats-kpi-grid,
  .stats-kpi-grid.two{
    grid-template-columns:1fr;
  }
}


/* ===== Contribution PP en statistiques ===== */
.pp-contribution-bar span.morose{
  background:linear-gradient(#f59e0b,#b45309);
}
.pp-contribution-bar span.tynril{
  background:linear-gradient(#8b5cf6,#6d28d9);
}
.pp-contribution-bar span.zone{
  background:linear-gradient(#22c55e,#15803d);
}


/* ===== Placement stable Options + Monstres ===== */
.app{
  position:relative!important;
}

.dashboard-options-btn{
  position:absolute!important;
  top:10px!important;
  right:-58px!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  padding:0!important;
  border-radius:50%!important;
  font-size:20px!important;
  z-index:30!important;
  transform:none!important;
  left:auto!important;
}

.dashboard-options-btn::after{
  bottom:auto!important;
  top:50%!important;
  left:calc(100% + 10px)!important;
  right:auto!important;
  transform:translateY(-50%)!important;
}

.monster-below-prospection{
  display:flex!important;
  justify-content:center!important;
  margin-top:10px!important;
}

.monster-below-prospection #monsterLauncher{
  position:static!important;
  width:min(260px,100%)!important;
  min-width:0!important;
  margin:0!important;
  transform:none!important;
  border-radius:999px!important;
  z-index:auto!important;
}

/* ===== Historique timeline final ===== */
.activity-dashboard{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.activity-summary{
  display:grid;
  grid-template-columns:1fr!important;
  gap:8px;
}

.activity-summary-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:left;
  border:1px solid rgba(139,111,71,.35);
  border-radius:14px;
  padding:9px 10px;
  background:rgba(255,255,255,.13);
  font-weight:900;
}

.activity-summary-label{
  font-size:12px;
  color:var(--muted);
}

.activity-summary-value{
  margin-top:0;
  font-size:22px;
  line-height:1;
}

.activity-tools{
  display:flex;
  flex-direction:column;
  gap:8px;
}

#activitySearch{
  width:100%;
  min-height:40px;
}

.activity-filters{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px;
}

.activity-filters .btn{
  height:36px;
  min-height:36px;
  padding:0 8px;
  font-size:12px;
}

.activity-filters .active{
  outline:3px solid rgba(250,204,21,.55);
  filter:brightness(1.12);
}

.activity-timeline{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.activity-day-group{
  border:2px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.10);
  overflow:hidden;
}

.activity-day-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:9px 12px;
  background:rgba(0,0,0,.08);
  border-bottom:1px solid rgba(139,111,71,.28);
  font-weight:900;
}

.activity-day-count{
  color:#fff;
  background:linear-gradient(#60a5fa,#2563eb);
  padding:3px 8px;
  border-radius:999px;
  font-size:12px;
}

.activity-timeline-list{
  position:relative;
  padding:8px 10px 8px 20px;
}

.activity-timeline-list::before{
  content:"";
  position:absolute;
  left:12px;
  top:10px;
  bottom:10px;
  width:2px;
  border-radius:99px;
  background:rgba(139,111,71,.35);
}

.activity-row{
  position:relative;
  display:grid;
  grid-template-columns:48px 32px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  min-height:34px;
  padding:6px 8px 6px 2px;
  border-radius:12px;
  font-size:13px;
  font-weight:900;
}

.activity-row:hover{
  background:rgba(255,255,255,.16);
}

.activity-dot{
  width:24px;
  height:24px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:12px;
  z-index:1;
  box-shadow:0 3px 8px rgba(0,0,0,.20);
}

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

.activity-message{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.activity-repeat{
  padding:3px 7px;
  border-radius:999px;
  font-size:12px;
  color:#fff;
  background:linear-gradient(#6b7280,#374151);
}

.activity-row.progression .activity-dot{background:linear-gradient(#22c55e,#15803d)!important}
.activity-row.chrono .activity-dot{background:linear-gradient(#8b5cf6,#6d28d9)!important}
.activity-row.system .activity-dot{background:linear-gradient(#60a5fa,#2563eb)!important}
.activity-row.warning .activity-dot{background:linear-gradient(#f59e0b,#b45309)!important}
.activity-row.error .activity-dot{background:linear-gradient(#dc2626,#7f1d1d)!important}

.activity-empty{
  padding:18px;
  text-align:center;
  font-weight:900;
  opacity:.7;
}
.empty-state-card{
  grid-column:1/-1;
  padding:18px;
  border:1px dashed rgba(139,111,71,.42);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,244,214,.20));
  color:#4b3217;
  text-align:center;
  font-weight:850;
}
.empty-state-card strong{
  display:block;
  margin-bottom:4px;
  color:#2f1f10;
  font-size:15px;
  font-weight:950;
}
.empty-state-card span{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

@media(max-width:1180px){
  .dashboard-options-btn{
    right:10px!important;
    top:10px!important;
  }

  .dashboard-options-btn::after{
    top:calc(100% + 8px)!important;
    left:auto!important;
    right:0!important;
    transform:none!important;
  }
}

@media(max-width:768px){
  .dashboard-options-btn{
    top:8px!important;
    right:8px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }

  .activity-filters{
    grid-template-columns:1fr 1fr!important;
  }

  .activity-row{
    grid-template-columns:44px 28px minmax(0,1fr);
  }

  .activity-repeat{
    grid-column:3;
    justify-self:start;
  }

  .monster-below-prospection #monsterLauncher{
    width:100%!important;
  }
}


/* ===== Options : interface propre en cartes ===== */
.options-modal{
  width:min(860px,calc(100vw - 24px))!important;
}

.options-dashboard{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.options-section{
  border:2px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

.options-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  background:rgba(0,0,0,.08);
  border-bottom:1px solid rgba(139,111,71,.30);
}

.options-section-head h3{
  margin:0;
  font-size:16px;
  line-height:1;
}

.options-section-head span{
  padding:4px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(#6b7280,#374151);
}

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

.options-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.option-tile{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border:1px solid rgba(139,111,71,.34);
  border-radius:14px;
  background:rgba(255,255,255,.13);
  font-weight:900;
}

.option-tile strong{
  display:block;
  font-size:15px;
  margin-bottom:4px;
}

.option-tile small,
.backup-copy small{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.3;
  font-weight:900;
}

.option-tile .btn{
  width:100%;
  min-height:38px;
}

.backup-panel{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:12px;
}

.backup-copy strong{
  display:block;
  font-size:15px;
  margin-bottom:4px;
}

.backup-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  min-width:220px;
}

@media(max-width:768px){
  .options-grid,
  .options-grid.two{
    grid-template-columns:1fr;
  }

  .backup-panel{
    grid-template-columns:1fr;
  }

  .backup-actions{
    min-width:0;
    width:100%;
  }
}


/* ===== Effet brillant barre de progression ===== */
.progress-fill{
  position:relative!important;
  overflow:hidden!important;
}

.progress-fill::after{
  content:"";
  position:absolute;
  top:0;
  left:-45%;
  width:42%;
  height:100%;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.65),
    transparent
  );
  transform:skewX(-22deg);
  animation:progressShine 1.85s linear infinite;
  pointer-events:none;
}

@keyframes progressShine{
  0%{left:-45%}
  100%{left:115%}
}

/* Quand les animations sont désactivées dans Options */
body.no-anim .progress-fill::after{
  display:none!important;
  animation:none!important;
}


/* ===== Notifications : couleurs cohérentes avec les boutons ===== */
.toast.run,
.toast.pp,
.toast.progress,
.toast.green{
  background:linear-gradient(#22c55e,#15803d)!important;
}

.toast.chrono,
.toast.info,
.toast.blue{
  background:linear-gradient(#60a5fa,#2563eb)!important;
}

.toast.edit,
.toast.warning,
.toast.orange,
.toast.mark{
  background:linear-gradient(#f59e0b,#b45309)!important;
}

.toast.reset,
.toast.delete,
.toast.error,
.toast.red{
  background:linear-gradient(#dc2626,#7f1d1d)!important;
}

.toast.undo,
.toast.gray{
  background:linear-gradient(#6b7280,#374151)!important;
}

.toast.export{
  background:linear-gradient(#22c55e,#15803d)!important;
}

.toast.import{
  background:linear-gradient(#f59e0b,#b45309)!important;
}

 .toast.capy{
  color:#3b2408!important;
  background:linear-gradient(135deg,#d9f99d,#84cc16 46%,#65a30d)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.35)!important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.18),
    0 8px 18px rgba(101,163,13,.34)!important;
}

body.capy-mode .pykur-orb{
  filter:drop-shadow(0 0 20px rgba(132,204,22,.45));
}

body.capy-mode .progress-title{
  color:#65a30d!important;
}

.toast.toom{
  color:#fff7ed!important;
  background:linear-gradient(135deg,#111827,#2563eb 45%,#f97316)!important;
  box-shadow:0 10px 24px rgba(37,99,235,.32)!important;
}

.toast.aina{
  color:#243044!important;
  background:linear-gradient(135deg,#fff7ed,#e0f2fe 48%,#93c5fd)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.45)!important;
  box-shadow:0 10px 26px rgba(147,197,253,.36),0 0 0 1px rgba(255,255,255,.34)!important;
}


/* ===== Notifications PP / progression / paliers ===== */
.toast.pp-progress{
  background:linear-gradient(135deg,#38bdf8,#1d4ed8)!important;
  box-shadow:
    0 8px 18px rgba(29,78,216,.38),
    inset 0 1px 0 rgba(255,255,255,.35)!important;
}

.toast.milestone{
  color:#3b2408!important;
  background:
    linear-gradient(135deg,#fff3b0,#facc15 40%,#b7791f)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.35)!important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.22),
    0 0 18px rgba(250,204,21,.65),
    0 8px 18px rgba(0,0,0,.28)!important;
  animation:toastGoldPulse .9s ease-in-out infinite alternate;
}

@keyframes toastGoldPulse{
  from{filter:brightness(1)}
  to{filter:brightness(1.16)}
}

body.no-anim .toast.milestone{
  animation:none!important;
}



/* ===== Image AuraPykur à 100% ===== */
.pykur-img.aura-active{
  filter:drop-shadow(0 0 14px rgba(250,204,21,.75));
}


/* ===== Aide champs temps moyens ===== */
.field-help{
  margin-top:6px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(139,111,71,.22);
  font-size:12px;
  line-height:1.4;
  color:var(--muted);
  font-weight:800;
}

.field-help strong{
  color:var(--text);
}


/* ===== Correctifs notifications demandés ===== */

/* Perte de PP / progression : rouge clair */
.toast.pp-loss{
  background:linear-gradient(135deg,#fca5a5,#dc2626)!important;
  box-shadow:
    0 8px 18px rgba(220,38,38,.34),
    inset 0 1px 0 rgba(255,255,255,.35)!important;
}

/* Pause chrono : gris */
.toast.pause{
  background:linear-gradient(#9ca3af,#4b5563)!important;
}

/* Changement de profil : vert */
.toast.profile{
  background:linear-gradient(#22c55e,#15803d)!important;
}


/* =========================================================
   REFONTE VISUELLE PREMIUM — Pykur Tracker
   ========================================================= */

:root{
  --gold:#facc15;
  --gold-dark:#b7791f;
  --magic:#38bdf8;
  --magic-dark:#1d4ed8;
  --deep:#27170b;
  --glass:rgba(255,255,255,.135);
  --glass-strong:rgba(255,255,255,.19);
}

/* Fond plus profond avec vignette */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 18%,rgba(250,204,21,.16),transparent 28%),
    radial-gradient(circle at 18% 78%,rgba(56,189,248,.10),transparent 30%),
    radial-gradient(circle at 82% 76%,rgba(245,158,11,.10),transparent 28%),
    linear-gradient(90deg,rgba(0,0,0,.35),transparent 22%,transparent 78%,rgba(0,0,0,.35));
}

.app{
  position:relative!important;
  overflow:visible!important;
  border-color:rgba(250,204,21,.45)!important;
  box-shadow:
    0 22px 60px rgba(0,0,0,.48),
    0 0 0 1px rgba(255,255,255,.14),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
}

.app::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:22px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(250,204,21,.36),transparent 24%,transparent 76%,rgba(56,189,248,.26));
  opacity:.8;
  z-index:-1;
}

/* Cartes plus premium */
.card,
.dungeon-card,
.stats-fantasy-card,
.option-tile,
.options-section,
.run-time-category,
.activity-day-group{
  background:
    linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.085))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 9px 22px rgba(0,0,0,.12)!important;
}

/* Carte Pykur : vraie zone héro */
.side > .card:first-child{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 25%,rgba(250,204,21,.28),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.10))!important;
}

.side > .card:first-child::before{
  content:"";
  position:absolute;
  inset:-35%;
  background:
    conic-gradient(from 0deg,transparent,rgba(250,204,21,.18),transparent,rgba(56,189,248,.12),transparent);
  animation:pykurAuraSpin 9s linear infinite;
  pointer-events:none;
}

body.no-anim .side > .card:first-child::before{
  animation:none!important;
}

@keyframes pykurAuraSpin{
  to{transform:rotate(360deg)}
}

.pykur-orb{
  position:relative;
  z-index:1;
  width:190px;
  max-width:100%;
  aspect-ratio:1;
  margin:0 auto 6px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(255,255,255,.28),rgba(250,204,21,.10) 42%,transparent 70%);
  filter:drop-shadow(0 0 18px rgba(250,204,21,.34));
}

.pykur-orb::after{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:50%;
  border:1px solid rgba(250,204,21,.28);
  box-shadow:0 0 18px rgba(250,204,21,.24);
  pointer-events:none;
}

.pykur-img{
  position:relative;
  z-index:2;
}

.progress-title{
  position:relative;
  z-index:1;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px!important;
  color:var(--muted);
}

.progress-percent{
  position:relative;
  z-index:1;
  font-size:32px!important;
  text-shadow:0 2px 0 rgba(255,255,255,.16);
}

.progress-caption{
  position:relative;
  z-index:1;
  margin-top:4px;
  font-size:11px;
  font-weight:900;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* Barre de progression : artefact magique */
.progress-bar{
  position:relative;
  z-index:1;
  height:26px!important;
  background:
    linear-gradient(#2f281e,#18140f)!important;
  border:2px solid rgba(60,45,25,.95)!important;
  box-shadow:
    inset 0 3px 7px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.12)!important;
}

.progress-fill{
  background:
    linear-gradient(90deg,#16a34a,#84cc16 42%,#facc15 72%,#38bdf8)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    0 0 14px rgba(132,204,22,.45)!important;
}

/* Héro Pykur : titre + actions */
.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0%,rgba(250,204,21,.20),transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08))!important;
}

.hero h1{
  background:linear-gradient(#fff8d0,#facc15 42%,#9a5a14);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  text-shadow:none!important;
  filter:drop-shadow(0 2px 1px rgba(0,0,0,.22));
  letter-spacing:.02em;
}

.farm-row{
  padding:7px 10px;
  border-radius:999px;
  width:max-content;
  max-width:100%;
  margin:12px auto 0!important;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(139,111,71,.25);
}

/* Boutons : relief plus premium */
.btn{
  position:relative;
  overflow:hidden;
  letter-spacing:.01em;
}

.btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.24),transparent 48%);
  pointer-events:none;
}

.btn:hover{
  filter:brightness(1.08) saturate(1.05)!important;
  transform:translateY(-2px)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 8px 18px rgba(0,0,0,.23)!important;
}

.btn:active{
  transform:translateY(1px)!important;
}

/* Gros + / - plus lisibles */
.big-btn{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 8px 20px rgba(0,0,0,.24)!important;
}

#plus{
  filter:drop-shadow(0 0 7px rgba(34,197,94,.28));
}

#minus{
  filter:drop-shadow(0 0 7px rgba(220,38,38,.22));
}

/* Cartes donjons : identité par donjon */
.dungeon-card{
  position:relative;
  overflow:hidden;
}

.dungeon-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
}

.dungeon-morose::before{
  background:radial-gradient(circle at 10% 0%,rgba(245,158,11,.55),transparent 38%);
}

.dungeon-tynril::before{
  background:radial-gradient(circle at 90% 0%,rgba(139,92,246,.55),transparent 38%);
}

.dungeon-card h3{
  position:relative;
  z-index:1;
  padding:6px 0;
  border-bottom:1px solid rgba(139,111,71,.24);
}

.dungeon-mini{
  position:relative;
  z-index:1;
  transition:.18s ease;
}

.dungeon-mini:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 15px rgba(0,0,0,.12);
}

/* Prospection mise en avant */
.pp-row{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0%,rgba(56,189,248,.22),transparent 45%),
    rgba(255,255,255,.13)!important;
}

#prospection{
  font-size:30px;
  text-shadow:0 0 10px rgba(37,99,235,.25);
}

/* Journal d'expédition */
.activity-day-title{
  background:
    linear-gradient(90deg,rgba(107,68,35,.26),rgba(56,189,248,.08))!important;
}

.activity-row{
  transition:.16s ease;
}

.activity-row:hover{
  transform:translateX(2px);
}

.activity-message::first-letter{
  text-transform:uppercase;
}

.activity-dot{
  border:1px solid rgba(255,255,255,.35);
}

/* Modales plus soignées */
.modal{
  border-color:rgba(250,204,21,.42)!important;
}

.modal-head,
.side-panel-head{
  background:
    radial-gradient(circle at 50% 0%,rgba(250,204,21,.28),transparent 60%),
    linear-gradient(#6b4423,#2c180b)!important;
}

.modal-head h2,
.side-panel-head h2{
  letter-spacing:.01em;
}

/* Milestones : notification événementielle */
.toast.milestone{
  transform-origin:right center;
}

body:not(.no-anim) .toast.milestone{
  animation:toastGoldPulse .9s ease-in-out infinite alternate, milestonePop .45s ease;
}

@keyframes milestonePop{
  0%{transform:scale(.92) translateY(8px);opacity:0}
  70%{transform:scale(1.04)}
  100%{transform:scale(1);opacity:1}
}

/* Aura active : Pykur maxé */
.pykur-img.aura-active{
  filter:
    drop-shadow(0 0 10px rgba(250,204,21,.95))
    drop-shadow(0 0 22px rgba(56,189,248,.45))!important;
}

.pykur-img.aura-active + *{
  color:var(--gold);
}

/* Responsive : garder la lisibilité */
@media(max-width:768px){
  .pykur-orb{
    width:130px;
  }

  .progress-percent{
    font-size:26px!important;
  }

  .farm-row{
    width:100%;
  }
}


/* Flash léger de palier */
.app.milestone-flash{
  animation:milestoneAppFlash .9s ease;
}

@keyframes milestoneAppFlash{
  0%{box-shadow:0 22px 60px rgba(0,0,0,.48),0 0 0 rgba(250,204,21,0)}
  35%{box-shadow:0 22px 60px rgba(0,0,0,.48),0 0 38px rgba(250,204,21,.78)}
  100%{box-shadow:0 22px 60px rgba(0,0,0,.48),0 0 0 rgba(250,204,21,0)}
}

body.no-anim .app.milestone-flash{
  animation:none!important;
}


/* ===== Ajustements demandés après refonte premium ===== */

/* Les boutons premium avaient overflow:hidden, ce qui coupait les infobulles */
.btn.tooltip,
.tooltip.btn{
  overflow:visible!important;
}

.btn.tooltip::after,
.tooltip.btn::after{
  z-index:50000!important;
}

/* Barre de progression : fin plus naturelle, sans bleu */
.progress-fill{
  background:
    linear-gradient(90deg,#16a34a,#65a30d 48%,#84cc16 72%,#facc15)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    0 0 14px rgba(132,204,22,.45)!important;
}

/* Retrait du fondu bleu autour de la prospection */
.pp-row{
  background:rgba(255,255,255,.13)!important;
}

/* ===== Correctif infobulles : premier plan + texte contenu ===== */
.tooltip{
  position:relative!important;
  overflow:visible!important;
}

.tooltip::after{
  width:auto!important;
  min-width:160px!important;
  max-width:220px!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  text-align:center!important;
  z-index:999999!important;
}

/* + et - : infobulles au-dessus de tout */
.title-row,
.hero{
  overflow:visible!important;
}

#plus,
#minus{
  position:relative!important;
  z-index:300!important;
}

#plus::after,
#minus::after{
  z-index:999999!important;
}

/* Onglets monstres : garder le scroll du tableau, mais laisser les bulles sortir */
.monster-tabs{
  position:relative!important;
  z-index:500!important;
  overflow:visible!important;
}

.monster-tabs .tooltip{
  overflow:visible!important;
}

.monster-tabs .tooltip::after{
  max-width:190px!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}

/* Ne pas rendre toute la modal visible, sinon le tableau/scroll casse */
.monster-modal{
  overflow:hidden!important;
}

.monster-modal .modal-body{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

.monster-table{
  overflow:auto!important;
}


/* ===== Projection + Run tryhard auto ===== */
.dashboard-bottom-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:10px!important;
}
.dashboard-bottom-actions #monsterLauncher,
.dashboard-bottom-actions #projectionButton{
  position:static!important;width:100%!important;min-width:0!important;margin:0!important;
  transform:none!important;border-radius:999px!important;z-index:auto!important;
}
.projection-modal{width:min(860px,calc(100vw - 24px))!important}
.projection-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.projection-card{
  position:relative;border:2px solid var(--border);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.19),rgba(255,255,255,.08));
  padding:12px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 18px rgba(0,0,0,.12)
}
.projection-card.wide{grid-column:1 / -1}
.projection-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 0%,rgba(56,189,248,.16),transparent 46%);opacity:.9
}
.projection-card>*{position:relative;z-index:1}
.projection-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-weight:900}
.projection-head h3{margin:0;font-size:16px}
.projection-badge{padding:4px 9px;border-radius:999px;color:#fff;background:linear-gradient(#60a5fa,#2563eb);font-size:12px;font-weight:900;white-space:nowrap}
.projection-big{font-size:34px;line-height:1;font-weight:900;color:var(--blue);text-align:center;margin:8px 0 4px}
.projection-sub{text-align:center;color:var(--muted);font-size:12px;font-weight:900}
.projection-lines{display:flex;flex-direction:column;gap:8px}
.projection-line{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(139,111,71,.30);border-radius:12px;background:rgba(255,255,255,.12);font-weight:900}
.projection-line span{color:var(--muted);font-size:13px}
.projection-line strong{font-size:15px;text-align:right}
.projection-line.gain-line strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 8px;
  border-radius:999px;
  color:#3b2408;
  background:linear-gradient(#fff3b0,#facc15);
  border:1px solid rgba(180,120,24,.34);
  white-space:nowrap;
}
.projection-sim-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.projection-sim-control{display:grid;grid-template-columns:auto minmax(54px,1fr) auto auto;gap:6px;align-items:center;padding:9px 10px;border:1px solid rgba(139,111,71,.30);border-radius:12px;background:rgba(255,255,255,.14);font-weight:900}
.projection-sim-control span:first-child{color:#2f1f10}
.projection-sim-count{display:inline-flex;align-items:center;justify-content:center;min-height:32px;border-radius:10px;background:rgba(255,255,255,.46);color:var(--blue);font-size:18px;font-weight:950}
.projection-sim-control .btn{min-height:32px!important;padding:0 10px!important;border-radius:10px!important;font-size:12px!important}
.projection-sim-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.projection-sim-pill{padding:9px 10px;border:1px solid rgba(37,99,235,.20);border-radius:12px;background:linear-gradient(180deg,rgba(219,234,254,.48),rgba(255,255,255,.22));font-weight:900}
.projection-sim-pill span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}
.projection-sim-pill strong{display:block;margin-top:2px;color:#1d4ed8;font-size:15px}
.projection-sim-note{margin-top:9px;color:#6b4a20;font-size:12px;font-weight:850}
.projection-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:0 0 12px;
  padding:5px;
  border:1px solid rgba(126,91,43,.26);
  border-radius:13px;
  background:rgba(255,255,255,.28);
}
#projectionContent{
  display:block;
}
.projection-tab{
  min-height:42px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.projection-tab:hover{
  color:var(--text);
  background:rgba(255,255,255,.36);
}
.projection-tab.active{
  color:#fff;
  border-color:rgba(29,78,216,.30);
  background:linear-gradient(180deg,#3b82f6,#2563eb);
  box-shadow:0 6px 14px rgba(37,99,235,.20);
}
.projection-tab:focus-visible{
  outline:3px solid rgba(37,99,235,.28);
  outline-offset:2px;
}
.projection-view-panel{
  display:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.projection-view-panel.active{display:grid}
.projection-view-panel > .wide{grid-column:1 / -1}
.projection-summary-note{
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}
.projection-detail-intro{
  grid-column:1 / -1;
  padding:2px 2px 0;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.projection-progress{height:14px;border-radius:999px;background:rgba(0,0,0,.20);overflow:hidden;border:1px solid rgba(0,0,0,.22);margin-top:10px}
.projection-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#16a34a,#84cc16,#facc15)}
.tryhard-chip{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:900;color:#3b2408;background:linear-gradient(#fff3b0,#facc15)}
@media(max-width:768px){.projection-dashboard{grid-template-columns:1fr}.dashboard-bottom-actions{grid-template-columns:1fr!important}.projection-sim-grid,.projection-sim-summary,.projection-view-panel{grid-template-columns:1fr}.projection-view-panel > .wide{grid-column:1}.projection-tabs{gap:4px}.projection-tab{min-height:40px;padding:5px;font-size:12px}}

/* ===== Ergonomie dashboard 2026 ===== */
.app{
  width:min(1120px,96vw)!important;
}

.layout{
  grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important;
  gap:16px!important;
}

.side{
  position:sticky;
  top:12px;
}

.profile-row{
  grid-template-columns:auto minmax(180px,1fr) auto!important;
}

.profile-actions{
  display:flex;
  gap:7px;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.profile-actions .btn{
  min-height:36px;
}

.hero{
  padding:14px!important;
}

.farm-command-head{
  display:grid;
  grid-template-columns:minmax(190px,1fr) minmax(220px,300px);
  align-items:center;
  gap:14px;
}

.farm-select-wrap{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:stretch;
}

.farm-command-head > .farm-select-wrap{
  width:min(300px,100%);
  margin-left:auto;
}

.farm-select-wrap > span,
.action-group-title,
.quick-projection-label{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.farm-toggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:5px;
  border:2px solid rgba(139,111,71,.42);
  border-radius:15px;
  background:rgba(255,255,255,.13);
}

.farm-choice{
  min-height:42px;
  border:0;
  border-radius:11px;
  color:var(--text);
  background:transparent;
  cursor:pointer;
  font-weight:900;
}

.farm-choice.active{
  color:#fff;
  background:linear-gradient(#60a5fa,#2563eb);
  box-shadow:0 6px 14px rgba(37,99,235,.22), inset 0 1px 0 rgba(255,255,255,.25);
}

.sr-compat{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
}

.run-command-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 86px;
  gap:10px;
  margin-top:12px;
}

.run-command-grid .big-btn{
  width:100%;
  height:70px;
  min-height:70px;
  border-radius:16px;
}

#plus{
  font-size:24px!important;
}

#minus{
  font-size:30px!important;
}

.action-groups{
  grid-template-columns:1fr 1fr minmax(120px,.7fr)!important;
  align-items:stretch;
}

.action-group{
  min-width:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:9px;
  border:1px solid rgba(139,111,71,.32);
  border-radius:14px;
  background:rgba(255,255,255,.10);
}

.action-group-title{
  grid-column:1 / -1;
}

.danger-group{
  grid-template-columns:1fr;
  background:rgba(185,28,28,.08);
}

.dungeon-card{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.dungeon-card.active-farm{
  border-color:#facc15!important;
  box-shadow:0 0 0 3px rgba(250,204,21,.22), 0 12px 24px rgba(0,0,0,.16)!important;
  transform:translateY(-1px);
}

.dungeon-card.active-farm h3::after{
  content:"Actif";
  display:inline-flex;
  margin-left:8px;
  padding:3px 7px;
  border-radius:999px;
  color:#3b2408;
  background:linear-gradient(#fff3b0,#facc15);
  font-size:10px;
  vertical-align:middle;
}

.pp-row{
  justify-content:flex-start!important;
  padding:12px 14px!important;
}

.pp-row #prospection{
  font-size:30px!important;
}

.quick-projection{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(37,99,235,.12),rgba(34,197,94,.08)),
    rgba(255,255,255,.13)!important;
}

.quick-projection-value{
  margin-top:3px;
  font-size:18px;
  font-weight:900;
  line-height:1.2;
}
.quick-projection-lines{
  display:grid;
  gap:6px;
  width:100%;
}
.quick-projection-run{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  max-width:520px;
  flex-wrap:wrap;
  min-height:24px;
}
.quick-projection-gain{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:5px;
  padding:3px 8px;
  border-radius:999px;
  color:#3b2408;
  background:linear-gradient(#fff3b0,#facc15);
  border:1px solid rgba(180,120,24,.34);
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
  margin-top:0;
}

.quick-projection-spacer{
  margin-top:10px!important;
}

.dashboard-bottom-actions{
  grid-template-columns:1fr!important;
}

.dashboard-bottom-actions.version-actions{
  grid-template-columns:minmax(0,1fr) minmax(122px,150px)!important;
  align-items:stretch;
}

.dashboard-bottom-actions #monsterLauncher{
  min-height:46px!important;
}

.version-panel{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:6px;
  min-height:46px;
  padding:7px 9px;
  border:1px solid rgba(139,111,71,.24);
  border-radius:10px;
  background:
    linear-gradient(135deg,rgba(255,244,196,.72),rgba(255,255,255,.3)),
    rgba(255,255,255,.32);
  box-shadow:0 7px 16px rgba(67,42,16,.08);
}
.version-panel strong{
  display:block;
  color:#3b2413;
  font-size:12px;
  font-weight:950;
  line-height:1.1;
  text-align:center;
}
.version-panel span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:850;
}
.version-panel .btn{
  min-height:28px!important;
  padding:0 9px!important;
  font-size:11px!important;
  white-space:nowrap;
}
.changelog-modal{
  max-width:640px;
}
.changelog-shell{
  display:grid;
  gap:14px;
}
.changelog-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.changelog-tab{
  min-height:52px!important;
  border-radius:14px!important;
  flex-direction:column;
  gap:2px;
}
.changelog-tab span{
  display:block;
  font-size:11px;
  opacity:.82;
}
.changelog-tab.active{
  color:#3b2408!important;
  border-color:rgba(180,120,24,.5)!important;
  background:linear-gradient(#fff3b0,#facc15)!important;
  box-shadow:0 10px 22px rgba(120,76,18,.18);
}
.changelog-tab.roadmap:not(.active){
  color:#1d4ed8!important;
  border-color:rgba(37,99,235,.24)!important;
  background:linear-gradient(180deg,rgba(219,234,254,.46),rgba(255,255,255,.18))!important;
}
.changelog-entry{
  border:1px solid rgba(139,111,71,.28);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,252,242,.86),rgba(242,223,184,.56));
  padding:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 12px 24px rgba(67,42,16,.08);
}
.changelog-entry h3{
  margin:0 0 3px;
  font-size:22px;
}
.changelog-date{
  display:block;
  margin:0 0 12px;
  color:var(--muted);
  font-size:12px;
  font-weight:850;
}
.changelog-summary{
  margin:0 0 14px;
  color:#5f4223;
  font-size:13px;
  font-weight:850;
  line-height:1.45;
}
.changelog-items{
  display:grid;
  gap:9px;
}
.changelog-item{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:10px 11px;
  border:1px solid rgba(139,111,71,.22);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,244,214,.24));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36);
}
.changelog-item-icon{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  color:#3b2408;
  background:linear-gradient(#fff3b0,#facc15);
  font-size:13px;
  font-weight:950;
  box-shadow:0 5px 12px rgba(120,76,18,.14);
}
.changelog-item strong{
  display:block;
  color:#2f1f10;
  font-size:14px;
  line-height:1.25;
}
.changelog-item span:last-child{
  display:block;
  margin-top:3px;
  color:#684929;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}

@media(max-width:768px){
  .dashboard-bottom-actions.version-actions{
    grid-template-columns:1fr!important;
  }
  .version-panel{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .version-panel strong{
    text-align:left;
  }
}

.chrono-grid{
  grid-template-columns:1fr 1fr!important;
}

.chrono-grid #chronoStart,
.chrono-grid #markTime{
  grid-column:auto;
}

@media(max-width:900px){
  .layout{
    grid-template-columns:1fr!important;
  }

  .side{
    position:sticky;
    top:12px;
    display:grid!important;
    grid-template-columns:1fr 1fr;
    text-align:center;
  }
}

@media(max-width:768px){
  .farm-command-head{
    grid-template-columns:1fr;
  }

  .farm-command-head > .farm-select-wrap{
    width:100%;
    margin-left:0;
  }

  .profile-row{
    grid-template-columns:1fr!important;
  }

  .profile-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .profile-actions #deleteProfile{
    grid-column:1 / -1;
  }

  .run-command-grid{
    grid-template-columns:1fr 70px;
  }

  .run-command-grid .big-btn{
    height:62px;
    min-height:62px;
  }

  .action-groups{
    grid-template-columns:1fr!important;
  }

  .side{
    grid-template-columns:1fr!important;
  }

  .quick-projection{
    grid-template-columns:1fr;
  }

  .quick-projection .btn{
    width:100%;
  }
}

/* ===== Premium controls + onboarding ===== */
.btn{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.34)!important;
  border-bottom:3px solid rgba(0,0,0,.38)!important;
  letter-spacing:0!important;
  isolation:isolate;
}

.btn::before{
  content:"";
  position:absolute;
  inset:1px 1px auto;
  height:42%;
  border-radius:inherit;
  background:linear-gradient(rgba(255,255,255,.32),rgba(255,255,255,0));
  pointer-events:none;
  z-index:-1;
}

.btn::after{
  z-index:50000;
}

.btn-green{background:linear-gradient(180deg,#35d979 0%,#12a851 48%,#087636 100%)!important}
.btn-blue{background:linear-gradient(180deg,#73b7ff 0%,#347df3 48%,#1b4fc7 100%)!important}
.btn-orange{background:linear-gradient(180deg,#ffc04b 0%,#e18612 48%,#a74e08 100%)!important}
.btn-red{background:linear-gradient(180deg,#f05a5a 0%,#c51f2f 48%,#86101d 100%)!important}
.btn-gray{background:linear-gradient(180deg,#8c95a6 0%,#586174 48%,#333a49 100%)!important}

.tooltip::after{
  width:260px!important;
  max-width:min(260px,calc(100vw - 32px))!important;
  padding:10px 12px!important;
  border:1px solid rgba(250,204,21,.32);
  background:
    linear-gradient(180deg,rgba(61,38,19,.98),rgba(33,22,14,.98))!important;
  color:#fff7d6!important;
  font-size:12px!important;
  font-weight:800!important;
  text-align:left!important;
}

.tooltip::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:calc(100% + 2px);
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:rgba(33,22,14,.98);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:50001;
}

.tooltip:hover::before{
  opacity:1;
  visibility:visible;
}

.farm-choice.tooltip::after{
  bottom:calc(100% + 10px);
}

.session-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:
    radial-gradient(circle at 50% 0%,rgba(37,99,235,.18),transparent 52%),
    rgba(255,255,255,.14)!important;
}

.session-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.session-kicker{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.session-title{
  margin-top:2px;
  font-size:17px;
  font-weight:900;
}

.chrono-help{
  margin-top:2px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}

.session-live-dot{
  width:14px;
  height:14px;
  border-radius:999px;
  background:#9ca3af;
  box-shadow:0 0 0 4px rgba(156,163,175,.18);
}

.session-live-dot.active{
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.20),0 0 18px rgba(34,197,94,.75);
}

.session-time{
  padding:8px 10px;
  border:1px solid rgba(139,111,71,.32);
  border-radius:13px;
  background:rgba(255,255,255,.13);
  color:var(--blue);
  font-size:26px;
  font-weight:900;
  text-align:center;
}

.unified-time-main{
  padding:8px 10px;
  border:1px solid rgba(139,111,71,.32);
  border-radius:13px;
  background:rgba(255,255,255,.13);
  text-align:center;
}

.unified-time-main span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.unified-time-main > strong{
  display:block;
  margin-top:3px;
  color:var(--blue);
  font-size:30px;
  font-weight:950;
  line-height:1.1;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.unified-time-main small{
  display:none;
  width:max-content;
  max-width:100%;
  margin:8px auto 0;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(37,99,235,.12);
  color:#93c5fd;
  font-size:12px;
  font-weight:900;
}

.unified-time-main.show-total small{
  display:inline-flex;
  align-items:center;
  gap:4px;
}

.unified-time-main small b{
  color:#bfdbfe;
  font-variant-numeric:tabular-nums;
}

.session-metrics{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.unified-session-metrics{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.session-metrics div,
.session-summary-grid div,
.session-summary-hero div{
  padding:9px;
  border:1px solid rgba(139,111,71,.30);
  border-radius:13px;
  background:rgba(255,255,255,.13);
  text-align:center;
}

.session-metrics span,
.session-summary-grid span,
.session-summary-hero span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.session-metrics strong,
.session-summary-grid strong,
.session-summary-hero strong{
  display:block;
  margin-top:3px;
  font-size:18px;
  font-weight:900;
  line-height:1.12;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.session-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:7px;
}

.unified-actions{
  grid-template-columns:1fr 1fr 1fr;
}

.unified-actions #chronoOptionsShortcut{
  min-width:42px;
}

.session-actions .btn{
  min-height:36px;
  padding:0 8px;
  font-size:12px;
}

.session-summary{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.session-summary-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.session-summary-hero strong{
  color:var(--blue);
  font-size:28px;
}

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

@media(max-width:768px){
  .session-actions,
  .session-summary-hero,
  .session-summary-grid{
    grid-template-columns:1fr;
  }

  .tooltip::before,
  .tooltip::after{
    display:none!important;
  }

  .top-tools{
    position:static;
    justify-content:flex-end;
    margin-bottom:8px;
  }

  .top-tool-btn{
    min-width:0!important;
    flex:1;
  }

  .help-actions{
    grid-template-columns:1fr;
  }
}

/* ===== Infobulles stables : une seule bulle flottante, jamais hors écran ===== */
.tooltip::before,
.tooltip::after{
  display:none!important;
}

.smart-tooltip{
  position:fixed;
  left:0;
  top:0;
  width:max-content;
  max-width:min(300px,calc(100vw - 24px));
  padding:11px 13px;
  border:1px solid rgba(250,204,21,.36);
  border-radius:13px;
  background:
    linear-gradient(180deg,rgba(72,45,22,.98),rgba(29,19,12,.98));
  color:#fff7d6;
  font-size:12px;
  font-weight:850;
  line-height:1.35;
  text-align:left;
  box-shadow:0 12px 28px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.12);
  opacity:0;
  pointer-events:none;
  transform:translate3d(0,4px,0);
  transition:opacity .12s ease, transform .12s ease;
  z-index:999999;
  white-space:pre-line;
}

.smart-tooltip-title{
  display:block;
  margin:0 0 4px;
  color:#ffd65a;
  font-size:13px;
  font-weight:950;
  line-height:1.15;
}

.smart-tooltip-text{
  display:block;
  color:#fff7d6;
}

.smart-tooltip.is-dungeon-estimate{
  max-width:min(390px,calc(100vw - 24px));
  padding:13px 15px;
  font-size:12.5px;
  font-weight:760;
  line-height:1.48;
}

.smart-tooltip.show{
  opacity:1;
  transform:translate3d(0,0,0);
}

.smart-tooltip::after{
  content:"";
  position:absolute;
  left:var(--arrow-x,50%);
  width:10px;
  height:10px;
  background:rgba(29,19,12,.98);
  border-right:1px solid rgba(250,204,21,.30);
  border-bottom:1px solid rgba(250,204,21,.30);
  transform:translateX(-50%) rotate(45deg);
}

.smart-tooltip[data-side="top"]::after{
  bottom:-6px;
}

.smart-tooltip[data-side="bottom"]::after{
  top:-6px;
  transform:translateX(-50%) rotate(225deg);
}

/* ===== Aide guidée + outils haut de page ===== */
.top-tools{
  position:static!important;
  z-index:40;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  margin-bottom:10px;
  padding-right:2px;
}

.top-tool-btn{
  min-width:86px!important;
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:13px!important;
}

/* Barre principale : commandes illustrées, compactes et accessibles. */
.top-tool-btn.top-tool-icon-btn{
  position:relative;
  flex:0 0 52px;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  padding:3px!important;
  border:0!important;
  border-radius:50%!important;
  overflow:visible;
  background:transparent!important;
  box-shadow:none!important;
  isolation:isolate;
}

.top-tool-icon-btn .top-tool-icon{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 4px 5px rgba(65,35,12,.28));
  transition:transform 180ms ease,filter 180ms ease,opacity 180ms ease;
}

.top-tool-icon-btn:hover{
  transform:translateY(-2px)!important;
  filter:brightness(1.04);
}

.top-tool-icon-btn:hover .top-tool-icon{
  transform:scale(1.045);
  filter:drop-shadow(0 6px 7px rgba(65,35,12,.34));
}

.top-tool-icon-btn:active{
  transform:translateY(0) scale(.95)!important;
}

.top-tool-icon-btn:focus-visible{
  outline:3px solid rgba(37,99,235,.72)!important;
  outline-offset:3px;
}

.top-tool-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media(max-width:768px){
  .top-tools{
    gap:5px;
  }
  .top-tool-btn.top-tool-icon-btn{
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }
}

.auth-widget{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:40px;
  padding:6px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(18,25,38,.82),rgba(50,32,18,.76)),
    radial-gradient(circle at 0% 0%,rgba(250,204,21,.16),transparent 36%);
  box-shadow:0 16px 38px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(12px) saturate(1.15);
}
.auth-widget{
  position:relative;
}
.auth-menu-panel{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  display:none;
  grid-template-columns:repeat(4,44px);
  justify-content:end;
  gap:7px;
  width:auto;
  padding:10px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(31,23,18,.95),rgba(74,42,16,.92));
  box-shadow:0 18px 42px rgba(0,0,0,.32);
}
.auth-widget.menu-open .auth-menu-panel{
  display:grid;
}
.auth-menu-panel .btn{
  width:100%!important;
}
.auth-menu-panel .social-image-button{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:4px!important;
}
.auth-menu-panel .auth-danger-btn{
  grid-column:1/-1;
  min-height:34px!important;
}
.auth-user-chip{
  display:flex;
  flex-direction:column;
  gap:1px;
  min-width:88px;
  padding:5px 8px;
  color:#fff7df;
  font-size:11px;
  font-weight:900;
  line-height:1.1;
}
.auth-user-chip.account-open{
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
  border-radius:10px;
}
.auth-user-chip.account-open:hover{
  background:rgba(255,255,255,.1);
}
.auth-user-chip strong{font-size:13px}
.auth-user-chip span{color:#facc15;text-transform:uppercase}
.auth-user-chip strong{
  display:flex;
  align-items:center;
  gap:6px;
}
.auth-user-chip strong::before{
  content:"";
  flex:0 0 auto;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 2px rgba(34,197,94,.18),0 0 8px rgba(34,197,94,.42);
}
.auth-widget .btn{
  min-width:0!important;
  min-height:32px!important;
  padding:0 9px!important;
  border-radius:12px!important;
  font-size:12px!important;
  box-shadow:none!important;
}
.auth-widget .auth-icon-btn{
  position:relative;
  width:34px!important;
  padding:0!important;
  font-size:15px!important;
  line-height:1!important;
}
.auth-widget .auth-icon-btn.has-notification{
  color:#fff!important;
  border-color:rgba(250,204,21,.88)!important;
  box-shadow:0 0 0 2px rgba(250,204,21,.18),0 0 16px rgba(250,204,21,.28)!important;
}
.auth-notification-badge{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid #fff8e7;
  border-radius:999px;
  background:#dc2626;
  color:#fff;
  font-size:10px;
  font-weight:950;
  line-height:1;
  box-shadow:0 4px 12px rgba(91,20,20,.35);
}
.auth-widget .auth-danger-btn{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
}

@media(min-width:901px){
  .auth-widget{
    position:fixed!important;
    top:18px;
    right:18px;
    z-index:120;
    max-width:min(330px,calc(100vw - 36px));
    justify-content:flex-end;
  }
  .auth-user-chip{
    min-width:0;
    max-width:112px;
  }
  .auth-user-chip strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .auth-widget .btn{
    white-space:nowrap;
  }
  .top-tools{
    padding-right:0!important;
  }
}

@media(max-width:900px){
  .auth-widget{
    position:static!important;
    width:100%;
    justify-content:flex-end;
    flex-wrap:wrap;
    margin:8px auto;
    max-width:calc(100vw - 24px);
  }
}
.auth-form{
  display:grid;
  gap:12px;
}
#passwordResetModal .hidden{
  display:none!important;
}
.auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:2px;
}
.auth-tabs .btn.active{
  filter:brightness(1.08);
  box-shadow:0 8px 16px rgba(37,99,235,.18);
}
.auth-field{
  display:grid;
  gap:5px;
  font-weight:900;
  color:#4b3217;
}
.auth-field input{
  width:100%;
  min-height:42px;
  border:1px solid rgba(119,79,28,.34);
  border-radius:12px;
  padding:0 12px;
  background:rgba(255,255,255,.62);
  color:var(--text);
  font:inherit;
  font-weight:850;
}
.auth-help{
  padding:10px 12px;
  border:1px solid rgba(59,130,246,.22);
  border-radius:12px;
  background:rgba(219,234,254,.42);
  color:#4b5563;
  font-size:12px;
  font-weight:850;
  line-height:1.35;
}
.auth-error{
  display:none;
  padding:9px 11px;
  border:1px solid rgba(185,28,28,.32);
  border-radius:12px;
  background:rgba(254,226,226,.72);
  color:#7f1d1d;
  font-size:12px;
  font-weight:900;
}
.auth-error.show{display:block}
.auth-secondary-action{
  border:0;
  background:transparent;
  color:var(--blue);
  font-weight:900;
  text-align:left;
  cursor:pointer;
  padding:0;
}
.auth-secondary-action:hover{text-decoration:underline}

.account-profile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.account-panel{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid rgba(119,79,28,.22);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,252,242,.88),rgba(244,225,185,.58));
}
.account-panel.full{grid-column:1/-1}
.account-panel h3{
  margin:0;
  font-size:16px;
}
.account-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.account-meta span,
.privacy-toggle{
  padding:9px 10px;
  border:1px solid rgba(119,79,28,.18);
  border-radius:12px;
  background:rgba(255,255,255,.42);
  font-weight:850;
}
.account-meta small,
.privacy-toggle small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
  line-height:1.3;
}
.account-form{
  display:grid;
  gap:8px;
}
.account-form input{
  width:100%;
  min-height:38px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,.62);
  color:var(--text);
  font-weight:800;
}
.privacy-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.privacy-toggle{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:9px;
  align-items:start;
  cursor:pointer;
}
.privacy-toggle input{margin-top:2px}
@media(max-width:760px){
  .account-profile-grid,
  .privacy-list,
  .account-meta{grid-template-columns:1fr}
}

#authModal.modal-bg,
#passwordResetModal.modal-bg,
#accountProfileModal.modal-bg,
#friendsModal.modal-bg,
#messagesModal.modal-bg,
#communityDirectoryModal.modal-bg,
#communityProfileModal.modal-bg,
#moderationModal.modal-bg{
  background:rgba(15,18,24,.72);
  backdrop-filter:blur(10px) saturate(.86);
}

#authModal .modal,
#passwordResetModal .modal,
#accountProfileModal .modal,
#friendsModal .modal,
#messagesModal .modal,
#communityDirectoryModal .modal,
#communityProfileModal .modal,
#moderationModal .modal{
  width:min(560px,calc(100vw - 28px));
  border:1px solid rgba(198,148,68,.42);
  border-radius:18px;
  background:
    radial-gradient(circle at 0% 0%,rgba(245,158,11,.13),transparent 34%),
    linear-gradient(180deg,#fffdf8,#f4efe6);
  box-shadow:0 30px 90px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.52) inset;
  color:#23160a;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

#authModal .modal-head,
#passwordResetModal .modal-head,
#accountProfileModal .modal-head,
#friendsModal .modal-head,
#messagesModal .modal-head,
#communityDirectoryModal .modal-head,
#communityProfileModal .modal-head,
#moderationModal .modal-head{
  min-height:62px;
  padding:14px 18px;
  background:
    linear-gradient(135deg,rgba(120,73,21,.98),rgba(64,35,15,.98)),
    radial-gradient(circle at 12% 0%,rgba(255,214,111,.18),transparent 32%);
}

#authModal .modal-head h2,
#passwordResetModal .modal-head h2,
#accountProfileModal .modal-head h2,
#friendsModal .modal-head h2,
#messagesModal .modal-head h2,
#communityDirectoryModal .modal-head h2,
#communityProfileModal .modal-head h2,
#moderationModal .modal-head h2{
  font-size:22px;
  letter-spacing:.05px;
  font-weight:850;
}

#authModal .modal-head p,
#passwordResetModal .modal-head p,
#accountProfileModal .modal-head p,
#friendsModal .modal-head p,
#messagesModal .modal-head p,
#communityDirectoryModal .modal-head p,
#communityProfileModal .modal-head p,
#moderationModal .modal-head p{
  max-width:620px;
  color:rgba(255,244,214,.82);
  font-size:12px;
  font-weight:650;
}

#authModal .modal-body,
#passwordResetModal .modal-body,
#accountProfileModal .modal-body,
#friendsModal .modal-body,
#messagesModal .modal-body,
#communityDirectoryModal .modal-body,
#communityProfileModal .modal-body,
#moderationModal .modal-body{
  padding:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 36%),
    radial-gradient(circle at 100% 0%,rgba(37,99,235,.055),transparent 28%);
}

#authModal .modal-foot,
#passwordResetModal .modal-foot,
#accountProfileModal .modal-foot,
#friendsModal .modal-foot,
#messagesModal .modal-foot,
#communityDirectoryModal .modal-foot,
#communityProfileModal .modal-foot,
#moderationModal .modal-foot{
  min-height:0;
  padding:0 18px 18px;
  border-top:0;
  background:transparent;
}

#authModal .auth-form,
#passwordResetModal .auth-form{
  gap:12px;
}

#authModal .auth-tabs{
  padding:3px;
  border:1px solid rgba(107,70,31,.18);
  border-radius:12px;
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}

#authModal .auth-tabs .btn{
  min-height:36px!important;
  border-radius:9px!important;
  font-size:13px!important;
  font-weight:750!important;
}

#authModal .auth-tabs .btn:not(.active){
  background:transparent!important;
  color:#6b461f!important;
  box-shadow:none!important;
}

#authModal .auth-help,
#passwordResetModal .auth-help{
  padding:9px 11px;
  border-color:rgba(59,130,246,.22);
  background:linear-gradient(135deg,rgba(239,246,255,.86),rgba(219,234,254,.5));
  color:#475569;
  font-size:12px;
  font-weight:700;
}

.auth-cloud-note{
  display:grid;
  gap:3px;
  padding:10px 12px;
  border:1px solid rgba(37,99,235,.18);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(239,246,255,.88),rgba(255,255,255,.72));
  color:#475569;
}

.auth-cloud-note strong{
  color:#1e3a8a;
  font-size:12px;
  font-weight:850;
}

.auth-cloud-note span{
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}

#authModal .auth-field,
#passwordResetModal .auth-field{
  gap:6px;
  color:#5a3b18;
  font-size:13px;
  font-weight:750;
  letter-spacing:0;
}

#authModal .auth-field input,
#passwordResetModal .auth-field input,
#accountProfileModal .account-form input{
  min-height:40px;
  border:1px solid rgba(111,82,45,.28);
  border-radius:11px;
  padding:0 12px;
  background:rgba(255,255,255,.92);
  color:#2f1d0d;
  font-size:13px;
  font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 0 rgba(255,255,255,.5);
}

#authModal .auth-field input:focus,
#passwordResetModal .auth-field input:focus,
#accountProfileModal .account-form input:focus{
  outline:3px solid rgba(37,99,235,.2);
  border-color:rgba(37,99,235,.48);
}

#authModal .auth-secondary-action{
  width:max-content;
  color:#2563eb;
  font-size:12px;
  font-weight:750;
}

#authModal #authSubmit,
#passwordResetModal .auth-form .btn{
  min-height:40px!important;
  border-radius:10px!important;
  font-size:13px!important;
  font-weight:800!important;
}

#accountProfileModal .modal{
  width:min(760px,calc(100vw - 28px));
  grid-template-rows:auto minmax(0,1fr);
}

#accountProfileModal .modal-body{
  max-height:calc(100vh - 136px);
  overflow:auto;
}

#accountProfileModal .account-profile-grid{
  gap:12px;
}

#accountProfileModal .account-panel{
  gap:12px;
  padding:14px;
  border-color:rgba(140,100,48,.20);
  border-radius:14px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.82),rgba(247,237,216,.68)),
    radial-gradient(circle at 92% 0%,rgba(255,214,111,.08),transparent 30%);
  box-shadow:0 8px 18px rgba(66,42,18,.06),inset 0 1px 0 rgba(255,255,255,.72);
}

#accountProfileModal .account-panel h3{
  display:flex;
  align-items:center;
  gap:8px;
  color:#2f1d0d;
  font-size:15px;
  font-weight:850;
}

#accountProfileModal .account-meta{
  gap:8px;
}

#accountProfileModal .account-meta span{
  min-height:50px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:9px 10px;
  border-color:rgba(140,100,48,.16);
  border-radius:11px;
  background:rgba(255,255,255,.72);
  color:#6b461f;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.45px;
  font-weight:800;
}

#accountProfileModal .account-meta small{
  margin-top:3px;
  color:#2f1d0d;
  font-size:12px;
  font-weight:760;
  text-transform:none;
  letter-spacing:0;
}

#accountProfileModal .account-form{
  gap:10px;
}

#accountProfileModal .account-form .btn{
  min-height:38px!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:800!important;
}

#accountProfileModal .privacy-list{
  gap:8px;
}

#accountProfileModal .privacy-toggle{
  min-height:62px;
  gap:10px;
  padding:10px;
  border-color:rgba(140,100,48,.16);
  background:rgba(255,255,255,.68);
  border-radius:12px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}

#accountProfileModal .privacy-toggle:hover{
  transform:translateY(-1px);
  border-color:rgba(37,99,235,.28);
  background:rgba(255,255,255,.76);
  box-shadow:0 8px 18px rgba(66,42,18,.08);
}

#accountProfileModal .privacy-toggle input{
  width:15px;
  height:15px;
  accent-color:#2563eb;
}

#accountProfileModal .privacy-toggle span{
  color:#2f1d0d;
  line-height:1.15;
  font-size:13px;
  font-weight:800;
}

#accountProfileModal .privacy-toggle small{
  margin-top:5px;
  color:#6b7280;
  font-size:11px;
  font-weight:650;
}

#accountProfileModal .options-note{
  margin-top:2px;
  border-color:rgba(59,130,246,.2);
  background:rgba(239,246,255,.72);
  color:#475569;
}

.community-profile-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.community-profile-actions .btn{
  min-height:36px!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:800!important;
}

.community-search-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  margin-bottom:14px;
}

.community-search-form label{
  display:grid;
  gap:6px;
  color:#5a3b1a;
  font-weight:900;
  font-size:13px;
}

.community-search-form input{
  min-height:42px;
  padding:0 13px;
  border-radius:12px;
  border:1px solid rgba(120,80,36,.30);
  background:rgba(255,255,255,.78);
  color:#2f1d10;
  font-weight:850;
  outline:none;
}

.community-search-form input:focus{
  border-color:rgba(37,99,235,.58);
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}

.community-search-results{
  display:grid;
  gap:9px;
}

.community-online-section{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(120,80,36,.18);
}

.community-online-section h3{
  margin:0 0 4px;
  color:#2f1d10;
  font-size:16px;
}

.community-online-section>p{
  margin:0 0 10px;
  color:#73522d;
  font-size:11px;
  font-weight:750;
}

.community-online-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:9px;
}

.community-search-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid rgba(140,100,48,.22);
  border-radius:13px;
  background:rgba(255,255,255,.62);
}

.community-search-result strong{
  display:block;
  color:#2f1d10;
  font-size:15px;
}

.community-search-result small{
  display:block;
  margin-top:2px;
  color:#73522d;
  font-weight:850;
}

.member-status-line{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}

.member-presence{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#64748b;
  font-size:11px;
  font-weight:900;
}

.member-presence::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#9ca3af;
  box-shadow:0 0 0 2px rgba(156,163,175,.16);
}

.member-presence.online{
  color:#15803d;
}

.member-presence.online::before{
  background:#22c55e;
  box-shadow:0 0 0 2px rgba(34,197,94,.16),0 0 8px rgba(34,197,94,.42);
}

.member-ban-badge{
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  background:linear-gradient(180deg,#ef4444,#b91c1c);
  color:white;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  box-shadow:0 3px 9px rgba(185,28,28,.22);
}

.community-moderation-badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#8f1d18,#dc2626);
  color:#fff;
  font-weight:950;
  box-shadow:0 8px 18px rgba(220,38,38,.18);
}

.community-friend-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.auth-friends-button{
  position:relative;
}

.social-image-button{
  position:relative;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:4px!important;
  border:1px solid rgba(255,232,170,.34)!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,rgba(255,250,232,.16),rgba(61,35,15,.2))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 5px 12px rgba(20,10,3,.18)!important;
  overflow:visible!important;
}

.social-image-button img,
.social-action-button img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 2px 3px rgba(30,15,4,.25));
  transition:transform .18s ease,filter .18s ease;
}

.social-image-button:hover img,
.social-image-button:focus-visible img,
.social-action-button:hover img,
.social-action-button:focus-visible img{
  transform:translateY(-1px) scale(1.04);
  filter:brightness(1.07) drop-shadow(0 3px 5px rgba(30,15,4,.3));
}

.social-image-button:active img,
.social-action-button:active img{transform:scale(.95)}

.social-action-button{
  position:relative;
  width:48px!important;
  min-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  padding:5px!important;
  border-radius:11px!important;
  overflow:visible!important;
}

.auth-friends-badge{
  position:absolute;
  top:-8px;
  right:-8px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#facc15,#d97706);
  color:#2b1606;
  border:2px solid rgba(255,250,236,.95);
  box-shadow:0 4px 12px rgba(0,0,0,.22);
  font-size:11px;
  font-weight:950;
  line-height:1;
}

.friends-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.friends-summary-card{
  padding:12px;
  border:1px solid rgba(140,100,48,.24);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,239,194,.5));
}

.friends-summary-card small{
  display:block;
  color:#71502c;
  font-weight:850;
  text-transform:uppercase;
  font-size:11px;
}

.friends-summary-card strong{
  display:block;
  margin-top:4px;
  color:#2f1d10;
  font-size:24px;
}

.messages-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:14px;
  min-height:440px;
}

.messages-list,
.messages-thread{
  border:1px solid rgba(140,100,48,.22);
  border-radius:16px;
  background:rgba(255,255,255,.56);
  overflow:hidden;
}

.messages-list{
  display:grid;
  align-content:start;
}

.message-conversation{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(140,100,48,.16);
  padding:12px;
  text-align:left;
  background:transparent;
  color:#2f1d10;
  cursor:pointer;
  font:inherit;
}

.message-conversation-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  align-items:center;
  border-bottom:1px solid rgba(140,100,48,.16);
}

.message-conversation-row .message-conversation{border-bottom:0}

.message-conversation-main{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:9px;
  align-items:center;
}

.message-conversation-avatar{
  width:38px;
  height:38px;
}

.message-conversation-copy{min-width:0}
.message-conversation-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.message-profile-open{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:3px!important;
  margin-right:6px;
}

.message-conversation:hover,
.message-conversation.active{
  background:linear-gradient(135deg,rgba(255,247,214,.86),rgba(219,234,254,.58));
}

.message-conversation strong,
.message-conversation small{
  display:block;
}

.message-conversation small{
  margin-top:4px;
  color:#73522d;
  font-weight:800;
  line-height:1.35;
}

.messages-thread{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
}

.messages-thread-head{
  padding:12px 14px;
  border-bottom:1px solid rgba(140,100,48,.18);
  background:linear-gradient(135deg,rgba(255,247,214,.78),rgba(255,255,255,.48));
}

.messages-thread-profile{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
}

.messages-thread-profile:hover strong{text-decoration:underline}

.messages-thread-head strong,
.messages-thread-head small{
  display:block;
}

.messages-thread-head small{
  color:#73522d;
  font-weight:800;
}

.messages-feed{
  display:grid;
  align-content:start;
  gap:8px;
  padding:14px;
  overflow:auto;
  max-height:420px;
}

.message-bubble{
  max-width:min(78%,520px);
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(140,100,48,.18);
  background:rgba(255,255,255,.72);
  color:#2f1d10;
  font-weight:850;
  line-height:1.35;
}

.message-bubble.mine{
  justify-self:end;
  background:linear-gradient(135deg,#2f6bea,#1d4ed8);
  color:#fff;
  border-color:rgba(37,99,235,.4);
}

.message-bubble small{
  display:block;
  margin-top:5px;
  opacity:.78;
  font-size:11px;
}

.message-compose{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  padding:12px;
  border-top:1px solid rgba(140,100,48,.18);
  background:rgba(255,255,255,.42);
}

.message-compose textarea{
  min-height:44px;
  max-height:120px;
  resize:vertical;
  border:1px solid rgba(140,100,48,.38);
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
  font-weight:850;
}

.account-avatar-form{
  grid-template-columns:64px minmax(0,1fr) auto;
  align-items:center;
}

.account-avatar-preview,
.chat-avatar{
  width:44px;
  height:44px;
  border-radius:50%;
  background:
    var(--avatar-url, none) center/cover no-repeat,
    radial-gradient(circle at 35% 30%,#fff7d6,#facc15 45%,#c26b0b);
  border:2px solid rgba(146,100,32,.35);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

.account-avatar-preview{
  width:56px;
  height:56px;
}

.chatbox-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:14px;
  min-height:640px;
}

.chatbox-main,
.chatbox-online{
  border:1px solid rgba(140,100,48,.22);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  overflow:hidden;
}

.chatbox-main{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
}

.chatbox-feed{
  display:grid;
  align-content:start;
  gap:10px;
  padding:14px;
  overflow:auto;
  max-height:680px;
}

.chatbox-tools{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid rgba(140,100,48,.18);
  background:rgba(255,255,255,.42);
}

.chatbox-tools label{
  display:flex;
  align-items:center;
  gap:6px;
  color:#5a3c1d;
  font-size:12px;
  font-weight:900;
}

.chat-message{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  padding:10px;
  border:1px solid rgba(140,100,48,.18);
  border-radius:14px;
  background:rgba(255,255,255,.74);
}

.chat-message.system{
  background:linear-gradient(135deg,rgba(255,247,214,.92),rgba(219,234,254,.55));
}

.chat-message-body strong{
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
}

.chat-message-body p{
  margin:3px 0 0;
  color:#2f1d10;
  font-weight:850;
  line-height:1.35;
}

.chat-message-body small{
  display:block;
  margin-top:4px;
  color:#73522d;
  font-weight:800;
}

.chat-message-actions,
.message-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.chat-message-actions,
.message-bubble .message-actions{
  opacity:0;
  pointer-events:none;
  transform:translateY(2px);
  transition:opacity .18s ease,transform .18s ease;
}
.message-conversation.unread{
  background:linear-gradient(135deg,rgba(254,242,242,.98),rgba(255,247,214,.94));
  box-shadow:inset 4px 0 0 #dc2626;
}

.chat-message:hover .chat-message-actions,
.chat-message:focus-within .chat-message-actions,
.message-bubble:hover .message-actions,
.message-bubble:focus-within .message-actions{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.chat-message-actions .btn,
.message-actions .btn{
  min-height:28px!important;
  padding:0 8px!important;
  font-size:11px!important;
}

.chatbox-compose{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  padding:12px;
  border-top:1px solid rgba(140,100,48,.18);
  background:rgba(255,255,255,.42);
}

.chatbox-compose textarea{
  min-height:44px;
  max-height:120px;
  resize:vertical;
  border:1px solid rgba(140,100,48,.38);
  border-radius:12px;
  padding:11px 12px;
  font:inherit;
  font-weight:850;
}

.chatbox-online{
  padding:12px;
}

.chatbox-online h3{
  margin:0 0 10px;
}

.chatbox-online-list{
  display:grid;
  gap:8px;
}

.privacy-group{
  display:grid;
  gap:9px;
  padding:10px;
  border:1px solid rgba(140,100,48,.18);
  border-radius:14px;
  background:rgba(255,255,255,.42);
}

.privacy-group h4{
  margin:0;
  color:#4b3217;
  font-size:13px;
  text-transform:uppercase;
}

.online-user-row{
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px;
  border-radius:12px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(140,100,48,.16);
  cursor:pointer;
}

.online-user-row strong,
.online-user-row small{
  display:block;
}

.online-user-row small{
  color:#73522d;
  font-size:11px;
  font-weight:850;
}

.community-private-note{
  padding:14px;
  border:1px dashed rgba(140,100,48,.34);
  border-radius:14px;
  background:rgba(255,255,255,.45);
  color:#5f4323;
  font-weight:850;
}

.friends-section{
  display:grid;
  gap:10px;
  margin-bottom:16px;
}

.friends-section h3{
  margin:0;
  font-size:17px;
}

.friend-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  padding:12px;
  border:1px solid rgba(140,100,48,.22);
  border-radius:13px;
  background:rgba(255,255,255,.64);
}

.friend-row > div:first-of-type{
  min-width:0;
  flex:1;
}

.friend-avatar{
  flex:0 0 auto;
}

.friend-row strong{
  display:block;
}

.friend-row small{
  display:block;
  color:#73522d;
  font-weight:800;
}

.friend-row-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.community-profile-view{
  display:grid;
  gap:14px;
}

.community-profile-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px;
  border:1px solid rgba(140,100,48,.28);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,252,244,.96),rgba(242,221,174,.78));
}

.community-profile-hero.role-moderator{
  border-color:rgba(194,65,12,.34);
  background:linear-gradient(135deg,rgba(255,247,237,.96),rgba(254,215,170,.82));
}

.community-profile-hero.role-admin{
  border-color:rgba(185,28,28,.36);
  background:linear-gradient(135deg,rgba(254,242,242,.97),rgba(251,191,36,.45));
}

.community-profile-hero h3{
  margin:0 0 4px;
  font-size:22px;
}

.community-profile-title{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}

.community-profile-hero p{
  margin:0;
  color:#6b4a22;
  font-weight:850;
}

.community-role-badge{
  padding:6px 11px;
  border-radius:999px;
  background:linear-gradient(180deg,#fff3b0,#facc15);
  color:#3b2408;
  font-weight:950;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}

.community-profile-hero-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  margin-top:10px;
}

.community-profile-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}

.community-profile-card{
  padding:14px;
  border:1px solid rgba(140,100,48,.25);
  border-radius:15px;
  background:rgba(255,255,255,.64);
  box-shadow:0 8px 18px rgba(66,42,18,.06),inset 0 1px 0 rgba(255,255,255,.7);
}

.community-profile-card h4{
  margin:0 0 8px;
  font-size:16px;
}

.community-profile-card p{
  margin:5px 0;
  color:#5f4323;
  font-weight:850;
}

.community-profile-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}

.community-profile-card-head h4{
  margin:0 0 4px;
}

.community-profile-familiar-img{
  width:58px;
  height:58px;
  flex:0 0 58px;
  object-fit:contain;
  filter:drop-shadow(0 7px 10px rgba(72,43,15,.18));
}

.community-profile-card .progress-bar{
  margin:10px 0 6px;
  height:12px!important;
  border:1px solid rgba(94,72,38,.42)!important;
  background:rgba(63,50,32,.22)!important;
}

.community-profile-progress-fill{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#16a34a,#86efac 58%,#facc15);
  box-shadow:0 0 10px rgba(34,197,94,.25);
  transition:width .25s ease;
}

.community-profile-summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
}

.community-profile-summary-item{
  padding:10px 12px;
  border:1px solid rgba(140,100,48,.18);
  border-radius:12px;
  background:rgba(255,255,255,.52);
  color:#4b3219;
  font-weight:950;
}

.community-profile-summary-item small{
  display:block;
  margin-bottom:3px;
  color:#7a5a31;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.community-achievement-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
  margin-top:10px;
}

.community-achievement-pill{
  padding:9px 10px;
  border:1px solid rgba(217,119,6,.22);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,247,214,.86),rgba(255,255,255,.58));
  color:#3d2814;
  font-weight:950;
}

.community-achievement-pill small{
  display:block;
  margin-top:2px;
  color:#7a5a31;
  font-size:11px;
  font-weight:850;
}

.community-profile-empty{
  padding:16px;
  border:1px dashed rgba(140,100,48,.34);
  border-radius:14px;
  color:#6b7280;
  font-weight:900;
  text-align:center;
}

#moderationModal .modal,
#moderationOverviewModal .modal,
#chatboxModal .modal{
  width:min(820px,calc(100vw - 28px));
}

#chatboxModal .modal{
  width:min(1180px,calc(100vw - 28px));
}

.moderation-panel{
  display:grid;
  gap:14px;
}

.moderation-target{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(120,73,21,.2);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,247,225,.72));
}

.moderation-target h3{
  margin:0 0 4px;
  font-size:20px;
  color:#24170b;
}

.moderation-target p{
  margin:0;
  color:#64748b;
  font-size:12px;
  font-weight:700;
}

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

.moderation-info,
.moderation-action-card{
  padding:12px;
  border:1px solid rgba(111,82,45,.17);
  border-radius:13px;
  background:rgba(255,255,255,.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.moderation-info small,
.moderation-action-card small{
  display:block;
  margin-bottom:5px;
  color:#7c5a2c;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
}

.moderation-info strong{
  color:#201408;
  font-size:14px;
}

.moderation-action-card{
  display:grid;
  gap:8px;
}

.moderation-action-card p{
  margin:0;
  min-height:34px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}

.moderation-action-card .btn{
  width:100%;
}

.moderation-history{
  display:grid;
  gap:8px;
  max-height:220px;
  overflow:auto;
}

.moderation-history-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(111,82,45,.14);
  border-radius:11px;
  background:rgba(255,255,255,.55);
  color:#2f1d0d;
  font-size:12px;
  font-weight:700;
}

.moderation-history-type{
  min-width:78px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(37,99,235,.12);
  color:#1d4ed8;
  text-align:center;
  font-weight:850;
  text-transform:uppercase;
}

.moderation-danger-zone{
  border-color:rgba(185,28,28,.24);
  background:linear-gradient(135deg,rgba(254,242,242,.9),rgba(255,255,255,.62));
}

@media(max-width:760px){
  #authModal .modal-body,
  #passwordResetModal .modal-body,
  #accountProfileModal .modal-body{
    padding:14px;
  }
  #accountProfileModal .account-panel{
    padding:14px;
  }
  .community-search-form{
    grid-template-columns:1fr;
  }
  .community-search-result{
    align-items:stretch;
    flex-direction:column;
  }
  .friend-row{
    align-items:stretch;
    flex-direction:column;
  }
  .friends-summary{
    grid-template-columns:1fr;
  }
  .messages-layout{
    grid-template-columns:1fr;
  }
  .chatbox-layout,
  .account-avatar-form{
    grid-template-columns:1fr;
  }
  .moderation-target,
  .moderation-status-grid,
  .moderation-action-grid,
  .moderation-history-row{
    grid-template-columns:1fr;
  }
  .message-compose{
    grid-template-columns:1fr;
  }
}

.dashboard-options-btn{
  position:static!important;
  width:auto!important;
  height:auto!important;
  min-width:86px!important;
  min-height:38px!important;
  border-radius:13px!important;
  right:auto!important;
  top:auto!important;
}

.help-backdrop{
  position:fixed;
  inset:0;
  display:none;
  background:rgba(18,12,7,.68);
  backdrop-filter:blur(5px) saturate(.88);
  z-index:80000;
}

.help-backdrop.show{
  display:block;
}

.help-highlight{
  position:relative!important;
  z-index:80002!important;
  outline:4px solid rgba(250,204,21,.92)!important;
  outline-offset:5px!important;
  box-shadow:0 0 0 9999px rgba(0,0,0,.42),0 0 24px rgba(250,204,21,.55)!important;
}

.help-popover{
  position:fixed;
  display:none;
  left:50%;
  top:50%;
  width:min(760px,calc(100vw - 24px));
  max-height:min(86vh,760px);
  overflow:auto;
  padding:20px;
  border:2px solid rgba(122,78,24,.72);
  border-radius:18px;
  background:
    radial-gradient(circle at 18% 0%,rgba(250,204,21,.14),transparent 32%),
    linear-gradient(180deg,rgba(255,250,238,.99),rgba(240,221,185,.98));
  color:#2b1609;
  box-shadow:0 28px 80px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.48);
  z-index:80003;
  animation:modalRise .24s cubic-bezier(.2,.8,.2,1);
}

.help-popover.show{
  display:block;
}

.help-guide-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  margin:-2px -2px 14px;
  border-radius:14px;
  background:linear-gradient(180deg,#7a4b1b,#321b0d);
  color:#fff4d6;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

.help-icon{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:linear-gradient(180deg,#fff2aa,#d89b17);
  color:#3b2408;
  font-size:22px;
  box-shadow:0 8px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.52);
}

.help-step{
  color:#7c4a13;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.help-guide-head .help-step{
  color:rgba(255,244,214,.76);
}

.help-popover h3{
  margin:2px 0 0;
  font-size:24px;
  color:#fff4d6;
}

.help-progress{
  height:12px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(139,111,71,.34);
  background:rgba(82,54,21,.16);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.18);
}

.help-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#a16207,#f59e0b 58%,#fde68a);
  box-shadow:0 0 14px rgba(250,204,21,.34);
  transition:width .22s ease;
}

.help-progress-copy{
  display:flex;
  justify-content:flex-end;
  margin:6px 2px 12px;
  color:#74512a;
  font-size:12px;
  font-weight:900;
}

.help-content{
  margin:0;
  color:#553313;
  font-size:14px;
  font-weight:700;
  line-height:1.48;
}

.help-content p{
  margin:0 0 10px;
}

.help-content ul,
.help-content ol{
  margin:8px 0 0;
  padding-left:20px;
}

.help-content li{
  margin:6px 0;
}

.help-content strong{
  color:#2b1609;
}

.help-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
  margin-top:10px;
}

.help-card{
  border:1px solid rgba(119,79,28,.28);
  border-radius:14px;
  padding:12px;
  background:linear-gradient(180deg,rgba(255,252,242,.82),rgba(242,223,184,.56));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
}

.help-card strong{
  display:block;
  margin-bottom:4px;
}

.help-flow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:12px;
}

.help-flow span{
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(119,79,28,.24);
  color:#3b2408;
  font-weight:950;
}

.help-flow em{
  color:#a16207;
  font-style:normal;
  font-weight:950;
}

.help-no-auto{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding:10px 12px;
  border:1px solid rgba(119,79,28,.24);
  border-radius:12px;
  background:rgba(255,255,255,.34);
  color:#4b3217;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.help-no-auto input{
  width:18px;
  height:18px;
  accent-color:#d89b17;
}

.help-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:7px;
  margin-top:14px;
}

@media (max-width:700px){
  .help-popover{
    inset:10px!important;
    width:auto;
    max-height:calc(100vh - 20px);
    transform:none!important;
  }
}

.help-actions .btn{
  min-height:34px!important;
  padding:0 8px!important;
  font-size:12px!important;
}

/* ===== Boutons PNG intégrés ===== */
.btn{
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  text-shadow:0 2px 2px rgba(0,0,0,.42),0 0 8px rgba(0,0,0,.18)!important;
  filter:drop-shadow(0 5px 7px rgba(0,0,0,.20));
}

.btn::before{
  display:none!important;
}

.btn:hover{
  filter:brightness(1.06) drop-shadow(0 7px 9px rgba(0,0,0,.24))!important;
}

.btn:active{
  transform:translateY(2px)!important;
  filter:brightness(.96) drop-shadow(0 3px 5px rgba(0,0,0,.22))!important;
}

.btn-green{background-image:url("./assets/images/ui/button-green.png")!important}
.btn-blue{background-image:url("./assets/images/ui/button-blue.png")!important}
.btn-orange{background-image:url("./assets/images/ui/button-orange.png")!important}
.btn-red{background-image:url("./assets/images/ui/button-red.png")!important}
.btn-gray{background-image:url("./assets/images/ui/button-gray.png")!important}

.btn-green:active{background-image:url("./assets/images/ui/button-green-pressed.png")!important}
.btn-blue:active{background-image:url("./assets/images/ui/button-blue-pressed.png")!important}
.btn-orange:active{background-image:url("./assets/images/ui/button-orange-pressed.png")!important}
.btn-red:active{background-image:url("./assets/images/ui/button-red-pressed.png")!important}
.btn-gray:active{background-image:url("./assets/images/ui/button-gray-pressed.png")!important}

.farm-choice.active{
  background-image:url("./assets/images/ui/button-blue.png")!important;
  background-size:100% 100%!important;
  background-color:transparent!important;
}

.farm-choice.active:active{
  background-image:url("./assets/images/ui/button-blue-pressed.png")!important;
}

#plus{
  background-image:url("./assets/images/ui/button-green.png")!important;
}

#minus{
  background-image:url("./assets/images/ui/button-red.png")!important;
}

#plus:active{
  background-image:url("./assets/images/ui/button-green-pressed.png")!important;
}

#minus:active{
  background-image:url("./assets/images/ui/button-red-pressed.png")!important;
}

/* ===== Mode HUD personnalisable ===== */
body.hud-mode .modal-bg,
body.hud-mode .side-panel-bg{
  inset:auto!important;
  display:none;
  align-items:initial!important;
  justify-content:initial!important;
  padding:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  pointer-events:none;
}

body.hud-mode .modal-bg.show,
body.hud-mode .side-panel-bg.show{
  display:block!important;
  pointer-events:none;
}

body.hud-mode .modal,
body.hud-mode .side-panel{
  position:fixed!important;
  left:var(--hud-left,80px)!important;
  top:var(--hud-top,80px)!important;
  width:var(--hud-width,760px)!important;
  height:var(--hud-height,560px)!important;
  max-width:none!important;
  max-height:none!important;
  min-width:var(--hud-min-width,420px);
  min-height:var(--hud-min-height,300px);
  resize:none;
  pointer-events:auto;
  overflow:hidden!important;
}

body.hud-mode .modal-head,
body.hud-mode .side-panel-head{
  cursor:move;
  user-select:none;
}

body.hud-mode .modal::after,
body.hud-mode .side-panel::after{
  content:"";
  position:absolute;
  right:6px;
  bottom:6px;
  width:18px;
  height:18px;
  border-right:3px solid rgba(250,204,21,.75);
  border-bottom:3px solid rgba(250,204,21,.75);
  pointer-events:none;
  opacity:.85;
}

.hud-resize-handle{
  display:none;
}

body.hud-mode .hud-resize-handle{
  display:block;
  position:absolute;
  right:0;
  bottom:0;
  width:34px;
  height:34px;
  cursor:nwse-resize;
  z-index:4;
}

body.hud-mode .hud-resize-handle::before{
  content:"";
  position:absolute;
  right:8px;
  bottom:8px;
  width:18px;
  height:18px;
  border-right:3px solid rgba(250,204,21,.82);
  border-bottom:3px solid rgba(250,204,21,.82);
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));
}

body.hud-mode #optionsModal .options-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
}

body.hud-mode #optionsModal .options-grid.two{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
}

body.hud-mode #optionsModal .backup-panel{
  grid-template-columns:minmax(0,1fr)!important;
}

body.hud-mode #optionsModal .backup-actions{
  min-width:0!important;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
}

body.hud-mode .modal-foot,
body.hud-mode .side-panel-foot{
  min-height:50px;
}

body.hud-mode .monster-table,
body.hud-mode .run-time-table{
  max-height:none!important;
}

body.hud-mode .hud-front .modal,
body.hud-mode .hud-front .side-panel{
  box-shadow:0 22px 56px rgba(0,0,0,.62),0 0 0 3px rgba(250,204,21,.24)!important;
}

/* ===== Refonte UX/UI 2026 : design system calme et hiérarchisé ===== */
:root{
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --radius:8px;
  --radius-lg:12px;
  --surface:rgba(252,244,226,.94);
  --surface-soft:rgba(255,250,238,.72);
  --surface-raised:rgba(255,255,255,.62);
  --line:rgba(86,63,35,.22);
  --gold:#d4a73c;
  --focus-ring:0 0 0 3px rgba(37,99,235,.22);
}

body{
  letter-spacing:0;
  background:
    linear-gradient(rgba(20,14,10,.58),rgba(20,14,10,.68)),
    url("./assets/images/fond.webp") center/cover fixed no-repeat;
}

body.night{
  --surface:rgba(31,34,39,.95);
  --surface-soft:rgba(43,46,54,.74);
  --surface-raised:rgba(56,60,70,.62);
  --line:rgba(236,225,203,.16);
}
body[data-opacity="opaque"]{--surface:rgba(252,244,226,.98);--surface-soft:rgba(255,250,238,.88)}
body[data-opacity="glass"]{--surface:rgba(252,244,226,.82);--surface-soft:rgba(255,250,238,.48)}
body.night[data-opacity="opaque"]{--surface:rgba(31,34,39,.98);--surface-soft:rgba(43,46,54,.88)}
body.night[data-opacity="glass"]{--surface:rgba(31,34,39,.84);--surface-soft:rgba(43,46,54,.52)}

body.large-font{font-size:17px}
body.reduced-saturation{filter:saturate(.78)}
body.high-contrast{--line:rgba(0,0,0,.42);--muted:currentColor}

.app{
  width:min(1180px,96vw)!important;
  margin:18px auto 40px!important;
  padding:var(--space-5)!important;
  background:var(--surface)!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(10px);
}

.layout{grid-template-columns:minmax(250px,300px) minmax(0,1fr)!important;gap:var(--space-5)!important}
.side,.main{gap:var(--space-4)!important}

.card,.modal,.side-panel,.options-section,.activity-day-group,.projection-card,.stats-fantasy-card,.session-card,.dungeon-card,.quick-projection{
  background:var(--surface-soft)!important;
  border:1px solid var(--line)!important;
  border-radius:var(--radius-lg)!important;
  box-shadow:none!important;
}

.card{padding:var(--space-4)!important}
.card .card,.option-tile,.dungeon-mini,.stats-kpi,.activity-summary-card{
  background:var(--surface-raised)!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
}

h1,h2,h3,.progress-title,.stat-title,.profile-row label,.action-group-title{
  text-transform:none!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}

h1{font-size:clamp(30px,4vw,46px)!important;font-weight:800!important}
h2{font-size:24px!important;font-weight:800!important}
h3{font-size:17px!important;font-weight:800!important}
.progress-title,.chrono-title,.session-kicker,.dungeon-label,.activity-summary-label,.stats-kpi-label{
  font-size:12px!important;
  font-weight:700!important;
  color:var(--muted)!important;
}

.btn{
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  border:1px solid transparent!important;
  border-radius:8px!important;
  min-height:38px!important;
  font-weight:750!important;
  text-shadow:none!important;
  box-shadow:none!important;
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease!important;
}
.btn:hover{box-shadow:var(--focus-ring)!important;filter:brightness(1.03)!important}
.btn:focus-visible,select:focus-visible,input:focus-visible{outline:none!important;box-shadow:var(--focus-ring)!important}
.btn:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}
.btn:active{
  transform:translateY(1px)!important;
  filter:brightness(.98)!important;
  box-shadow:none!important;
}
.btn-green{background:#16803a!important;color:#fff!important}
.btn-blue{background:#2563eb!important;color:#fff!important}
.btn-orange{background:#c76a14!important;color:#fff!important}
.btn-red{background:#b42318!important;color:#fff!important}
.btn-gray{background:#667085!important;color:#fff!important}
.action-group .btn,.chrono-history-open,#projectionButton,#monsterLauncher{background:transparent!important;color:var(--blue)!important;border-color:rgba(37,99,235,.34)!important}
.danger-group .btn,#resetButton,#clearActivity,#clearRunTimes{color:var(--red)!important;border-color:rgba(180,35,24,.36)!important;background:transparent!important}
.big-btn{
  width:auto!important;
  min-width:132px!important;
  height:64px!important;
  font-size:24px!important;
  border-radius:10px!important;
}
#plus{background:#16803a!important}
#minus{background:#b42318!important;min-width:76px!important}

.hero{
  position:relative;
  overflow:hidden;
  text-align:left!important;
  padding:var(--space-5)!important;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.30),transparent 72%);
  pointer-events:none;
}
.hero>*{position:relative}
.farm-command-head,.run-command-grid{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:var(--space-4)!important}
.run-command-grid{justify-content:flex-start!important;margin-top:var(--space-4)!important}
.action-groups{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
.action-group{background:transparent!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:var(--space-3)!important}

.progress-bar{
  height:14px!important;
  border:0!important;
  background:rgba(0,0,0,.18)!important;
}
.progress-fill{
  background:#16803a!important;
}
body[data-fx="minimal"] .progress-fill::after,body[data-fx="standard"] .progress-fill::after{display:none!important}
body[data-fx="premium"] .progress-fill::after{display:block!important}
.progress-percent{font-size:26px!important;font-weight:800!important;color:var(--green)!important}

.chrono-card{
  position:relative;
  overflow:hidden;
  background:#111827!important;
  color:#e5e7eb!important;
  border-color:rgba(148,163,184,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.chrono-card::before{
  content:"LIVE RUN";
  position:absolute;
  top:12px;
  right:12px;
  padding:3px 8px;
  border-radius:999px;
  color:#67e8f9;
  border:1px solid rgba(103,232,249,.34);
  font:700 11px/1 Consolas,monospace;
  letter-spacing:.08em;
}
.chrono-title{color:#9ca3af!important;font-family:Consolas,"Courier New",monospace!important}
.chrono-help{color:#9ca3af!important;font-size:12px!important}
.chrono-time{
  margin:14px 0!important;
  color:#f8fafc!important;
  font:800 clamp(34px,5vw,52px)/1 Consolas,"Courier New",monospace!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}
.chrono-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.chrono-card .btn{font-family:Arial,sans-serif!important}
.chrono-card .btn-blue,.chrono-card .chrono-history-open{color:#93c5fd!important;border-color:rgba(147,197,253,.35)!important}
.chrono-estimate{
  display:none;
  margin:10px 0 0;
  padding:9px 10px;
  border:1px solid rgba(103,232,249,.26);
  border-radius:8px;
  color:#cbd5e1;
  background:rgba(15,23,42,.72);
  font-size:12px;
  line-height:1.35;
  font-weight:700;
}
.chrono-estimate.show{display:block}
.chrono-estimate strong{color:#67e8f9}
.dungeon-value.auto-estimated{
  color:var(--orange)!important;
}
body[data-chrono-style="fantasy"] .chrono-card{background:linear-gradient(180deg,#2a1a10,#16100c)!important;border-color:rgba(212,167,60,.38)!important}
body[data-chrono-style="compact"] .chrono-card .chrono-help,body[data-chrono-style="compact"] .chrono-card .chrono-history-open{display:none!important}
body[data-chrono-style="compact"] .chrono-time{font-size:32px!important;margin:8px 0!important}
body[data-chrono-style="overlay"] .chrono-card{position:sticky!important;top:12px!important;z-index:5}

.toast-wrap{right:18px!important;bottom:18px!important;display:flex!important;flex-direction:column!important;gap:8px!important}
.toast{
  border-radius:8px!important;
  box-shadow:0 12px 34px rgba(0,0,0,.28)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  font-weight:750!important;
  animation:none!important;
}
body[data-notification-size="small"] .toast{font-size:12px!important;padding:8px 10px!important}
body[data-notification-size="large"] .toast{font-size:16px!important;padding:14px 16px!important}
.toast.milestone,.toast.rare{background:linear-gradient(135deg,#220509,#7f1d1d 48%,#f6d365)!important;color:#fff7d6!important}
.toast.pause,.toast.undo,.toast.gray{background:#667085!important}
.toast.error,.toast.reset,.toast.delete,.toast.red{background:#b42318!important}
.toast.info,.toast.system,.toast.blue,.toast.chrono{background:#2563eb!important}
.toast.warning,.toast.edit,.toast.import,.toast.mark,.toast.orange{background:#c76a14!important}
.toast.success,.toast.run,.toast.pp,.toast.progress,.toast.export,.toast.green,.toast.profile{background:#16803a!important}

.activity-tools{background:transparent!important}
.activity-filters{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))!important}
.activity-row{
  grid-template-columns:56px 28px minmax(0,1fr) auto!important;
  font-weight:650!important;
}
.activity-dot{box-shadow:none!important}
.activity-row.milestone .activity-dot{background:#d4a73c!important;color:#1f140c!important}
.activity-row.edit .activity-dot{background:#c76a14!important}
.activity-day-title{cursor:pointer;background:rgba(0,0,0,.04)!important}
.activity-day-group.collapsed .activity-timeline-list{display:none!important}
body[data-activity-density="detailed"] .activity-message{white-space:normal!important}

.monster-tools{
  display:grid;
  grid-template-columns:minmax(160px,1fr) 150px 150px;
  gap:var(--space-2);
  margin:0 0 var(--space-3);
}
.monster-tools input,.monster-tools select{width:100%;background:rgba(255,252,242,.82)!important;border-color:rgba(119,79,28,.28)!important}
.monster-quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 12px}
.monster-quick-stat{border:1px solid rgba(119,79,28,.28);border-radius:12px;padding:9px 10px;background:linear-gradient(180deg,rgba(255,252,242,.82),rgba(242,223,184,.56));box-shadow:inset 0 1px 0 rgba(255,255,255,.48)}
.monster-quick-stat span{display:block;color:#74512a;font-size:11px;font-weight:900;text-transform:uppercase}
.monster-quick-stat strong{display:block;margin-top:3px;color:#2f1f10;font-size:16px;font-weight:950}
.monster-table{display:grid!important;gap:10px!important;max-height:min(58vh,620px)!important}
.monster-row{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) auto auto!important;
  gap:12px!important;
  align-items:center!important;
  min-height:70px!important;
  padding:10px 12px!important;
  border:1px solid rgba(119,79,28,.28)!important;
  border-left:4px solid rgba(119,79,28,.22)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(255,252,242,.82),rgba(242,223,184,.54))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 8px 18px rgba(80,48,12,.08)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease!important;
}
.monster-row:not(.header):hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 12px 24px rgba(80,48,12,.14)!important}
.monster-row.header{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  min-height:38px!important;
  border:1px solid rgba(119,79,28,.32)!important;
  border-left:4px solid rgba(119,79,28,.32)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,rgba(245,232,198,.99),rgba(227,202,155,.99))!important;
  box-shadow:0 8px 14px rgba(80,48,12,.14),inset 0 1px 0 rgba(255,255,255,.62)!important;
  color:#3a2813!important;
  font-size:12px!important;
  padding:0 10px!important;
}
.monster-row.header:hover{transform:none!important}
.monster-row.all{grid-template-columns:56px minmax(0,1fr) repeat(4,minmax(54px,auto)) 36px!important}
.monster-row.source-morose{border-left-color:#3b82f6!important}
.monster-row.source-tynril{border-left-color:#16a34a!important}
.monster-row.source-zone{border-left-color:#a16207!important}
.monster-row.is-favorite{border-color:rgba(184,122,24,.48)!important;background:linear-gradient(180deg,rgba(255,246,205,.86),rgba(246,220,156,.62))!important}
.monster-row.rank-1{box-shadow:inset 0 1px 0 rgba(255,255,255,.56),0 0 0 2px rgba(250,204,21,.22),0 10px 24px rgba(80,48,12,.12)!important}
.monster-row.rank-2{border-color:rgba(184,122,24,.42)!important}
.monster-row.rank-3{border-color:rgba(184,122,24,.34)!important}
.monster-name{font-weight:950;color:#2f1f10;font-size:15px}
.monster-value{
  min-width:50px;
  padding:6px 10px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(219,234,254,.92),rgba(147,197,253,.64));
  color:#1d4ed8!important;
  font-size:16px;
  font-weight:950;
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.monster-fav{
  width:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  background:rgba(255,255,255,.36)!important;
  border-color:rgba(212,167,60,.42)!important;
  color:var(--gold)!important;
  font-size:18px!important;
}
.monster-fav.is-active{
  background:linear-gradient(180deg,#fff4bd,#e7b337)!important;
  border-color:rgba(151,92,13,.45)!important;
  color:#3b2408!important;
  box-shadow:0 6px 12px rgba(176,110,18,.18)!important;
}
.monster-row span small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}
.monster-progress-note{
  display:block;
  margin-top:3px;
  color:#5f4524!important;
  font-size:11px;
  font-weight:850!important;
  line-height:1.25;
}
.monster-progress-note .pp-rate{
  display:block;
  color:#5f4524;
  font-weight:900;
}
.monster-progress-note .next-pp{
  display:block;
  margin-top:2px;
  color:#1d4ed8;
  font-weight:950;
}
body.night .monster-progress-note .pp-rate{color:#f8e6ad}
body.night .monster-progress-note .next-pp{color:#93c5fd}
body.night .monster-progress-note{color:#f8e6ad!important}
.monster-row.current-farm{border-color:rgba(22,128,58,.44)!important;background:linear-gradient(180deg,rgba(220,252,231,.76),rgba(187,247,208,.42))!important}
.monster-icon{width:52px!important;max-height:58px!important;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(53,33,12,.16))}
body[data-monster-view="compact"] .monster-row{min-height:50px!important;padding:6px 9px!important;grid-template-columns:40px minmax(0,1fr) auto auto!important}
body[data-monster-view="compact"] .monster-row.all{grid-template-columns:40px minmax(0,1fr) repeat(4,minmax(44px,auto)) 32px!important}
body[data-monster-view="compact"] .monster-icon{width:38px!important;max-height:40px!important}
body[data-monster-view="compact"] .monster-value{min-width:42px;font-size:14px;padding:4px 8px}

.option-field{cursor:default}
.option-field select{width:100%;margin-top:auto}
.comfort-center .btn{min-height:44px!important}

body[data-dashboard-mode="simple"] .profile-row,
body[data-dashboard-mode="simple"] .action-groups,
body[data-dashboard-mode="simple"] .dungeon-summary,
body[data-dashboard-mode="simple"] .quick-projection,
body[data-dashboard-mode="simple"] .dashboard-bottom-actions,
body[data-dashboard-mode="simple"] .session-card:not(.unified-chrono-card){display:none!important}
body[data-dashboard-mode="simple"] .layout{grid-template-columns:1fr!important}
body[data-dashboard-mode="simple"] .side{display:grid!important;grid-template-columns:1fr 1fr!important}
body[data-dashboard-mode="focus"] .action-groups,
body[data-dashboard-mode="focus"] .quick-projection{opacity:.72}
body[data-dashboard-mode="analytics"] .dungeon-summary{order:-1}

body[data-fx="minimal"] *{text-shadow:none!important;box-shadow:none!important}
body[data-fx="minimal"] .app,body[data-fx="minimal"] .modal{backdrop-filter:none!important}
body[data-fx="premium"] .milestone-flash{box-shadow:0 0 0 9999px rgba(212,167,60,.10),0 0 60px rgba(212,167,60,.28)!important}

@media(min-width:901px){
  html,body{
    height:100%;
    overflow:hidden;
  }
  .app{
    height:calc(100vh - 36px)!important;
    max-height:calc(100vh - 36px)!important;
    margin:18px auto!important;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .top-tools{
    flex:0 0 auto;
  }
  .layout{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
  }
  .layout > .side,
  .layout > .main{
    min-height:0;
    max-height:100%;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  .layout > .side{
    position:static!important;
    align-self:stretch;
    padding-right:2px;
  }
  .layout > .main{
    padding-right:4px;
    padding-bottom:28px;
    gap:16px!important;
  }
}

@media(max-width:900px){
  html,body{
    height:auto;
    overflow:auto;
  }
  .app{padding:var(--space-3)!important;margin:8px auto 24px!important}
  .layout{grid-template-columns:1fr!important}
  .side{display:grid!important;grid-template-columns:1fr 1fr!important;text-align:left!important}
  .chrono-card,.session-card{min-width:0}
  .farm-command-head,.run-command-grid{flex-direction:column!important;align-items:stretch!important}
  .action-groups,.dungeon-summary,.summary-grid{grid-template-columns:1fr!important}
  .monster-tools{grid-template-columns:1fr!important}
}

@media(max-width:560px){
  .layout > .side{
    top:8px!important;
    max-height:calc(100vh - 16px);
  }
  .side{grid-template-columns:1fr!important}
  .profile-row{grid-template-columns:1fr!important}
  .profile-actions{grid-template-columns:1fr!important}
  .big-btn{width:100%!important}
  .chrono-grid{grid-template-columns:1fr!important}
  .activity-row{grid-template-columns:48px 28px minmax(0,1fr)!important}
  .activity-repeat{grid-column:3!important}
  .monster-row,.monster-row.all{grid-template-columns:36px minmax(0,1fr) auto 32px!important}
  .monster-row.all span:nth-child(3),.monster-row.all span:nth-child(4),.monster-row.all span:nth-child(5){display:none!important}
}

/* ===== Options v3 : navigation claire, moins de cartes ===== */
#optionsModal .modal{
  width:min(980px,calc(100vw - 24px));
}

#optionsModal .modal-body{
  padding:0;
}

.options-search-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.22);
}

.options-search-wrap input{
  width:100%;
  min-height:38px;
  border-radius:12px;
  border:1px solid rgba(119,79,28,.34);
  padding:0 12px;
  background:rgba(255,252,242,.94);
  color:var(--text);
  font-weight:850;
}

.options-search-wrap span{
  color:#74512a;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.options-shell{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  min-height:520px;
}

.options-nav{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px;
  border-right:1px solid var(--line);
  background:rgba(0,0,0,.035);
}

.options-tab{
  min-height:38px;
  border:0;
  border-radius:8px;
  padding:0 12px;
  background:transparent;
  color:var(--text);
  text-align:left;
  font-weight:750;
  cursor:pointer;
}

.options-tab:hover,
.options-tab.active{
  background:rgba(37,99,235,.12);
  color:var(--blue);
}

.options-panels{
  min-width:0;
  padding:18px;
}

.options-empty-search{
  display:none;
  padding:18px;
  border:1px dashed rgba(119,79,28,.34);
  border-radius:14px;
  text-align:center;
  color:var(--muted);
  font-weight:900;
  background:rgba(255,255,255,.26);
}

.options-empty-search.show{display:block}
.options-search-hidden{display:none!important}

.options-panel{
  display:none;
}

.options-panel.active{
  display:block;
}

.options-panel.search-match{
  display:block;
}

.options-panel-head{
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}

.options-panel-head h3{
  margin:0 0 8px;
  font-size:22px;
}

.options-panel-head p,
.options-note,
.option-row small{
  margin:0;
  color:var(--muted);
  line-height:1.4;
  font-size:13px;
  font-weight:650;
}

.options-control-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.option-control{
  display:grid;
  gap:7px;
  min-width:0;
}

.option-control span,
.option-row strong{
  font-size:14px;
  font-weight:800;
}

.option-control select{
  width:100%;
  min-height:40px;
  border-width:1px;
  border-radius:8px;
  font-weight:700;
}

.options-action-list{
  display:grid;
  gap:8px;
}

.option-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid rgba(86,63,35,.13);
}

.option-row > div{
  display:grid;
  gap:5px;
  min-width:0;
}

.option-row small{
  display:block;
}

.option-row:last-child{
  border-bottom:0;
}

.option-row .btn{
  min-width:112px;
  background:transparent;
  color:var(--blue);
  border-color:rgba(37,99,235,.28);
}

.option-row.muted{
  opacity:.86;
}

.option-status{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  color:var(--muted);
  background:rgba(0,0,0,.06);
  font-size:12px;
  font-weight:800;
}

.shortcut-list{
  display:grid;
  gap:8px;
  margin-top:14px;
}

.shortcut-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid rgba(86,63,35,.13);
}

.shortcut-item:last-child{
  border-bottom:0;
}

.shortcut-copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.shortcut-copy strong{
  font-size:14px;
  font-weight:800;
}

.shortcut-copy small{
  color:var(--muted);
  line-height:1.35;
  font-size:12px;
  font-weight:650;
}

.shortcut-key{
  min-width:76px;
  justify-content:center;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 10px;
  border:1px solid rgba(37,99,235,.24);
  border-radius:8px;
  background:rgba(37,99,235,.08);
  color:var(--blue);
  font:800 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
}

.shortcut-key.capturing{
  border-color:rgba(198,106,20,.45);
  background:rgba(198,106,20,.12);
  color:var(--orange);
}

.shortcut-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:14px;
}

#optionsModal .backup-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:0 0 14px;
  border-bottom:1px solid var(--line);
  background:transparent;
}

#optionsModal .backup-actions{
  display:flex;
  gap:8px;
  min-width:0;
}

.cloud-save-state{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  padding:6px 12px;
  border:1px solid rgba(180,130,45,.34);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,247,214,.94),rgba(255,255,255,.72));
  color:#5b3514;
  font-weight:900;
  font-size:12px;
}

.cloud-save-state::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#9ca3af;
  box-shadow:0 0 0 3px rgba(156,163,175,.14);
}

.cloud-save-state.online::before{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.16)}
.cloud-save-state.local::before{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.16)}
.cloud-save-state.error::before{background:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.16)}

.cloud-migration-panel{
  margin-top:12px;
  padding:14px;
  border:1px solid rgba(180,130,45,.3);
  border-radius:14px;
  background:
    radial-gradient(circle at 0% 0%,rgba(96,165,250,.12),transparent 34%),
    linear-gradient(135deg,rgba(255,252,242,.92),rgba(239,228,205,.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
}

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

.cloud-migration-head strong{
  display:block;
  font-size:15px;
  color:#2f1b10;
}

.cloud-migration-head small{
  display:block;
  margin-top:3px;
  color:#6f5333;
  font-weight:800;
  line-height:1.35;
}

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

.cloud-migration-card{
  padding:11px 12px;
  border:1px solid rgba(122,78,24,.18);
  border-radius:12px;
  background:rgba(255,255,255,.58);
  min-width:0;
}

.cloud-migration-card b{
  display:block;
  color:#5a331a;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.cloud-migration-card span{
  display:block;
  margin-top:5px;
  color:#231306;
  font-weight:900;
  line-height:1.35;
}

.cloud-migration-card small{
  display:block;
  margin-top:4px;
  color:#73583a;
  font-weight:800;
  line-height:1.35;
}

.cloud-migration-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.cloud-migration-actions .btn{
  min-height:38px;
}

@media(max-width:720px){
  .cloud-migration-grid{grid-template-columns:1fr}
  .cloud-migration-head{display:block}
  .cloud-migration-actions .btn{width:100%}
}

.dialog-bg{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  z-index:120000;
  background:rgba(20,12,6,.66);
  backdrop-filter:blur(5px) saturate(.9);
}

.dialog-bg.show{display:flex}
.hidden{display:none!important}

.dialog{
  width:min(480px,100%);
  max-height:calc(100vh - 36px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  border:2px solid rgba(122,78,24,.74);
  border-radius:16px;
  background:
    radial-gradient(circle at 18% 0%,rgba(250,204,21,.12),transparent 34%),
    linear-gradient(180deg,rgba(255,250,238,.98),rgba(240,221,185,.97));
  color:var(--text);
  box-shadow:0 28px 78px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.48);
  overflow:hidden;
  animation:modalRise .24s cubic-bezier(.2,.8,.2,1);
}

.dialog-head{
  padding:15px 18px 13px;
  background:
    radial-gradient(circle at 14% 0%,rgba(250,204,21,.24),transparent 34%),
    linear-gradient(180deg,#7a4b1b,#321b0d);
  color:#fff4d6;
  border-bottom:1px solid rgba(255,226,154,.22);
}

.dialog-head h3{
  margin:0;
  font-size:20px;
  color:#fff4d6;
  display:flex;
  align-items:center;
  gap:10px;
}

.dialog-title-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  object-fit:contain;
  filter:drop-shadow(0 3px 4px rgba(20,10,3,.38));
}

@media(max-width:640px){
  .modal-title-icon{
    width:32px;
    height:32px;
    flex-basis:32px;
  }
  .dialog-title-icon{
    width:32px;
    height:32px;
    flex-basis:32px;
  }
}

.dialog-subtitle{
  margin:5px 0 0;
  color:rgba(255,244,214,.78);
  font-size:12px;
  font-weight:800;
}

.dialog-body{
  padding:16px 18px;
  color:#5f4425;
  line-height:1.45;
  font-weight:750;
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.08));
  overflow:auto;
}

.dialog-body p{margin:0 0 10px}
.dialog-body ul{margin:8px 0 12px;padding-left:20px}
.dialog-body li{margin:4px 0}
.dialog-check{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  padding:10px 12px;
  border:1px solid rgba(119,79,28,.26);
  border-radius:12px;
  background:rgba(255,255,255,.34);
  color:#4b3217;
  font-weight:900;
  cursor:pointer;
}
.dialog-check input{width:18px;height:18px;accent-color:#d89b17}
.dialog-inline-action{
  width:100%;
  margin:4px 0 10px;
  min-height:38px;
}

.dialog-input{
  width:100%;
  margin-top:12px;
}

.dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:14px 18px 16px;
  border-top:1px solid rgba(139,111,71,.35);
  background:linear-gradient(180deg,rgba(255,248,232,.46),rgba(238,208,147,.32));
}

.dialog-actions .btn-gray{
  opacity:.86;
}

.familiar-choice-search{
  width:100%;
  margin:2px 0 14px;
  padding:12px 14px;
  border:1px solid rgba(126,91,43,.30);
  border-radius:12px;
  background:rgba(255,252,242,.88);
  color:#2b1608;
  font-weight:850;
}
.familiar-choice-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 12px;
  color:#694b28;
  font-size:12px;
  font-weight:950;
}
.familiar-choice-pages{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.familiar-choice-pages .btn{
  min-height:34px;
  padding:7px 12px;
}
.familiar-choice-page-label{
  min-width:78px;
  text-align:center;
  color:#5a3a1b;
}
.familiar-choice-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:14px;
  margin:4px 0 6px;
}
#appDialog.familiar-choice-dialog .dialog{
  width:min(760px,calc(100vw - 28px));
}
#appDialog.familiar-choice-dialog .dialog-body{
  max-height:calc(100vh - 190px);
}
.familiar-choice-card{
  position:relative;
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-height:176px;
  padding:14px;
  border:1px solid rgba(171,132,73,.36);
  border-radius:16px;
  background:
    radial-gradient(circle at 12% 0,rgba(250,204,21,.18),transparent 34%),
    linear-gradient(135deg,rgba(255,251,235,.96),rgba(247,232,190,.80));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 10px 24px rgba(83,52,15,.08);
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.familiar-choice-card:hover,
.familiar-choice-card.selected{
  transform:translateY(-1px);
  border-color:rgba(216,155,23,.78);
  box-shadow:0 10px 22px rgba(83,52,15,.13),inset 0 1px 0 rgba(255,255,255,.86);
}
.familiar-choice-card input{
  position:absolute;
  left:12px;
  top:12px;
  accent-color:#d89b17;
}
.familiar-choice-portrait{
  display:grid;
  gap:8px;
  justify-items:center;
  padding-top:20px;
}
.familiar-choice-art{
  width:72px;
  height:72px;
  object-fit:contain;
  filter:drop-shadow(0 10px 13px rgba(67,38,11,.20));
}
.familiar-choice-bonus{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:5px 8px;
  border-radius:999px;
  background:linear-gradient(180deg,#fff4b8,#facc15);
  border:1px solid rgba(184,122,24,.30);
  color:#3b2408;
  font-size:10px;
  font-weight:950;
  line-height:1.05;
  max-width:88px;
  text-align:center;
}
.familiar-choice-bonus img{
  width:18px;
  height:18px;
  object-fit:contain;
  flex:0 0 auto;
}
.familiar-choice-card strong{
  display:block;
  color:#2b1608;
  font-size:18px;
  line-height:1.1;
}
.familiar-choice-card small{
  display:block;
  margin-top:5px;
  color:#694b28;
  line-height:1.35;
  font-size:12px;
}
.familiar-choice-note{
  display:block;
  margin-top:8px;
  padding:8px 10px;
  border:1px solid rgba(234,179,8,.38);
  border-radius:10px;
  background:rgba(255,247,196,.58);
  color:#6b4a16;
  font-size:11px;
  font-weight:900;
  line-height:1.35;
}
.familiar-choice-stars{
  color:#d97706;
  font-size:14px;
  letter-spacing:1px;
  white-space:nowrap;
}
.familiar-choice-meta{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:10px;
}
.familiar-choice-meta span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 9px;
  border:1px solid rgba(126,91,43,.18);
  border-radius:10px;
  background:rgba(255,255,255,.40);
  color:#5a3a1b;
  font-size:12px;
  font-weight:900;
  line-height:1.25;
  min-width:0;
}
.familiar-choice-card em{
  display:none;
}
.familiar-choice-empty{
  grid-column:1/-1;
  padding:18px;
  border:1px dashed rgba(126,91,43,.30);
  border-radius:14px;
  text-align:center;
  color:#6b7280;
  font-weight:900;
}
body[data-familiar="dragoune-noir"] .side > .card:first-child{
  padding-bottom:22px;
}
body[data-familiar="dragoune-noir"] .pykur-orb{
  width:min(185px,70%);
}
body[data-familiar="dragoune-noir"] .pykur-img{
  width:78%;
  max-height:148px;
}
body[data-familiar="dragoune-noir"] .progress-percent{
  font-size:27px;
  line-height:1.05;
  margin-top:8px;
}

body.help-active{
  overflow-x:hidden;
}

@media(max-width:760px){
  .options-shell{
    grid-template-columns:1fr;
    min-height:0;
  }

  .options-nav{
    position:sticky;
    top:0;
    z-index:1;
    flex-direction:row;
    overflow-x:auto;
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:10px;
  }

  .options-tab{
    flex:0 0 auto;
    white-space:nowrap;
    text-align:center;
  }

  .options-panels{
    padding:14px;
  }

  .options-control-grid,
  #optionsModal .backup-panel{
    grid-template-columns:1fr;
  }

  .option-row{
    grid-template-columns:1fr;
  }

  .shortcut-item{
    grid-template-columns:1fr;
  }

  .shortcut-key,
  .shortcut-item .btn,
  .shortcut-actions .btn{
    width:100%;
  }

.option-row .btn,
#optionsModal .backup-actions,
#optionsModal .backup-actions .btn{
    width:100%;
  }
}

.sound-toggle{
  width:42px;
  min-width:42px;
  padding:0;
  font-size:18px;
}

.sound-toggle.muted{
  opacity:1;
}

body.charlie-mode,
body.charlie-mode *{
  cursor:none!important;
}

.charlie-cursor{
  position:fixed;
  left:0;
  top:0;
  width:54px;
  height:54px;
  pointer-events:none;
  z-index:130000;
  opacity:0;
  transform:translate3d(var(--charlie-x,-80px),var(--charlie-y,-80px),0) scale(1);
  transform-origin:45% 82%;
  background:url("./assets/images/charlie.png") center/contain no-repeat;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.28));
  transition:opacity .12s ease;
  will-change:transform;
}

body.charlie-mode .charlie-cursor{
  opacity:1;
}

.charlie-cursor.chomp{
  animation:charlieChomp .22s ease;
}

body.charlie-mode:active .charlie-cursor{
  animation:charlieChomp .22s ease;
}

@keyframes charlieChomp{
  0%,100%{transform:translate3d(var(--charlie-x,-80px),var(--charlie-y,-80px),0) scale(1) rotate(0deg)}
  45%{transform:translate3d(var(--charlie-x,-80px),var(--charlie-y,-80px),0) scale(1.12,.84) rotate(-7deg)}
}

.alhass-veil{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:0;
  z-index:18;
  background:
    radial-gradient(circle at 88% 82%,rgba(127,29,29,.22),transparent 34%),
    radial-gradient(circle at 92% 88%,rgba(0,0,0,.26),transparent 28%);
  transition:opacity .35s ease;
}

.alhass-presence{
  position:fixed;
  right:18px;
  bottom:72px;
  width:clamp(92px,12vw,142px);
  aspect-ratio:1;
  pointer-events:none;
  opacity:0;
  transform:translate3d(18px,14px,0) scale(.94);
  z-index:9500;
  transition:opacity .28s ease, transform .28s ease;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.46));
}

.alhass-presence::before{
  content:"";
  position:absolute;
  inset:14%;
  border-radius:999px;
  background:radial-gradient(circle,rgba(127,29,29,.38),rgba(20,6,6,.08) 55%,transparent 72%);
  filter:blur(12px);
  animation:alhassAura 3.4s ease-in-out infinite;
}

.alhass-presence img{
  position:relative;
  width:100%;
  height:100%;
  object-fit:contain;
  animation:alhassFloat 4.8s ease-in-out infinite;
}

.alhass-presence span{
  position:absolute;
  right:4px;
  bottom:-4px;
  padding:4px 8px;
  border:1px solid rgba(248,113,113,.34);
  border-radius:999px;
  background:rgba(20,6,6,.82);
  color:#fecaca;
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 8px 20px rgba(0,0,0,.34);
}

body.alhass-mode .alhass-veil{
  opacity:1;
}

body.alhass-mode .alhass-presence{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

body.alhass-mode .app{
  box-shadow:0 0 0 1px rgba(127,29,29,.16),0 24px 70px rgba(0,0,0,.42)!important;
}

@keyframes alhassAura{
  0%,100%{opacity:.54;transform:scale(.96)}
  50%{opacity:.86;transform:scale(1.06)}
}

@keyframes alhassFloat{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-7px) rotate(1.5deg)}
}

@media(max-width:760px){
  .alhass-presence{
    right:10px;
    bottom:76px;
    width:84px;
  }
  .alhass-presence span{
    display:none;
  }
}

.toom-overlay{
  position:fixed;
  left:50%;
  bottom:18px;
  width:clamp(160px,24vw,270px);
  height:clamp(88px,13vw,150px);
  pointer-events:none;
  opacity:1;
  visibility:hidden;
  transform:translate3d(-50%,18px,0) scale(.96);
  z-index:9400;
  transition:opacity .24s ease, transform .24s ease;
}

.toom-rider{
  position:absolute;
  inset:0;
  transform-origin:48% 82%;
}

.toom-bike{
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 16px 18px rgba(0,0,0,.38));
}

.toom-avatar{
  position:absolute;
  left:43%;
  top:12%;
  width:clamp(34px,5.2vw,58px);
  aspect-ratio:1;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.85);
  background:#111827;
  object-fit:cover;
  box-shadow:0 8px 18px rgba(0,0,0,.38),0 0 0 3px rgba(37,99,235,.24);
}

.toom-smoke{
  position:absolute;
  left:7%;
  bottom:16%;
  width:42px;
  height:18px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(148,163,184,.42),transparent 65%);
  opacity:.65;
}

.toom-overlay.toom-active,
body.toom-mode .toom-overlay{
  opacity:1;
  visibility:visible;
  transform:translate3d(-50%,0,0) scale(1);
}

body.toom-mode .toom-rider{
  animation:toomWheelie 3.2s ease-in-out infinite;
}

body.toom-mode .toom-smoke{
  animation:toomSmoke 1.8s ease-in-out infinite;
}

body.no-anim .toom-rider,
body.no-anim .toom-smoke{
  animation:none!important;
}

@keyframes toomWheelie{
  0%,100%{transform:translateX(-14px) translateY(0) rotate(-2deg)}
  35%{transform:translateX(8px) translateY(-5px) rotate(-13deg)}
  62%{transform:translateX(18px) translateY(-2px) rotate(-7deg)}
}

@keyframes toomSmoke{
  0%,100%{opacity:.22;transform:translateX(0) scale(.72)}
  50%{opacity:.7;transform:translateX(-18px) scale(1.2)}
}

@media(max-width:760px){
  .toom-overlay{
    width:150px;
    height:82px;
    bottom:12px;
    left:44%;
  }
}

.aina-overlay{
  position:fixed;
  left:18px;
  bottom:18px;
  width:clamp(120px,16vw,184px);
  height:clamp(142px,20vw,226px);
  pointer-events:none;
  opacity:1;
  visibility:hidden;
  transform:translate3d(-14px,12px,0) scale(.96);
  z-index:9300;
  transition:opacity .28s ease, transform .28s ease;
}

.aina-overlay.aina-active,
body.aina-mode .aina-overlay{
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0) scale(1);
}

.aina-hero{
  position:absolute;
  inset:auto 0 0 0;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 16px 22px rgba(0,0,0,.34));
}

.aina-dofus{
  position:absolute;
  left:58%;
  top:42%;
  width:clamp(34px,4.7vw,58px);
  aspect-ratio:1;
  border:0;
  padding:0;
  border-radius:999px;
  background:transparent;
  pointer-events:auto;
  cursor:pointer;
  transform:translate(-50%,-50%);
  filter:drop-shadow(0 0 12px rgba(255,255,255,.9)) drop-shadow(0 0 22px rgba(147,197,253,.72));
}

.aina-dofus img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.aina-dofus::before{
  content:"";
  position:absolute;
  inset:-18px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,255,255,.82),rgba(191,219,254,.34) 42%,transparent 70%);
  z-index:-1;
  animation:ainaGlow 2.8s ease-in-out infinite;
}

.aina-dofus::after{
  content:"";
  position:absolute;
  inset:-30px;
  background:
    radial-gradient(circle at 22% 30%,rgba(255,255,255,.78) 0 2px,transparent 3px),
    radial-gradient(circle at 70% 24%,rgba(219,234,254,.9) 0 2px,transparent 3px),
    radial-gradient(circle at 58% 78%,rgba(255,255,255,.74) 0 1px,transparent 3px);
  animation:ainaSparkles 3.6s ease-in-out infinite;
  pointer-events:none;
}

body.aina-mode .aina-dofus{
  animation:ainaFloat 3.4s ease-in-out infinite;
}

body.no-anim .aina-dofus,
body.no-anim .aina-dofus::before,
body.no-anim .aina-dofus::after{
  animation:none!important;
}

@keyframes ainaFloat{
  0%,100%{transform:translate(-50%,-50%) translateY(0) rotate(-1deg)}
  50%{transform:translate(-50%,-50%) translateY(-6px) rotate(2deg)}
}

@keyframes ainaGlow{
  0%,100%{opacity:.55;transform:scale(.92)}
  50%{opacity:1;transform:scale(1.08)}
}

@keyframes ainaSparkles{
  0%,100%{opacity:.35;transform:translateY(2px) scale(.96)}
  50%{opacity:.95;transform:translateY(-4px) scale(1.04)}
}

@media(max-width:760px){
  .aina-overlay{
    left:8px;
    bottom:10px;
    width:94px;
    height:116px;
  }
  .aina-dofus{
    width:34px;
  }
}

.raj-egg-layer{
  position:fixed;
  inset:0;
  z-index:9200;
  pointer-events:none;
  overflow:hidden;
  display:none;
  contain:layout style paint;
}

.raj-egg-layer.active{
  display:block;
}

.raj-unit,
.raj-monster,
.raj-loot,
.raj-arrow,
.raj-card{
  position:absolute;
  left:0;
  top:0;
  pointer-events:none;
  will-change:transform,opacity;
}

.raj-unit{
  width:clamp(70px,6.7vw,96px);
  height:clamp(84px,8vw,116px);
  transform:translate3d(var(--raj-x,-120px),var(--raj-y,-120px),0);
  transition:transform var(--raj-speed,1.6s) ease-in-out, opacity .24s ease;
}

.raj-unit.raj-happios{
  width:clamp(86px,8.2vw,122px);
  height:clamp(102px,9.8vw,146px);
}

.raj-unit.interactive{
  pointer-events:auto;
}

.raj-unit img,
.raj-monster img,
.raj-loot img,
.raj-arrow img,
.raj-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  pointer-events:none;
}

.raj-character{
  width:100%;
  height:100%;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.34));
  animation:rajIdle 1.8s ease-in-out infinite;
}

.raj-unit.moving .raj-character{
  animation:rajWalk .72s ease-in-out infinite;
}

.raj-unit.banned{
  opacity:0;
  transform:translate3d(var(--raj-x,-120px),var(--raj-y,-120px),0) scale(.72) rotate(-9deg);
}

.raj-unit.under-attack .raj-character{
  animation:rajImpact .3s ease-in-out 2;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.34)) brightness(1.18) saturate(1.1);
}

.raj-unit.mounted{
  width:clamp(118px,11vw,168px);
  height:clamp(92px,8.6vw,132px);
}

.raj-mount-bike{
  position:absolute;
  left:0;
  bottom:-4px;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.36));
  pointer-events:none;
}

.raj-unit.mounted .raj-character{
  position:absolute;
  left:42%;
  top:2%;
  width:34%;
  height:48%;
  z-index:2;
}

.raj-trophy{
  position:absolute;
  right:18%;
  top:6%;
  width:24%;
  aspect-ratio:1;
  z-index:3;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 0 10px rgba(255,255,255,.88)) drop-shadow(0 0 18px rgba(147,197,253,.72));
  animation:rajTrophyGlow 2.4s ease-in-out infinite;
}

.raj-nameplate{
  position:absolute;
  left:50%;
  bottom:calc(100% + 6px);
  width:clamp(220px,18vw,300px);
  height:clamp(80px,6.5vw,108px);
  transform:translateX(-50%) translateY(6px) scale(.96);
  opacity:0;
  transition:opacity .16s ease, transform .16s ease;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.52));
  image-rendering:auto;
}

.raj-unit.interactive:hover .raj-nameplate{
  opacity:1;
  transform:translateX(-50%) translateY(0) scale(1);
}

.raj-unit.raj-happios .raj-nameplate{
  width:clamp(230px,19vw,316px);
  height:clamp(84px,7vw,114px);
}

.raj-unit.raj-raj .raj-nameplate{
  width:clamp(240px,20vw,330px);
  height:clamp(88px,7.3vw,120px);
}

.raj-monster{
  width:var(--raj-monster-size,clamp(40px,4vw,58px));
  height:var(--raj-monster-size,clamp(40px,4vw,58px));
  transform:translate3d(var(--raj-x,0),var(--raj-y,0),0);
  transition:transform .24s ease, opacity .25s ease, filter .2s ease;
}

.raj-monster.boufton-blanc{
  --raj-monster-size:clamp(38px,3.6vw,52px);
}

.raj-monster.boufton-noir{
  --raj-monster-size:clamp(44px,4.1vw,60px);
}

.raj-monster.bouftou{
  --raj-monster-size:clamp(54px,5vw,74px);
}

.raj-monster.chef-bouftou{
  --raj-monster-size:clamp(68px,6.3vw,96px);
}

.raj-monster.hit{
  animation:rajHit .22s ease-in-out 2;
  filter:brightness(1.3) drop-shadow(0 0 10px rgba(248,113,113,.8));
}

.raj-monster.attacking{
  animation:rajMonsterAttack .46s ease-in-out;
  filter:brightness(1.14) drop-shadow(0 0 9px rgba(245,158,11,.55));
}

.raj-egg-victim{
  animation:rajEggVictim .5s ease-in-out 2;
  filter:brightness(1.25) saturate(1.2) drop-shadow(0 0 18px rgba(248,113,113,.8))!important;
}

.raj-monster.dead{
  opacity:0;
  transform:translate3d(var(--raj-x,0),var(--raj-y,0),0) scale(.55) rotate(12deg);
}

.raj-loot{
  width:28px;
  height:28px;
  opacity:0;
  transform:translate3d(var(--raj-x,0),var(--raj-y,0),0) scale(.7);
  transition:opacity .18s ease, transform .18s ease;
  filter:drop-shadow(0 8px 8px rgba(0,0,0,.3));
}

.raj-loot.show{
  opacity:1;
  transform:translate3d(var(--raj-x,0),var(--raj-y,0),0) scale(1);
}

.raj-loot.picked{
  opacity:0;
  transform:translate3d(var(--raj-x,0),var(--raj-y,0),0) translateY(-14px) scale(.45);
}

.raj-arrow{
  width:52px;
  height:22px;
  transform:translate3d(var(--raj-x,0),var(--raj-y,0),0) rotate(var(--raj-angle,0deg));
  transform-origin:50% 50%;
  transition:transform .52s linear, opacity .14s ease;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.28));
}

.raj-card{
  width:42px;
  height:54px;
  opacity:0;
  transform:translate3d(var(--raj-x,0),var(--raj-y,0),0) scale(.65) rotate(-8deg);
  transition:opacity .18s ease, transform .24s ease;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.32));
}

.raj-card.show{
  opacity:1;
  transform:translate3d(var(--raj-x,0),var(--raj-y,0),0) scale(1) rotate(-8deg);
}

body.no-anim .raj-character,
body.no-anim .raj-unit,
body.no-anim .raj-monster,
body.no-anim .raj-loot,
body.no-anim .raj-arrow,
body.no-anim .raj-card{
  animation:none!important;
  transition:none!important;
}

@keyframes rajIdle{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}

@keyframes rajWalk{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-5px) rotate(1.5deg)}
}

@keyframes rajHit{
  0%,100%{transform:translate3d(var(--raj-x,0),var(--raj-y,0),0)}
  35%{transform:translate3d(calc(var(--raj-x,0) - 4px),var(--raj-y,0),0)}
  70%{transform:translate3d(calc(var(--raj-x,0) + 4px),var(--raj-y,0),0)}
}

@keyframes rajMonsterAttack{
  0%,100%{transform:translate3d(var(--raj-x,0),var(--raj-y,0),0) scale(1)}
  42%{transform:translate3d(calc(var(--raj-x,0) + var(--raj-attack-x,0px)),calc(var(--raj-y,0) + var(--raj-attack-y,0px)),0) scale(1.08)}
}

@keyframes rajImpact{
  0%,100%{transform:translateX(0)}
  45%{transform:translateX(var(--raj-recoil,-8px))}
}

@keyframes rajTrophyGlow{
  0%,100%{transform:translateY(0) scale(.96);opacity:.82}
  50%{transform:translateY(-3px) scale(1.08);opacity:1}
}

@keyframes rajEggVictim{
  0%,100%{opacity:1}
  40%{opacity:.62}
  70%{opacity:1}
}

@media(max-width:760px), (pointer:coarse){
  .raj-egg-layer{display:none!important}
}

.brako-egg-layer{
  position:fixed;
  inset:0;
  z-index:9250;
  pointer-events:none;
  overflow:hidden;
  display:none;
  contain:layout style paint;
}

.brako-egg-layer.active{
  display:block;
}

.brako-unit,
.brako-weapon,
.brako-arrow,
.brako-impact,
.brako-loot{
  position:absolute;
  left:0;
  top:0;
  pointer-events:none;
  will-change:transform,opacity;
}

.brako-unit{
  transform:translate3d(var(--brako-x,-160px),var(--brako-y,-160px),0) scaleX(var(--brako-face,1));
  transition:transform var(--brako-speed,1.2s) ease-in-out, opacity .28s ease, filter .2s ease;
}

.brako-unit.interactive{
  pointer-events:auto;
}

.brako-unit img,
.brako-weapon img,
.brako-arrow img,
.brako-impact img,
.brako-loot img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  pointer-events:none;
}

.brako-hero{
  width:clamp(82px,7vw,112px);
  height:clamp(96px,8.4vw,134px);
  filter:drop-shadow(0 14px 16px rgba(0,0,0,.38));
}

.brako-hero .brako-body{
  animation:brakoIdle 1.55s ease-in-out infinite;
}

.brako-hero.moving .brako-body{
  animation:brakoKite .64s ease-in-out infinite;
}

.brako-minotot{
  width:clamp(150px,14vw,220px);
  height:clamp(138px,13vw,206px);
  filter:drop-shadow(0 20px 24px rgba(0,0,0,.48));
}

.brako-minotot .brako-body{
  animation:minototBreath 2.2s ease-in-out infinite;
}

.brako-minotot.hit{
  animation:minototHit .28s ease-in-out 2;
  filter:drop-shadow(0 20px 24px rgba(0,0,0,.48)) brightness(1.22) saturate(1.15);
}

.brako-minotot.dead{
  opacity:0;
  transform:translate3d(var(--brako-x,-160px),var(--brako-y,-160px),0) scale(.78) rotate(6deg);
  filter:blur(1px) brightness(.85);
}

.brako-raj-intruder{
  width:clamp(70px,6.7vw,96px);
  height:clamp(84px,8vw,116px);
  filter:drop-shadow(0 14px 16px rgba(0,0,0,.38));
}

.brako-raj-intruder.defeated{
  opacity:0;
  transform:translate3d(var(--brako-x,-160px),var(--brako-y,-160px),0) translateY(18px) scale(.62) rotate(-12deg);
}

.brako-raj-intruder.hit{
  animation:minototHit .22s ease-in-out 2;
  filter:drop-shadow(0 14px 16px rgba(0,0,0,.38)) brightness(1.2) saturate(1.2);
}

.brako-nametag{
  position:absolute;
  left:50%;
  bottom:calc(100% + 4px);
  width:clamp(190px,15vw,250px);
  height:clamp(70px,5.6vw,92px);
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.52));
  transform:translateX(-50%) translateY(6px) scale(.96) scaleX(var(--brako-face,1));
  opacity:0;
  transition:opacity .16s ease, transform .16s ease;
}

.brako-hero:hover .brako-nametag{
  opacity:1;
  transform:translateX(-50%) translateY(0) scale(1) scaleX(var(--brako-face,1));
}

.brako-dialogue{
  position:absolute;
  left:50%;
  bottom:calc(100% - 2px);
  width:max-content;
  min-width:220px;
  max-width:min(560px,42vw);
  min-height:54px;
  display:grid;
  place-items:center;
  padding:12px 18px;
  border:3px solid rgba(17,17,17,.92);
  border-radius:12px;
  background:#fff;
  color:#000;
  font-size:clamp(18px,1.45vw,28px);
  line-height:1.12;
  font-weight:950;
  text-align:center;
  text-wrap:balance;
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) translateY(8px) scale(.96) scaleX(var(--brako-face,1));
  transition:opacity .18s ease, transform .18s ease;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 12px 24px rgba(0,0,0,.36);
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.42));
}

.brako-dialogue::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-13px;
  width:22px;
  height:22px;
  background:#fff;
  border-right:3px solid rgba(17,17,17,.92);
  border-bottom:3px solid rgba(17,17,17,.92);
  transform:translateX(-50%) rotate(45deg);
}

.brako-dialogue span{
  display:block;
  transform:scaleX(var(--brako-face,1));
}

.brako-dialogue.show{
  opacity:1;
  transform:translateX(-50%) translateY(0) scale(1) scaleX(var(--brako-face,1));
}

.brako-weapon{
  width:56px;
  height:56px;
  opacity:0;
  transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) rotate(var(--brako-angle,0deg)) scale(.9);
  transition:opacity .12s ease, transform .2s ease;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.34));
}

.brako-weapon.show{
  opacity:1;
}

.brako-arrow{
  width:58px;
  height:24px;
  transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) rotate(var(--brako-angle,0deg));
  transform-origin:50% 50%;
  transition:transform .5s linear, opacity .14s ease;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.28));
}

.brako-impact{
  width:clamp(112px,9vw,164px);
  height:clamp(112px,9vw,164px);
  opacity:0;
  transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) scale(.62);
  transition:opacity .18s ease, transform .28s ease;
  filter:drop-shadow(0 0 18px rgba(248,113,113,.72)) drop-shadow(0 0 28px rgba(251,191,36,.48));
}

.brako-impact.show{
  opacity:1;
  transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) scale(1);
  animation:brakoExplosionPulse 1.45s ease-out forwards;
}

.brako-impact::before,
.brako-impact::after{
  content:"";
  position:absolute;
  inset:-18%;
  border-radius:999px;
  pointer-events:none;
}

.brako-impact::before{
  background:radial-gradient(circle,rgba(255,255,255,.72),rgba(251,191,36,.4) 36%,rgba(248,113,113,.18) 58%,transparent 74%);
  z-index:-1;
  animation:brakoExplosionGlow 1.45s ease-out forwards;
}

.brako-impact::after{
  inset:-34%;
  background:
    radial-gradient(circle at 18% 42%,rgba(255,255,255,.82) 0 3px,transparent 5px),
    radial-gradient(circle at 78% 28%,rgba(251,191,36,.78) 0 4px,transparent 7px),
    radial-gradient(circle at 68% 76%,rgba(248,113,113,.72) 0 3px,transparent 6px),
    radial-gradient(circle at 35% 82%,rgba(255,255,255,.7) 0 2px,transparent 5px);
  animation:brakoExplosionSparks 1.45s ease-out forwards;
}

.brako-loot{
  width:clamp(42px,4vw,66px);
  height:clamp(42px,4vw,66px);
  opacity:0;
  transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) scale(.62);
  transition:opacity .2s ease, transform .22s ease;
  filter:drop-shadow(0 0 14px rgba(167,139,250,.88)) drop-shadow(0 8px 10px rgba(0,0,0,.32));
}

.brako-loot.show{
  opacity:1;
  transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) scale(1);
}

.brako-loot.picked{
  opacity:0;
  transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) translateY(-18px) scale(.45);
}

body.no-anim .brako-unit,
body.no-anim .brako-body,
body.no-anim .brako-weapon,
body.no-anim .brako-arrow,
body.no-anim .brako-impact,
body.no-anim .brako-loot{
  animation:none!important;
  transition:none!important;
}

@keyframes brakoIdle{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

@keyframes brakoKite{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-6px) rotate(2deg)}
}

@keyframes minototBreath{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-3px) scale(1.025)}
}

@keyframes minototHit{
  0%,100%{transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) scaleX(var(--brako-face,1))}
  35%{transform:translate3d(calc(var(--brako-x,0) - 8px),var(--brako-y,0),0) scaleX(var(--brako-face,1))}
  70%{transform:translate3d(calc(var(--brako-x,0) + 8px),var(--brako-y,0),0) scaleX(var(--brako-face,1))}
}

@keyframes brakoExplosionPulse{
  0%{opacity:0;transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) scale(.55) rotate(-8deg)}
  14%{opacity:1;transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) scale(1.18) rotate(3deg)}
  52%{opacity:.96;transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) scale(1.02) rotate(-2deg)}
  100%{opacity:0;transform:translate3d(var(--brako-x,0),var(--brako-y,0),0) scale(1.34) rotate(8deg)}
}

@keyframes brakoExplosionGlow{
  0%{opacity:0;transform:scale(.58)}
  18%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(1.72)}
}

@keyframes brakoExplosionSparks{
  0%{opacity:0;transform:scale(.62) rotate(0deg)}
  16%{opacity:1}
  100%{opacity:0;transform:scale(1.7) rotate(18deg)}
}

@media(max-width:760px), (pointer:coarse){
  .brako-egg-layer{display:none!important}
}

.achievement-toast{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:min(360px,calc(100vw - 28px));
  border:1px solid rgba(250,204,21,.55)!important;
  background:linear-gradient(135deg,#3b2408,#8b5a15 55%,#d4a43b)!important;
  color:#fff8dc!important;
}
.achievement-toast img,.achievement-icon{
  width:44px;
  height:44px;
  object-fit:cover;
  border-radius:8px;
  background:linear-gradient(135deg,#4b5563,#111827);
  border:1px solid rgba(255,255,255,.3);
}
.achievement-toast strong{display:block;font-size:13px}
.achievement-toast span{display:block;font-size:12px;opacity:.88}
.achievements-modal{
  width:min(980px,calc(100vw - 24px))!important;
  background:#fff8e8!important;
  color:#2b1b10!important;
}
body.night .achievements-modal{
  background:#111827!important;
  color:#f8fafc!important;
}
.achievements-modal .modal-body{
  background:linear-gradient(180deg,rgba(255,252,242,.96),rgba(250,241,221,.96))!important;
}
body.night .achievements-modal .modal-body{
  background:linear-gradient(180deg,rgba(17,24,39,.98),rgba(15,23,42,.98))!important;
}
.achievements-shell{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:16px;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.achievements-shell > .options-note{
  grid-column:1 / -1;
}
.achievement-summary{
  grid-column:1 / -1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:14px 16px;
  border:1px solid rgba(139,111,71,.26);
  border-radius:12px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 22px rgba(68,42,16,.08);
  font-weight:800;
  font-size:16px;
}
body.night .achievement-summary{
  background:rgba(30,41,59,.82);
  border-color:rgba(148,163,184,.22);
}
.achievement-summary .toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.achievement-summary .toolbar .btn{
  min-height:38px;
  padding-inline:14px;
}
.achievement-secret-gate{
  border-color:rgba(126,34,206,.28)!important;
  background:linear-gradient(180deg,#6d5b7f,#475569)!important;
  color:#fff!important;
}
.achievement-secret-gate:not(:disabled):hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(88,28,135,.18)!important;
}
body.secret-gate-pulse .achievements-modal{
  box-shadow:0 0 0 2px rgba(250,204,21,.18),0 0 24px rgba(126,34,206,.22)!important;
}
.hidden-secret-egg{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:78;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  opacity:.34;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.28));
  transition:opacity .18s ease,transform .18s ease,filter .18s ease;
}
.hidden-secret-egg:hover{
  opacity:1;
  transform:translateY(-2px) scale(1.08);
  filter:drop-shadow(0 7px 14px rgba(126,34,206,.32));
}
.hidden-secret-egg img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.hidden-secret-egg.hidden{display:none}
.achievement-cats{
  grid-column:1;
  display:grid;
  gap:8px;
  align-content:start;
}
.achievement-cat{
  min-height:46px;
  padding:0 13px;
  border-radius:12px;
  border:1px solid rgba(139,111,71,.24);
  background:rgba(255,255,255,.64);
  color:var(--text);
  box-shadow:none;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-size:12px;
  font-weight:800;
  text-transform:none;
  letter-spacing:0;
}
.achievement-cat small{
  flex:0 0 auto;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
.achievement-cat.active{
  background:linear-gradient(180deg,#f4c648,#d99b1f);
  color:#2b1609;
  border-color:rgba(122,74,18,.32);
}
.achievement-cat.active small{color:#4a2b0c}
body.night .achievement-cat{
  background:rgba(30,41,59,.72);
  border-color:rgba(148,163,184,.18);
  color:#e5e7eb;
}
.achievement-list{
  grid-column:2;
  display:grid;
  gap:10px;
  max-height:58vh;
  overflow:auto;
  padding-right:6px;
}
.achievement-card{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(139,111,71,.22);
  border-radius:12px;
  background:rgba(255,255,255,.72);
  box-shadow:0 6px 18px rgba(68,42,16,.06);
}
body.night .achievement-card{
  background:rgba(30,41,59,.72);
  border-color:rgba(148,163,184,.18);
}
.achievement-card.locked{opacity:.68;filter:saturate(.7)}
.achievement-card h3{margin:0 0 5px;font-size:17px;font-weight:850;letter-spacing:0;color:inherit}
.achievement-card p{margin:0 0 6px;color:var(--muted);font-size:13px;font-weight:650;line-height:1.35}
.achievement-date{font-size:12px;color:var(--muted);font-weight:850;text-align:left}
.achievement-art img,.achievement-art .achievement-placeholder{
  width:62px;
  height:62px;
  border-radius:12px;
  object-fit:cover;
  background:linear-gradient(135deg,rgba(250,204,21,.22),rgba(37,99,235,.15));
}
.achievement-placeholder{
  display:grid;
  place-items:center;
  color:#facc15;
  font-size:24px;
}
@media(max-width:760px){
  .achievements-shell{grid-template-columns:1fr}
  .achievements-shell > .options-note,
  .achievement-cats,
  .achievement-list{grid-column:1}
  .achievement-cats{display:flex;overflow-x:auto}
  .achievement-cat{flex:0 0 auto}
  .achievement-summary{align-items:flex-start;flex-direction:column}
  .achievement-card{grid-template-columns:56px minmax(0,1fr)}
}

/* ===== Button interaction reset: remove browser gray flashes globally ===== */
button,
.btn,
.farm-choice,
[role="button"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  -webkit-tap-highlight-color:rgba(0,0,0,0)!important;
  outline:0!important;
  background-clip:padding-box!important;
}

button::-moz-focus-inner{
  border:0!important;
  padding:0!important;
}

.btn,
.farm-choice,
.options-tab{
  filter:none!important;
  transition:transform .12s ease, background-color .12s ease, border-color .12s ease, box-shadow .12s ease, color .12s ease!important;
}

.btn:hover,
.farm-choice:hover,
.options-tab:hover{
  filter:none!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14)!important;
}

.btn:active,
.farm-choice:active,
.options-tab:active,
#plus:active,
#minus:active,
.farm-choice.active:active{
  transform:translateY(1px)!important;
  filter:none!important;
  outline:0!important;
  box-shadow:0 0 0 2px rgba(37,99,235,.12)!important;
  background-image:none!important;
}

.btn:focus,
.farm-choice:focus,
.options-tab:focus{
  outline:0!important;
}

.btn:focus:not(:focus-visible),
.farm-choice:focus:not(:focus-visible),
.options-tab:focus:not(:focus-visible){
  box-shadow:none!important;
}

.btn:focus-visible,
.farm-choice:focus-visible,
.options-tab:focus-visible,
select:focus-visible,
input:focus-visible{
  outline:0!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.28),0 0 0 1px rgba(255,255,255,.55) inset!important;
}

.activity-filters .active,
.monster-tabs .active{
  outline:0!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.18)!important;
  filter:none!important;
}

#plus,
#minus{
  filter:none!important;
  background-image:none!important;
}

/* ===== Immersion fantasy vivante ===== */
body{
  --farm-aura:rgba(88,28,135,.22);
  --farm-aura-2:rgba(22,128,58,.14);
  --awaken-glow:rgba(250,204,21,.16);
  --awaken-particles:.18;
}
body[data-farm-active="tynril"]{
  --farm-aura:rgba(22,101,52,.24);
  --farm-aura-2:rgba(132,204,22,.16);
}
body[data-farm-active="morose"]{
  --active-dungeon-bg:url("./assets/images/dj actif/morose.webp");
  --active-dungeon-bg-size:min(250px,36vw) auto;
  --active-dungeon-bg-position:72% 54%;
  --active-dungeon-bg-opacity:.13;
}
body[data-farm-active="tynril"]{
  --active-dungeon-bg:url("./assets/images/dj actif/tynril.webp");
  --active-dungeon-bg-size:min(210px,30vw) auto;
  --active-dungeon-bg-position:72% 56%;
  --active-dungeon-bg-opacity:.16;
}
body[data-awaken="seed"]{--awaken-glow:rgba(250,204,21,.10);--awaken-particles:.10}
body[data-awaken="spark"]{--awaken-glow:rgba(250,204,21,.18);--awaken-particles:.18}
body[data-awaken="pulse"]{--awaken-glow:rgba(56,189,248,.14);--awaken-particles:.12}
body[data-awaken="surge"]{--awaken-glow:rgba(216,155,23,.20);--awaken-particles:.20}
body[data-awaken="complete"]{--awaken-glow:rgba(250,204,21,.30);--awaken-particles:.30}

body::before,
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
}
body::before{
  background:
    radial-gradient(circle at 18% 18%,var(--farm-aura),transparent 34%),
    radial-gradient(circle at 82% 22%,var(--awaken-glow),transparent 32%),
    radial-gradient(circle at 52% 86%,var(--farm-aura-2),transparent 36%);
  mix-blend-mode:screen;
  opacity:.82;
}
body::after{
  background:
    radial-gradient(circle,rgba(255,245,196,.22) 0 1px,transparent 1.8px) 0 0/132px 132px,
    linear-gradient(115deg,transparent 0 44%,rgba(255,255,255,.045) 46%,transparent 49%) 0 0/520px 320px;
  opacity:var(--awaken-particles);
  animation:ambientDrift 72s linear infinite;
}
@keyframes ambientDrift{
  from{background-position:0 0,0 0}
  to{background-position:132px 264px,520px 320px}
}

.app{
  position:relative;
  z-index:1;
  overflow:hidden;
}
.app::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(80,52,22,.10) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(rgba(80,52,22,.07) 1px,transparent 1px) 0 0/48px 48px,
    radial-gradient(circle at 50% 0,var(--awaken-glow),transparent 34%);
  opacity:.36;
}
.app > *{position:relative;z-index:1}

.side > .card:first-child{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 14px 34px rgba(83,54,17,.18),
    0 0 38px var(--awaken-glow)!important;
}
.pykur-orb{
  width:212px!important;
  filter:
    drop-shadow(0 8px 14px rgba(56,28,10,.25))
    drop-shadow(0 0 22px var(--awaken-glow))!important;
}
.pykur-orb::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(255,255,255,.18),transparent 46%),
    conic-gradient(from 45deg,transparent,rgba(250,204,21,.22),transparent,rgba(56,189,248,.16),transparent);
  opacity:.65;
  animation:pykurBreath 4.8s ease-in-out infinite;
}
.pykur-img{
  animation:pykurIdle 5.8s ease-in-out infinite;
}
body[data-awaken="complete"] .pykur-img{
  filter:drop-shadow(0 0 18px rgba(250,204,21,.62));
}
@keyframes pykurIdle{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-5px) scale(1.025)}
}
@keyframes pykurBreath{
  0%,100%{transform:scale(.96) rotate(0deg);opacity:.42}
  50%{transform:scale(1.05) rotate(10deg);opacity:.78}
}

.hero{
  isolation:isolate;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:var(--active-dungeon-bg);
  background-repeat:no-repeat;
  background-size:var(--active-dungeon-bg-size);
  background-position:var(--active-dungeon-bg-position);
  opacity:var(--active-dungeon-bg-opacity,.12);
  filter:drop-shadow(0 12px 18px rgba(58,36,12,.20)) saturate(.96);
}
.hero::before{
  z-index:1;
}
.hero>*{
  z-index:2;
}
@media(max-width:860px){
  .hero::after{
    background-position:86% 48%;
    opacity:.09;
  }
}

.dungeon-morose{
  border-color:rgba(124,58,237,.30)!important;
  background:
    radial-gradient(circle at 15% 0,rgba(124,58,237,.12),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.08))!important;
}
.dungeon-tynril{
  border-color:rgba(22,128,58,.30)!important;
  background:
    radial-gradient(circle at 85% 0,rgba(22,128,58,.14),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.08))!important;
}
.quick-projection,.projection-card{
  border-color:rgba(56,189,248,.30)!important;
}
.pp-summary-card{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:84px;
  padding:16px 18px!important;
  overflow:hidden;
  border-color:rgba(216,155,23,.34)!important;
  background:
    radial-gradient(circle at 92% 18%,rgba(250,204,21,.22),transparent 28%),
    linear-gradient(135deg,rgba(255,252,242,.98),rgba(255,244,214,.84))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 10px 22px rgba(77,45,10,.08)!important;
}
.pp-summary-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0 34%,rgba(255,255,255,.32) 45%,transparent 58%);
  opacity:.42;
}
.pp-summary-copy,
.pp-summary-icon{
  position:relative;
  z-index:1;
}
.pp-summary-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.pp-summary-label{
  color:#3b2413;
  font-size:16px;
  font-weight:950;
  line-height:1;
}
.pp-summary-main{
  display:flex;
  align-items:baseline;
  gap:7px;
  flex-wrap:wrap;
}
.pp-summary-card #prospection,
.pp-summary-value{
  font-size:34px!important;
  line-height:1;
  font-weight:950;
  color:#2563eb!important;
  text-shadow:0 2px 0 rgba(255,255,255,.72),0 0 16px rgba(37,99,235,.18)!important;
}
.pp-summary-goal{
  color:#7a5a25;
  font-size:13px;
  font-weight:900;
}
.pp-summary-icon{
  width:38px;
  height:38px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 25%,rgba(255,255,255,.95),rgba(255,245,170,.72) 45%,rgba(96,165,250,.26));
  border:1px solid rgba(216,155,23,.42);
  box-shadow:0 6px 14px rgba(37,99,235,.14),0 0 18px rgba(250,204,21,.22);
}
.pp-summary-icon img{
  width:25px;
  height:25px;
  object-fit:contain;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.16));
}
.quick-projection{
  position:relative;
  overflow:visible;
  min-height:0!important;
  padding:14px 18px!important;
  align-items:start!important;
  border-color:rgba(56,189,248,.34)!important;
  background:
    radial-gradient(circle at 6% 0,rgba(56,189,248,.18),transparent 30%),
    linear-gradient(135deg,rgba(240,249,255,.94),rgba(255,249,235,.90))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.70),
    0 10px 22px rgba(37,99,235,.06)!important;
}
.quick-projection::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(#60a5fa,#facc15);
  opacity:.78;
}
.quick-projection-copy{
  position:relative;
  z-index:1;
  min-width:0;
  align-self:start;
}
.quick-projection-label{
  color:#5b3a17!important;
  letter-spacing:.02em!important;
}
.quick-projection-value{
  color:#2f1d10;
  font-size:19px!important;
  display:block;
  min-height:0;
}
.quick-projection-hint{
  margin-top:4px;
  color:#7a6a55;
  font-size:12px;
  font-weight:800;
}
.quick-projection #projectionButton{
  position:relative!important;
  z-index:1;
  align-self:center;
  min-width:112px;
  border-color:rgba(37,99,235,.38)!important;
  background:rgba(255,255,255,.42)!important;
}
.quick-projection #projectionButton:hover{
  background:rgba(37,99,235,.08)!important;
}
.quick-projection.quick-projection-multi,
body[data-familiar="abra-kadabra"] .quick-projection{
  grid-template-columns:minmax(0,1fr) minmax(108px,130px)!important;
  padding:14px 16px!important;
  min-height:auto!important;
  overflow:hidden!important;
}
.quick-projection.quick-projection-multi .quick-projection-lines,
body[data-familiar="abra-kadabra"] .quick-projection-lines{
  gap:7px;
}
.quick-projection.quick-projection-multi .quick-projection-value,
body[data-familiar="abra-kadabra"] .quick-projection-value{
  font-size:18px!important;
  line-height:1.18!important;
}
.quick-projection.quick-projection-multi .quick-projection-run,
body[data-familiar="abra-kadabra"] .quick-projection-run{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  max-width:none!important;
  min-height:24px;
}
.quick-projection.quick-projection-multi .quick-projection-gain,
body[data-familiar="abra-kadabra"] .quick-projection-gain{
  justify-self:end;
  font-size:11px;
  padding:3px 7px;
}
.stats-fantasy-card{
  border-color:rgba(37,99,235,.28)!important;
}
.achievements-modal .achievement-card.unlocked{
  box-shadow:0 0 0 1px rgba(216,155,23,.22),0 10px 24px rgba(124,78,12,.12)!important;
}

.chrono-card.is-running{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(56,189,248,.22),
    0 0 28px rgba(37,99,235,.22)!important;
}
.chrono-card.is-running .chrono-time{
  text-shadow:0 0 14px rgba(96,165,250,.45);
}
.chrono-card.is-running::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0 38%,rgba(96,165,250,.08) 46%,transparent 55%);
  animation:chronoSweep 3.2s ease-in-out infinite;
}
@keyframes chronoSweep{
  from{transform:translateX(-65%)}
  to{transform:translateX(65%)}
}

.achievement-toast,
.toast.achievement{
  border:1px solid rgba(255,228,138,.42)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.26),0 0 28px rgba(250,204,21,.24)!important;
  animation:achievementReveal .42s cubic-bezier(.2,.9,.2,1),achievementGlow 1.8s ease-in-out infinite alternate!important;
}
@keyframes achievementReveal{
  from{opacity:0;transform:translateY(14px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes achievementGlow{
  from{filter:saturate(1)}
  to{filter:saturate(1.18) brightness(1.04)}
}
.final-fireworks-layer{
  position:fixed;
  inset:0;
  z-index:1000000;
  pointer-events:none;
  overflow:hidden;
  background:radial-gradient(circle at 50% 34%,rgba(20,12,5,.18),rgba(0,0,0,.08) 52%,transparent 78%);
  animation:finalFireworkVeil 8.2s ease-in-out forwards!important;
}
.final-firework-burst{
  position:absolute;
  width:15px;
  height:15px;
  left:var(--x);
  top:var(--y);
  border-radius:50%;
  background:#fff7ad;
  box-shadow:0 0 24px #fff3a3,0 0 54px var(--c,#facc15),0 0 92px rgba(250,204,21,.42);
  opacity:0;
  animation:finalFireworkCore 1.55s ease-out var(--delay,0s) forwards!important;
}
.final-firework-particle{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--c,#facc15);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 0 18px var(--c,#facc15),0 0 42px var(--c,#facc15),0 0 72px rgba(255,255,255,.28);
  opacity:0;
  transform:translate(-50%,-50%) translate(0,0) scale(.8);
  animation:finalFireworkParticle 1.8s cubic-bezier(.12,.72,.28,1) var(--delay,0s) forwards!important;
}
@keyframes finalFireworkVeil{
  0%,100%{opacity:0}
  8%,88%{opacity:1}
}
@keyframes finalFireworkCore{
  0%{opacity:0;transform:scale(.4)}
  12%{opacity:.92}
  52%{opacity:1}
  100%{opacity:0;transform:scale(2.1)}
}
@keyframes finalFireworkParticle{
  0%{opacity:0;transform:translate(-50%,-50%) translate(0,0) scale(.75)}
  10%{opacity:1}
  72%{opacity:.96}
  100%{opacity:0;transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) scale(.28)}
}
body.no-anim .final-firework-burst,
body.no-anim .final-firework-particle{
  animation-play-state:running!important;
}
body.no-anim .final-firework-burst{
  animation:finalFireworkCore 1.55s ease-out var(--delay,0s) forwards!important;
}
body.no-anim .final-firework-particle{
  animation:finalFireworkParticle 1.8s cubic-bezier(.12,.72,.28,1) var(--delay,0s) forwards!important;
}

body.no-anim::after,
body.no-anim .pykur-orb::before,
body.no-anim .pykur-img,
body.no-anim .chrono-card.is-running::after,
body.no-anim .achievement-toast,
body.no-anim .toast.achievement{
  animation:none!important;
}

/* ===== Autel du Pykur : coeur visuel desktop ===== */
.side > .card:first-child{
  padding:18px 14px 16px!important;
  border-color:rgba(216,155,23,.42)!important;
  background:
    radial-gradient(circle at 50% 22%,rgba(255,246,196,.34),transparent 34%),
    radial-gradient(circle at 50% 52%,var(--awaken-glow),transparent 48%),
    linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.11))!important;
}
.side > .card:first-child::after{
  content:"✦   ✧   ✦";
  position:absolute;
  left:18px;
  right:18px;
  top:18px;
  z-index:1;
  display:flex;
  justify-content:space-between;
  color:rgba(139,92,24,.36);
  font-size:18px;
  letter-spacing:.18em;
  pointer-events:none;
  text-shadow:0 0 12px rgba(250,204,21,.30);
}
.pykur-orb{
  width:226px!important;
  margin-bottom:10px!important;
  background:
    radial-gradient(circle at 50% 44%,rgba(255,255,255,.34),rgba(250,204,21,.14) 38%,transparent 64%),
    repeating-conic-gradient(from 0deg,rgba(216,155,23,.28) 0 7deg,transparent 7deg 18deg),
    radial-gradient(circle,rgba(74,45,12,.18),transparent 68%)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,235,169,.36),
    inset 0 0 42px rgba(250,204,21,.12),
    0 18px 28px rgba(74,45,12,.12),
    0 0 34px var(--awaken-glow)!important;
}
.pykur-orb::before{
  inset:-16px!important;
  background:
    radial-gradient(circle,rgba(255,255,255,.16),transparent 48%),
    conic-gradient(from 20deg,transparent,rgba(250,204,21,.22),transparent 28%,rgba(56,189,248,.14),transparent 64%,rgba(250,204,21,.18),transparent)!important;
  animation:pykurAltarTurn 16s linear infinite!important;
}
.pykur-orb::after{
  inset:22px!important;
  border:1px solid rgba(250,204,21,.34)!important;
  box-shadow:
    0 0 18px rgba(250,204,21,.22),
    inset 0 0 22px rgba(56,189,248,.10)!important;
}
.pykur-img{
  width:188px!important;
  transform-origin:50% 62%;
  filter:
    drop-shadow(0 10px 10px rgba(54,33,9,.20))
    drop-shadow(0 0 10px rgba(250,204,21,.20));
}
.progress-percent{
  display:block;
  line-height:1.05!important;
  margin:10px 0 10px!important;
  padding-bottom:2px;
}
body:not([data-familiar="dragoune-noir"]) .side > .card:first-child{
  padding-bottom:30px!important;
}
body[data-familiar="dragoune-noir"] .side > .card:first-child{
  padding-bottom:32px!important;
}
body[data-familiar="dragoune-noir"] .pykur-orb{
  width:238px!important;
}
body[data-familiar="dragoune-noir"] .pykur-img{
  width:228px!important;
  max-height:218px!important;
  transform:scale(1.16);
  transform-origin:50% 58%;
}
body[data-familiar="dragoune-noir"] .progress-percent{
  margin-top:12px!important;
  margin-bottom:8px!important;
}
body[data-awaken="spark"] .pykur-orb{box-shadow:inset 0 0 0 1px rgba(255,235,169,.42),inset 0 0 44px rgba(250,204,21,.16),0 18px 28px rgba(74,45,12,.13),0 0 40px rgba(250,204,21,.22)!important}
body[data-awaken="pulse"] .pykur-orb{box-shadow:inset 0 0 0 1px rgba(255,235,169,.48),inset 0 0 50px rgba(56,189,248,.16),0 18px 30px rgba(74,45,12,.15),0 0 48px rgba(56,189,248,.25)!important}
body[data-awaken="surge"] .pykur-orb{box-shadow:inset 0 0 0 1px rgba(255,235,169,.58),inset 0 0 58px rgba(250,204,21,.24),0 18px 32px rgba(74,45,12,.18),0 0 58px rgba(250,204,21,.34)!important}
body[data-awaken="complete"] .pykur-orb{
  background:
    radial-gradient(circle at 50% 44%,rgba(255,255,255,.44),rgba(250,204,21,.22) 38%,rgba(56,189,248,.08) 60%,transparent 70%),
    repeating-conic-gradient(from 0deg,rgba(250,204,21,.42) 0 8deg,transparent 8deg 18deg)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,246,196,.72),
    inset 0 0 72px rgba(250,204,21,.28),
    0 20px 34px rgba(74,45,12,.20),
    0 0 78px rgba(250,204,21,.48)!important;
}
body[data-awaken="complete"] .pykur-img{
  filter:
    drop-shadow(0 12px 12px rgba(54,33,9,.22))
    drop-shadow(0 0 22px rgba(250,204,21,.58))
    drop-shadow(0 0 34px rgba(56,189,248,.22))!important;
}

.pykur-orb.pykur-energize{
  animation:pykurAbsorb .82s ease-out;
}
.pykur-orb.pykur-milestone{
  animation:pykurMilestone .98s cubic-bezier(.2,.9,.2,1);
}
.pykur-orb.pykur-finish{
  animation:pykurFinishPulse 1.15s cubic-bezier(.2,.9,.2,1);
}
.pykur-orb.pykur-drain{
  animation:pykurDrainPulse .78s ease-out;
}
.pykur-img.pykur-happy{
  animation:pykurHappyBounce .28s cubic-bezier(.2,.9,.2,1);
}
.pykur-img.pykur-grumpy{
  animation:pykurGrumpyTilt .26s ease-out;
}
.pykur-img.pykur-life-blink{
  animation:pykurLifeBlink .42s ease-in-out;
}
.pykur-img.pykur-life-left{
  animation:pykurLifeLookLeft .78s ease-in-out;
}
.pykur-img.pykur-life-right{
  animation:pykurLifeLookRight .78s ease-in-out;
}
.pykur-img.pykur-life-tilt{
  animation:pykurLifeTilt .72s ease-in-out;
}
.pykur-img.pykur-life-breathe{
  animation:pykurLifeBreathe 1.1s ease-in-out;
}
.pp-float{
  position:fixed;
  z-index:82;
  pointer-events:none;
  font-weight:950;
  font-size:26px;
  line-height:1;
  color:#ffd84a;
  padding:7px 13px 8px;
  border-radius:999px;
  border:2px solid rgba(87,48,8,.74);
  background:linear-gradient(180deg,rgba(74,43,10,.96),rgba(35,22,8,.92));
  text-shadow:
    0 2px 0 rgba(80,38,5,.85),
    0 0 12px rgba(250,204,21,.78),
    0 0 22px rgba(255,255,255,.28);
  box-shadow:
    0 8px 18px rgba(42,25,6,.28),
    0 0 22px rgba(250,204,21,.42),
    inset 0 1px 0 rgba(255,246,196,.32);
  animation:ppFloatRise 2.15s ease-out forwards;
}
.run-energy-particle{
  position:fixed;
  left:var(--x,0px);
  top:var(--y,0px);
  width:var(--size,11px);
  height:var(--size,11px);
  border-radius:50%;
  z-index:72;
  pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.98) 0 22%,rgba(125,230,255,.96) 45%,rgba(14,165,233,.74) 72%,transparent 100%);
  box-shadow:0 0 10px rgba(56,189,248,.90),0 0 22px rgba(125,230,255,.54),0 0 34px rgba(255,255,255,.34);
  will-change:transform,opacity;
  animation:runEnergyTransfer var(--dur,.95s) cubic-bezier(.2,.7,.12,1) forwards;
}
.run-energy-particle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:calc(var(--size,11px) * 2.6);
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.65),rgba(125,230,255,.32),transparent);
  transform:translate(-50%,-50%) rotate(var(--trail-angle,0deg));
  filter:blur(.2px);
  opacity:.75;
}
.run-energy-particle.drain{
  background:radial-gradient(circle,rgba(255,255,255,.95) 0 20%,rgba(196,181,253,.96) 44%,rgba(139,92,246,.76) 70%,rgba(248,113,113,.44) 100%);
  box-shadow:0 0 10px rgba(139,92,246,.82),0 0 24px rgba(96,165,250,.38),0 0 30px rgba(248,113,113,.24);
}
.run-energy-particle.drain::after{
  background:linear-gradient(90deg,rgba(255,255,255,.58),rgba(167,139,250,.34),transparent);
}
.pykur-sparkle{
  position:fixed;
  width:5px;
  height:5px;
  border-radius:50%;
  z-index:44;
  pointer-events:none;
  background:rgba(250,204,21,.86);
  box-shadow:0 0 10px rgba(250,204,21,.54);
  animation:pykurSparkle .72s ease-out forwards;
}
.side > .card:first-child.pykur-milestone{
  animation:pykurSanctuaryPulse 1.05s ease-out;
}
@keyframes pykurAltarTurn{
  to{transform:rotate(360deg)}
}
@keyframes pykurAbsorb{
  0%{filter:drop-shadow(0 0 12px rgba(250,204,21,.18));transform:scale(1)}
  38%{filter:drop-shadow(0 0 34px rgba(250,204,21,.58));transform:scale(1.035)}
  100%{filter:drop-shadow(0 0 20px var(--awaken-glow));transform:scale(1)}
}
@keyframes pykurMilestone{
  0%{transform:scale(1)}
  35%{transform:scale(1.075);box-shadow:inset 0 0 0 1px rgba(255,246,196,.82),inset 0 0 82px rgba(250,204,21,.36),0 0 92px rgba(250,204,21,.56)}
  100%{transform:scale(1)}
}
@keyframes pykurSanctuaryPulse{
  0%{box-shadow:0 14px 34px rgba(83,54,17,.18),0 0 38px var(--awaken-glow)}
  35%{box-shadow:0 18px 42px rgba(83,54,17,.22),0 0 78px rgba(250,204,21,.48),0 0 0 9999px rgba(250,204,21,.035)}
  100%{box-shadow:0 14px 34px rgba(83,54,17,.18),0 0 38px var(--awaken-glow)}
}
@keyframes pykurFinishPulse{
  0%{transform:scale(1);filter:drop-shadow(0 0 18px rgba(250,204,21,.22))}
  38%{transform:scale(1.09);filter:drop-shadow(0 0 46px rgba(250,204,21,.70))}
  70%{transform:scale(1.025);filter:drop-shadow(0 0 34px rgba(250,204,21,.46))}
  100%{transform:scale(1);filter:drop-shadow(0 0 20px var(--awaken-glow))}
}
@keyframes pykurDrainPulse{
  0%{filter:drop-shadow(0 0 18px rgba(99,102,241,.20));transform:scale(1)}
  42%{filter:drop-shadow(0 0 20px rgba(139,92,246,.34));transform:scale(.982)}
  100%{filter:drop-shadow(0 0 20px var(--awaken-glow));transform:scale(1)}
}
@keyframes pykurHappyBounce{
  0%,100%{transform:translateY(0) scale(1)}
  45%{transform:translateY(-7px) scale(1.035)}
}
@keyframes pykurGrumpyTilt{
  0%,100%{transform:translateY(0) rotate(0) scale(1)}
  35%{transform:translateY(2px) rotate(-5deg) scale(.985)}
  70%{transform:translateY(0) rotate(3deg) scale(1)}
}
@keyframes pykurLifeBlink{
  0%,100%{transform:scaleY(1)}
  45%,55%{transform:scaleY(.92)}
}
@keyframes pykurLifeLookLeft{
  0%,100%{transform:translateX(0) rotate(0)}
  45%{transform:translateX(-4px) rotate(-1.5deg)}
}
@keyframes pykurLifeLookRight{
  0%,100%{transform:translateX(0) rotate(0)}
  45%{transform:translateX(4px) rotate(1.5deg)}
}
@keyframes pykurLifeTilt{
  0%,100%{transform:rotate(0)}
  45%{transform:rotate(3deg)}
}
@keyframes pykurLifeBreathe{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.028)}
}
@keyframes ppFloatRise{
  0%{opacity:0;transform:translate(-50%,12px) scale(.86)}
  10%{opacity:1;transform:translate(-50%,0) scale(1)}
  78%{opacity:1;transform:translate(-50%,-30px) scale(1.04)}
  100%{opacity:0;transform:translate(-50%,-58px) scale(1.08)}
}
@keyframes runEnergyTransfer{
  0%{opacity:0;transform:translate(0,0) scale(.58)}
  10%{opacity:1;transform:translate(calc(var(--tx,0px) * .08),calc(var(--ty,0px) * .08)) scale(1)}
  70%{opacity:1;transform:translate(calc(var(--tx,0px) * .78),calc(var(--ty,0px) * .78)) scale(.9)}
  100%{opacity:0;transform:translate(var(--tx,0px),var(--ty,0px)) scale(.18)}
}
@keyframes pykurSparkle{
  0%{opacity:0;transform:translate(0,0) scale(.7)}
  20%{opacity:1}
  100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-24px)) scale(.35)}
}
.card,
.dungeon-card,
.stats-fantasy-card,
.profile-row,
.pp-row,
.session-card,
.chrono-card{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,filter .2s ease;
}
@media (hover:hover) and (pointer:fine){
  .card:hover,
  .stats-fantasy-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(53,33,12,.13),inset 0 1px 0 rgba(255,255,255,.20)!important;
  }
  .side > .card:first-child:hover{
    transform:none;
  }
  .pykur-orb:hover{
    transform:translateY(-2px);
    filter:brightness(1.035) drop-shadow(0 8px 14px rgba(56,28,10,.22)) drop-shadow(0 0 24px var(--awaken-glow))!important;
  }
  .btn:hover,
  .farm-choice:hover{
    transform:translateY(-1px);
    filter:brightness(1.04) saturate(1.03);
  }
}
.btn,
.farm-choice{
  transition:transform .14s ease,filter .14s ease,box-shadow .14s ease;
}
.btn:active,
.farm-choice:active{
  transform:translateY(1px) scale(.985)!important;
}
.dungeon-card.active-farm{
  animation:activeDungeonPulse 4.8s ease-in-out infinite;
}
@keyframes activeDungeonPulse{
  0%,100%{box-shadow:0 12px 26px rgba(53,33,12,.12),0 0 0 rgba(250,204,21,0)}
  50%{box-shadow:0 14px 30px rgba(53,33,12,.16),0 0 20px rgba(250,204,21,.16)}
}
body.no-anim .pykur-orb::before,
body.no-anim .pykur-orb.pykur-energize,
body.no-anim .pykur-orb.pykur-milestone,
body.no-anim .pykur-orb.pykur-finish,
body.no-anim .pykur-orb.pykur-drain,
body.no-anim .pykur-img.pykur-happy,
body.no-anim .pykur-img.pykur-grumpy,
body.no-anim .pykur-img[class*="pykur-life-"],
body.no-anim .side > .card:first-child.pykur-milestone,
body.no-anim .dungeon-card.active-farm,
body.no-anim .pp-float,
body.no-anim .run-energy-particle,
body.no-anim .pykur-sparkle{
  animation:none!important;
}

/* ===== Evenements vivants PC : couche cosmetique isolee ===== */
#livingEventsLayer{
  position:fixed;
  inset:0;
  z-index:38;
  pointer-events:none;
  overflow:hidden;
  contain:layout paint;
}
#livingEventsLayer.live-rain-mode,
#livingEventsLayer.live-wind-mode,
#livingEventsLayer.live-fog-mode,
#livingEventsLayer.live-night-mode,
#livingEventsLayer.live-sunray-mode{z-index:2}
#livingEventsLayer.live-dim::before,
#livingEventsLayer.live-fog::before,
#livingEventsLayer.live-night::before,
#livingEventsLayer.live-heat::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  animation:liveOverlayFade var(--live-duration,12s) ease-in-out forwards;
}

/* ===== Ambiance passive : décor discret, non collectionnable ===== */
#passiveAmbienceLayer{
  position:fixed;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
  contain:layout paint;
}
.passive-leaf,
.passive-feather,
.passive-seed,
.passive-drop,
.passive-breeze-particle,
.passive-dust,
.passive-leaf-shadow,
.passive-glint,
.passive-pykur-bubble{
  position:fixed;
  pointer-events:none;
  will-change:transform,opacity;
}
.passive-leaf{
  width:28px;
  height:15px;
  border-radius:80% 20% 70% 30%;
  background:linear-gradient(135deg,rgba(113,98,36,.72),rgba(197,150,54,.50));
  box-shadow:0 0 8px rgba(197,150,54,.16);
  animation:passiveLeafDrift var(--dur,13s) ease-in-out forwards;
}
.passive-leaf::after{
  content:"";
  position:absolute;
  left:3px;
  right:4px;
  top:7px;
  height:1px;
  background:rgba(79,52,18,.35);
  transform:rotate(-10deg);
}
.passive-feather{
  width:46px;
  height:auto;
  opacity:.82;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.16));
  animation:passiveFeatherFloat var(--dur,16s) ease-in-out forwards;
}
.passive-seed{
  width:30px;
  height:auto;
  opacity:.80;
  filter:drop-shadow(0 0 8px rgba(250,204,21,.20));
  animation:passiveSeedDrift var(--dur,14s) ease-in-out forwards;
}
.passive-breeze-particle{
  width:var(--w,54px);
  height:var(--h,3px);
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(220,245,255,.46),rgba(255,255,255,.28),transparent);
  opacity:.72;
  box-shadow:0 0 9px rgba(186,230,253,.16);
  animation:passiveBreeze var(--dur,7s) ease-out forwards;
}
.passive-drop{
  width:var(--w,7px);
  height:var(--h,17px);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(240,249,255,.52),rgba(125,211,252,.42));
  box-shadow:0 0 11px rgba(125,211,252,.34);
  animation:passiveDropFall var(--dur,1.4s) ease-in forwards;
}
.passive-dust{
  width:var(--s,6px);
  height:var(--s,6px);
  border-radius:50%;
  background:rgba(255,239,176,.72);
  box-shadow:0 0 14px rgba(250,204,21,.44),0 0 4px rgba(255,255,255,.35);
  animation:passiveDustFloat var(--dur,7s) ease-in-out forwards;
}
.passive-leaf-shadow{
  width:var(--w,90px);
  height:var(--h,34px);
  border-radius:68% 32% 62% 38%;
  background:rgba(22,42,17,.22);
  filter:blur(6px);
  transform-origin:center;
  animation:passiveLeafShadow var(--dur,9s) ease-in-out forwards;
}
.passive-glint{
  width:220px;
  height:44px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,244,190,.22),rgba(255,255,255,.16),transparent);
  filter:blur(7px);
  transform:rotate(var(--rot,-14deg));
  animation:passiveGlint var(--dur,4.2s) ease-in-out forwards;
}
.passive-pykur-bubble{
  min-width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:999px;
  padding:0 9px;
  border:1px solid rgba(139,111,71,.36);
  background:rgba(255,250,235,.94);
  color:#3a2813;
  font-weight:950;
  font-size:15px;
  box-shadow:0 5px 14px rgba(0,0,0,.16);
  animation:passivePykurBubble var(--dur,4.8s) ease-in-out forwards;
}
.passive-pykur-ring{
  position:fixed;
  pointer-events:none;
  width:var(--size,120px);
  height:var(--size,120px);
  border-radius:50%;
  border:2px solid rgba(250,204,21,.30);
  box-shadow:0 0 18px rgba(250,204,21,.18), inset 0 0 18px rgba(255,255,255,.08);
  animation:passivePykurRing var(--dur,3.2s) ease-out forwards;
  will-change:transform,opacity;
}
@keyframes passiveLeafDrift{
  0%{opacity:0;transform:translate(var(--sx,-8vw),var(--sy,22vh)) rotate(-16deg)}
  12%,76%{opacity:.72}
  46%{transform:translate(var(--mx,42vw),calc(var(--sy,22vh) + var(--wave,28px))) rotate(132deg)}
  100%{opacity:0;transform:translate(var(--ex,84vw),calc(var(--sy,22vh) + var(--drop,54px))) rotate(264deg)}
}
@keyframes passiveFeatherFloat{
  0%{opacity:0;transform:translate(var(--sx,-8vw),var(--sy,28vh)) rotate(-12deg)}
  16%,78%{opacity:.82}
  42%{transform:translate(var(--mx,38vw),calc(var(--sy,28vh) + 34px)) rotate(52deg)}
  100%{opacity:0;transform:translate(var(--ex,78vw),calc(var(--sy,28vh) - 10px)) rotate(114deg)}
}
@keyframes passiveSeedDrift{
  0%{opacity:0;transform:translate(var(--sx,-7vw),var(--sy,60vh)) rotate(0deg) scale(.86)}
  18%,78%{opacity:.78}
  50%{transform:translate(var(--mx,48vw),calc(var(--sy,60vh) - 22px)) rotate(150deg) scale(1)}
  100%{opacity:0;transform:translate(var(--ex,82vw),calc(var(--sy,60vh) + 12px)) rotate(290deg) scale(.78)}
}
@keyframes passiveBreeze{
  0%{opacity:0;transform:translateX(-14vw) translateY(var(--y,30vh))}
  18%,72%{opacity:.78}
  100%{opacity:0;transform:translateX(112vw) translateY(calc(var(--y,30vh) + var(--dy,18px)))}
}
@keyframes passiveDropFall{
  0%{opacity:0;transform:translate(var(--x,20vw),var(--y,12vh)) scaleY(.8)}
  18%,74%{opacity:.82}
  100%{opacity:0;transform:translate(calc(var(--x,20vw) + 10px),calc(var(--y,12vh) + 72px)) scaleY(1.08)}
}
@keyframes passiveDustFloat{
  0%{opacity:0;transform:translate(var(--x,20vw),var(--y,60vh)) scale(.7)}
  18%,76%{opacity:.72}
  100%{opacity:0;transform:translate(calc(var(--x,20vw) + var(--dx,18px)),calc(var(--y,60vh) + var(--dy,-42px))) scale(1.08)}
}
@keyframes passiveLeafShadow{
  0%{opacity:0;transform:translate(var(--sx,-10vw),var(--y,28vh)) rotate(var(--r,-10deg)) scale(.92)}
  18%,72%{opacity:.58}
  100%{opacity:0;transform:translate(var(--ex,110vw),calc(var(--y,28vh) + var(--dy,24px))) rotate(calc(var(--r,-10deg) + 16deg)) scale(1.08)}
}
@keyframes passiveGlint{
  0%{opacity:0;transform:translate(var(--sx,-20vw),var(--y,42vh)) rotate(var(--rot,-14deg))}
  35%,58%{opacity:.65}
  100%{opacity:0;transform:translate(var(--ex,108vw),calc(var(--y,42vh) + 18px)) rotate(var(--rot,-14deg))}
}
@keyframes passivePykurBubble{
  0%{opacity:0;transform:translate(var(--x,50vw),var(--y,50vh)) scale(.82)}
  16%,78%{opacity:.96}
  100%{opacity:0;transform:translate(var(--x,50vw),calc(var(--y,50vh) - 10px)) scale(.98)}
}
@keyframes passivePykurRing{
  0%{opacity:0;transform:translate(var(--x,50vw),var(--y,50vh)) scale(.62)}
  25%,62%{opacity:.42}
  100%{opacity:0;transform:translate(var(--x,50vw),var(--y,50vh)) scale(1.12)}
}
#livingEventsLayer.live-dim::before{background:rgba(4,8,16,.18)}
#livingEventsLayer.live-fog::before{
  background:
    radial-gradient(ellipse at 20% 70%,rgba(255,255,255,.22),transparent 44%),
    radial-gradient(ellipse at 72% 36%,rgba(255,255,255,.18),transparent 48%),
    linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
  filter:blur(5px);
  animation:liveFogMove var(--live-duration,20s) linear forwards;
}
#livingEventsLayer.live-night::before{background:rgba(3,7,18,.28)}
#livingEventsLayer.live-heat::before{
  background:
    linear-gradient(180deg,rgba(245,158,11,.18),rgba(239,68,68,.08),transparent 76%),
    radial-gradient(ellipse at 12% 76%,rgba(251,146,60,.10),transparent 44%),
    radial-gradient(ellipse at 88% 18%,rgba(253,186,116,.12),transparent 40%);
}
@keyframes liveOverlayFade{
  0%,100%{opacity:0}
  16%,84%{opacity:1}
}
@keyframes liveFogMove{
  0%{opacity:0;transform:translateX(-4%)}
  20%,80%{opacity:1}
  100%{opacity:0;transform:translateX(5%)}
}
.live-drop{
  position:absolute;
  top:-12vh;
  width:1px;
  height:38px;
  background:linear-gradient(transparent,rgba(191,219,254,.66));
  opacity:.58;
  transform:rotate(10deg);
  animation:liveRainFall var(--dur,1.1s) linear var(--delay,0s) infinite;
}
@keyframes liveRainFall{to{transform:translate(48px,118vh) rotate(10deg)}}
.live-leaf{
  position:absolute;
  left:-80px;
  top:var(--top,30vh);
  width:34px;
  height:18px;
  border-radius:80% 12% 80% 18%;
  background:linear-gradient(135deg,#7c4a12,#d6a12f 45%,#446b28);
  opacity:.78;
  animation:liveLeafFly var(--dur,12s) ease-in-out var(--delay,0s) forwards;
}
@keyframes liveLeafFly{
  0%{transform:translateX(-70px) translateY(0) rotate(0)}
  50%{transform:translateX(52vw) translateY(42px) rotate(220deg)}
  100%{transform:translateX(108vw) translateY(-18px) rotate(430deg)}
}
.live-lightning{
  position:absolute;
  inset:0;
  background:rgba(220,240,255,.45);
  opacity:0;
  animation:liveLightning 10s ease-in-out forwards;
}
@keyframes liveLightning{
  0%,20%,25%,55%,100%{opacity:0}
  22%,57%{opacity:.58}
  23%,58%{opacity:.08}
}
.live-sunray{
  position:absolute;
  top:-18vh;
  left:18vw;
  width:30vw;
  height:130vh;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,239,161,.25),rgba(255,255,255,.16),transparent);
  filter:blur(8px);
  animation:liveRay 10s ease-in-out forwards;
}
@keyframes liveRay{
  0%,100%{opacity:0;transform:translateX(-18vw) rotate(18deg)}
  22%,72%{opacity:1}
  100%{transform:translateX(46vw) rotate(18deg)}
}
.live-star,.live-comet{
  position:absolute;
  top:14vh;
  left:-12vw;
  width:90px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#fff7b8,#60a5fa);
  box-shadow:0 0 14px rgba(250,204,21,.55);
  animation:liveStar 3s ease-in forwards;
}
.live-comet{
  width:170px;
  height:5px;
  top:22vh;
  box-shadow:0 0 24px rgba(250,204,21,.65);
  animation-duration:4s;
}
@keyframes liveStar{to{transform:translate(124vw,34vh) rotate(-12deg);opacity:0}}
.live-actor,.live-object,.live-note{
  position:absolute;
  width:var(--size,96px);
  height:var(--size,96px);
  left:var(--x,8vw);
  top:var(--y,62vh);
  display:grid;
  place-items:center;
  font-size:calc(var(--size,96px) * .54);
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.22));
  pointer-events:none;
  user-select:none;
}
.live-actor{animation:liveWander var(--live-duration,15s) ease-in-out forwards}
@keyframes liveWander{
  0%{opacity:0;transform:translateX(-30px)}
  12%,86%{opacity:1}
  35%{transform:translate(16vw,-20px)}
  68%{transform:translate(28vw,14px)}
  100%{opacity:0;transform:translate(44vw,0)}
}
.live-shadow{
  width:120px;
  height:160px;
  border-radius:50% 50% 12% 12%;
  background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.05));
  filter:blur(1px);
  animation:livePeek 8s ease-in-out forwards;
}
@keyframes livePeek{
  0%,100%{opacity:0;transform:translateX(-70px)}
  20%,75%{opacity:.75;transform:translateX(0)}
}
.live-butterfly{
  color:#facc15;
  text-shadow:0 0 14px rgba(250,204,21,.72);
  animation:liveButterfly 15s ease-in-out forwards;
}
@keyframes liveButterfly{
  0%{opacity:0;transform:translate(0,0) scale(.8)}
  15%,85%{opacity:1}
  30%{transform:translate(28vw,-8vh) scale(1)}
  58%{transform:translate(48vw,8vh) scale(.9)}
  100%{opacity:0;transform:translate(70vw,-2vh) scale(.75)}
}
.live-clickable{
  pointer-events:auto;
  cursor:pointer;
  transition:transform .18s ease,filter .18s ease,opacity .18s ease;
}
.live-clickable:hover{transform:scale(1.06);filter:drop-shadow(0 0 14px rgba(250,204,21,.45))}
.live-object.collecting{animation:liveCollect .62s ease-in forwards!important}
@keyframes liveCollect{to{opacity:0;transform:translate(0,-70px) scale(.35)}}
.live-kama{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff7b8,#facc15 52%,#a16207);
  animation:liveKama .9s ease-out forwards;
}
@keyframes liveKama{to{transform:translate(var(--dx),var(--dy));opacity:0}}
.live-pykur-glow{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 22% 32%,rgba(250,204,21,.24),transparent 24%);
  animation:livePykurPulse var(--live-duration,8s) ease-in-out forwards;
}
@keyframes livePykurPulse{
  0%,100%{opacity:0}
  18%,78%{opacity:1}
}
.live-resonance-aura{
  position:absolute;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(255,255,255,.28),transparent 18%),
    radial-gradient(circle,rgba(96,165,250,.38),rgba(250,204,21,.20) 42%,transparent 72%);
  box-shadow:0 0 34px rgba(96,165,250,.32),0 0 70px rgba(250,204,21,.24);
  mix-blend-mode:screen;
  animation:liveResonanceAura var(--live-duration,38s) ease-in-out forwards;
}
@keyframes liveResonanceAura{
  0%{opacity:0;transform:scale(.62)}
  13%{opacity:.52;transform:scale(.9)}
  28%,66%{opacity:.62;transform:scale(1)}
  78%{opacity:.9;transform:scale(1.13)}
  90%{opacity:.46;transform:scale(.96)}
  100%{opacity:0;transform:scale(.72)}
}
.live-resonance-wave{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(147,197,253,.52);
  box-shadow:0 0 18px rgba(96,165,250,.28),inset 0 0 18px rgba(250,204,21,.16);
  animation:liveResonanceWave var(--dur,3400ms) ease-out var(--delay,0s) forwards;
}
@keyframes liveResonanceWave{
  0%{opacity:0;transform:scale(.45)}
  16%{opacity:.78}
  100%{opacity:0;transform:scale(1.9)}
}
.live-resonance-particle{
  position:absolute;
  width:var(--size,7px);
  height:var(--size,7px);
  border-radius:50%;
  background:radial-gradient(circle,#fffef0,rgba(250,204,21,.76) 38%,rgba(96,165,250,.12) 72%,transparent);
  box-shadow:0 0 13px rgba(250,204,21,.62);
  pointer-events:none;
}
.live-resonance-particle.orbit{
  animation:liveResonanceOrbit var(--dur,13000ms) ease-in-out var(--delay,0s) forwards;
}
@keyframes liveResonanceOrbit{
  0%,100%{opacity:0;transform:rotate(var(--start,0deg)) translateX(calc(var(--radius,86px) * .62)) scale(.42)}
  12%,84%{opacity:.88}
  52%{transform:rotate(calc(var(--start,0deg) + var(--turn,240deg))) translateX(var(--radius,86px)) scale(1)}
  100%{transform:rotate(calc(var(--start,0deg) + var(--turn,520deg))) translateX(calc(var(--radius,86px) * .35)) scale(.12)}
}
.live-resonance-particle.absorb{
  animation:liveResonanceAbsorb var(--dur,5200ms) ease-in var(--delay,0s) forwards;
}
@keyframes liveResonanceAbsorb{
  0%{opacity:0;transform:translate(var(--sx,0),var(--sy,0)) scale(.35)}
  18%,68%{opacity:.78}
  100%{opacity:0;transform:translate(0,0) scale(.04)}
}
.pykur-orb.live-resonating,
#pykurImg.live-resonating{
  animation-duration:4.6s!important;
  filter:saturate(1.12) drop-shadow(0 0 20px rgba(96,165,250,.44)) drop-shadow(0 0 34px rgba(250,204,21,.22));
}
.pykur-orb.live-resonance-peak,
#pykurImg.live-resonance-peak{
  animation:liveResonancePeakShake .42s ease-in-out infinite!important;
  filter:saturate(1.25) brightness(1.07) drop-shadow(0 0 26px rgba(96,165,250,.66)) drop-shadow(0 0 44px rgba(250,204,21,.34));
}
@keyframes liveResonancePeakShake{
  0%,100%{transform:translate(0,0) rotate(0deg) scale(1)}
  20%{transform:translate(-1px,1px) rotate(-.6deg) scale(1.012)}
  42%{transform:translate(1px,-1px) rotate(.5deg) scale(1.018)}
  66%{transform:translate(-.5px,-1px) rotate(-.3deg) scale(1.01)}
  84%{transform:translate(1px,.5px) rotate(.35deg) scale(1.016)}
}
.live-resonance-peak-flare{
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.34),rgba(250,204,21,.22) 30%,rgba(96,165,250,.16) 54%,transparent 72%);
  box-shadow:0 0 38px rgba(250,204,21,.34),0 0 80px rgba(96,165,250,.26);
  animation:liveResonancePeakFlare 7s ease-in-out forwards;
}
@keyframes liveResonancePeakFlare{
  0%{opacity:0;transform:scale(.7)}
  14%,70%{opacity:.82}
  42%{transform:scale(1.22)}
  100%{opacity:0;transform:scale(.9)}
}
.live-zzz{
  position:absolute;
  left:18vw;
  top:16vh;
  font-weight:900;
  color:#e0f2fe;
  text-shadow:0 0 12px rgba(96,165,250,.7);
  animation:liveZzz 15s ease-in-out forwards;
}
@keyframes liveZzz{
  0%,100%{opacity:0;transform:translateY(0)}
  18%,82%{opacity:1}
  60%{transform:translateY(-22px)}
}
.live-fake-bug{
  position:absolute;
  right:22px;
  top:120px;
  max-width:310px;
  padding:12px 14px;
  border-radius:10px;
  background:#111827;
  color:#fecaca;
  border:1px solid rgba(248,113,113,.45);
  font:800 13px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;
  box-shadow:0 18px 30px rgba(0,0,0,.28);
  animation:liveBug 2s ease-in-out forwards;
}
@keyframes liveBug{
  0%,100%{opacity:0;transform:translateY(-8px)}
  14%,84%{opacity:1;transform:translateY(0)}
}
.live-scene-img{
  position:absolute;
  width:var(--w,88px);
  height:var(--h,var(--w,88px));
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.24));
  will-change:transform,opacity;
}
.live-click-img{pointer-events:auto;cursor:pointer}
.live-click-img:hover{filter:drop-shadow(0 0 14px rgba(250,204,21,.5)) drop-shadow(0 10px 16px rgba(0,0,0,.24))}
.live-rain-mist{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(8,15,30,.22),rgba(30,64,175,.085),transparent 78%),
    radial-gradient(ellipse at 12% 22%,rgba(125,190,255,.12),transparent 42%),
    radial-gradient(ellipse at 86% 18%,rgba(15,23,42,.14),transparent 46%);
  animation:liveRainAmbience var(--live-duration,20s) ease-in-out forwards;
}
.live-rain-sheet{
  position:absolute;
  inset:-10vh -5vw;
  pointer-events:none;
  overflow:hidden;
  animation:liveRainSheet var(--live-duration,20s) ease-in-out forwards;
}
.live-rain-line{
  position:absolute;
  top:var(--top,-18vh);
  width:1.35px;
  height:var(--h,18px);
  border-radius:999px;
  background:linear-gradient(transparent,rgba(205,235,255,var(--alpha,.62)));
  opacity:var(--o,.58);
  box-shadow:0 0 7px rgba(180,220,255,.26);
  transform:rotate(13deg);
  animation:liveRainLine var(--dur,1.35s) linear var(--delay,0s) infinite;
  will-change:transform;
}
@keyframes liveRainAmbience{
  0%,100%{opacity:0}
  15%,85%{opacity:1}
}
@keyframes liveRainSheet{
  0%,100%{opacity:0}
  15%,85%{opacity:1}
}
@keyframes liveRainLine{
  to{transform:translate(var(--drift,42px),132vh) rotate(13deg)}
}
.live-wind-leaf{animation:liveWindLeaf var(--dur,12s) ease-in-out var(--delay,0s) forwards}
@keyframes liveWindLeaf{
  0%{opacity:0;transform:translate(-12vw,0) rotate(0deg) scale(.8)}
  10%,86%{opacity:.92}
  32%{transform:translate(28vw,var(--mid,24px)) rotate(165deg) scale(1)}
  64%{transform:translate(68vw,var(--end,-14px)) rotate(330deg) scale(.92)}
  100%{opacity:0;transform:translate(112vw,var(--out,18px)) rotate(510deg) scale(.78)}
}
.live-wind-sheet{
  position:absolute;
  inset:-6vh -6vw;
  pointer-events:none;
  overflow:hidden;
  animation:liveWindSheet var(--live-duration,13s) ease-in-out forwards;
}
.live-wind-streak{
  position:absolute;
  left:-12vw;
  top:var(--top,30vh);
  width:var(--w,96px);
  height:var(--h,2px);
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(245,250,255,var(--alpha,.34)),rgba(180,220,255,var(--alpha,.22)),transparent);
  opacity:var(--o,.36);
  filter:blur(.15px);
  box-shadow:0 0 8px rgba(180,220,255,.14);
  animation:liveWindStreak var(--dur,3s) ease-in-out var(--delay,0s) forwards;
  will-change:transform,opacity;
}
@keyframes liveWindSheet{
  0%,100%{opacity:0}
  12%,82%{opacity:1}
}
@keyframes liveWindStreak{
  0%{transform:translateX(-12vw) translateY(0) scaleX(.55);opacity:0}
  12%,72%{opacity:var(--o,.22)}
  45%{transform:translateX(54vw) translateY(var(--wave,12px)) scaleX(1)}
  100%{transform:translateX(116vw) translateY(var(--out,-8px)) scaleX(.7);opacity:0}
}
.live-heat-haze{
  position:absolute;
  inset:-4vh -3vw;
  pointer-events:none;
  overflow:hidden;
  opacity:.55;
  animation:liveHeatHaze var(--live-duration,15s) ease-in-out forwards;
}
.live-heat-wave{
  position:absolute;
  left:-8vw;
  width:116vw;
  height:16vh;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(251,146,60,.11),rgba(254,215,170,.075),transparent);
  filter:blur(10px);
  transform:skewX(-10deg);
  animation:liveHeatWave var(--dur,5s) ease-in-out var(--delay,0s) infinite alternate;
}
.live-heat-drop{animation:liveSweatDrop 4.2s ease-in-out var(--delay,0s) infinite}
@keyframes liveHeatHaze{
  0%,100%{opacity:0}
  20%,80%{opacity:.62}
}
@keyframes liveHeatWave{
  0%{opacity:.15;transform:translateX(-2vw) translateY(0) skewX(-10deg)}
  100%{opacity:.42;transform:translateX(4vw) translateY(var(--rise,-8px)) skewX(-13deg)}
}
@keyframes liveSweatDrop{
  0%,100%{opacity:0;transform:translateY(-8px) scale(.62)}
  16%{opacity:0;transform:translateY(-8px) scale(.62)}
  32%,70%{opacity:.94}
  72%{transform:translateY(26px) scale(1)}
  88%{opacity:0;transform:translateY(38px) scale(.84)}
}
.live-storm-flash{
  position:absolute;
  inset:0;
  background:rgba(224,242,254,.44);
  animation:liveStormFlash 10s ease-in-out forwards;
}
@keyframes liveStormFlash{
  0%,18%,22%,48%,51%,80%,100%{opacity:0}
  19%,49%,81%{opacity:.45}
  20%,50%,82%{opacity:.08}
}
.live-fog-band{
  position:absolute;
  left:-44vw;
  width:188vw;
  height:var(--h,24vh);
  border-radius:999px;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 54%,rgba(238,248,255,var(--a,.18)),rgba(238,248,255,var(--b,.08)) 42%,transparent 72%),
    radial-gradient(ellipse at 62% 44%,rgba(226,240,255,var(--d,.13)),rgba(226,240,255,var(--e,.05)) 38%,transparent 70%),
    linear-gradient(90deg,transparent,rgba(235,245,255,var(--c,.07)),transparent);
  filter:blur(var(--blur,18px));
  mix-blend-mode:screen;
  animation:liveFogBand var(--dur,22s) ease-in-out var(--delay,0s) forwards;
  will-change:transform,opacity;
}
.live-fog-veil{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 4% 42%,rgba(226,240,255,.19),transparent 36%),
    radial-gradient(ellipse at 96% 30%,rgba(226,240,255,.16),transparent 34%),
    radial-gradient(ellipse at 20% 84%,rgba(226,240,255,.12),transparent 34%),
    linear-gradient(180deg,rgba(15,23,42,.10),rgba(226,240,255,.035),rgba(15,23,42,.06));
  animation:liveFogVeil var(--live-duration,23s) ease-in-out forwards;
}
.live-fog-wisp{
  position:absolute;
  width:var(--w,26vw);
  height:var(--h,12vh);
  border-radius:999px;
  pointer-events:none;
  background:radial-gradient(ellipse,rgba(245,250,255,var(--a,.18)),rgba(235,245,255,var(--b,.07)) 46%,transparent 76%);
  filter:blur(var(--blur,12px));
  mix-blend-mode:screen;
  animation:liveFogWisp var(--dur,18s) ease-in-out var(--delay,0s) forwards;
}
@keyframes liveFogBand{
  0%{opacity:0;transform:translateX(var(--from,-18vw)) translateY(var(--y0,0)) scale(.92)}
  18%{opacity:var(--o,.50)}
  46%{transform:translateX(var(--mid,2vw)) translateY(var(--y1,-8px)) scale(1.04)}
  82%{opacity:var(--o,.50)}
  100%{opacity:0;transform:translateX(var(--to,18vw)) translateY(var(--y2,8px)) scale(.98)}
}
@keyframes liveFogVeil{
  0%,100%{opacity:0}
  18%,82%{opacity:1}
}
@keyframes liveFogWisp{
  0%{opacity:0;transform:translateX(var(--from,-10vw)) translateY(0) scale(.8)}
  20%,76%{opacity:var(--o,.42)}
  50%{transform:translateX(var(--mid,8vw)) translateY(var(--wave,-18px)) scale(1.08)}
  100%{opacity:0;transform:translateX(var(--to,20vw)) translateY(var(--out,12px)) scale(.84)}
}
.pykur-fogged{filter:saturate(.82) brightness(.92) drop-shadow(0 8px 12px rgba(0,0,0,.20))!important}
.live-night-glaze{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(8,18,42,.28),rgba(13,23,44,.16) 58%,rgba(10,18,32,.10)),
    radial-gradient(ellipse at 12% 12%,rgba(96,165,250,.08),transparent 38%),
    radial-gradient(ellipse at 88% 18%,rgba(147,197,253,.07),transparent 42%);
  animation:liveNightFade var(--live-duration,20s) ease-in-out forwards;
}
.live-night-star{
  position:absolute;
  width:var(--s,3px);
  height:var(--s,3px);
  border-radius:50%;
  background:rgba(240,249,255,.95);
  box-shadow:0 0 8px rgba(191,219,254,.8),0 0 16px rgba(147,197,253,.32);
  pointer-events:none;
  animation:liveNightStar var(--dur,3.6s) ease-in-out var(--delay,0s) infinite alternate, liveNightAppear var(--live-duration,20s) ease-in-out forwards;
}
.live-firefly{
  position:absolute;
  width:var(--s,7px);
  height:var(--s,7px);
  border-radius:50%;
  background:#fde68a;
  box-shadow:0 0 10px rgba(250,204,21,.85),0 0 22px rgba(250,204,21,.38);
  pointer-events:none;
  animation:liveFirefly var(--dur,12s) ease-in-out var(--delay,0s) infinite alternate, liveNightAppear var(--live-duration,20s) ease-in-out forwards;
}
.pykur-night-glow{
  filter:brightness(1.08) saturate(1.08) drop-shadow(0 0 16px rgba(250,204,21,.42))!important;
}
@keyframes liveNightFade{
  0%,100%{opacity:0}
  15%,85%{opacity:1}
}
@keyframes liveNightAppear{
  0%,100%{opacity:0}
  18%,82%{opacity:var(--o,.75)}
}
@keyframes liveNightStar{
  0%{transform:scale(.72);filter:brightness(.75)}
  100%{transform:scale(1.22);filter:brightness(1.22)}
}
@keyframes liveFirefly{
  0%{transform:translate(0,0) scale(.82)}
  28%{transform:translate(var(--x1,18px),var(--y1,-14px)) scale(1)}
  62%{transform:translate(var(--x2,-12px),var(--y2,10px)) scale(.86)}
  100%{transform:translate(var(--x3,24px),var(--y3,-18px)) scale(1.08)}
}
.live-sunray-beam{
  position:absolute;
  top:-22vh;
  left:var(--x,18vw);
  width:var(--w,30vw);
  height:134vh;
  transform-origin:top center;
  pointer-events:none;
  mix-blend-mode:screen;
  background:
    linear-gradient(90deg,transparent,rgba(255,255,255,.18),rgba(255,236,154,var(--a,.42)),rgba(255,255,255,.14),transparent);
  filter:blur(var(--blur,12px));
  animation:liveSunrayBeam var(--live-duration,11s) ease-in-out forwards;
  will-change:transform,opacity;
}
.live-sunray-dust{
  position:absolute;
  width:var(--s,4px);
  height:var(--s,4px);
  border-radius:50%;
  pointer-events:none;
  background:rgba(255,245,200,.9);
  box-shadow:0 0 12px rgba(250,204,21,.72),0 0 24px rgba(250,204,21,.30);
  animation:liveSunDust var(--dur,5s) ease-in-out var(--delay,0s) forwards;
}
.pykur-sunray-glow{
  filter:brightness(1.18) saturate(1.10) drop-shadow(0 0 24px rgba(250,204,21,.62)) drop-shadow(0 0 38px rgba(255,244,190,.28))!important;
}
@keyframes liveSunrayBeam{
  0%,100%{opacity:0;transform:translateX(var(--from,-12vw)) rotate(var(--rot,16deg)) scaleX(.85)}
  16%{opacity:var(--o,.72)}
  34%,72%{opacity:var(--o,.72);transform:translateX(var(--mid,8vw)) rotate(var(--rot,16deg)) scaleX(1.08)}
  82%{opacity:var(--o,.58)}
  100%{transform:translateX(var(--to,22vw)) rotate(var(--rot,16deg)) scaleX(.92)}
}
@keyframes liveSunDust{
  0%,100%{opacity:0;transform:translateY(18px) scale(.55)}
  18%,78%{opacity:var(--o,.54)}
  100%{transform:translate(var(--dx,16px),var(--dy,-38px)) scale(.25)}
}
.live-keph-tomb{animation:liveTombScene 42s ease-in-out forwards}
@keyframes liveTombScene{
  0%,100%{opacity:0;transform:translateY(16px)}
  7%,87%{opacity:1;transform:translateY(0)}
  10%,14%,18%{transform:translateY(0) rotate(-2deg)}
  12%,16%{transform:translateY(0) rotate(2deg)}
}
.live-keph-unit{
  position:absolute;
  width:158px;
  height:158px;
  left:5.7vw;
  top:57vh;
  pointer-events:auto;
  cursor:help;
  animation:liveKephGhost 42s ease-in-out forwards;
  will-change:transform,opacity;
}
.live-keph-ghost{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:auto;
  opacity:.9;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.24));
}
.live-keph-name{
  position:absolute;
  left:50%;
  top:-92px;
  width:clamp(150px,12vw,210px);
  height:auto;
  object-fit:contain;
  transform:translateX(-50%) translateY(6px);
  opacity:0;
  pointer-events:none;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.34));
  transition:opacity .18s ease,transform .18s ease;
}
.live-keph-unit:hover .live-keph-name{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
@keyframes liveKephGhost{
  0%,12%,100%{opacity:0;transform:translate(0,36px) scale(.92)}
  18%,82%{opacity:.88}
  26%{transform:translate(12vw,-16px) scale(1)}
  43%{transform:translate(26vw,-36px) scale(1.02)}
  62%{transform:translate(18vw,-10px) scale(.98)}
  84%{opacity:.85;transform:translate(0,28px) scale(.92)}
}
.live-shadow-img{animation:liveShadowWatch 22s ease-in-out forwards}
@keyframes liveShadowWatch{
  0%{opacity:0;transform:translateX(var(--enter,-330px)) translateY(14px) scale(.92)}
  8%{opacity:.72;transform:translateX(var(--peek,-112px)) translateY(0) scale(1)}
  14%,36%{opacity:.88;transform:translateX(var(--watch,-64px)) translateY(-6px) scale(1.025)}
  42%{opacity:.08;transform:translateX(var(--exit,-360px)) translateY(8px) scale(.96)}
  50%{opacity:0;left:var(--x2,auto);right:var(--r2,-210px);top:var(--y2,24vh);transform:translateX(var(--enter2,330px)) translateY(14px) scale(.92)}
  58%{opacity:.74;left:var(--x2,auto);right:var(--r2,-210px);top:var(--y2,24vh);transform:translateX(var(--peek2,112px)) translateY(0) scale(1)}
  65%,85%{opacity:.9;left:var(--x2,auto);right:var(--r2,-210px);top:var(--y2,24vh);transform:translateX(var(--watch2,64px)) translateY(-7px) scale(1.03)}
  93%{opacity:.12;left:var(--x2,auto);right:var(--r2,-210px);top:var(--y2,24vh);transform:translateX(var(--exit2,360px)) translateY(8px) scale(.96)}
  100%{opacity:0;left:var(--x2,auto);right:var(--r2,-210px);top:var(--y2,24vh);transform:translateX(var(--exit2,360px)) translateY(8px) scale(.96)}
}
.live-butterfly-img{
  animation:liveButterflyPath 22s cubic-bezier(.45,0,.25,1) forwards;
  filter:
    drop-shadow(0 0 10px rgba(250,204,21,.72))
    drop-shadow(0 10px 16px rgba(0,0,0,.20));
}
@keyframes liveButterflyPath{
  0%{opacity:0;transform:translate(var(--start-x,-12vw),var(--start-y,42vh)) rotate(-14deg) scale(.72)}
  8%{opacity:.95;transform:translate(var(--p1-x,14vw),var(--p1-y,30vh)) rotate(12deg) scale(.9)}
  18%{transform:translate(var(--p2-x,26vw),var(--p2-y,48vh)) rotate(-10deg) scale(1)}
  27%,34%{opacity:1;transform:translate(var(--nectar1-x,34vw),var(--nectar1-y,38vh)) rotate(16deg) scale(1.06)}
  41%{transform:translate(var(--p3-x,48vw),var(--p3-y,24vh)) rotate(-18deg) scale(.96)}
  52%,59%{transform:translate(var(--nectar2-x,56vw),var(--nectar2-y,50vh)) rotate(18deg) scale(1.08)}
  68%{transform:translate(var(--p4-x,68vw),var(--p4-y,34vh)) rotate(-8deg) scale(.98)}
  78%,84%{opacity:1;transform:translate(var(--nectar3-x,74vw),var(--nectar3-y,42vh)) rotate(14deg) scale(1.04)}
  100%{opacity:0;transform:translate(var(--end-x,112vw),var(--end-y,26vh)) rotate(26deg) scale(.78)}
}
.live-butterfly-img::selection{background:transparent}
.live-butterfly-dust{
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(250,204,21,.82);
  box-shadow:0 0 12px rgba(250,204,21,.72);
  animation:liveButterflyDust var(--dur,2.6s) ease-out forwards;
}
@keyframes liveButterflyDust{
  0%{opacity:0;transform:translate(0,0) scale(.35)}
  22%{opacity:.9}
  100%{opacity:0;transform:translate(var(--dx,20px),var(--dy,-28px)) scale(.08)}
}
.live-sparkle{
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fde68a;
  box-shadow:0 0 10px rgba(250,204,21,.8);
  animation:liveSparkle 1.8s ease-out forwards;
}
@keyframes liveSparkle{to{opacity:0;transform:translate(var(--dx,0),var(--dy,-24px)) scale(.2)}}
.live-corbac-img{
  animation:liveCorbacFly var(--dur,6200ms) cubic-bezier(.28,.02,.32,1) forwards;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.34));
}
@keyframes liveCorbacFly{
  0%{opacity:0;transform:translate(var(--start-x,-14vw),var(--start-y,14vh)) rotate(-8deg) scale(.92)}
  10%{opacity:.96;transform:translate(4vw,var(--entry-y,12vh)) rotate(7deg) scale(1)}
  28%{transform:translate(28vw,var(--mid1-y,9vh)) rotate(-5deg) scale(1.03)}
  50%{transform:translate(54vw,var(--mid2-y,16vh)) rotate(6deg) scale(.98)}
  74%{opacity:.95;transform:translate(82vw,var(--mid3-y,11vh)) rotate(-4deg) scale(1.02)}
  100%{opacity:0;transform:translate(114vw,var(--end-y,18vh)) rotate(9deg) scale(.88)}
}
.live-corbac-feather{
  position:absolute;
  width:5px;
  height:12px;
  border-radius:70% 30% 70% 30%;
  background:rgba(17,24,39,.42);
  box-shadow:0 0 6px rgba(17,24,39,.16);
  transform-origin:center;
  animation:liveCorbacFeather var(--dur,1800ms) ease-out forwards;
}
@keyframes liveCorbacFeather{
  0%{opacity:0;transform:translate(0,0) rotate(var(--rot,-12deg)) scale(.55)}
  18%{opacity:.72}
  100%{opacity:0;transform:translate(var(--dx,-54px),var(--dy,24px)) rotate(calc(var(--rot,-12deg) + 72deg)) scale(.14)}
}
.live-chacha-img{
  animation:liveChachaLost 19s cubic-bezier(.42,0,.28,1) forwards;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.24));
}
@keyframes liveChachaLost{
  0%{opacity:0;transform:translate(var(--start-x,-13vw),var(--ground-y,74vh)) rotate(-2deg) scale(.92)}
  8%{opacity:1;transform:translate(7vw,var(--ground-y,74vh)) rotate(3deg) scale(1)}
  21%{transform:translate(22vw,calc(var(--ground-y,74vh) - 4px)) rotate(-3deg) scale(1.02)}
  28%,36%{transform:translate(28vw,var(--ground-y,74vh)) rotate(5deg) scaleX(-1)}
  45%{transform:translate(42vw,calc(var(--ground-y,74vh) - 3px)) rotate(-3deg) scaleX(1)}
  55%,74%{transform:translate(var(--wool-x,55vw),var(--ground-y,74vh)) rotate(4deg) scale(1.03)}
  82%{opacity:1;transform:translate(70vw,calc(var(--ground-y,74vh) - 3px)) rotate(-2deg) scale(1)}
  100%{opacity:0;transform:translate(112vw,var(--ground-y,74vh)) rotate(4deg) scale(.94)}
}
.live-chacha-wool{
  animation:liveChachaWool 19s ease-in-out forwards;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.22));
}
@keyframes liveChachaWool{
  0%,42%{opacity:0;transform:translateY(10px) scale(.82)}
  48%,55%{opacity:1;transform:translateY(0) scale(1)}
  60%{transform:translate(8px,-8px) rotate(12deg) scale(1.06)}
  66%{transform:translate(-6px,2px) rotate(-10deg) scale(1)}
  72%{opacity:1;transform:translate(12px,-5px) rotate(15deg) scale(1.05)}
  83%{opacity:.92;transform:translate(34px,-2px) rotate(8deg) scale(.96)}
  100%{opacity:0;transform:translate(76px,4px) rotate(18deg) scale(.72)}
}
.live-chacha-dust{
  position:absolute;
  width:7px;
  height:4px;
  border-radius:50%;
  background:rgba(120,83,42,.28);
  animation:liveChachaDust var(--dur,1100ms) ease-out forwards;
}
@keyframes liveChachaDust{
  0%{opacity:0;transform:translate(0,0) scale(.45)}
  18%{opacity:.65}
  100%{opacity:0;transform:translate(var(--dx,-22px),var(--dy,8px)) scale(.12)}
}
.live-larva-img{
  animation:liveLarvaCrawl 26s cubic-bezier(.45,0,.32,1) forwards;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.24));
}
@keyframes liveLarvaCrawl{
  0%{opacity:0;transform:translate(-12vw,var(--ground-y,79vh)) rotate(1deg) scaleX(.9)}
  7%{opacity:.9;transform:translate(4vw,var(--ground-y,79vh)) rotate(-2deg) scaleX(1.12)}
  18%{transform:translate(18vw,calc(var(--ground-y,79vh) + 3px)) rotate(2deg) scaleX(.88)}
  30%{transform:translate(33vw,calc(var(--ground-y,79vh) - 2px)) rotate(-1deg) scaleX(1.14)}
  40%,55%{opacity:.95;transform:translate(var(--egg-x,48vw),var(--ground-y,79vh)) rotate(1deg) scaleX(.96)}
  63%{transform:translate(58vw,calc(var(--ground-y,79vh) + 2px)) rotate(-2deg) scaleX(1.12)}
  78%{opacity:.92;transform:translate(78vw,calc(var(--ground-y,79vh) - 1px)) rotate(2deg) scaleX(.9)}
  100%{opacity:0;transform:translate(113vw,var(--ground-y,79vh)) rotate(-1deg) scaleX(1.08)}
}
.live-larva-egg{
  animation:liveLarvaEgg 26s ease-in-out forwards;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.24)) drop-shadow(0 0 9px rgba(132,204,22,.22));
}
@keyframes liveLarvaEgg{
  0%,38%{opacity:0;transform:translateY(12px) scale(.55)}
  44%{opacity:1;transform:translateY(4px) scale(.86)}
  49%,74%{opacity:1;transform:translateY(0) scale(1) rotate(-2deg)}
  57%,68%{transform:translateY(-1px) scale(1.04) rotate(2deg)}
  86%{opacity:.82;transform:translateY(2px) scale(.94)}
  100%{opacity:0;transform:translateY(10px) scale(.68)}
}
.live-larva-dust{
  position:absolute;
  width:8px;
  height:5px;
  border-radius:50%;
  background:rgba(96,65,33,.24);
  animation:liveLarvaDust var(--dur,1300ms) ease-out forwards;
}
@keyframes liveLarvaDust{
  0%{opacity:0;transform:translate(0,0) scale(.38)}
  20%{opacity:.62}
  100%{opacity:0;transform:translate(var(--dx,-18px),var(--dy,10px)) scale(.12)}
}
.live-tofu-img{
  animation:liveTofuRun 11200ms cubic-bezier(.26,.02,.25,1) forwards;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.22));
}
@keyframes liveTofuRun{
  0%{opacity:0;transform:translate(-12vw,var(--start-y,62vh)) rotate(-15deg) scale(.9)}
  8%{opacity:1;transform:translate(8vw,var(--p1-y,60vh)) rotate(12deg) scale(1)}
  18%{transform:translate(22vw,var(--p2-y,66vh)) rotate(-18deg) scale(1.03)}
  28%{transform:translate(var(--hit-x,42vw),var(--hit-y,56vh)) rotate(20deg) scale(1)}
  34%{transform:translate(calc(var(--hit-x,42vw) - 18px),calc(var(--hit-y,56vh) + 10px)) rotate(-34deg) scale(.96)}
  38%,62%{opacity:1;transform:translate(calc(var(--hit-x,42vw) - 26px),calc(var(--hit-y,56vh) + 14px)) rotate(-84deg) scale(.94)}
  70%{transform:translate(calc(var(--hit-x,42vw) + 12px),calc(var(--hit-y,56vh) - 8px)) rotate(22deg) scale(1.04)}
  84%{opacity:1;transform:translate(74vw,var(--escape-y,50vh)) rotate(-18deg) scale(1)}
  100%{opacity:0;transform:translate(112vw,var(--end-y,48vh)) rotate(22deg) scale(.88)}
}
.live-tofu-stun{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fde68a;
  box-shadow:0 0 10px rgba(250,204,21,.72);
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
  animation:liveTofuStun 3.5s ease-in-out forwards;
}
@keyframes liveTofuStun{
  0%,100%{opacity:0;transform:rotate(0deg) translateX(var(--radius,24px)) rotate(0deg) scale(.45)}
  18%,78%{opacity:.95}
  100%{transform:rotate(var(--turn,360deg)) translateX(var(--radius,24px)) rotate(calc(var(--turn,360deg) * -1)) scale(.22)}
}
.live-ground-object{animation:liveGroundAppear .42s ease-out both}
@keyframes liveGroundAppear{from{opacity:0;transform:translateY(14px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}
.live-ground-object.collecting{animation:liveCollectImg .62s ease-in forwards!important}
@keyframes liveCollectImg{to{opacity:0;transform:translateY(-64px) scale(.34) rotate(14deg)}}
.live-poop-img{
  animation:livePoopAppear .52s ease-out var(--poop-delay,1500ms) both;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.22));
}
@keyframes livePoopAppear{
  from{opacity:0;transform:translateY(12px) scale(.72) rotate(-4deg)}
  to{opacity:1;transform:translateY(0) scale(1) rotate(0)}
}
.live-pykur-oops{
  position:absolute;
  padding:7px 11px;
  border-radius:999px;
  background:#fffdf4;
  border:2px solid rgba(139,111,71,.28);
  color:#3a2413;
  font-weight:950;
  font-size:14px;
  box-shadow:0 10px 18px rgba(0,0,0,.18);
  animation:livePykurOops 1.55s ease-in-out forwards;
}
.live-pykur-oops::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:10px;
  height:10px;
  background:#fffdf4;
  border-right:2px solid rgba(139,111,71,.28);
  border-bottom:2px solid rgba(139,111,71,.28);
  transform:translateX(-50%) rotate(45deg);
}
@keyframes livePykurOops{
  0%,100%{opacity:0;transform:translateY(8px) scale(.84)}
  18%,82%{opacity:1;transform:translateY(0) scale(1)}
}
.live-poop-smell{
  position:absolute;
  width:12px;
  height:18px;
  border-radius:999px;
  border-left:2px solid rgba(132,204,22,.34);
  border-top:2px solid rgba(245,222,179,.28);
  animation:livePoopSmell var(--dur,3200ms) ease-in-out var(--delay,0s) infinite;
}
@keyframes livePoopSmell{
  0%{opacity:0;transform:translateY(8px) rotate(-8deg) scale(.7)}
  26%,72%{opacity:.72}
  100%{opacity:0;transform:translateY(-34px) rotate(14deg) scale(.25)}
}
.live-coin-img{
  animation:liveCoinIdle 2.6s ease-in-out infinite;
  filter:
    drop-shadow(0 0 16px rgba(250,204,21,.72))
    drop-shadow(0 10px 16px rgba(0,0,0,.20));
}
.live-coin-img::selection{background:transparent}
@keyframes liveCoinIdle{
  0%,100%{transform:translateY(0) scale(1) rotate(-2deg)}
  45%{transform:translateY(-5px) scale(1.04) rotate(3deg)}
}
.live-coin-shine{
  position:absolute;
  width:46px;
  height:90px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.74),transparent);
  transform:rotate(24deg);
  opacity:0;
  animation:liveCoinShine 3.6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes liveCoinShine{
  0%,38%,100%{opacity:0;transform:translateX(-24px) rotate(24deg) scale(.7)}
  48%{opacity:.85;transform:translateX(22px) rotate(24deg) scale(1)}
  60%{opacity:0;transform:translateX(58px) rotate(24deg) scale(.85)}
}
.live-coin-spark{
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fde68a;
  box-shadow:0 0 11px rgba(250,204,21,.74);
  animation:liveCoinSpark var(--dur,2600ms) ease-out var(--delay,0s) infinite;
  pointer-events:none;
}
@keyframes liveCoinSpark{
  0%{opacity:0;transform:translateY(8px) scale(.35)}
  24%,62%{opacity:.82}
  100%{opacity:0;transform:translate(var(--dx,12px),var(--dy,-38px)) scale(.08)}
}
.live-chest-img{
  animation:liveChestIdle 2.8s ease-in-out infinite;
  filter:
    drop-shadow(0 0 18px rgba(250,204,21,.44))
    drop-shadow(0 14px 18px rgba(0,0,0,.24));
}
@keyframes liveChestIdle{
  0%,100%{transform:translateY(0) scale(1)}
  45%{transform:translateY(-4px) scale(1.025)}
}
.live-chest-open{animation:liveChestOpen 1.45s ease-in forwards!important}
@keyframes liveChestOpen{
  0%{opacity:1;filter:drop-shadow(0 0 18px rgba(250,204,21,.44))}
  14%,34%,54%{transform:translateY(-5px) rotate(-4deg)}
  24%,44%{transform:translateY(2px) rotate(4deg)}
  60%{filter:drop-shadow(0 0 36px rgba(250,204,21,.9))}
  100%{opacity:0;transform:translateY(-22px) scale(.76);filter:drop-shadow(0 0 10px rgba(250,204,21,.2))}
}
.live-chest-burst{
  position:absolute;
  width:var(--size,10px);
  height:var(--size,10px);
  border-radius:50%;
  background:var(--color,#facc15);
  box-shadow:0 0 14px var(--glow,rgba(250,204,21,.65));
  animation:liveChestBurst var(--dur,1200ms) ease-out forwards;
}
@keyframes liveChestBurst{
  0%{opacity:0;transform:translate(0,0) scale(.35)}
  18%,70%{opacity:.9}
  100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-60px)) scale(.08)}
}
.live-chest-puff{
  position:absolute;
  width:26px;
  height:16px;
  border-radius:999px;
  background:rgba(180,160,130,.34);
  filter:blur(.3px);
  animation:liveChestPuff 1.55s ease-out forwards;
}
@keyframes liveChestPuff{
  0%{opacity:0;transform:translate(0,0) scale(.45)}
  24%,70%{opacity:.72}
  100%{opacity:0;transform:translate(var(--dx,20px),var(--dy,-22px)) scale(1.7)}
}
.live-chest-flash{
  position:absolute;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle,var(--color,rgba(250,204,21,.45)),transparent 68%);
  animation:liveChestFlash 1.1s ease-out forwards;
}
@keyframes liveChestFlash{to{opacity:0;transform:scale(1.7)}}
.live-bottle-img{
  animation:liveBottleFloat 4.2s ease-in-out infinite;
  filter:
    drop-shadow(0 0 18px rgba(96,165,250,.48))
    drop-shadow(0 15px 18px rgba(0,0,0,.24));
  transform-origin:50% 78%;
}
@keyframes liveBottleFloat{
  0%,100%{transform:translateY(0) rotate(-4deg) scale(1)}
  25%{transform:translateY(-5px) rotate(3deg) scale(1.015)}
  55%{transform:translateY(3px) rotate(-1deg) scale(.995)}
  78%{transform:translateY(-3px) rotate(5deg) scale(1.01)}
}
.live-bottle-img.opening{animation:liveBottleOpen .72s ease-in forwards!important}
@keyframes liveBottleOpen{
  0%{opacity:1;transform:translateY(0) rotate(-4deg) scale(1)}
  18%,42%{transform:translateY(-4px) rotate(8deg) scale(1.04)}
  30%,54%{transform:translateY(3px) rotate(-8deg) scale(1.02)}
  70%{filter:drop-shadow(0 0 30px rgba(147,197,253,.8));opacity:1}
  100%{opacity:0;transform:translateY(-18px) rotate(14deg) scale(.7)}
}
.live-water-particle{
  position:absolute;
  width:var(--size,8px);
  height:var(--size,8px);
  border-radius:50%;
  background:radial-gradient(circle,rgba(219,234,254,.82),rgba(96,165,250,.22) 64%,transparent);
  box-shadow:0 0 10px rgba(96,165,250,.34);
  animation:liveWaterParticle var(--dur,3600ms) ease-in-out var(--delay,0s) infinite;
  pointer-events:none;
}
@keyframes liveWaterParticle{
  0%,100%{opacity:0;transform:translate(0,4px) scale(.45)}
  24%,72%{opacity:.7}
  50%{transform:translate(var(--dx,12px),var(--dy,-22px)) scale(1)}
}
#appDialog.bottle-parchment-dialog .dialog{
  max-width:440px;
  background:
    radial-gradient(circle at 20% 12%,rgba(255,255,255,.44),transparent 26%),
    linear-gradient(135deg,#fff6d6,#f6dfaa 48%,#e6bd73);
  border:2px solid rgba(126,82,30,.75);
  box-shadow:0 18px 42px rgba(41,25,8,.34), inset 0 0 0 1px rgba(255,255,255,.45);
}
#appDialog.bottle-parchment-dialog .dialog-head{
  border-bottom:1px solid rgba(126,82,30,.22);
}
#appDialog.bottle-parchment-dialog .dialog-head h3{
  color:#3b2410;
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:.2px;
}
#appDialog.bottle-parchment-dialog .dialog-body{
  color:#4a2d14;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  line-height:1.55;
}
#appDialog.bottle-parchment-dialog .dialog-actions{
  border-top:1px solid rgba(126,82,30,.18);
}
.live-fragment-fly{animation:liveFragmentFly .9s ease-in forwards!important}
@keyframes liveFragmentFly{to{opacity:0;left:var(--target-x,20vw);top:var(--target-y,20vh);transform:scale(.25) rotate(50deg)}}
.live-particle-orbit{animation:liveOrbit var(--dur,9s) ease-in-out forwards}
@keyframes liveOrbit{
  0%,100%{opacity:0;transform:rotate(0deg) translateX(var(--radius,72px)) rotate(0deg) scale(.6)}
  16%,84%{opacity:1}
  100%{transform:rotate(var(--turn,420deg)) translateX(var(--radius,72px)) rotate(calc(var(--turn,420deg) * -1)) scale(.32)}
}
.live-unstable-halo{
  position:absolute;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(255,255,210,.26),rgba(190,242,100,.18) 36%,rgba(250,204,21,.16) 54%,transparent 76%);
  box-shadow:0 0 28px rgba(190,242,100,.28),0 0 58px rgba(250,204,21,.20);
  mix-blend-mode:screen;
  animation:liveUnstableHalo var(--live-duration,15s) ease-in-out forwards;
}
@keyframes liveUnstableHalo{
  0%{opacity:0;transform:scale(.72)}
  20%{opacity:.42;transform:scale(.92)}
  45%,66%{opacity:.78;transform:scale(1.13)}
  82%{opacity:.38;transform:scale(.98)}
  100%{opacity:0;transform:scale(.82)}
}
.live-unstable-wave{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(190,242,100,.48);
  box-shadow:0 0 16px rgba(250,204,21,.24);
  animation:liveUnstableWave var(--dur,2600ms) ease-out var(--delay,0s) forwards;
}
@keyframes liveUnstableWave{
  0%{opacity:0;transform:scale(.48)}
  18%{opacity:.72}
  100%{opacity:0;transform:scale(1.55)}
}
.live-unstable-particle{
  animation:liveUnstableParticle var(--dur,13s) cubic-bezier(.45,.02,.22,1) var(--delay,0s) forwards;
  filter:drop-shadow(0 0 12px rgba(190,242,100,.62)) drop-shadow(0 0 18px rgba(250,204,21,.34));
  opacity:var(--opacity,.82);
}
@keyframes liveUnstableParticle{
  0%{opacity:0;transform:rotate(var(--start,0deg)) translateX(calc(var(--radius,72px) * .45)) scale(.55)}
  18%{opacity:var(--opacity,.82)}
  42%{transform:rotate(calc(var(--start,0deg) + 145deg)) translate(calc(var(--radius,72px) * .98),var(--jitter,-24px)) scale(1.04)}
  58%{transform:rotate(calc(var(--start,0deg) + 235deg)) translate(calc(var(--radius,72px) * 1.42),calc(var(--jitter,-24px) * -1)) scale(.9)}
  74%{opacity:var(--opacity,.82);transform:rotate(calc(var(--start,0deg) + 335deg)) translate(calc(var(--radius,72px) * .86),var(--jitter,18px)) scale(.82)}
  100%{opacity:0;transform:rotate(calc(var(--start,0deg) + var(--turn,520deg))) translateX(calc(var(--radius,72px) * .38)) scale(.18)}
}
.live-unstable-spark{
  position:absolute;
  width:var(--size,5px);
  height:var(--size,5px);
  border-radius:50%;
  background:#fef3c7;
  box-shadow:0 0 10px rgba(250,204,21,.62);
  animation:liveUnstableSpark var(--dur,1700ms) ease-out var(--delay,0s) infinite;
}
@keyframes liveUnstableSpark{
  0%,100%{opacity:0;transform:translate(0,0) scale(.24)}
  35%{opacity:.68}
  100%{transform:translate(var(--dx,14px),var(--dy,-18px)) scale(.02)}
}
.pykur-orb.live-unstable-aura,
#pykurImg.live-unstable-aura{
  filter:saturate(1.14) drop-shadow(0 0 18px rgba(190,242,100,.38)) drop-shadow(0 0 26px rgba(250,204,21,.22));
}
.pykur-orb.live-unstable-chaos,
#pykurImg.live-unstable-chaos{
  animation:liveUnstableSource 1.2s ease-in-out infinite!important;
  filter:saturate(1.22) brightness(1.04) drop-shadow(0 0 24px rgba(190,242,100,.5)) drop-shadow(0 0 36px rgba(250,204,21,.28));
}
@keyframes liveUnstableSource{
  0%,100%{transform:translate(0,0) scale(1)}
  38%{transform:translate(.7px,-.8px) scale(1.018)}
  70%{transform:translate(-.5px,.7px) scale(1.008)}
}
.live-star-img{animation:liveStarImg var(--dur,3.6s) ease-in forwards}
@keyframes liveStarImg{
  0%{opacity:0;transform:translate(-12vw,-6vh) rotate(-12deg) scale(.7)}
  12%,70%{opacity:1}
  100%{opacity:0;transform:translate(116vw,42vh) rotate(-12deg) scale(.9)}
}
.live-shooting-star-img{
  animation:liveShootingStar var(--dur,4400ms) cubic-bezier(.18,.02,.18,1) forwards;
  filter:drop-shadow(0 0 16px rgba(255,255,255,.82)) drop-shadow(0 0 26px rgba(250,204,21,.42));
}
.live-shooting-star-trail{
  position:absolute;
  width:var(--trail-w,240px);
  height:18px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(147,197,253,.18),rgba(255,255,255,.62),rgba(250,204,21,.38));
  filter:blur(2px) drop-shadow(0 0 16px rgba(250,204,21,.28));
  transform-origin:right center;
  animation:liveShootingStarTrail var(--dur,4400ms) cubic-bezier(.18,.02,.18,1) forwards;
}
@keyframes liveShootingStar{
  0%{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(var(--rot)) scale(.72)}
  10%,72%{opacity:1}
  100%{opacity:0;transform:translate(var(--ex),var(--ey)) rotate(var(--rot)) scale(var(--scale,1))}
}
@keyframes liveShootingStarTrail{
  0%{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(var(--rot)) scaleX(.15)}
  14%,62%{opacity:.72}
  100%{opacity:0;transform:translate(var(--ex),var(--ey)) rotate(var(--rot)) scaleX(.52)}
}
.live-star-dust{
  position:absolute;
  width:var(--size,5px);
  height:var(--size,5px);
  border-radius:50%;
  background:#fff8d7;
  box-shadow:0 0 12px rgba(250,204,21,.58),0 0 18px rgba(147,197,253,.24);
  animation:liveStarDust var(--dur,1800ms) ease-out var(--delay,0s) forwards;
}
@keyframes liveStarDust{
  0%{opacity:0;transform:translate(0,0) scale(.24)}
  20%,58%{opacity:.74}
  100%{opacity:0;transform:translate(var(--dx,-20px),var(--dy,24px)) scale(.04)}
}
.live-star-sky-glow{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at var(--gx,50%) var(--gy,18%),rgba(255,255,255,.16),rgba(250,204,21,.07) 22%,transparent 46%);
  animation:liveStarSkyGlow 1100ms ease-out forwards;
}
@keyframes liveStarSkyGlow{0%,100%{opacity:0}38%{opacity:1}}
.pykur-orb.live-star-wish,
#pykurImg.live-star-wish{
  animation:liveStarWish 2s ease-in-out forwards!important;
  filter:saturate(1.12) brightness(1.06) drop-shadow(0 0 22px rgba(250,204,21,.5)) drop-shadow(0 0 34px rgba(147,197,253,.24));
}
@keyframes liveStarWish{
  0%,100%{transform:scale(1)}
  45%{transform:scale(1.035)}
}
.live-zzz-img{animation:liveZzzImg 4.6s ease-in-out infinite}
@keyframes liveZzzImg{
  0%{opacity:0;transform:translateY(10px) scale(.76)}
  28%,72%{opacity:.95}
  100%{opacity:0;transform:translateY(-34px) scale(1)}
}
.live-pykur-sleepy-img{animation-duration:5.8s!important;filter:saturate(.9) drop-shadow(0 8px 12px rgba(0,0,0,.18))}
#pykurImg.live-pykur-tired-img{
  animation:livePykurTired 2s ease-in-out forwards!important;
  filter:saturate(.86) brightness(.96) drop-shadow(0 8px 12px rgba(0,0,0,.18));
}
#pykurImg.live-pykur-sleeping-img{
  animation:livePykurSleepBreath 3.4s ease-in-out infinite!important;
  filter:saturate(.9) brightness(.98) drop-shadow(0 8px 12px rgba(0,0,0,.16));
}
@keyframes livePykurTired{
  0%,100%{transform:translateY(0) scale(1)}
  55%{transform:translateY(3px) scale(.985)}
}
@keyframes livePykurSleepBreath{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(2px) scale(1.012)}
}
.live-sleep-zzz{
  animation:liveSleepZzz 4.8s ease-in-out var(--delay,0s) infinite;
  filter:drop-shadow(0 0 10px rgba(147,197,253,.38));
}
@keyframes liveSleepZzz{
  0%,100%{opacity:0;transform:translateY(10px) scale(.68)}
  16%,58%{opacity:.9}
  100%{transform:translateY(-42px) scale(1.04)}
}
.live-ancient-pulse{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(250,204,21,.48);
  background:radial-gradient(circle,rgba(250,204,21,.24),transparent 66%);
  animation:liveAncientPulse 8s ease-in-out forwards;
}
@keyframes liveAncientPulse{
  0%,100%{opacity:0;transform:scale(.55)}
  24%,70%{opacity:1}
  100%{transform:scale(1.55)}
}
#livingEventAdmin .modal{max-width:820px}
.living-admin-grid{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}
.living-admin-section{
  border:1px solid rgba(139,111,71,.22);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
  overflow:hidden;
}
.living-admin-section summary{
  cursor:pointer;
  padding:10px 12px;
  font-weight:950;
  color:#2b1b10;
  background:rgba(246,214,120,.18);
  list-style:none;
}
.living-admin-section summary::-webkit-details-marker{display:none}
.living-admin-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:10px;
}
.living-admin-buttons .btn{min-height:38px;padding:8px 10px;font-size:12px}
.living-admin-variant{
  background:linear-gradient(180deg,#f8fafc,#cbd5e1)!important;
  color:#283548!important;
  border-color:rgba(100,116,139,.34)!important;
  font-size:11px!important;
  min-height:32px!important;
}
.admin-achievement-tools{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:10px;
  border-bottom:1px solid rgba(139,111,71,.18);
}
.admin-achievement-sound{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid rgba(139,111,71,.22);
  border-radius:10px;
  background:rgba(255,255,255,.18);
  font-weight:850;
  color:#3a2813;
}
.admin-achievement-category{
  padding:10px;
  display:grid;
  gap:8px;
}
.admin-achievement-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.admin-achievement-head strong{font-size:14px}
.admin-achievement-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.admin-achievement-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  border:1px solid rgba(139,111,71,.2);
  border-radius:10px;
  padding:8px;
  background:rgba(255,255,255,.14);
}
.admin-achievement-row.unlocked{
  border-color:rgba(34,197,94,.32);
  background:rgba(220,252,231,.22);
}
.admin-achievement-row span{font-size:12px;font-weight:850;color:#4b3217}
.admin-achievement-row small{display:block;color:#876337;font-weight:750}
.admin-achievement-row .btn{min-height:30px;padding:6px 8px;font-size:11px}
.living-admin-status{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:10px 0;
}
.living-admin-status div{
  border:1px solid rgba(139,111,71,.24);
  border-radius:10px;
  padding:8px 10px;
  background:rgba(255,255,255,.12);
  font-weight:800;
}
.living-admin-options{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin:10px 0;
  padding:10px;
  border:1px solid rgba(139,111,71,.22);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
}
.living-admin-options label{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:900;
  color:#3a2813;
}
.living-admin-options small{
  display:block;
  margin-top:3px;
  color:#75572f;
  font-weight:750;
}
.living-admin-delay{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:850;
  color:#4b3217;
}
.living-admin-delay input{
  width:76px;
  padding:7px 8px;
  border:1px solid rgba(139,111,71,.34);
  border-radius:9px;
  background:rgba(255,250,235,.9);
  font-weight:900;
  color:#2b1b10;
}
.dofus-detection-modal{width:min(980px,calc(100vw - 24px))!important}
.dofus-config-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:14px;align-items:start}
.dofus-preview-card{border:1px solid rgba(119,79,28,.34);border-radius:14px;padding:12px;background:linear-gradient(180deg,rgba(255,252,242,.78),rgba(242,223,184,.56))}
#dofusConfigCanvas{width:100%;max-height:58vh;border-radius:10px;background:#20160d;display:block;cursor:crosshair;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.dofus-crop-help{margin-top:8px;color:#74512a;font-size:12px;font-weight:800}
.dofus-config-side{display:grid;gap:10px}
.dofus-config-readout{border:1px solid rgba(119,79,28,.28);border-radius:12px;padding:10px;background:rgba(255,255,255,.36);font-weight:850;color:#4b3217}
.dofus-config-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dofus-familiar-card{
  display:grid;
  grid-template-columns:62px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(119,79,28,.26);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,248,224,.86),rgba(235,247,255,.48));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 18px rgba(73,48,18,.08);
}
.dofus-familiar-card img{
  width:58px;
  height:58px;
  object-fit:contain;
  filter:drop-shadow(0 8px 12px rgba(60,38,12,.18));
}
.dofus-familiar-card strong{
  display:block;
  color:#2f1f10;
  font-size:16px;
}
.dofus-familiar-card small{
  display:block;
  margin-top:2px;
  color:#694a24;
  font-weight:800;
}
.dofus-familiar-meta{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin-top:7px;
}
.dofus-familiar-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(119,79,28,.2);
  color:#4b3217;
  font-size:12px;
  font-weight:950;
}
.dofus-familiar-card .btn{
  min-height:34px;
  white-space:nowrap;
}
.dofus-reference-list{display:grid;gap:10px}
.dynamic-dofus-ref-row{
  border:1px solid rgba(119,79,28,.24);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(255,252,242,.72),rgba(242,223,184,.44));
}
.dynamic-dofus-ref-row.is-single{
  border-color:rgba(37,99,235,.24);
  background:linear-gradient(135deg,rgba(239,246,255,.76),rgba(255,252,242,.72));
}
.dofus-ref-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dofus-ref-status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
}
.dofus-ref-status.ready{background:#dcfce7;color:#166534}
.dofus-ref-status.missing{background:#fff7ed;color:#9a3412}
.dofus-ref-summary{color:#72522c!important}
.modal-bg.stacked-modal{z-index:10120}
.dofus-tutorial{display:grid;gap:14px;line-height:1.55}
.dofus-tutorial h3{margin:0}
.dofus-video-card{border:1px solid rgba(119,79,28,.3);border-radius:16px;padding:12px;background:linear-gradient(180deg,rgba(255,252,242,.9),rgba(242,223,184,.64));box-shadow:0 12px 24px rgba(73,48,18,.12)}
.dofus-video-card strong{display:block;color:#2f1f10;font-size:15px;margin-bottom:8px}
.dofus-video-frame{position:relative;overflow:hidden;border-radius:12px;border:1px solid rgba(119,79,28,.24);background:#24160b;aspect-ratio:16/9}
.dofus-video-frame iframe,
.dofus-video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.dofus-video-frame video{object-fit:contain;background:#24160b}
.dofus-video-thumb{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:#24160b;color:white;overflow:hidden}
.dofus-video-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease, filter .28s ease}
.dofus-video-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28));pointer-events:none}
.dofus-video-thumb:hover img{transform:scale(1.025);filter:saturate(1.08) brightness(1.05)}
.dofus-play-badge{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);display:grid;place-items:center;width:74px;height:74px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 14px 34px rgba(0,0,0,.32),0 0 0 8px rgba(250,204,21,.18);color:#7c3d0a;font-size:30px;font-weight:950;transition:transform .2s ease, box-shadow .2s ease}
.dofus-video-thumb:hover .dofus-play-badge{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 16px 38px rgba(0,0,0,.38),0 0 0 10px rgba(250,204,21,.26)}
.dofus-video-error{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;color:#fff;background:linear-gradient(180deg,rgba(36,22,11,.92),rgba(36,22,11,.82))}
.dofus-video-error strong{display:block;margin:0 0 8px!important;color:#fff;font-size:17px}
.dofus-video-error p{margin:0 0 12px;color:rgba(255,255,255,.82);font-weight:800}
.dofus-video-error .btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px}
.dofus-video-fallback{display:inline-flex;margin-top:9px;color:#1d4ed8;font-weight:900;text-decoration:none}
.dofus-video-fallback:hover{text-decoration:underline}
.dofus-tutorial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.dofus-tutorial-grid article{border:1px solid rgba(119,79,28,.28);border-radius:14px;padding:12px;background:linear-gradient(180deg,rgba(255,252,242,.82),rgba(242,223,184,.56));box-shadow:inset 0 1px 0 rgba(255,255,255,.48)}
.dofus-tutorial-grid span{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(#fff3b0,#facc15);color:#3b2408;font-weight:950;margin-bottom:8px}
.dofus-tutorial-grid strong{display:block;color:#2f1f10;font-size:15px;margin-bottom:4px}
.dofus-tutorial-grid p,.dofus-tips p{margin:4px 0;color:#63431e;font-weight:750}
.dofus-tips{border:1px solid rgba(37,99,235,.24);border-radius:14px;padding:12px;background:rgba(219,234,254,.42)}
.dofus-tips strong{display:block;margin-bottom:6px;color:#1d4ed8}
.dofus-status-active{color:#15803d!important}
.dofus-status-wait{color:#b7791f!important}
.dofus-status-stop{color:#b42318!important}
@media(max-width:820px){.dofus-config-grid{grid-template-columns:1fr}.dofus-config-actions{grid-template-columns:1fr}.dofus-familiar-card{grid-template-columns:52px minmax(0,1fr)}.dofus-familiar-card>.btn{grid-column:1/-1;width:100%}}
@media(max-width:820px){.admin-achievement-list{grid-template-columns:1fr}.admin-achievement-row{grid-template-columns:minmax(0,1fr) auto}.admin-achievement-row .btn:last-child{grid-column:2}}
@media(max-width:760px){
  .monster-quick-stats{grid-template-columns:1fr 1fr}
  .monster-row,.monster-row.all{grid-template-columns:44px minmax(0,1fr) auto 34px!important}
  .monster-row.all span:nth-child(3),.monster-row.all span:nth-child(4),.monster-row.all span:nth-child(5){display:none!important}
}
.sound-settings-panel{display:grid;gap:14px;padding:8px}
.sound-settings-value{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid rgba(119,79,28,.24);border-radius:14px;background:linear-gradient(180deg,rgba(255,252,242,.9),rgba(242,223,184,.62))}
.sound-settings-value span{font-weight:900;color:#65431d}
.sound-settings-value strong{font-size:28px;color:#2563eb}
#soundVolumeRange{width:100%;accent-color:#2563eb;cursor:pointer}
.sound-settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.moderation-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;padding:8px;border:1px solid rgba(119,79,28,.20);border-radius:14px;background:rgba(255,252,242,.56)}
.moderation-tabs button{min-height:36px;padding:0 12px;border-radius:10px}
.moderation-tabs button.active{background:#2563eb;color:white}
.moderation-section.hidden{display:none}
.moderation-log-toolbar{display:flex;gap:10px;align-items:center;margin:0 0 10px;flex-wrap:wrap}
.moderation-log-toolbar input{flex:1;min-width:220px;border:1px solid rgba(119,79,28,.28);border-radius:12px;padding:10px 12px;font-weight:850;background:rgba(255,252,242,.92)}
.moderation-log-panel .moderation-history{max-height:min(58vh,620px);overflow:auto;padding-right:4px}
.moderation-log-meta{display:block;margin-top:4px;color:#6b7280;font-size:11px;word-break:break-word}
.moderation-log-meta summary{cursor:pointer;color:#2563eb;font-weight:900}
.moderation-log-meta:not([open]){white-space:normal}
.moderation-log-meta[open]{white-space:pre-wrap;padding:7px 9px;border-radius:9px;background:rgba(241,245,249,.78)}
.moderation-report-badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.moderation-priority-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:950;border:1px solid rgba(99,79,48,.22);background:#eef2f7;color:#475569}
.moderation-priority-badge.priority-high,.moderation-report.priority-high{border-color:rgba(217,119,6,.48)}
.moderation-priority-badge.priority-high{background:#ffedd5;color:#9a3412}
.moderation-priority-badge.priority-urgent,.moderation-report.priority-urgent{border-color:rgba(220,38,38,.55)}
.moderation-priority-badge.priority-urgent{background:#fee2e2;color:#991b1b}
.moderation-priority-badge.priority-low{background:#e0f2fe;color:#075985}
.moderation-report-owner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:8px 10px;border-radius:10px;background:rgba(241,245,249,.72);color:#64748b;font-size:12px}
.moderation-report-owner strong{color:#334155}
.moderation-report-note{display:grid;gap:4px;margin-top:10px;padding:10px 12px;border-left:4px solid #2563eb;border-radius:10px;background:rgba(219,234,254,.56);color:#334155}
.moderation-report-note strong{color:#1d4ed8;font-size:12px;text-transform:uppercase}
.moderation-report-workflow{display:grid;grid-template-columns:minmax(130px,.65fr) auto auto;gap:8px;align-items:center;margin-top:10px;padding:10px;border:1px solid rgba(37,99,235,.20);border-radius:12px;background:rgba(239,246,255,.58)}
.moderation-report-workflow select{min-height:38px;border:1px solid rgba(100,116,139,.35);border-radius:9px;padding:0 10px;background:#fff;font-weight:850}
.permissions-workspace{display:grid;gap:12px}
.staff-permission-list{display:grid;gap:14px}
.staff-permission-card{border:1px solid rgba(119,79,28,.24);border-radius:15px;padding:14px;background:rgba(255,252,242,.72)}
.staff-permission-card>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.staff-permission-card>header>span:nth-child(2){display:grid;flex:1}
.staff-permission-card>header small{color:#64748b}
.permission-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.permission-group-grid fieldset{min-width:0;margin:0;padding:10px;border:1px solid rgba(119,79,28,.20);border-radius:12px;background:rgba(255,255,255,.42)}
.permission-group-grid legend{padding:0 6px;color:#714717;font-weight:950}
.permission-toggle{display:flex;align-items:flex-start;gap:9px;padding:7px;border-radius:9px;cursor:pointer}
.permission-toggle:hover{background:rgba(219,234,254,.45)}
.permission-toggle input{margin-top:3px;width:17px;height:17px;accent-color:#2563eb}
.permission-toggle span{display:grid;gap:2px}
.permission-toggle strong{font-size:12px;color:#2f1f10}
.permission-toggle small{font-size:10px;line-height:1.35;color:#64748b}
.audit-log-panel{border-color:rgba(71,85,105,.35)}
.audit-log-row{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:780px){.permission-group-grid{grid-template-columns:1fr}.moderation-report-workflow{grid-template-columns:1fr}.moderation-report-owner{align-items:flex-start;flex-direction:column}}
#galleryModal.modal-bg{
  background:rgba(18,12,7,.76);
  backdrop-filter:blur(7px) saturate(.86);
}
.gallery-modal{
  width:min(960px,calc(100vw - 24px))!important;
  max-height:min(90vh,820px);
  grid-template-rows:auto minmax(0,1fr);
  background:linear-gradient(180deg,rgba(255,249,234,.98),rgba(244,225,188,.97));
  border-color:rgba(122,78,24,.86);
  box-shadow:0 30px 88px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.42);
}
.gallery-modal .modal-head{
  padding:12px 18px;
  background:linear-gradient(180deg,#6f4217,#2e190c);
  border-bottom:1px solid rgba(255,226,154,.24);
}
.gallery-modal .modal-body{
  padding:18px;
  overflow:auto;
}
.gallery-section{border:1px solid rgba(122,78,24,.46);border-radius:16px;background:linear-gradient(180deg,rgba(255,252,242,.82),rgba(244,225,188,.68));padding:14px;margin-bottom:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 12px 28px rgba(80,48,12,.08)}
.gallery-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.gallery-section-head h3{margin:0}
.gallery-section-head span{padding:5px 10px;border-radius:999px;background:linear-gradient(#fff3b0,#facc15);color:#3b2408;font-weight:900}
.gallery-section-head span#galleryEventCount{background:linear-gradient(180deg,#fff2aa,#f2b928);box-shadow:0 5px 12px rgba(176,110,18,.18),inset 0 1px 0 rgba(255,255,255,.48)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.gallery-grid.events{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.gallery-card{position:relative;border:1px solid rgba(119,79,28,.36);border-radius:14px;background:linear-gradient(135deg,rgba(255,248,226,.96),rgba(235,204,145,.72));padding:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 10px 22px rgba(80,48,12,.08)}
.gallery-event-card{background:linear-gradient(180deg,rgba(255,246,210,.98),rgba(241,207,136,.74));border-color:rgba(184,122,24,.46);box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 10px 24px rgba(138,87,15,.10)}
.gallery-event-card h4{color:#3b2408}
.gallery-card.locked{min-height:132px;filter:saturate(.45);opacity:.78;background:linear-gradient(180deg,rgba(238,233,224,.62),rgba(196,188,174,.52));border-color:rgba(99,89,76,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.gallery-card.locked h4,.gallery-card.locked p{color:#6f675d}
.gallery-card.gallery-pykur-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:start}
.gallery-card.gallery-pykur-card img{float:none;width:78px;height:78px;grid-row:1 / span 4;margin:0;align-self:start}
.gallery-card.gallery-pykur-card .gallery-badge,.gallery-card.gallery-pykur-card .btn{grid-column:1/-1}
.gallery-pykur-title{margin:0 0 2px;font-size:17px;color:var(--text)}
.gallery-title-badge{display:inline-flex;align-items:center;gap:5px;margin:0 0 8px!important;padding:5px 9px;border-radius:999px;background:linear-gradient(180deg,#fff4bd,#e7b337);border:1px solid rgba(151,92,13,.28);color:#3b2408!important;font-size:12px!important;font-weight:950!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.gallery-pykur-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.gallery-pykur-stats span{display:flex;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid rgba(119,79,28,.20);border-radius:10px;background:rgba(255,255,255,.36);font-size:12px;font-weight:900;color:#65431d}
.gallery-pykur-stats strong{color:var(--text);font-weight:950}
.gallery-pykur-stats .gallery-stat-pp{background:linear-gradient(180deg,rgba(255,244,190,.82),rgba(244,200,85,.52));border-color:rgba(184,122,24,.36)}
.gallery-pykur-stats .gallery-stat-pp strong{color:#9a5b00}
.gallery-card img{width:58px;height:58px;object-fit:contain;float:right;margin-left:8px}
.gallery-card h4{margin:0 0 6px;font-size:16px}
.gallery-card p{margin:4px 0;color:var(--muted);font-size:12px;font-weight:800}
.gallery-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;color:#fff;font-size:12px;font-weight:950;box-shadow:0 6px 12px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.24)}
.method-morose{background:linear-gradient(180deg,#60a5fa,#2563eb)}
.method-tynril{background:linear-gradient(180deg,#4ade80,#15803d)}
.method-mixte{background:linear-gradient(180deg,#a78bfa,#6d28d9)}
.gallery-empty{grid-column:1/-1;padding:18px;border:1px dashed rgba(139,111,71,.42);border-radius:14px;text-align:center;font-weight:900;color:var(--muted)}
.gallery-card .btn{width:100%;margin-top:8px}
.gallery-tools{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.gallery-familiar-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.gallery-familiar-filter{border:1px solid rgba(119,79,28,.30);border-radius:999px;background:rgba(255,252,242,.72);color:#5b3b18;font-weight:950;padding:7px 12px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.gallery-familiar-filter:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(80,48,12,.10)}
.gallery-familiar-filter.active{background:linear-gradient(180deg,#fff3b0,#facc15);border-color:rgba(184,122,24,.42);color:#3b2408;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 18px rgba(184,122,24,.18)}
.gallery-familiar-select{min-height:36px;border:1px solid rgba(119,79,28,.30);border-radius:999px;background:rgba(255,252,242,.78);color:#5b3b18;font-weight:950;padding:7px 34px 7px 12px;max-width:min(100%,260px)}
.gallery-card-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}
.gallery-card-actions .btn{width:100%;margin-top:0}
.gallery-global-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.gallery-global-card{border:1px solid rgba(119,79,28,.28);border-radius:14px;padding:12px;background:rgba(255,255,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.40)}
.gallery-global-card.important{background:linear-gradient(180deg,rgba(255,246,205,.78),rgba(246,220,156,.58));border-color:rgba(184,122,24,.40)}
.gallery-global-card span{display:block;color:#74512a;font-size:12px;font-weight:900;text-transform:uppercase}
.gallery-global-card strong{display:block;margin-top:4px;font-size:18px;color:var(--text)}
.gallery-global-card.important strong{color:#8a4f00}
.gallery-shared-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(139,111,71,.42);border-radius:999px;background:rgba(255,255,255,.42);font-weight:900;cursor:pointer}
.gallery-shared-toggle input{width:18px;height:18px;accent-color:#d89b17}
.gallery-event-progress{height:16px;border-radius:999px;background:rgba(82,54,21,.18);border:1px solid rgba(139,111,71,.34);overflow:hidden;margin:0 0 14px;box-shadow:inset 0 1px 3px rgba(0,0,0,.16)}
.gallery-event-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#a16207,#f59e0b 58%,#fde68a);transition:width .25s ease;box-shadow:0 0 14px rgba(250,204,21,.40);position:relative}
.gallery-event-progress span::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);opacity:.55}
.gallery-view.hidden{display:none}
.gallery-memory-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gallery-memory-head .options-note{flex:1 1 360px;margin:0}
.gallery-collection-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid rgba(184,122,24,.38);border-radius:16px;padding:14px;background:linear-gradient(135deg,rgba(255,248,223,.96),rgba(226,245,255,.64));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 22px rgba(80,48,12,.08)}
.gallery-collection-entry h3{margin:0 0 5px}
.gallery-collection-entry p{margin:0;color:#6b4a22;font-weight:850}
.gallery-collection-meter{display:flex;align-items:center;gap:10px;margin-top:10px}
.gallery-collection-meter .gallery-event-progress{flex:1;margin:0;min-width:180px}
.gallery-collection-meter strong{white-space:nowrap;color:#8a4f00;font-size:14px}
.gallery-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.gallery-subhead h3{margin:0}
.gallery-event-category{border:1px solid rgba(122,78,24,.34);border-radius:14px;margin:10px 0;background:rgba(255,252,242,.62);overflow:hidden}
.gallery-event-category summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;cursor:pointer;font-weight:950;color:var(--text);background:linear-gradient(90deg,rgba(255,241,194,.86),rgba(255,255,255,.42))}
.gallery-event-category summary::-webkit-details-marker{display:none}
.gallery-event-category summary span:last-child{padding:4px 9px;border-radius:999px;background:linear-gradient(#fff3b0,#facc15);font-size:12px}
.gallery-event-category .gallery-grid.events{padding:12px}
.gallery-event-card h4,.gallery-card.locked h4{display:flex;align-items:center;gap:7px}
@media(max-width:768px){#galleryButton{display:none!important}.gallery-grid,.gallery-grid.events{grid-template-columns:1fr}.gallery-card.gallery-pykur-card{grid-template-columns:72px minmax(0,1fr)}.gallery-pykur-stats{grid-template-columns:1fr}.gallery-collection-entry{grid-template-columns:1fr}.gallery-collection-entry .btn{width:100%}}

/* Secondary interface polish */
#accountProfileModal .modal-head,
#friendsModal .modal-head,
#messagesModal .modal-head,
#communityDirectoryModal .modal-head,
#communityProfileModal .modal-head,
#moderationModal .modal-head,
.gallery-modal .modal-head,
.achievements-modal .modal-head{
  min-height:56px;
  padding:11px 16px;
  border-bottom:1px solid rgba(255,232,170,.18);
}

#accountProfileModal .modal-head h2,
#friendsModal .modal-head h2,
#messagesModal .modal-head h2,
#communityDirectoryModal .modal-head h2,
#communityProfileModal .modal-head h2,
#moderationModal .modal-head h2,
.gallery-modal .modal-head h2,
.achievements-modal .modal-head h2{
  font-size:21px;
  line-height:1.08;
}

#accountProfileModal .modal-head p,
#friendsModal .modal-head p,
#messagesModal .modal-head p,
#communityDirectoryModal .modal-head p,
#communityProfileModal .modal-head p,
#moderationModal .modal-head p,
.gallery-modal .modal-head p,
.achievements-modal .modal-head p{
  margin-top:3px;
  font-size:11px;
  line-height:1.28;
}

#accountProfileModal .modal-close,
#friendsModal .modal-close,
#messagesModal .modal-close,
#communityDirectoryModal .modal-close,
#communityProfileModal .modal-close,
#moderationModal .modal-close,
.gallery-modal .modal-close,
.achievements-modal .modal-close{
  min-width:34px!important;
  min-height:34px!important;
  border-radius:10px!important;
}

#accountProfileModal .modal-body,
#friendsModal .modal-body,
#messagesModal .modal-body,
#communityDirectoryModal .modal-body,
#communityProfileModal .modal-body,
#moderationModal .modal-body,
.gallery-modal .modal-body,
.achievements-modal .modal-body{
  padding:16px;
}

.account-profile-grid,
.community-profile-view,
.moderation-panel,
.friends-section,
.messages-layout,
.achievements-shell,
#galleryMemoryView,
#galleryEventsView{
  gap:16px;
}

#accountProfileModal .account-panel{
  border:1px solid rgba(120,73,21,.14);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(250,240,217,.66));
  box-shadow:0 14px 32px rgba(80,48,12,.07),inset 0 1px 0 rgba(255,255,255,.55);
}

#accountProfileModal .account-panel.full:first-child{
  background:
    radial-gradient(circle at 100% 0%,rgba(37,99,235,.08),transparent 32%),
    linear-gradient(135deg,rgba(255,248,225,.95),rgba(241,221,178,.76));
}

#accountProfileModal .account-panel h3,
.community-profile-card h4,
.gallery-section-head h3,
.friends-section h3{
  color:#28180b;
  letter-spacing:0;
}

#accountProfileModal .account-meta span,
#accountProfileModal .privacy-toggle{
  border-color:rgba(120,73,21,.12);
  background:rgba(255,255,255,.58);
}

#accountProfileModal .community-profile-actions{
  gap:9px;
  justify-content:flex-start;
}

#accountProfileModal .community-profile-actions .btn,
.community-profile-hero-actions .btn,
.friend-row-actions .btn,
.gallery-tools .btn{
  min-height:34px!important;
  padding-inline:12px!important;
  border-radius:10px!important;
}

.privacy-toggle{
  min-height:66px;
  align-items:flex-start;
}

.community-search-form{
  padding:12px;
  border:1px solid rgba(120,73,21,.14);
  border-radius:16px;
  background:rgba(255,255,255,.56);
}

.community-search-result,
.friend-row,
.message-conversation,
.community-profile-card,
.moderation-action-card,
.moderation-info{
  border-color:rgba(120,73,21,.14);
  background:rgba(255,255,255,.66);
  box-shadow:0 10px 24px rgba(80,48,12,.055);
}

.community-search-result,
.friend-row{
  padding:13px 14px;
}

.community-search-result strong,
.friend-row strong,
.message-conversation strong{
  color:#24170b;
  font-size:15px;
}

.community-profile-hero,
.moderation-target{
  border-color:rgba(184,122,24,.24);
  background:
    radial-gradient(circle at 100% 0%,rgba(250,204,21,.16),transparent 30%),
    linear-gradient(135deg,rgba(255,252,244,.97),rgba(243,225,188,.78));
  box-shadow:0 14px 34px rgba(80,48,12,.08),inset 0 1px 0 rgba(255,255,255,.55);
}

.auth-widget{
  gap:7px;
  padding:6px 7px;
  border-color:rgba(255,255,255,.22);
  background:
    linear-gradient(135deg,rgba(35,28,22,.88),rgba(70,45,20,.82)),
    radial-gradient(circle at 0% 0%,rgba(250,204,21,.12),transparent 36%);
}

.auth-widget .btn{
  background:rgba(255,255,255,.11)!important;
  color:#fff8dc!important;
  border:1px solid rgba(255,255,255,.14)!important;
}

.auth-widget .btn:hover{
  background:rgba(255,255,255,.18)!important;
}

.auth-widget .btn.btn-green{
  background:rgba(22,163,74,.85)!important;
}

.auth-widget .btn.btn-orange{
  background:rgba(202,105,12,.88)!important;
}

#chatboxModal .modal-body{
  padding:12px!important;
}

.chatbox-layout{
  grid-template-columns:minmax(0,1fr) 280px;
  min-height:680px;
}

.chatbox-main{
  grid-template-rows:auto minmax(0,1fr) auto;
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(248,238,216,.62));
}

.chatbox-tools{
  position:sticky;
  top:0;
  z-index:2;
  justify-content:space-between;
  background:linear-gradient(135deg,rgba(255,250,238,.96),rgba(242,225,190,.9));
}

.chatbox-filter-group,
.chatbox-status-group{
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:wrap;
}

.chatbox-feed{
  min-height:460px;
}

.chatbox-feed:has(.community-profile-empty){
  min-height:360px;
}

.chat-message{
  grid-template-columns:auto minmax(0,1fr);
  position:relative;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.chat-message:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(80,48,12,.08);
}

.chat-message-actions{
  grid-column:2;
  justify-content:flex-start;
  opacity:0;
  pointer-events:none;
  transform:translateY(2px);
}

.chat-message.role-moderator,
.online-user-row.role-moderator,
.community-search-result.role-moderator,
.friend-row.role-moderator{
  border-color:rgba(194,65,12,.38)!important;
  background:linear-gradient(135deg,rgba(255,247,237,.96),rgba(254,215,170,.7))!important;
}

.chat-message.role-admin,
.online-user-row.role-admin,
.community-search-result.role-admin,
.friend-row.role-admin{
  border-color:rgba(185,28,28,.42)!important;
  background:linear-gradient(135deg,rgba(254,242,242,.98),rgba(254,202,202,.62),rgba(250,204,21,.22))!important;
}

.community-profile-hero.role-moderator,
.moderation-target.role-moderator{
  border-color:rgba(194,65,12,.42)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(248,113,113,.18),transparent 34%),
    linear-gradient(135deg,rgba(255,247,237,.98),rgba(254,215,170,.8))!important;
}

.community-profile-hero.role-admin,
.moderation-target.role-admin{
  border-color:rgba(185,28,28,.48)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(239,68,68,.2),transparent 34%),
    linear-gradient(135deg,rgba(254,242,242,.98),rgba(254,202,202,.72),rgba(250,204,21,.24))!important;
}

.community-role-badge.role-moderator{
  background:linear-gradient(180deg,#fed7aa,#ea580c)!important;
  color:#fff7ed!important;
}

.community-role-badge.role-admin{
  background:linear-gradient(180deg,#fecaca,#b91c1c)!important;
  color:#fff7ed!important;
}

.moderation-report{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(140,100,48,.2);
  border-radius:14px;
  background:rgba(255,255,255,.68);
}

.moderation-report-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}

.moderation-report-message{
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,247,237,.74);
  border:1px solid rgba(217,119,6,.18);
  color:#3b2410;
  font-weight:850;
}

.moderation-report-context{
  display:grid;
  gap:7px;
  padding:9px;
  border-radius:12px;
  background:rgba(255,255,255,.46);
  border:1px dashed rgba(140,100,48,.25);
}

.moderation-report-context-row{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:8px;
  font-size:12px;
  color:#4b3217;
}

.moderation-report-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

.moderation-report-actions .btn{
  min-height:30px!important;
  padding-inline:10px!important;
  font-size:12px!important;
}

#moderationOverviewModal .moderation-console-modal{
  width:min(1120px,calc(100vw - 28px));
}

#moderationOverviewModal .modal-body{
  padding:14px;
}

.moderation-console{
  display:grid;
  gap:14px;
}

.moderation-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}

.moderation-summary-card{
  display:grid;
  gap:5px;
  min-height:82px;
  padding:12px 13px;
  border:1px solid rgba(107,70,25,.16);
  border-radius:12px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 18px rgba(73,43,12,.05);
}

.moderation-summary-card small{
  color:#76552d;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.moderation-summary-card strong{
  color:#24170b;
  font-size:24px;
  line-height:1;
}

.auth-friends-badge.outgoing{
  background:linear-gradient(180deg,#93c5fd,#2563eb);
  color:#fff;
}

.auth-friends-badge.combined{
  background:linear-gradient(180deg,#fde047,#f59e0b);
  animation:socialBadgePulse 2.2s ease-in-out infinite;
}

@keyframes socialBadgePulse{
  0%,100%{box-shadow:0 4px 12px rgba(0,0,0,.22)}
  50%{box-shadow:0 4px 16px rgba(245,158,11,.58),0 0 0 4px rgba(250,204,21,.12)}
}

.moderation-summary-card.is-alert{
  border-color:rgba(220,38,38,.3);
  background:linear-gradient(135deg,rgba(254,226,226,.84),rgba(255,255,255,.72));
}

.moderation-summary-card.is-warning{
  border-color:rgba(217,119,6,.28);
  background:linear-gradient(135deg,rgba(254,243,199,.86),rgba(255,255,255,.72));
}

.moderation-tabs{
  position:sticky;
  top:-14px;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  margin:0;
  padding:9px;
  background:rgba(245,237,219,.96);
  backdrop-filter:blur(8px);
}

.moderation-tabs button{
  min-width:0;
  white-space:normal;
}

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

.moderation-workspace{
  display:grid;
  gap:10px;
  min-width:0;
}

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

.moderation-section-heading h3,
.moderation-section-heading h4{
  margin:0;
}

.moderation-section-heading p{
  margin:3px 0 0;
  color:#6b7280;
  font-size:12px;
  font-weight:750;
}

.moderation-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 180px 180px auto;
  gap:9px;
  margin-bottom:12px;
}

.moderation-toolbar input,
.moderation-toolbar select{
  width:100%;
  min-height:40px;
  border:1px solid rgba(119,79,28,.25);
  border-radius:10px;
  padding:0 11px;
  background:rgba(255,253,247,.95);
  color:#302014;
  font-weight:850;
}

.moderation-report-list{
  display:grid;
  gap:10px;
}

.moderation-report{
  grid-template-columns:minmax(0,1fr);
  padding:14px;
  border-radius:12px;
}

.moderation-report.is-resolved{
  opacity:.82;
  background:rgba(248,250,252,.72);
}

.moderation-report-head{
  align-items:center;
}

.moderation-report-identity{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}

.moderation-report-meta{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
  color:#6b7280;
  font-size:11px;
  font-weight:800;
}

.moderation-report-decision{
  padding:9px 11px;
  border-radius:10px;
  background:rgba(220,252,231,.7);
  border:1px solid rgba(22,163,74,.2);
  color:#166534;
  font-size:12px;
  font-weight:850;
}

.moderation-report-actions{
  padding-top:10px;
  border-top:1px solid rgba(119,79,28,.12);
}

.moderation-action-group{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
  padding-right:9px;
  border-right:1px solid rgba(119,79,28,.16);
}

.moderation-action-group:last-child{
  border-right:0;
}

.moderation-account-list{
  display:grid;
  gap:8px;
}

.moderation-account-row{
  display:grid;
  grid-template-columns:auto minmax(160px,1fr) minmax(180px,1fr) auto;
  gap:11px;
  align-items:center;
  padding:10px 11px;
  border:1px solid rgba(119,79,28,.15);
  border-radius:11px;
  background:rgba(255,255,255,.68);
}

.moderation-account-state{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.moderation-state-badge{
  padding:4px 7px;
  border-radius:999px;
  background:#e5e7eb;
  color:#4b5563;
  font-size:10px;
  font-weight:950;
}

.moderation-state-badge.is-ban{background:#fee2e2;color:#b91c1c}
.moderation-state-badge.is-mute{background:#ffedd5;color:#c2410c}
.moderation-state-badge.is-team{background:#dbeafe;color:#1d4ed8}

.moderation-quick-list{
  display:grid;
  gap:7px;
}

.moderation-quick-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid rgba(119,79,28,.13);
  border-radius:10px;
  background:rgba(255,255,255,.62);
}

.moderation-empty{
  padding:22px 14px;
  text-align:center;
  border:1px dashed rgba(119,79,28,.24);
  border-radius:11px;
  color:#6b7280;
  font-weight:850;
}

@media (max-width:900px){
  .moderation-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .moderation-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .moderation-dashboard-grid,.moderation-settings-grid{grid-template-columns:1fr}
  .moderation-toolbar{grid-template-columns:1fr 1fr}
  .moderation-account-row{grid-template-columns:auto minmax(0,1fr) auto}
  .moderation-account-row>div:nth-child(3){grid-column:2/4}
}

@media (max-width:580px){
  .moderation-summary-grid,.moderation-toolbar{grid-template-columns:1fr}
  .moderation-tabs{grid-template-columns:repeat(2,minmax(0,1fr));position:static}
  .moderation-report-head,.moderation-account-row{grid-template-columns:1fr;display:grid}
  .moderation-action-group{border-right:0;padding-right:0}
}

.account-privacy-intro{
  padding:11px 13px;
  border-radius:13px;
  background:linear-gradient(135deg,rgba(219,234,254,.78),rgba(255,255,255,.55));
  color:#334155;
  font-weight:850;
}

#accountProfileModal .privacy-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
}

#accountProfileModal .privacy-group{
  align-content:start;
  min-height:auto;
}

#accountProfileModal .account-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:14px;
  padding:8px;
  border:1px solid rgba(122,84,35,.22);
  border-radius:14px;
  background:rgba(255,250,238,.72);
}

#accountProfileModal .account-tabs button{
  border:0;
  border-radius:10px;
  padding:10px 14px;
  font-weight:900;
  color:#5b3a1c;
  background:transparent;
  cursor:pointer;
}

#accountProfileModal .account-tabs button.active{
  color:#fff;
  background:linear-gradient(135deg,#2f6df0,#1d55ca);
  box-shadow:0 8px 18px rgba(47,109,240,.22);
}

#accountProfileModal [data-account-section].hidden{
  display:none;
}

#accountProfileModal .account-warning-list{
  display:grid;
  gap:10px;
}

#accountProfileModal .account-warning-item{
  padding:12px;
  border:1px solid rgba(190,92,24,.25);
  border-radius:12px;
  background:rgba(255,246,225,.82);
}

#accountProfileModal .account-warning-item strong{
  display:block;
  color:#7b2e16;
}

.dialog-counter{
  display:block;
  margin:8px 18px 0;
  color:#6b7280;
  font-weight:850;
  text-align:right;
}

.auth-widget #openLogin{
  background:rgba(37,99,235,.92)!important;
}

.auth-widget #openRegister{
  background:rgba(202,105,12,.92)!important;
}

.auth-widget .auth-danger-btn{
  color:#fef2f2!important;
}

.auth-user-chip{
  padding:5px 10px;
  border-right:1px solid rgba(255,255,255,.12);
}

.auth-user-chip span{
  color:rgba(255,234,178,.78);
  font-size:10px;
  letter-spacing:.02em;
}

.achievement-summary{
  border-radius:18px;
  padding:14px;
  background:
    radial-gradient(circle at 0% 0%,rgba(250,204,21,.16),transparent 30%),
    rgba(255,255,255,.76);
}

.achievement-cats{
  gap:9px;
}

.achievement-cat{
  position:relative;
  overflow:hidden;
  min-height:54px;
  align-items:flex-start;
  padding:10px 12px 14px;
  border-color:rgba(120,73,21,.14);
}

.achievement-cat i{
  position:absolute;
  left:12px;
  right:12px;
  bottom:7px;
  height:4px;
  border-radius:999px;
  background:rgba(82,54,21,.14);
  overflow:hidden;
}

.achievement-cat i::before{
  content:"";
  display:block;
  width:var(--cat-progress);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#f59e0b,#fde68a);
}

.achievement-card{
  border-radius:16px;
  padding:14px;
  border-color:rgba(120,73,21,.14);
}

.achievement-card.unlocked{
  background:
    radial-gradient(circle at 0% 0%,rgba(250,204,21,.16),transparent 28%),
    rgba(255,255,255,.82);
}

.achievement-card.locked{
  opacity:1;
  filter:saturate(.62);
  background:rgba(246,241,232,.62);
}

.achievement-card h3{
  font-size:16px;
  margin-bottom:4px;
}

.achievement-card p{
  font-size:12px;
}

.gallery-section{
  border-color:rgba(120,73,21,.18);
  background:linear-gradient(180deg,rgba(255,253,246,.82),rgba(246,232,203,.56));
  box-shadow:0 14px 32px rgba(80,48,12,.06),inset 0 1px 0 rgba(255,255,255,.52);
}

.gallery-global-grid{
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
}

.gallery-global-card{
  padding:10px 11px;
  border-color:rgba(120,73,21,.14);
  background:rgba(255,255,255,.58);
}

.gallery-global-card span{
  font-size:10px;
  color:#7a5a31;
}

.gallery-global-card strong{
  font-size:16px;
}

.gallery-card{
  border-color:rgba(120,73,21,.18);
  box-shadow:0 12px 26px rgba(80,48,12,.07),inset 0 1px 0 rgba(255,255,255,.52);
}

.gallery-card.locked{
  min-height:96px;
  background:linear-gradient(180deg,rgba(238,234,226,.74),rgba(212,205,192,.48));
}

.gallery-card.locked p:not(:first-of-type){
  display:none;
}

.gallery-event-category{
  border-color:rgba(120,73,21,.16);
  background:rgba(255,255,255,.42);
}

.gallery-event-category summary{
  background:linear-gradient(90deg,rgba(255,246,214,.76),rgba(255,255,255,.42));
}

.gallery-collection-entry{
  border-color:rgba(184,122,24,.24);
  background:linear-gradient(135deg,rgba(255,248,223,.94),rgba(239,248,255,.66));
}

.gallery-empty,
.community-profile-empty{
  background:rgba(255,255,255,.50);
  color:#64748b;
}

.community-profile-empty strong{
  display:block;
  color:#3b2a16;
  font-size:14px;
}

.community-profile-empty span{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:12px;
}

.completion-modal{
  width:min(920px,calc(100vw - 24px))!important;
  max-height:min(90vh,780px);
  background:linear-gradient(180deg,rgba(255,248,232,.98),rgba(246,229,194,.97));
  border-color:rgba(122,78,24,.84);
  box-shadow:0 30px 90px rgba(0,0,0,.64),0 0 0 1px rgba(255,238,170,.34) inset;
  overflow:hidden;
}
#pykurCompletionModal.modal-bg{
  background:rgba(18,12,7,.78);
  backdrop-filter:blur(7px) saturate(.85);
}
.completion-modal::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 20%,rgba(250,204,21,.22),transparent 34%),
    radial-gradient(circle at 12% 80%,rgba(56,189,248,.10),transparent 32%);
}
.completion-modal .modal-head{
  padding:12px 18px;
  background:linear-gradient(180deg,#6f4217,#2e190c);
  border-bottom:1px solid rgba(255,226,154,.24);
}
.completion-modal .modal-body{
  padding:22px;
  overflow:auto;
}
.completion-modal .modal-foot{
  min-height:72px;
  padding:18px 22px 22px;
  gap:12px;
  background:linear-gradient(180deg,rgba(255,248,232,.50),rgba(238,208,147,.44));
}
.completion-modal #completionArchiveRestart{
  min-width:240px;
  filter:brightness(1.06);
}
.completion-modal .modal-foot .btn-gray{
  min-width:120px;
  opacity:.88;
}
.completion-shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(240px,310px) 1fr;
  gap:20px;
  align-items:stretch;
}
.completion-hero{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(216,155,23,.42);
  border-radius:18px;
  padding:20px 18px;
  text-align:center;
  background:linear-gradient(180deg,rgba(255,246,214,.72),rgba(255,255,255,.30));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 18px 38px rgba(80,48,12,.14);
}
.completion-pykur-wrap{
  position:relative;
  display:grid;
  place-items:center;
  min-height:250px;
  isolation:isolate;
}
.completion-pykur-wrap::before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(250,204,21,.34),rgba(250,204,21,.12) 48%,transparent 72%);
  box-shadow:0 0 48px rgba(250,204,21,.34);
  animation:completionAura 3.6s ease-in-out infinite;
  z-index:-1;
}
.completion-pykur{
  width:190px;
  max-width:80%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 14px 16px rgba(53,33,12,.24)) drop-shadow(0 0 32px rgba(250,204,21,.58));
  animation:completionPykurFloat 4.2s ease-in-out infinite;
}
.completion-title-label{
  margin-top:2px;
  color:#7a4c14;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.completion-title-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:4px;
  padding:10px 16px;
  border-radius:999px;
  color:#3b2408;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.4px;
  background:linear-gradient(180deg,#fff8c9,#facc15 48%,#b7791f);
  border:1px solid rgba(121,75,10,.34);
  box-shadow:0 10px 22px rgba(176,110,18,.22),inset 0 1px 0 rgba(255,255,255,.62);
}
#completionTitle{
  color:#1f1408;
}
.completion-subtitle{
  margin:4px 0 0;
  color:rgba(255,247,214,.88);
  font-weight:800;
}
.completion-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-content:start;
}
.completion-stat{
  min-height:82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(119,79,28,.34);
  border-radius:14px;
  padding:12px 14px;
  background:linear-gradient(180deg,rgba(255,252,242,.84),rgba(242,223,184,.62));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 22px rgba(80,48,12,.08);
}
.completion-stat span{
  display:block;
  color:#74512a;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  line-height:1.2;
}
.completion-stat strong{
  display:block;
  margin-top:6px;
  color:var(--text);
  font-size:19px;
  line-height:1.15;
}
.completion-stat.featured{
  border-color:rgba(184,122,24,.54);
  background:linear-gradient(180deg,rgba(255,242,179,.92),rgba(243,199,82,.62));
}
.completion-stat.featured strong{color:#9a5b00;font-size:22px}
.completion-stat .method-pill{width:max-content;max-width:100%;margin-top:6px}
.completion-sparkle{
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(250,204,21,.95);
  box-shadow:0 0 13px rgba(250,204,21,.78);
  animation:completionSparkle 2.4s ease-in-out infinite;
}
@keyframes completionAura{
  0%,100%{opacity:.52;transform:scale(.96)}
  50%{opacity:.82;transform:scale(1.04)}
}
@keyframes completionPykurFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes completionSparkle{
  0%,100%{opacity:0;transform:translateY(8px) scale(.55)}
  35%,70%{opacity:.8}
  70%{transform:translateY(-10px) scale(1)}
}
@media(max-width:760px){
  .completion-shell{grid-template-columns:1fr}
  .completion-stats{grid-template-columns:1fr}
  .completion-modal .modal-body{padding:16px}
  .completion-modal .modal-foot{flex-direction:column;padding:14px 16px 18px}
  .completion-modal #completionArchiveRestart,.completion-modal .modal-foot .btn-gray{width:100%;min-width:0}
}
@media(max-height:720px) and (min-width:761px){
  .completion-modal{max-height:94vh}
  .completion-pykur-wrap{min-height:210px}
  .completion-pykur{width:168px}
  .completion-stat{min-height:72px;padding:10px 12px}
  .completion-modal .modal-body{padding:16px 20px}
}
@media(max-width:760px){
  .living-admin-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== Finition du tableau principal ===== */
.main{
  gap:14px!important;
}

.profile-row{
  min-height:66px;
  padding:12px 14px!important;
  border-color:rgba(126,91,43,.28)!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.30),transparent 62%),
    var(--surface-soft)!important;
}

.profile-row label{
  color:var(--text)!important;
  font-size:15px!important;
  font-weight:900!important;
}

.profile-row select{
  min-height:42px;
  border-width:2px;
  border-color:rgba(126,91,43,.46);
  background:rgba(255,252,243,.78);
  font-weight:800;
}

.hero{
  padding:18px!important;
  border-color:rgba(126,91,43,.34)!important;
  background:
    linear-gradient(135deg,rgba(255,253,247,.72),rgba(255,247,226,.40)),
    var(--surface-soft)!important;
}

.hero::before{
  background:linear-gradient(105deg,rgba(255,255,255,.46),transparent 60%)!important;
}

.hero::after{
  opacity:.075!important;
  background-size:min(42%,310px)!important;
  background-position:70% 48%!important;
}

.farm-command-head{
  min-height:74px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(126,91,43,.24);
}

.farm-command-head .run-command-grid{
  flex:1 1 auto!important;
  width:auto!important;
  margin:0!important;
  justify-content:flex-start!important;
  flex-direction:row!important;
  gap:12px!important;
}

.farm-command-head > .farm-select-wrap{
  flex:0 0 auto;
  width:min(340px,48%);
  margin-left:auto;
}

.farm-select-wrap > span{
  color:var(--text)!important;
  font-size:11px!important;
  text-align:left;
}

.farm-toggle{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(86px,1fr))!important;
  gap:6px!important;
  padding:5px!important;
  border:1px solid rgba(126,91,43,.38)!important;
  border-radius:12px!important;
  background:
    linear-gradient(135deg,rgba(255,252,243,.86),rgba(246,229,192,.58))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.70),0 6px 14px rgba(72,43,14,.06)!important;
}

.farm-choice{
  min-width:0!important;
  min-height:36px!important;
  padding:6px 8px!important;
  border-radius:8px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  overflow:hidden;
  border:1px solid transparent!important;
  background:rgba(255,255,255,.36)!important;
  line-height:1.05!important;
  text-align:center!important;
  white-space:normal!important;
}

.farm-choice img{
  width:22px;
  height:22px;
  object-fit:contain;
  filter:drop-shadow(0 3px 5px rgba(58,32,10,.18));
  flex:0 0 auto;
}

.farm-choice span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.farm-choice[data-farm-choice="morose"]{background:linear-gradient(135deg,rgba(219,234,254,.72),rgba(255,255,255,.30))!important;border-color:rgba(96,165,250,.26)!important}
.farm-choice[data-farm-choice="tynril"]{background:linear-gradient(135deg,rgba(220,252,231,.64),rgba(255,255,255,.30))!important;border-color:rgba(74,222,128,.22)!important}
.farm-choice[data-farm-choice="donjonAbraknyde"]{background:linear-gradient(135deg,rgba(254,243,199,.76),rgba(255,255,255,.30))!important;border-color:rgba(217,119,6,.24)!important}
.farm-choice[data-farm-choice="cheneMou"]{background:linear-gradient(135deg,rgba(220,252,231,.70),rgba(255,255,255,.30))!important;border-color:rgba(34,197,94,.24)!important}
.farm-choice[data-farm-choice="salleAbrakne"]{background:linear-gradient(135deg,rgba(255,237,213,.78),rgba(255,255,255,.30))!important;border-color:rgba(234,88,12,.24)!important}

.farm-choice.active{
  color:#fff!important;
  border-color:rgba(255,255,255,.55)!important;
  background:linear-gradient(#60a5fa,#2563eb)!important;
  box-shadow:0 6px 14px rgba(37,99,235,.22), inset 0 1px 0 rgba(255,255,255,.25)!important;
}

.farm-choice.active img{
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.24));
}

.farm-command-head #plus{
  min-width:154px!important;
  height:66px!important;
  border-color:rgba(7,94,40,.34)!important;
  box-shadow:0 9px 18px rgba(22,128,58,.18)!important;
}

.farm-command-head #minus{
  min-width:72px!important;
  width:72px!important;
  height:66px!important;
  border-color:rgba(127,29,29,.32)!important;
  box-shadow:0 9px 18px rgba(180,35,24,.14)!important;
}

.action-groups{
  margin-top:14px!important;
  gap:10px!important;
}

.action-group{
  min-height:82px;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px!important;
  align-content:start;
  padding:10px!important;
  border-color:rgba(126,91,43,.24)!important;
  background:rgba(255,255,255,.22)!important;
}

.action-group-title{
  grid-column:1 / -1;
  min-height:16px;
  color:#5d4226!important;
  font-size:11px!important;
}

.action-group .btn{
  min-width:0!important;
  min-height:38px!important;
  padding:7px 9px!important;
  background:rgba(255,255,255,.34)!important;
}

.danger-group{
  grid-template-columns:1fr;
  background:rgba(180,35,24,.025)!important;
}

.dungeon-summary{
  gap:12px!important;
}

.dungeon-card{
  position:relative;
  padding:15px!important;
  overflow:hidden;
}

.dungeon-card::after{
  content:"";
  position:absolute;
  right:12px;
  top:10px;
  width:118px;
  height:118px;
  background:var(--dungeon-art,none) center/contain no-repeat;
  opacity:.095;
  pointer-events:none;
  filter:drop-shadow(0 8px 12px rgba(61,37,13,.14));
}

.dungeon-card > *{
  position:relative;
  z-index:1;
}

.dungeon-card h3{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:29px;
  margin:0 0 10px!important;
  padding-bottom:9px;
  border-bottom:1px solid rgba(126,91,43,.20);
  color:var(--text);
  font-size:17px!important;
}

.dungeon-card .dungeon-mini{
  min-height:66px;
  border-radius:10px!important;
  background:rgba(255,255,255,.44)!important;
}

.dungeon-card .dungeon-mini.full{
  min-height:70px;
  margin-top:8px;
}

.dungeon-value{
  margin-top:3px;
  font-size:23px!important;
  line-height:1.08;
}

.dungeon-mini.full .dungeon-value{
  font-size:20px!important;
}

.dungeon-variant-select{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid rgba(126,91,43,.20);
  border-radius:12px;
  background:rgba(255,252,242,.64);
  color:#5a3a1b;
  font-weight:950;
}
.dungeon-variant-select span{
  font-size:11px;
  text-transform:uppercase;
  color:#7b5628;
}
.dungeon-variant-select select{
  min-width:0;
  width:100%;
  border:1px solid rgba(126,91,43,.30);
  border-radius:10px;
  background:rgba(255,255,255,.76);
  padding:8px 10px;
  color:#2b1608;
  font-weight:950;
}

.dungeon-card.active-farm{
  border-width:2px!important;
}

.dungeon-donjonAbraknyde{
  border-color:rgba(132,83,36,.32)!important;
  background:
    radial-gradient(circle at 8% 0,rgba(132,83,36,.20),transparent 34%),
    radial-gradient(circle at 94% 100%,rgba(34,197,94,.10),transparent 40%),
    linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.08))!important;
}
.dungeon-cheneMou{
  border-color:rgba(22,128,58,.32)!important;
  background:
    radial-gradient(circle at 88% 0,rgba(22,128,58,.18),transparent 36%),
    radial-gradient(circle at 0 100%,rgba(250,204,21,.10),transparent 40%),
    linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.08))!important;
}
.dungeon-salleAbrakne{
  border-color:rgba(202,138,4,.38)!important;
  background:
    radial-gradient(circle at 8% 0,rgba(250,204,21,.18),transparent 34%),
    radial-gradient(circle at 92% 100%,rgba(14,165,233,.10),transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.08))!important;
}
.dungeon-donjonBouftous{
  border-color:rgba(236,162,48,.34)!important;
  background:
    radial-gradient(circle at 9% 0,rgba(236,162,48,.20),transparent 34%),
    radial-gradient(circle at 92% 100%,rgba(250,204,21,.14),transparent 40%),
    linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08))!important;
}
.dungeon-donjonSquelettes{
  border-color:rgba(126,91,43,.30)!important;
  background:
    radial-gradient(circle at 8% 0,rgba(126,91,43,.17),transparent 34%),
    radial-gradient(circle at 92% 100%,rgba(148,163,184,.15),transparent 40%),
    linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08))!important;
}
.dungeon-donjonBlops{
  border-color:rgba(236,72,153,.30)!important;
  background:
    radial-gradient(circle at 8% 0,rgba(236,72,153,.18),transparent 34%),
    radial-gradient(circle at 92% 100%,rgba(34,211,238,.14),transparent 40%),
    linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08))!important;
}
.dungeon-antreBlopMulticolore{
  border-color:rgba(168,85,247,.34)!important;
  background:
    radial-gradient(circle at 8% 0,rgba(168,85,247,.18),transparent 34%),
    radial-gradient(circle at 92% 100%,rgba(250,204,21,.15),transparent 40%),
    linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08))!important;
}

.pp-summary-card{
  min-height:88px!important;
  padding:16px 20px!important;
}

.pp-summary-label{
  font-size:15px!important;
}

.pp-summary-card #prospection{
  font-size:38px!important;
}

.quick-projection{
  min-height:116px!important;
  padding:15px 18px!important;
  gap:18px!important;
}

.quick-projection-value{
  min-height:0!important;
  font-size:18px!important;
}

.quick-projection-lines{
  gap:5px!important;
}

.quick-projection-run{
  max-width:590px!important;
  min-height:27px!important;
}

.quick-projection #projectionButton{
  min-width:118px!important;
  min-height:42px!important;
  background:rgba(255,255,255,.62)!important;
}

.quick-projection.quick-projection-multi,
body[data-familiar="abra-kadabra"] .quick-projection{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(106px,126px)!important;
  align-items:start!important;
  min-height:160px!important;
  padding:14px 16px!important;
  gap:12px!important;
  overflow:visible!important;
}

.quick-projection.quick-projection-multi .quick-projection-copy,
body[data-familiar="abra-kadabra"] .quick-projection-copy{
  min-width:0!important;
}

.quick-projection.quick-projection-multi .quick-projection-value,
body[data-familiar="abra-kadabra"] .quick-projection-value{
  display:block!important;
  min-height:auto!important;
  font-size:17px!important;
  line-height:1.18!important;
  overflow:visible!important;
}

.quick-projection.quick-projection-multi .quick-projection-lines,
body[data-familiar="abra-kadabra"] .quick-projection-lines{
  display:grid!important;
  gap:7px!important;
}

.quick-projection.quick-projection-multi .quick-projection-run,
body[data-familiar="abra-kadabra"] .quick-projection-run{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  max-width:none!important;
  min-height:24px!important;
}

.quick-projection.quick-projection-multi .quick-projection-run > span:first-child,
body[data-familiar="abra-kadabra"] .quick-projection-run > span:first-child{
  min-width:0!important;
  overflow-wrap:anywhere;
}

.quick-projection.quick-projection-multi .quick-projection-gain,
body[data-familiar="abra-kadabra"] .quick-projection-gain{
  justify-self:end!important;
  align-self:center!important;
  font-size:11px!important;
  padding:3px 7px!important;
  white-space:nowrap!important;
}

.quick-projection.quick-projection-multi .quick-projection-hint,
body[data-familiar="abra-kadabra"] .quick-projection-hint{
  margin-top:6px!important;
}

.quick-projection.quick-projection-multi #projectionButton,
body[data-familiar="abra-kadabra"] .quick-projection #projectionButton{
  min-width:106px!important;
  width:100%!important;
}

.dashboard-bottom-actions{
  gap:10px!important;
  margin-top:0!important;
}

body.night .profile-row select,
body.night .farm-toggle,
body.night .action-group .btn,
body.night .quick-projection #projectionButton{
  background:rgba(255,255,255,.07)!important;
}

body.night .action-group,
body.night .dungeon-card .dungeon-mini{
  background:rgba(255,255,255,.045)!important;
}

@media(max-width:900px){
  .farm-command-head{
    align-items:stretch!important;
  }
  .farm-command-head > .farm-select-wrap{
    width:100%;
    margin-left:0;
  }
  .action-groups{
    grid-template-columns:1fr!important;
  }
  .action-group{
    min-height:0;
  }
}

@media(max-width:560px){
  .hero{
    padding:14px!important;
  }
  .farm-command-head .run-command-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 68px;
  }
  .farm-command-head #plus,
  .farm-command-head #minus{
    width:100%!important;
    min-width:0!important;
    height:58px!important;
  }
  .action-group{
    grid-template-columns:1fr!important;
  }
  .action-group-title{
    grid-column:1;
  }
  .quick-projection{
    grid-template-columns:1fr!important;
  }
  .quick-projection #projectionButton{
    width:100%!important;
  }
}

/* Social PNG controls: the artwork is the button, without a colored tile. */
.social-image-button,
.social-action-button,
.auth-widget .social-image-button,
.auth-widget .social-action-button,
.community-profile-hero-actions .social-action-button,
.community-friend-actions .social-action-button,
.friend-row-actions .social-action-button{
  width:58px!important;
  min-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  padding:0!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.social-image-button::before,
.social-action-button::before{
  display:none!important;
}

.social-image-button:hover,
.social-image-button:focus-visible,
.social-action-button:hover,
.social-action-button:focus-visible,
.auth-widget .social-image-button:hover,
.auth-widget .social-action-button:hover{
  background:transparent!important;
  box-shadow:none!important;
}

.social-image-button img,
.social-action-button img{
  width:100%!important;
  height:100%!important;
  object-fit:contain;
}

.auth-menu-panel{
  grid-template-columns:repeat(2,58px);
  gap:8px;
  min-width:142px;
  padding:10px 12px;
}

.auth-menu-panel .social-image-button{
  width:58px!important;
  min-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  padding:0!important;
}

.auth-menu-panel .auth-danger-btn{
  grid-column:1/-1;
  width:100%!important;
  min-height:34px!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.1)!important;
  border:1px solid rgba(255,255,255,.18)!important;
}

/* User panel: a light parchment extension of the tracker shell. */
.admin-console-modal{
  width:min(1180px,96vw)!important;
  height:min(900px,94vh)!important;
  max-width:none!important;
}
.admin-console-modal .modal-body{padding:0!important;overflow:hidden!important}
.admin-console-shell{display:grid;grid-template-columns:210px minmax(0,1fr);height:100%;min-height:0;background:rgba(246,238,220,.94)}
.admin-console-nav{display:flex;flex-direction:column;gap:5px;padding:16px 12px;border-right:1px solid rgba(119,79,28,.2);background:linear-gradient(180deg,rgba(102,62,22,.1),rgba(255,252,242,.42))}
.admin-console-nav button{min-height:42px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:#4b2f19;text-align:left;font-weight:900;cursor:pointer}
.admin-console-nav button:hover{background:rgba(180,123,35,.1)}
.admin-console-nav button.active{background:#81501b;color:#fff;box-shadow:inset 3px 0 #facc15}
.admin-console-content{min-width:0;min-height:0;overflow:auto;padding:18px}
.admin-console-panel{display:none}
.admin-console-panel.active{display:block}
.admin-console-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.admin-console-heading h3{margin:0 0 3px;font-size:20px}
.admin-console-heading p{margin:0;color:#725130;font-size:12px}
.admin-console-loading,.admin-console-empty{padding:26px;border:1px dashed rgba(119,79,28,.3);border-radius:10px;color:#725130;text-align:center;background:rgba(255,252,242,.48)}
.admin-dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.admin-metric-card,.admin-server-card,.admin-target-card,.admin-action-group{padding:14px;border:1px solid rgba(119,79,28,.2);border-radius:10px;background:rgba(255,253,247,.8);box-shadow:0 5px 15px rgba(75,45,14,.05)}
.admin-metric-card small,.admin-target-meta small{display:block;color:#86633d;font-weight:900;text-transform:uppercase;font-size:10px}
.admin-metric-card strong{display:block;margin-top:5px;font-size:24px;color:#352113}
.admin-server-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-server-card h4,.admin-action-group h4{margin:0 0 10px}
.admin-server-card p{margin:5px 0;color:#684725}
.admin-user-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-bottom:14px}
.admin-user-search input,.admin-event-settings input,.admin-target-notification textarea,.admin-target-event select,.admin-target-event input,.admin-duration-grid input,.admin-duration-grid select{width:100%;border:1px solid rgba(119,79,28,.3);border-radius:9px;background:#fffdf7;padding:10px 12px;font:inherit}
.admin-target-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:12px}
.admin-target-head h3{margin:0 0 4px}
.admin-permission-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e5e7eb;color:#374151;font-size:10px;font-weight:900;text-transform:uppercase}
.admin-permission-badge.admin{background:#fee2e2;color:#b91c1c}.admin-permission-badge.moderator{background:#ffedd5;color:#c2410c}
.admin-profile-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.admin-profile-option{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid rgba(119,79,28,.18);border-radius:8px;background:rgba(255,255,255,.58)}
.admin-profile-option span{min-width:0}.admin-profile-option small{display:block;color:#795834}
.admin-target-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.admin-action-buttons{display:flex;flex-wrap:wrap;gap:7px}
.admin-action-group.danger{border-color:rgba(185,28,28,.3);background:rgba(254,226,226,.42)}
.admin-target-notification textarea{min-height:76px;resize:vertical;margin-bottom:8px}
.admin-target-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.admin-target-event+.admin-target-event{margin-top:8px}
.admin-duration-grid{display:grid;gap:10px}
.admin-duration-fields{display:grid;grid-template-columns:84px 100px minmax(0,1fr);gap:8px;align-items:center}
.admin-duration-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
.admin-duration-actions .btn{width:100%;min-width:0;white-space:normal;line-height:1.15}
.admin-target-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:14px;padding:14px;border:1px solid rgba(119,79,28,.2);border-radius:14px;background:linear-gradient(135deg,rgba(255,251,238,.92),rgba(243,224,184,.68))}
.admin-target-identity{display:flex;align-items:center;gap:13px;min-width:0}
.admin-target-identity .avatar{width:54px;height:54px;flex:0 0 54px}
.admin-target-identity h3{margin:0 0 4px;font-size:22px}
.admin-status-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.admin-status-chip{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;border:1px solid transparent}
.admin-status-chip.ok{background:#dcfce7;color:#166534;border-color:#86efac}
.admin-status-chip.info{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}
.admin-status-chip.warn{background:#fef3c7;color:#92400e;border-color:#facc15}
.admin-status-chip.danger{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.admin-target-section{margin:12px 0;padding:12px;border:1px solid rgba(119,79,28,.16);border-radius:12px;background:rgba(255,255,255,.42)}
.admin-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.admin-section-title h4{margin:0;font-size:16px}
.admin-section-title span{color:#85633d;font-size:11px;font-weight:900;text-transform:uppercase}
.admin-target-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.admin-target-sections .admin-action-group{min-width:0}
.admin-span-2{grid-column:1/-1}
.admin-profile-tools{display:grid;gap:12px}
.admin-avatar-editor{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid rgba(119,79,28,.16);border-radius:12px;background:rgba(255,252,242,.55)}
.admin-avatar-preview .avatar{width:68px;height:68px}
.admin-avatar-fields{display:grid;gap:8px}
.admin-avatar-fields input,.admin-restriction-grid+div input,.admin-action-group>input{width:100%;border:1px solid rgba(119,79,28,.3);border-radius:9px;background:#fffdf7;padding:10px 12px;font:inherit}
.admin-restriction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border:1px solid rgba(119,79,28,.16);border-radius:12px;background:rgba(255,252,242,.55)}
.admin-restriction-grid label{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 9px;border:1px solid rgba(119,79,28,.12);border-radius:9px;background:rgba(255,255,255,.55);font-size:12px;font-weight:900;color:#4a3019}
.admin-split-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-split-actions h5{margin:0 0 8px;color:#6d4b27;font-size:12px;text-transform:uppercase}
.admin-danger-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(185,28,28,.18)}
.admin-event-settings{display:grid;grid-template-columns:auto repeat(2,minmax(120px,180px)) auto auto;gap:10px;align-items:end;margin-bottom:14px;padding:14px;border:1px solid rgba(119,79,28,.2);border-radius:10px;background:rgba(255,253,247,.78)}
.admin-event-settings label{font-size:11px;font-weight:900;color:#624321}.admin-event-settings label span{display:block;margin-bottom:5px}
.admin-command-list{display:grid;gap:8px}.admin-command-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 12px;border:1px solid rgba(119,79,28,.17);border-radius:8px;background:rgba(255,255,255,.6)}
.admin-command-row small{display:block;color:#795834;margin-top:3px}.admin-command-status{align-self:center;padding:4px 8px;border-radius:999px;background:#e5e7eb;font-size:10px;font-weight:900}.admin-command-status.completed{background:#dcfce7;color:#166534}.admin-command-status.failed{background:#fee2e2;color:#991b1b}.admin-command-status.pending,.admin-command-status.delivered{background:#fef3c7;color:#92400e}
.admin-command-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.admin-command-actions .btn{padding:5px 8px;font-size:10px}
.admin-local-toolbar{margin-top:12px}
@media(max-width:850px){.admin-console-shell{grid-template-columns:1fr}.admin-console-nav{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid rgba(119,79,28,.2);padding:9px}.admin-console-nav button{white-space:nowrap}.admin-dashboard-metrics{grid-template-columns:repeat(2,1fr)}.admin-target-actions,.admin-target-sections,.admin-server-grid,.admin-profile-list,.admin-split-actions{grid-template-columns:1fr}.admin-event-settings{grid-template-columns:1fr 1fr}.admin-event-settings .btn{width:100%}.admin-duration-fields{grid-template-columns:1fr 1fr}.admin-duration-fields input:last-child{grid-column:1/-1}.admin-restriction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.admin-dashboard-metrics,.admin-event-settings,.admin-restriction-grid{grid-template-columns:1fr}.admin-console-content{padding:12px}.admin-duration-actions{grid-template-columns:1fr}.admin-target-hero,.admin-avatar-editor{grid-template-columns:1fr}.admin-target-identity{align-items:flex-start}}

.auth-widget{
  gap:5px;
  min-height:38px;
  padding:5px 6px;
  border:1px solid rgba(126,91,45,.34);
  border-radius:14px;
  background:
    linear-gradient(135deg,rgba(255,251,238,.96),rgba(239,220,181,.92)),
    repeating-linear-gradient(90deg,rgba(126,91,45,.025) 0 1px,transparent 1px 12px);
  box-shadow:0 7px 18px rgba(50,31,12,.14),inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(7px) saturate(1.04);
}

.auth-user-chip{
  min-width:78px;
  max-width:100px;
  padding:4px 7px;
  color:#382313;
}

.auth-user-chip.account-open{
  border-radius:8px;
}

.auth-user-chip.account-open:hover{
  background:rgba(151,105,45,.09);
}

.auth-user-chip strong{
  font-size:12px;
}

.auth-user-chip span{
  color:#8b5a18;
  font-size:9px;
}

.auth-user-chip strong::before{
  width:7px;
  height:7px;
  box-shadow:0 0 0 2px rgba(34,197,94,.13);
}

.auth-widget .auth-icon-btn{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  border:1px solid rgba(113,79,38,.2)!important;
  border-radius:9px!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22)!important;
  filter:saturate(.88);
}

.auth-widget .auth-icon-btn:hover{
  transform:translateY(-1px);
  filter:saturate(.96) brightness(1.04);
  box-shadow:0 4px 10px rgba(57,34,12,.12),inset 0 1px 0 rgba(255,255,255,.28)!important;
}

.auth-widget .auth-icon-btn.has-notification{
  border-color:rgba(197,139,20,.68)!important;
  box-shadow:0 0 0 2px rgba(250,204,21,.13),0 4px 10px rgba(83,53,12,.14)!important;
}

.auth-widget #authDirectMessages,
.auth-widget #authSocialMenu{
  background:linear-gradient(180deg,#3b82f6,#1d4ed8)!important;
  border-color:rgba(30,64,175,.58)!important;
  color:#fff!important;
  filter:none;
}

.auth-widget #authDirectMessages:hover,
.auth-widget #authSocialMenu:hover{
  background:linear-gradient(180deg,#60a5fa,#2563eb)!important;
  box-shadow:0 5px 12px rgba(37,99,235,.28),inset 0 1px 0 rgba(255,255,255,.3)!important;
}

.auth-notification-badge{
  top:-6px;
  right:-6px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border-width:1px;
  font-size:9px;
  box-shadow:0 3px 8px rgba(91,20,20,.24);
}

.auth-menu-panel{
  top:calc(100% + 5px);
  gap:7px;
  min-width:136px;
  padding:9px 10px;
  border:1px solid rgba(126,91,45,.3);
  border-radius:12px;
  background:
    linear-gradient(145deg,rgba(255,251,239,.98),rgba(235,214,173,.97)),
    repeating-linear-gradient(90deg,rgba(126,91,45,.025) 0 1px,transparent 1px 12px);
  box-shadow:0 9px 22px rgba(50,31,12,.17),inset 0 1px 0 rgba(255,255,255,.72);
}

.auth-menu-panel .auth-danger-btn{
  min-height:32px!important;
  color:#5d3920!important;
  border:1px solid rgba(126,91,45,.28)!important;
  border-radius:9px!important;
  background:rgba(255,250,237,.56)!important;
}

.auth-menu-panel .auth-danger-btn:hover{
  color:#8f241c!important;
  border-color:rgba(181,62,47,.32)!important;
  background:rgba(255,244,231,.84)!important;
}

@media(min-width:901px){
  .auth-widget{
    top:16px;
    right:16px;
    max-width:min(286px,calc(100vw - 32px));
  }
}

@media(max-width:900px){
  .auth-widget{
    padding:5px 7px;
    border-radius:12px;
    box-shadow:0 5px 14px rgba(50,31,12,.12),inset 0 1px 0 rgba(255,255,255,.7);
  }
}

.community-profile-hero{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  justify-content:initial;
  column-gap:16px;
  row-gap:8px;
}

.community-profile-hero > .community-avatar{
  grid-column:1;
  grid-row:1;
  width:54px;
  height:54px;
  align-self:center;
}

.community-profile-hero > div{
  grid-column:2;
  grid-row:1;
  min-width:0;
}

.community-profile-hero > .community-role-badge{
  grid-column:3;
  grid-row:1;
  align-self:center;
  justify-self:end;
  white-space:nowrap;
}

.community-profile-hero-actions,
.community-friend-actions{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin-top:8px;
  vertical-align:middle;
}

.community-profile-hero-actions + .community-friend-actions{
  margin-left:8px;
}

.friend-row-actions{
  flex-wrap:nowrap;
}

.message-profile-open{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  margin-right:6px;
}

@media(max-width:700px){
  .community-profile-hero{
    grid-template-columns:52px minmax(0,1fr);
    align-items:start;
    padding:14px;
  }
  .community-profile-hero > .community-avatar{
    width:48px;
    height:48px;
  }
  .community-profile-hero > .community-role-badge{
    grid-column:2;
    grid-row:2;
    justify-self:start;
    margin-top:4px;
  }
  .community-profile-hero-actions,
  .community-friend-actions{
    display:flex;
    width:100%;
    flex-wrap:wrap;
  }
  .community-profile-hero-actions + .community-friend-actions{
    margin-left:0;
  }
}

/* Profil communautaire et outils staff */
#communityProfileModal .modal{width:min(900px,94vw)}
#moderationModal .modal{width:min(980px,95vw)}
.community-profile-shell{display:grid;gap:0;border:1px solid rgba(116,77,30,.22);border-radius:14px;overflow:hidden;background:rgba(255,252,244,.74);box-shadow:0 12px 30px rgba(56,34,12,.08)}
.community-profile-shell.is-staff-view{border-color:rgba(184,75,55,.34)}
.community-staff-banner{display:flex;align-items:center;gap:12px;padding:9px 15px;background:linear-gradient(90deg,rgba(153,27,27,.94),rgba(194,65,12,.86));color:#fff}
.community-staff-banner span{font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em}
.community-staff-banner p{margin:0;font-size:11px;opacity:.88}
.community-profile-shell .community-profile-hero{border:0;border-radius:0;box-shadow:none;background:linear-gradient(135deg,rgba(255,252,243,.98),rgba(247,226,184,.82));padding:18px 20px}
.community-profile-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.community-profile-name-row h3{margin:0}
.community-profile-identity>p{margin:4px 0 0;color:#765126}
.community-profile-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.community-profile-meta span{padding:4px 8px;border:1px solid rgba(121,82,35,.18);border-radius:999px;background:rgba(255,255,255,.56);font-size:10px;font-weight:900;color:#765126}
.community-profile-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:12px 16px;border-top:1px solid rgba(121,82,35,.14);background:rgba(244,232,205,.62)}
.community-profile-toolbar-group{display:grid;gap:6px}
.community-profile-toolbar-group>small{font-size:9px;font-weight:1000;text-transform:uppercase;color:#846238}
.community-profile-toolbar-group>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.community-profile-toolbar .community-friend-actions{display:inline-flex;margin:0;gap:7px}
.community-profile-toolbar-group.is-staff{padding-left:14px;border-left:1px solid rgba(121,82,35,.18)}
.community-profile-tabs{display:flex;gap:6px;padding:6px;border:1px solid rgba(119,79,28,.2);border-radius:12px;background:rgba(244,234,214,.75);position:sticky;top:0;z-index:2}
.community-profile-tabs button{flex:1;min-height:38px;border:0;border-radius:8px;background:transparent;color:#63441f;font-weight:950;cursor:pointer}
.community-profile-tabs button:hover{background:rgba(255,255,255,.55)}
.community-profile-tabs button.is-active{background:#fffaf0;color:#1d4ed8;box-shadow:0 3px 10px rgba(61,39,15,.12)}
.community-profile-tabs button span{display:inline-flex;min-width:20px;justify-content:center;margin-left:5px;padding:2px 6px;border-radius:999px;background:#dbeafe;font-size:10px}
.community-profile-tab-panel{display:none}
.community-profile-tab-panel.is-active{display:grid;gap:12px}
.community-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 4px}
.community-section-heading small{display:block;color:#8b673d;font-weight:900;text-transform:uppercase;font-size:9px}
.community-section-heading h4{margin:2px 0 0;font-size:16px}
.community-section-heading>span{padding:5px 9px;border-radius:999px;background:#fef3c7;color:#7c4a03;font-size:11px;font-weight:950}
.community-collection-card{min-height:150px}

.moderation-workspace-tabs{display:flex;gap:6px;padding:6px;border-radius:12px;background:#eee3cc;border:1px solid rgba(107,72,31,.2)}
.moderation-workspace-tabs button{flex:1;min-height:38px;border:0;border-radius:8px;background:transparent;font-weight:950;color:#60421f;cursor:pointer}
.moderation-workspace-tabs button.is-active{background:#fffaf0;color:#b45309;box-shadow:0 4px 12px rgba(54,32,10,.12)}
.moderation-workspace-panel{display:none;gap:12px}.moderation-workspace-panel.is-active{display:grid}
.moderation-identity-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border-radius:13px;background:linear-gradient(135deg,#fffaf0,#f3dfb9);border:1px solid rgba(126,82,31,.22)}
.moderation-identity-card .chat-avatar{width:58px;height:58px}
.moderation-identity-card h3{margin:0;font-size:20px}.moderation-identity-card p{margin:4px 0 0;color:#765126}
.moderation-form-card{display:grid;gap:10px;padding:14px;border:1px solid rgba(119,79,28,.2);border-radius:12px;background:rgba(255,252,244,.8)}
.moderation-form-card h4,.moderation-form-card p{margin:0}.moderation-form-card p{font-size:11px;color:#745735}
.moderation-form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.moderation-form-row input,.moderation-form-card textarea{flex:1;min-width:180px}
.moderation-restriction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.moderation-restriction-grid label{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid rgba(119,79,28,.17);border-radius:10px;background:rgba(255,255,255,.55);font-weight:850}
.moderation-restriction-grid label span{display:grid;gap:2px}.moderation-restriction-grid small{font-size:10px;color:#6b7280;font-weight:700}
.moderation-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.moderation-pseudo-history{display:grid;gap:7px}.moderation-pseudo-history>div{display:grid;grid-template-columns:1fr auto;gap:6px;padding:9px;border-radius:9px;background:rgba(255,255,255,.55)}
.moderation-pseudo-history small{grid-column:1/-1;color:#7a5b36}
@media(max-width:700px){.community-profile-toolbar{align-items:stretch;flex-direction:column}.community-profile-toolbar-group.is-staff{padding:10px 0 0;border-left:0;border-top:1px solid rgba(121,82,35,.18)}.community-profile-tabs{overflow-x:auto}.community-profile-tabs button{min-width:120px}.moderation-workspace-tabs{overflow-x:auto}.moderation-workspace-tabs button{min-width:120px}.moderation-identity-card{grid-template-columns:auto 1fr}.moderation-identity-card>.community-role-badge{grid-column:2}.moderation-restriction-grid,.moderation-security-grid{grid-template-columns:1fr}}

/* ===== Phase finale de polish visuel et ergonomique ===== */
body{
  background:
    linear-gradient(90deg,rgba(12,8,4,.18),rgba(12,8,4,.035) 23%,rgba(12,8,4,.035) 77%,rgba(12,8,4,.18)),
    linear-gradient(180deg,rgba(255,210,128,.025),rgba(8,5,3,.08)),
    var(--familiar-bg,url("./assets/images/fond.webp")) center/var(--familiar-bg-size,cover) fixed no-repeat!important;
}
body.night{background:linear-gradient(rgba(0,0,0,.79),rgba(0,0,0,.79)),var(--familiar-bg,url("./assets/images/fond.webp")) center/var(--familiar-bg-size,cover) fixed no-repeat!important}

.app{
  background:
    repeating-linear-gradient(90deg,rgba(113,77,31,.022) 0 1px,transparent 1px 34px),
    repeating-linear-gradient(0deg,rgba(113,77,31,.018) 0 1px,transparent 1px 34px),
    rgba(234,214,179,.965)!important;
  border-color:rgba(112,76,32,.48)!important;
  box-shadow:
    0 28px 72px rgba(18,10,4,.43),
    0 0 0 1px rgba(255,244,215,.18),
    inset 0 1px 0 rgba(255,255,255,.60)!important;
}

.side > .card:first-child,
.profile-row,
.hero{
  border-color:rgba(112,76,34,.42)!important;
}

.dungeon-card,
.pp-summary-card,
.quick-projection,
.projection-card,
.stats-fantasy-card,
.hero,
.profile-row,
.side > .card:first-child{
  box-shadow:
    0 10px 24px rgba(74,46,14,.12),
    0 2px 5px rgba(74,46,14,.07),
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -1px 0 rgba(119,76,23,.10)!important;
}

.session-card{
  border-color:rgba(162,132,85,.40)!important;
  box-shadow:
    0 12px 26px rgba(20,14,8,.20),
    inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.dungeon-card::before,
.projection-card::before,
.pp-summary-card::before,
.quick-projection::before{
  opacity:.72;
}

.profile-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:9px!important;
  align-items:stretch!important;
  flex:0 0 auto!important;
  min-height:max-content;
}
.profile-select-line{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.profile-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.modal-bg.show .modal{
  animation:modalPolishIn .23s cubic-bezier(.2,.78,.24,1) both;
  transform-origin:center 46%;
}
@keyframes modalPolishIn{
  from{opacity:0;transform:translateY(12px) scale(.988)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){.modal-bg.show .modal{animation:none!important}}
body.no-anim .modal-bg.show .modal{animation:none!important}

.changelog-version-picker{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(139,96,42,.25);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(255,250,235,.88),rgba(244,224,183,.58));
  color:#4b2f17;
  font-size:13px;
  font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.changelog-version-picker select{width:100%;min-width:0;background:rgba(255,255,255,.72)}

.gallery-tabs{
  position:sticky;
  top:-16px;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:-4px 0 14px;
  padding:7px;
  border:1px solid rgba(126,83,31,.22);
  border-radius:12px;
  background:rgba(247,233,203,.96);
  box-shadow:0 7px 18px rgba(63,39,14,.10);
}
.gallery-tab{
  min-height:42px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#63421d;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.gallery-tab:hover{background:rgba(255,255,255,.52)}
.gallery-tab.active{
  color:#fff;
  border-color:rgba(31,87,190,.35);
  background:linear-gradient(180deg,#4f8df5,#2563eb);
  box-shadow:0 6px 14px rgba(37,99,235,.22),inset 0 1px 0 rgba(255,255,255,.35);
}
.gallery-events-heading{align-items:center}
.gallery-events-heading .gallery-collection-meter{min-width:min(310px,42%)}
.gallery-settings-section{display:grid;gap:12px}
.gallery-setting-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid rgba(126,83,31,.2);
  border-radius:10px;
  background:rgba(255,255,255,.55);
}
.gallery-setting-card span,.gallery-setting-card div{display:grid;gap:3px;min-width:0}
.gallery-setting-card small{color:#74522c;font-size:12px;font-weight:750;line-height:1.4}
.gallery-setting-danger{justify-content:space-between;border-color:rgba(185,28,28,.2);background:rgba(254,242,242,.55)}
.gallery-setting-future{display:grid;gap:4px;padding:14px;border:1px dashed rgba(126,83,31,.28);border-radius:10px;color:#74522c;background:rgba(255,250,235,.38)}

.chat-avatar{width:48px;height:48px;flex:0 0 48px}
.message-conversation-avatar{width:44px;height:44px}
.friend-avatar{width:50px;height:50px}
.message-conversation-main{grid-template-columns:46px minmax(0,1fr)}
.community-search-result,
.friend-row,
.online-user-row,
.message-conversation-row,
.chat-message{
  border-color:rgba(126,83,31,.19)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(250,240,217,.48));
  box-shadow:0 6px 15px rgba(68,42,14,.055),inset 0 1px 0 rgba(255,255,255,.62);
}
.community-search-result,
.friend-row{min-height:70px}
.community-search-result strong,
.friend-row strong,
.online-user-row strong,
.message-conversation strong,
.chat-message-body strong{font-size:15px;line-height:1.2}
.community-search-result small,
.friend-row small,
.online-user-row small,
.message-conversation small{font-size:11px;line-height:1.35}

.admin-broadcast-card{grid-column:1/-1;display:grid;gap:10px}
.admin-broadcast-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:9px;align-items:end}
.admin-broadcast-grid label{display:grid;gap:5px;color:#68451f;font-size:12px;font-weight:900}
.admin-broadcast-grid textarea{min-height:72px;resize:vertical;padding:10px 12px;border:1px solid rgba(126,83,31,.3);border-radius:9px;background:rgba(255,255,255,.72);font:inherit;font-weight:750}
.admin-broadcast-grid select{width:100%}

@media(max-width:760px){
  body,
  body.night{background-attachment:scroll!important}
  .profile-select-line{grid-template-columns:1fr;gap:5px}
  .profile-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .profile-actions .btn{width:100%;padding-inline:6px!important}
  .gallery-tabs{top:-16px}
  .gallery-events-heading{display:grid;gap:10px}
  .gallery-events-heading .gallery-collection-meter{min-width:0;width:100%}
  .gallery-setting-danger{align-items:stretch;flex-direction:column}
  .admin-broadcast-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .gallery-tabs{gap:4px;padding:5px}
  .gallery-tab{font-size:12px;min-height:38px}
  .profile-actions{grid-template-columns:1fr}
}

/* Staff workspaces: large, structured dashboards for administration and moderation. */
#livingEventAdmin,
#moderationOverviewModal{
  padding:14px!important;
}

#livingEventAdmin .admin-console-modal,
#moderationOverviewModal .moderation-console-modal{
  width:min(1500px,calc(100vw - 28px))!important;
  height:min(930px,calc(100vh - 28px))!important;
  max-width:none!important;
  max-height:none!important;
  border-width:1px;
  border-radius:13px;
  box-shadow:0 28px 80px rgba(20,12,5,.58),inset 0 1px 0 rgba(255,255,255,.52);
}

#livingEventAdmin .modal-head,
#moderationOverviewModal .modal-head{
  min-height:70px;
  padding:14px 20px;
}

#livingEventAdmin .modal-head h2,
#moderationOverviewModal .modal-head h2{
  font-size:25px;
}

#livingEventAdmin .modal-body,
#moderationOverviewModal .modal-body{
  min-height:0;
  padding:0!important;
  overflow:hidden!important;
}

#livingEventAdmin .modal-foot,
#moderationOverviewModal .modal-foot{
  min-height:48px;
  padding:7px 14px;
}

/* Centre de contrôle */
#livingEventAdmin .admin-console-shell{
  grid-template-columns:230px minmax(0,1fr);
  height:100%;
  min-height:0;
  background:
    linear-gradient(90deg,rgba(119,79,28,.04),transparent 25%),
    rgba(247,240,225,.96);
}

#livingEventAdmin .admin-console-nav{
  gap:7px;
  padding:20px 14px;
  overflow-y:auto;
  border-right:1px solid rgba(107,70,25,.22);
  background:
    linear-gradient(180deg,rgba(111,69,25,.14),rgba(255,252,242,.52)),
    repeating-linear-gradient(0deg,rgba(126,83,31,.025) 0 1px,transparent 1px 18px);
}

#livingEventAdmin .admin-console-nav button{
  min-height:46px;
  padding:0 15px;
  border:1px solid transparent;
  border-radius:8px;
  font-size:13px;
}

#livingEventAdmin .admin-console-nav button:hover{
  border-color:rgba(126,83,31,.14);
  background:rgba(255,255,255,.55);
}

#livingEventAdmin .admin-console-nav button.active{
  border-color:rgba(250,204,21,.36);
  background:linear-gradient(135deg,#8c571d,#6d3d13);
  box-shadow:inset 4px 0 #facc15,0 6px 14px rgba(73,42,12,.14);
}

#livingEventAdmin .admin-console-content{
  min-height:0;
  padding:24px 26px 30px;
  overflow:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
}

#livingEventAdmin .admin-console-heading{
  margin-bottom:18px;
  padding-bottom:13px;
  border-bottom:1px solid rgba(119,79,28,.16);
}

#livingEventAdmin .admin-console-heading h3{font-size:22px}
#livingEventAdmin .admin-console-heading p{font-size:13px;line-height:1.45}

#livingEventAdmin .admin-dashboard-metrics{
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:13px;
  margin-bottom:18px;
}

#livingEventAdmin .admin-metric-card,
#livingEventAdmin .admin-server-card,
#livingEventAdmin .admin-target-card,
#livingEventAdmin .admin-action-group{
  padding:17px;
  border-color:rgba(107,70,25,.22);
  border-radius:10px;
  background:rgba(255,253,247,.88);
  box-shadow:0 8px 22px rgba(72,43,13,.065),inset 0 1px 0 rgba(255,255,255,.7);
}

#livingEventAdmin .admin-metric-card{min-height:96px}
#livingEventAdmin .admin-metric-card strong{font-size:27px}
#livingEventAdmin .admin-metric-card span{
  display:block;
  margin-top:3px;
  color:#6b7280;
  font-size:11px;
  font-weight:800;
}
#livingEventAdmin .admin-metric-card.is-danger{
  border-color:rgba(185,28,28,.28);
  background:linear-gradient(135deg,rgba(255,247,237,.94),rgba(254,226,226,.6));
}
#livingEventAdmin .admin-metric-card.is-warning{
  border-color:rgba(217,119,6,.28);
  background:linear-gradient(135deg,rgba(255,251,235,.96),rgba(254,243,199,.62));
}

#livingEventAdmin .admin-server-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

#livingEventAdmin .admin-dashboard-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

#livingEventAdmin .admin-dashboard-layout .admin-broadcast-card{
  grid-column:1/-1;
}

#livingEventAdmin .admin-section-card{
  margin-bottom:16px;
  padding:17px;
  border:1px solid rgba(107,70,25,.2);
  border-radius:12px;
  background:rgba(255,253,247,.88);
  box-shadow:0 8px 22px rgba(72,43,13,.06),inset 0 1px 0 rgba(255,255,255,.72);
}

#livingEventAdmin .inline-heading{
  align-items:center;
  margin-bottom:16px;
}

#livingEventAdmin .admin-state-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

#livingEventAdmin .admin-state-grid div{
  min-height:64px;
  padding:11px 12px;
  border:1px solid rgba(107,70,25,.15);
  border-radius:10px;
  background:rgba(255,255,255,.66);
}

#livingEventAdmin .admin-state-grid small{
  display:block;
  margin-bottom:4px;
  color:#7a552e;
  font-size:10px;
  font-weight:1000;
  text-transform:uppercase;
}

#livingEventAdmin .admin-state-grid strong{
  font-size:14px;
}

#livingEventAdmin .admin-permission-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
  max-height:156px;
  overflow:auto;
}

#livingEventAdmin .admin-broadcast-card{
  padding:20px;
  border-color:rgba(180,123,35,.34);
  background:linear-gradient(135deg,rgba(255,249,227,.98),rgba(246,225,180,.78));
  box-shadow:0 10px 26px rgba(114,67,13,.09),inset 0 1px 0 rgba(255,255,255,.78);
}

#livingEventAdmin .admin-broadcast-grid{
  grid-template-columns:minmax(360px,1fr) minmax(170px,220px) auto;
  gap:12px;
}

#livingEventAdmin .admin-broadcast-grid textarea{min-height:94px}
#livingEventAdmin .living-admin-status{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#livingEventAdmin .living-admin-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:11px}
#livingEventAdmin .living-admin-section{
  border-color:rgba(107,70,25,.18);
  background:rgba(255,255,255,.58);
}
#livingEventAdmin .living-admin-section summary{
  min-height:42px;
  padding:0 12px;
  font-weight:1000;
}
#livingEventAdmin .admin-local-toolbar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
}
#livingEventAdmin .admin-log-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin-bottom:12px;
}
#livingEventAdmin .admin-log-toolbar input{
  width:100%;
  border:1px solid rgba(107,70,25,.24);
  border-radius:10px;
  background:#fffdf7;
  padding:11px 13px;
  font:inherit;
}
#livingEventAdmin .admin-command-main{
  min-width:0;
}
#livingEventAdmin .admin-command-main>span{
  margin-left:6px;
  color:#725130;
  font-weight:900;
}
#livingEventAdmin .admin-command-row details{
  margin-top:8px;
}
#livingEventAdmin .admin-command-row summary{
  cursor:pointer;
  color:#2563eb;
  font-size:11px;
  font-weight:900;
}
#livingEventAdmin .admin-command-row pre{
  max-height:160px;
  overflow:auto;
  margin:6px 0 0;
  padding:10px;
  border-radius:8px;
  background:rgba(17,24,39,.9);
  color:#e5e7eb;
  font-family:Consolas,monospace;
  font-size:11px;
  white-space:pre-wrap;
}
#livingEventAdmin .admin-toggle-row{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:900;
}

#livingEventAdmin .admin-member-workspace{
  display:grid;
  gap:16px;
}

#livingEventAdmin .admin-member-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,280px);
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid rgba(107,70,25,.22);
  border-radius:14px;
  background:
    radial-gradient(circle at 12% 20%,rgba(255,236,168,.62),transparent 34%),
    linear-gradient(135deg,rgba(255,252,242,.96),rgba(239,218,176,.78));
  box-shadow:0 12px 28px rgba(72,43,13,.08),inset 0 1px 0 rgba(255,255,255,.78);
}

#livingEventAdmin .admin-member-hero.admin,
#livingEventAdmin .admin-member-hero.moderator{
  border-color:rgba(220,38,38,.28);
  background:
    radial-gradient(circle at 12% 20%,rgba(255,236,168,.62),transparent 34%),
    linear-gradient(135deg,rgba(255,251,238,.98),rgba(255,215,191,.72));
}

#livingEventAdmin .admin-member-main{
  display:flex;
  gap:15px;
  align-items:center;
  min-width:0;
}

#livingEventAdmin .admin-member-main .user-avatar,
#livingEventAdmin .admin-avatar-preview .user-avatar{
  width:58px;
  height:58px;
  flex:0 0 58px;
}

#livingEventAdmin .admin-member-title{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

#livingEventAdmin .admin-member-title h3{
  margin:0;
  font-size:24px;
}

#livingEventAdmin .admin-member-main p{
  margin:4px 0 8px;
  color:#6e4d2c;
  font-size:12px;
  font-weight:800;
}

#livingEventAdmin .admin-role-pill{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 12px;
  border-radius:999px;
  background:#e5e7eb;
  color:#374151;
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
}

#livingEventAdmin .admin-role-pill.admin{
  background:linear-gradient(180deg,#ffe08a,#facc15);
  color:#5f2d0a;
}

#livingEventAdmin .admin-role-pill.moderator{
  background:linear-gradient(180deg,#fed7aa,#f97316);
  color:#4a1d08;
}

#livingEventAdmin .admin-member-snapshot{
  display:grid;
  gap:3px;
  padding:13px;
  border:1px solid rgba(107,70,25,.18);
  border-radius:12px;
  background:rgba(255,255,255,.68);
}

#livingEventAdmin .admin-member-snapshot span,
#livingEventAdmin .admin-card-eyebrow{
  color:#7a552e;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.04em;
  text-transform:uppercase;
}

#livingEventAdmin .admin-member-snapshot strong{font-size:17px}
#livingEventAdmin .admin-member-snapshot small{color:#6b7280;font-weight:800}

#livingEventAdmin .admin-member-layout{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:16px;
  align-items:start;
}

#livingEventAdmin .admin-member-side,
#livingEventAdmin .admin-member-mainpanel{
  display:grid;
  gap:14px;
  min-width:0;
}

#livingEventAdmin .admin-member-side{
  position:sticky;
  top:0;
}

#livingEventAdmin .admin-profile-list.compact{
  display:grid;
  grid-template-columns:1fr;
  max-height:260px;
  overflow:auto;
}

#livingEventAdmin .admin-mini-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

#livingEventAdmin .admin-mini-stats div{
  padding:10px;
  border:1px solid rgba(107,70,25,.16);
  border-radius:10px;
  background:rgba(255,255,255,.7);
}

#livingEventAdmin .admin-mini-stats small{
  display:block;
  color:#6b7280;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

#livingEventAdmin .admin-mini-stats strong{
  font-size:22px;
  color:#1f2937;
}

#livingEventAdmin .admin-timeline{
  display:grid;
  gap:8px;
}

#livingEventAdmin .admin-timeline-row{
  padding:10px;
  border:1px solid rgba(107,70,25,.15);
  border-radius:10px;
  background:rgba(255,255,255,.66);
}

#livingEventAdmin .admin-timeline-row strong,
#livingEventAdmin .admin-timeline-row small{
  display:block;
}

#livingEventAdmin .admin-timeline-row small{
  margin-top:3px;
  color:#6b7280;
  font-size:11px;
  font-weight:800;
}

#livingEventAdmin .admin-control-band,
#livingEventAdmin .admin-control-columns{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:14px;
}

#livingEventAdmin .admin-control-card{
  min-width:0;
  padding:16px;
  border:1px solid rgba(107,70,25,.2);
  border-radius:12px;
  background:rgba(255,253,247,.88);
  box-shadow:0 8px 20px rgba(72,43,13,.055),inset 0 1px 0 rgba(255,255,255,.78);
}

#livingEventAdmin .admin-control-card h4{
  margin:4px 0 8px;
  font-size:18px;
}

#livingEventAdmin .admin-control-card p{
  margin:0 0 12px;
  color:#6e4d2c;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}

#livingEventAdmin .admin-control-card textarea,
#livingEventAdmin .admin-control-card input,
#livingEventAdmin .admin-control-card select{
  width:100%;
  border:1px solid rgba(107,70,25,.26);
  border-radius:10px;
  background:#fffdf7;
  padding:10px 12px;
  font:inherit;
}

#livingEventAdmin .admin-control-card textarea{min-height:86px;resize:vertical}
#livingEventAdmin .admin-control-card-wide{grid-column:1/-1}

#livingEventAdmin .admin-control-card-role{
  border-color:rgba(37,99,235,.2);
  background:linear-gradient(135deg,rgba(239,246,255,.78),rgba(255,253,247,.9));
}

#livingEventAdmin .admin-role-editor{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
}

#livingEventAdmin .admin-console-nav button{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
}
#livingEventAdmin .admin-console-nav button span{font-size:13px;line-height:1.1}
#livingEventAdmin .admin-console-nav button small{
  color:inherit;
  font-size:10px;
  font-weight:800;
  line-height:1.1;
  opacity:.68;
}
#livingEventAdmin .admin-events-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:14px}
#livingEventAdmin .admin-clean-member{display:grid;gap:16px}
#livingEventAdmin .admin-clean-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border:1px solid rgba(107,70,25,.22);
  border-radius:14px;
  background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.78),transparent 32%),linear-gradient(135deg,rgba(255,251,235,.94),rgba(246,225,180,.72));
  box-shadow:0 10px 24px rgba(72,43,13,.08),inset 0 1px 0 rgba(255,255,255,.78);
}
#livingEventAdmin .admin-clean-hero.role-admin,
#livingEventAdmin .admin-clean-hero.role-moderator{
  border-color:rgba(239,68,68,.28);
  background:radial-gradient(circle at 15% 12%,rgba(255,255,255,.82),transparent 31%),linear-gradient(135deg,rgba(255,245,235,.98),rgba(254,205,180,.62));
}
#livingEventAdmin .admin-clean-identity{display:flex;align-items:center;gap:15px;min-width:0}
#livingEventAdmin .admin-clean-identity .chat-avatar{width:66px;height:66px;flex:0 0 auto}
#livingEventAdmin .admin-clean-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
#livingEventAdmin .admin-clean-title h3{margin:0;font-size:24px}
#livingEventAdmin .admin-clean-identity p{margin:3px 0 8px;color:#74522f;font-size:12px;font-weight:900}
#livingEventAdmin .admin-clean-snapshot{
  min-width:220px;
  padding:13px 15px;
  border:1px solid rgba(107,70,25,.16);
  border-radius:12px;
  background:rgba(255,255,255,.62);
  text-align:right;
}
#livingEventAdmin .admin-clean-snapshot span,
#livingEventAdmin .admin-clean-card-head span{display:block;color:#8a6337;font-size:10px;font-weight:1000;text-transform:uppercase}
#livingEventAdmin .admin-clean-snapshot strong{display:block;margin:3px 0;color:#2f1d0f;font-size:18px}
#livingEventAdmin .admin-clean-snapshot small{color:#6b7280;font-weight:900}
#livingEventAdmin .admin-clean-body{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
#livingEventAdmin .admin-clean-sidebar,
#livingEventAdmin .admin-clean-main{display:grid;gap:12px}
#livingEventAdmin .admin-clean-sidebar article,
#livingEventAdmin .admin-clean-card{
  padding:15px;
  border:1px solid rgba(107,70,25,.18);
  border-radius:12px;
  background:rgba(255,253,247,.86);
  box-shadow:0 7px 18px rgba(72,43,13,.055),inset 0 1px 0 rgba(255,255,255,.72);
}
#livingEventAdmin .admin-clean-sidebar h4,
#livingEventAdmin .admin-clean-card h4{margin:0 0 10px}
#livingEventAdmin .admin-clean-profile-list{display:grid;gap:8px}
#livingEventAdmin .admin-clean-profile-option{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid rgba(107,70,25,.14);
  border-radius:10px;
  background:rgba(255,255,255,.62);
}
#livingEventAdmin .admin-clean-profile-option span{display:grid;gap:2px;min-width:0}
#livingEventAdmin .admin-clean-profile-option small{color:#6b7280;font-size:11px;font-weight:800}
#livingEventAdmin .admin-profile-familiar-card{align-items:flex-start}
#livingEventAdmin .admin-profile-main{display:grid;gap:4px;line-height:1.25}
#livingEventAdmin .admin-profile-main b{color:#8a5417}
#livingEventAdmin .admin-profile-runs{color:#4b5563!important}
#livingEventAdmin .admin-profile-focus-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
#livingEventAdmin .admin-profile-focus-grid div{
  padding:10px 12px;
  border:1px solid rgba(107,70,25,.14);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,246,215,.62));
}
#livingEventAdmin .admin-profile-focus-grid .wide{grid-column:1/-1}
#livingEventAdmin .admin-profile-focus-grid span{
  display:block;
  margin-bottom:3px;
  color:#8a6337;
  font-size:10px;
  font-weight:1000;
  text-transform:uppercase;
}
#livingEventAdmin .admin-profile-focus-grid strong{
  display:block;
  color:#2f1d0f;
  font-size:14px;
}
#livingEventAdmin .admin-mini-stats.clean{display:grid;grid-template-columns:1fr;gap:8px}
#livingEventAdmin .admin-member-tabs{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  padding:9px;
  border:1px solid rgba(107,70,25,.16);
  border-radius:14px;
  background:rgba(244,233,210,.72);
}
#livingEventAdmin .admin-member-tabs button{
  min-height:58px;
  padding:9px 10px;
  border:1px solid rgba(107,70,25,.14);
  border-radius:10px;
  background:rgba(255,253,247,.7);
  color:#4a2e17;
  cursor:pointer;
  text-align:left;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
#livingEventAdmin .admin-member-tabs button:hover{transform:translateY(-1px);background:#fffdf7;box-shadow:0 5px 12px rgba(72,43,13,.08)}
#livingEventAdmin .admin-member-tabs button.active{border-color:rgba(250,204,21,.45);background:linear-gradient(135deg,#8c571d,#6d3d13);color:#fff}
#livingEventAdmin .admin-member-tabs span{display:block;font-size:13px;font-weight:1000}
#livingEventAdmin .admin-member-tabs small{display:block;margin-top:3px;color:inherit;font-size:10px;font-weight:800;opacity:.7}
#livingEventAdmin .admin-member-tab-panel{min-height:260px}
#livingEventAdmin .admin-clean-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#livingEventAdmin .admin-clean-card-wide{grid-column:1/-1}
#livingEventAdmin .admin-clean-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
#livingEventAdmin .admin-clean-card-head strong{color:#2f1d0f;font-size:18px}
#livingEventAdmin .admin-clean-card textarea,
#livingEventAdmin .admin-clean-card input,
#livingEventAdmin .admin-clean-card select{width:100%;border:1px solid rgba(107,70,25,.26);border-radius:10px;background:#fffdf7;padding:11px 13px;font:inherit}
#livingEventAdmin .admin-clean-card textarea{min-height:88px;resize:vertical}
#livingEventAdmin .admin-clean-inline-tools,
#livingEventAdmin .admin-clean-timeline{display:grid;gap:9px}
#livingEventAdmin .admin-clean-timeline-row{padding:10px 12px;border:1px solid rgba(107,70,25,.14);border-radius:10px;background:rgba(255,255,255,.62)}
#livingEventAdmin .admin-clean-timeline-row strong,
#livingEventAdmin .admin-clean-timeline-row small{display:block}
#livingEventAdmin .admin-clean-timeline-row small{margin-top:3px;color:#6b7280;font-weight:800}
#livingEventAdmin .admin-clean-moderation-form{display:grid;grid-template-columns:110px 150px minmax(0,1fr);gap:10px}
#livingEventAdmin .admin-clean-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:10px}
#livingEventAdmin .admin-clean-warning{border-color:rgba(217,119,6,.25);background:linear-gradient(135deg,rgba(255,251,235,.95),rgba(255,247,237,.82))}
#livingEventAdmin .admin-clean-danger{border-color:rgba(185,28,28,.32);background:linear-gradient(135deg,rgba(255,247,237,.96),rgba(254,226,226,.68))}
#livingEventAdmin .admin-danger-strip.clean{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}
#livingEventAdmin .admin-avatar-editor.clean{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:start}
#livingEventAdmin .admin-avatar-editor.clean .chat-avatar{width:72px;height:72px}
#livingEventAdmin .admin-role-editor.clean{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:10px}
#livingEventAdmin .admin-restriction-grid.clean{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
#livingEventAdmin .admin-restriction-grid.clean label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:9px 10px;
  border:1px solid rgba(107,70,25,.14);
  border-radius:10px;
  background:rgba(255,255,255,.62);
  font-weight:900;
}

#livingEventAdmin .admin-danger-zone-soft{
  border-color:rgba(185,28,28,.25);
  background:linear-gradient(135deg,rgba(255,247,237,.92),rgba(254,226,226,.46));
}

#livingEventAdmin .admin-moderation-grid{
  display:grid;
  gap:10px;
}

#livingEventAdmin .admin-avatar-editor.compact{
  margin-top:10px;
}

#livingEventAdmin .admin-restriction-grid.compact{
  margin-top:12px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

#livingEventAdmin .admin-data-tools{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:12px;
}

#livingEventAdmin .admin-data-tools section{
  padding:13px;
  border:1px solid rgba(107,70,25,.14);
  border-radius:11px;
  background:rgba(255,255,255,.58);
}

#livingEventAdmin .admin-data-tools h5{
  margin:0 0 9px;
  color:#4b2f19;
}

/* Tableau de modération */
#moderationOverviewModal #moderationOverviewContent{
  height:100%;
  min-height:0;
}

#moderationOverviewModal .moderation-console{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr);
  gap:0;
  background:
    linear-gradient(90deg,rgba(119,79,28,.04),transparent 24%),
    rgba(247,240,225,.96);
}

#moderationOverviewModal .moderation-summary-grid{
  grid-column:1/-1;
  grid-row:1;
  grid-template-columns:repeat(5,minmax(140px,1fr));
  gap:11px;
  padding:16px 18px;
  border-bottom:1px solid rgba(107,70,25,.2);
  background:rgba(255,250,239,.72);
}

#moderationOverviewModal .moderation-summary-card{
  min-height:88px;
  padding:13px 15px;
  border-radius:10px;
  background:rgba(255,255,255,.82);
  box-shadow:0 7px 18px rgba(73,43,12,.06),inset 0 1px 0 rgba(255,255,255,.72);
}

#moderationOverviewModal .moderation-summary-card strong{font-size:27px}

#moderationOverviewModal .moderation-tabs{
  grid-column:1;
  grid-row:2;
  position:static;
  z-index:auto;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
  min-height:0;
  margin:0;
  padding:18px 13px;
  overflow-y:auto;
  border-right:1px solid rgba(107,70,25,.22);
  background:
    linear-gradient(180deg,rgba(111,69,25,.14),rgba(255,252,242,.52)),
    repeating-linear-gradient(0deg,rgba(126,83,31,.025) 0 1px,transparent 1px 18px);
  backdrop-filter:none;
}

#moderationOverviewModal .moderation-tabs button{
  width:100%;
  min-height:44px;
  padding:0 13px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#4b2f19;
  text-align:left;
  font-size:12px;
  font-weight:900;
}

#moderationOverviewModal .moderation-tabs button:hover{
  border-color:rgba(126,83,31,.14);
  background:rgba(255,255,255,.55);
}

#moderationOverviewModal .moderation-tabs button.active{
  color:#fff;
  border-color:rgba(147,197,253,.34);
  background:linear-gradient(135deg,#315ca9,#234886);
  box-shadow:inset 4px 0 #93c5fd,0 6px 14px rgba(30,64,175,.14);
}

#moderationOverviewModal .moderation-section{
  grid-column:2;
  grid-row:2;
  min-width:0;
  min-height:0;
  padding:22px 25px 30px;
  overflow:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
}

#moderationOverviewModal .moderation-section.hidden{display:none!important}

#moderationOverviewModal .moderation-section-heading{
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(119,79,28,.16);
}

#moderationOverviewModal .moderation-section-heading h3{font-size:21px}
#moderationOverviewModal .moderation-section-heading p{font-size:13px;line-height:1.45}

#moderationOverviewModal .moderation-dashboard-grid{
  grid-template-columns:minmax(0,2fr) minmax(300px,.85fr);
  gap:16px;
}

#moderationOverviewModal .moderation-workspace,
#moderationOverviewModal .moderation-quick-list{
  align-content:start;
}

#moderationOverviewModal .moderation-workspace{
  padding:17px;
  border:1px solid rgba(107,70,25,.2);
  border-radius:11px;
  background:rgba(255,253,247,.82);
  box-shadow:0 8px 22px rgba(72,43,13,.06),inset 0 1px 0 rgba(255,255,255,.7);
}

#moderationOverviewModal .moderation-report-list{gap:12px}
#moderationOverviewModal .moderation-report{padding:16px;border-radius:10px}

#moderationOverviewModal .moderation-quick-list{
  gap:10px;
  padding:15px;
  border:1px solid rgba(107,70,25,.18);
  border-radius:11px;
  background:rgba(255,253,247,.66);
}

#moderationOverviewModal .moderation-quick-row{
  min-height:48px;
  padding:10px 12px;
  background:rgba(255,255,255,.8);
}

#moderationOverviewModal .moderation-toolbar{
  grid-template-columns:minmax(260px,1fr) minmax(150px,190px) minmax(150px,190px) auto;
  gap:11px;
}

#moderationOverviewModal .moderation-settings-grid{gap:15px}

@media(max-width:1050px){
  #livingEventAdmin .admin-console-shell{grid-template-columns:190px minmax(0,1fr)}
  #livingEventAdmin .admin-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  #livingEventAdmin .living-admin-status{grid-template-columns:repeat(2,minmax(0,1fr))}
  #livingEventAdmin .admin-events-board,
  #livingEventAdmin .admin-clean-body,
  #livingEventAdmin .admin-clean-section-grid{grid-template-columns:1fr}
  #livingEventAdmin .admin-member-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  #moderationOverviewModal .moderation-console{grid-template-columns:185px minmax(0,1fr)}
  #moderationOverviewModal .moderation-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #moderationOverviewModal .moderation-dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr)}
}

@media(max-width:780px){
  #livingEventAdmin,
  #moderationOverviewModal{padding:6px!important}
  #livingEventAdmin .admin-console-modal,
  #moderationOverviewModal .moderation-console-modal{
    width:calc(100vw - 12px)!important;
    height:calc(100vh - 12px)!important;
  }
  #livingEventAdmin .admin-console-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  #livingEventAdmin .admin-console-nav{
    flex-direction:row;
    padding:8px;
    overflow-x:auto;
    overflow-y:hidden;
    border-right:0;
    border-bottom:1px solid rgba(107,70,25,.22);
  }
  #livingEventAdmin .admin-console-nav button{min-width:max-content;min-height:40px}
  #livingEventAdmin .admin-console-content{padding:16px}
  #livingEventAdmin .admin-server-grid,
  #livingEventAdmin .admin-target-actions,
  #livingEventAdmin .admin-broadcast-grid,
  #livingEventAdmin .admin-member-hero,
  #livingEventAdmin .admin-member-layout,
  #livingEventAdmin .admin-clean-moderation-form,
  #livingEventAdmin .admin-role-editor.clean,
  #livingEventAdmin .admin-restriction-grid.clean,
  #livingEventAdmin .admin-role-editor{grid-template-columns:1fr}
  #livingEventAdmin .admin-clean-hero{align-items:flex-start;flex-direction:column}
  #livingEventAdmin .admin-clean-snapshot{width:100%;min-width:0;text-align:left}
  #livingEventAdmin .admin-member-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  #livingEventAdmin .admin-member-side{position:static}
  #moderationOverviewModal .moderation-console{
    grid-template-columns:1fr;
    grid-template-rows:auto auto minmax(0,1fr);
  }
  #moderationOverviewModal .moderation-summary-grid{
    grid-column:1;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(155px,1fr);
    padding:11px;
    overflow-x:auto;
  }
  #moderationOverviewModal .moderation-tabs{
    grid-column:1;
    grid-row:2;
    flex-direction:row;
    padding:8px;
    overflow-x:auto;
    overflow-y:hidden;
    border-right:0;
    border-bottom:1px solid rgba(107,70,25,.22);
  }
  #moderationOverviewModal .moderation-tabs button{width:auto;min-width:max-content;min-height:40px}
  #moderationOverviewModal .moderation-section{grid-column:1;grid-row:3;padding:16px}
  #moderationOverviewModal .moderation-dashboard-grid,
  #moderationOverviewModal .moderation-settings-grid{grid-template-columns:1fr}
  #moderationOverviewModal .moderation-toolbar{grid-template-columns:1fr 1fr}
}

@media(max-width:520px){
  #livingEventAdmin .modal-head,
  #moderationOverviewModal .modal-head{padding:11px 12px}
  #livingEventAdmin .modal-head h2,
  #moderationOverviewModal .modal-head h2{font-size:20px}
  #livingEventAdmin .admin-dashboard-metrics,
  #livingEventAdmin .living-admin-status,
  #livingEventAdmin .admin-member-tabs,
  #moderationOverviewModal .moderation-toolbar{grid-template-columns:1fr}
  #livingEventAdmin .admin-console-content,
  #moderationOverviewModal .moderation-section{padding:12px}
}

/* Performance mode keeps interactions intact while removing costly idle GPU work. */
body.performance-mode .app,
body.performance-mode .modal,
body.performance-mode .side-panel,
body.performance-mode .modal-bg,
body.performance-mode .side-panel-bg{backdrop-filter:none!important}
body.performance-mode .progress-fill::after,
body.performance-mode .pykur-img,
body.performance-mode .pykur-orb::before,
body.performance-mode .session-live-dot,
body.performance-mode .farm-choice.active,
body.performance-mode #passiveAmbienceLayer{animation:none!important}
body.performance-mode #passiveAmbienceLayer{display:none!important}
body.performance-mode .card,
body.performance-mode .hero,
body.performance-mode .dungeon-card{box-shadow:0 5px 14px rgba(69,42,13,.11)!important}
.modal-bg:not(.show),.side-panel-bg:not(.show){content-visibility:hidden;contain:strict}
