i[class^='iconoir-'],i[class*=' iconoir-']{vertical-align:-0.15em}
  :root{
    --bg:#0e1116; --bg2:#161b22; --card:#1c2230; --line:#2a3344;
    --txt:#e6edf3; --mut:#8b97a8; --acc:#ffcb05; --acc2:#3b6cff;
    --ok:#3fb950; --ko:#f85149; --rad:14px;
    /* code couleur par étoiles (identique au site d'origine) */
    --rarity-1:#9aa0a6; --rarity-2:#4caf50; --rarity-3:#3a6ec0;
    --rarity-4:#9c54d4; --rarity-5:#f2b21e; --rarity-6:#e23b5a;
  }
  .rarity-1{--rarity:var(--rarity-1)} .rarity-2{--rarity:var(--rarity-2)}
  .rarity-3{--rarity:var(--rarity-3)} .rarity-4{--rarity:var(--rarity-4)}
  .rarity-5{--rarity:var(--rarity-5)} .rarity-6{--rarity:var(--rarity-6)}
  .stars{color:var(--rarity,var(--acc));letter-spacing:1px;white-space:nowrap;font-weight:700}
  .minfo{position:absolute;top:4px;left:6px;background:var(--acc2);color:#fff;border:0;border-radius:6px;padding:0 6px;font-weight:700;cursor:pointer;font-size:12px;z-index:2}
  *{box-sizing:border-box}
  body{margin:0;font:14px/1.5 system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--txt)}
  button{font:inherit;cursor:pointer}
  a{color:var(--acc2)}
  .hidden{display:none!important}

  /* ---- Login ---- */
  #login{max-width:380px;margin:12vh auto;background:var(--card);padding:28px;border-radius:var(--rad);border:1px solid var(--line)}
  #login h1{margin:0 0 4px;font-size:22px}
  #login p{color:var(--mut);margin:0 0 18px}
  #login input{width:100%;padding:11px;margin:6px 0;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--txt)}
  .btn{background:var(--acc);color:#1b1b1b;border:0;border-radius:10px;padding:11px 16px;font-weight:700}
  .btn.sec{background:var(--bg2);color:var(--txt);border:1px solid var(--line);font-weight:600}
  .btn:disabled{opacity:.5;cursor:not-allowed}
  .sep{display:flex;align-items:center;gap:10px;color:var(--mut);margin:16px 0;font-size:12px}
  .sep::before,.sep::after{content:"";height:1px;background:var(--line);flex:1}
  .err{color:var(--ko);font-size:13px;min-height:18px}

  /* ---- Top bar ---- */
  header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;
    padding:10px 18px;background:var(--bg2);border-bottom:1px solid var(--line)}
  header img.av{width:40px;height:40px;border-radius:50%;background:var(--card);object-fit:cover;border:1px solid var(--line)}
  .who b{font-size:15px}.who span{color:var(--mut);font-size:12px}
  .cur{display:flex;gap:14px;margin-left:auto;flex-wrap:wrap}
  .cur div{background:var(--card);border:1px solid var(--line);padding:6px 11px;border-radius:10px;white-space:nowrap}
  .cur b{color:var(--acc)}
  .cur .t{color:var(--mut);font-weight:400;font-size:12px}
  .cur .energy i{color:var(--acc2)}
  .cur .energy b{color:var(--acc2)}
  .cur .energy-low{border-color:var(--ko)}
  .cur .energy-low i,.cur .energy-low b{color:var(--ko)}

  nav{display:flex;gap:6px;padding:12px 18px 0;flex-wrap:wrap}
  /* boutons de 1er niveau : onglets simples (Paramètres) et déclencheurs de groupe */
  nav>button,.navtrig{background:transparent;border:0;color:var(--mut);padding:8px 14px;border-radius:10px 10px 0 0;font-weight:600;display:inline-flex;align-items:center;gap:6px}
  nav>button.on,.navtrig.on{background:var(--card);color:var(--txt)}
  .navtrig .caret{font-size:12px;opacity:.7}
  /* groupes déroulants */
  .navgroup{position:relative}
  .submenu{position:absolute;top:100%;left:0;z-index:31;display:none;flex-direction:column;min-width:180px;
    background:var(--card);border:1px solid var(--line);border-radius:0 10px 10px 10px;padding:6px;gap:2px;
    box-shadow:0 14px 34px rgba(0,0,0,.5)}
  .navgroup:hover .submenu,.navgroup.open .submenu{display:flex}
  .submenu button{background:transparent;border:0;color:var(--mut);text-align:left;padding:9px 12px;border-radius:8px;
    font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:8px}
  .submenu button:hover{background:var(--bg2);color:var(--txt)}
  .submenu button.on{background:var(--bg2);color:var(--acc)}
  main{padding:16px 18px 140px;max-width:1100px;margin:0 auto}

  .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
  .card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:14px}
  .card h3{margin:0 0 8px;font-size:16px}
  .tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;background:var(--bg);border:1px solid var(--line);color:var(--mut)}
  .tag.ok{color:var(--ok);border-color:#23512f}

  .sub{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-top:1px solid var(--line)}
  .sub:first-of-type{border-top:0}
  .sub small{color:var(--mut)}
  .play{background:var(--acc2);color:#fff;border:0;border-radius:8px;padding:5px 10px;font-weight:700}
  .play:disabled{background:var(--bg);color:var(--mut);border:1px solid var(--line);cursor:not-allowed}
  .lvlbtn{background:var(--bg);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:6px 12px;font-weight:600}
  .lvlbtn.on{background:var(--acc);color:#1b1b1b;border-color:var(--acc)}
  .lvl{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
  .lvl button{background:var(--bg);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:4px 9px}
  .lvl button.on{background:var(--acc);color:#1b1b1b;border-color:var(--acc);font-weight:700}

  .mon{display:flex;align-items:center;gap:10px;padding:8px;background:var(--bg);border:1px solid var(--line);border-radius:10px}
  .mon[class*="rarity-"]{border:2px solid var(--rarity);box-shadow:0 0 7px color-mix(in srgb,var(--rarity) 28%,transparent)}
  .mon img{width:48px;height:48px;image-rendering:pixelated}
  .mon .nm{font-weight:600}.mon .meta{color:var(--mut);font-size:12px}
  .shiny{color:var(--acc)}

  /* ---- Runner (barre basse) ---- */
  /* ---- Runner & sélecteur d'étoiles : modals de configuration ---- */
  #runner,#starModal{position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.6);display:none;
    align-items:flex-start;justify-content:center;padding:8vh 12px;overflow:auto;backdrop-filter:blur(2px)}
  #runner.open,#starModal.open{display:flex}
  .rwin{width:min(420px,96vw);background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6)}
  .rbar{display:flex;align-items:center;padding:12px 16px;background:var(--bg2);border-bottom:1px solid var(--line)}
  .rttl{font-weight:700;font-size:16px}
  .rbar .mx{margin-left:auto}
  .rbody{padding:16px;display:flex;flex-direction:column;gap:14px}
  .rchk{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--txt)}
  .rchk input{width:auto}
  .ractions{display:flex;gap:10px}
  #runner input[type=number]{width:110px;padding:8px;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--txt)}
  #bar{flex:1;height:12px;background:var(--bg);border:1px solid var(--line);border-radius:20px;overflow:hidden;min-width:160px}
  #bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc2),var(--acc));transition:width .1s linear}
  label.f{display:flex;flex-direction:column;font-size:11px;color:var(--mut);gap:2px}
  #stats{font-size:12px;color:var(--mut)}
  #log{max-height:120px;overflow:auto;margin-top:8px;font:12px/1.45 ui-monospace,Consolas,monospace;color:var(--mut)}
  #log .w{color:var(--ok)}#log .l{color:var(--ko)}#log .first{color:var(--acc)}
  .warn{color:var(--acc)}

  /* ---- Fenêtre détail Pokémon ---- */
  #monModal{position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.6);display:none;
    align-items:flex-start;justify-content:center;padding:4vh 12px;overflow:auto;backdrop-filter:blur(2px)}
  #monModal.open{display:flex}
  .mwin{width:min(560px,96vw);background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6)}
  .mbar{display:flex;align-items:center;padding:12px 16px;background:var(--bg2);border-bottom:1px solid var(--line)}
  .mttl{font-weight:700;font-size:16px}
  .mx{margin-left:auto;background:var(--bg);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer}
  #mBody{padding:16px}
  .statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
  .statgrid .s{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 9px}
  .statgrid .s b{display:block;font-size:16px}
  .statgrid .s span{color:var(--mut);font-size:11px}
  .movel{display:flex;align-items:center;gap:8px;padding:7px 9px;background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-top:6px}
  .movel .empty{color:var(--mut)}

  /* ---- Toast ---- */
  #toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:60;
    background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:12px 18px;
    box-shadow:0 10px 30px rgba(0,0,0,.5);max-width:90vw;display:none;font-size:14px}
  #toast.show{display:block;animation:toastin .2s ease}
  @keyframes toastin{from{opacity:0;transform:translate(-50%,10px)}}

  /* ---- Console terminal ---- */
  #cons{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.6);display:none;
    align-items:center;justify-content:center;backdrop-filter:blur(2px)}
  #cons.open{display:flex}
  .term{width:min(900px,94vw);height:min(70vh,640px);display:flex;flex-direction:column;
    background:#0a0e14;border:1px solid #1d2633;border-radius:10px;overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.6);font-family:ui-monospace,"Cascadia Code",Consolas,monospace}
  .term .bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#121821;border-bottom:1px solid #1d2633}
  .term .dot{width:11px;height:11px;border-radius:50%}
  .dot.r{background:#ff5f56}.dot.y{background:#ffbd2e}.dot.g{background:#27c93f}
  .term .ttl{margin-left:8px;color:#9fb0c3;font-size:12px;font-weight:600}
  .term .st{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:#6f8198}
  .term .st .live{width:8px;height:8px;border-radius:50%;background:#3fb950;box-shadow:0 0 8px #3fb950;animation:pulse 1s infinite}
  .term .st .live.off{background:#555;box-shadow:none;animation:none}
  @keyframes pulse{50%{opacity:.35}}
  #cBody{flex:1;overflow:auto;padding:12px 14px;font-size:12.5px;line-height:1.5;color:#cfe3d2;white-space:pre-wrap}
  #cBody .t{color:#5a6b80}      /* timestamp */
  #cBody .w{color:#27c93f}      /* gagné */
  #cBody .l{color:#ff6b63}      /* perdu / erreur */
  #cBody .first{color:#ffd23f}  /* clear / étape */
  #cBody .warn{color:#ffbd2e}
  .term .cbar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#0d131c;border-top:1px solid #1d2633}
  .term .cbar-l{color:#6f8198;font-size:11px;white-space:nowrap}
  .term .foot{display:flex;align-items:center;gap:12px;padding:9px 12px;background:#121821;border-top:1px solid #1d2633}
  .term .foot #cStats{color:#9fb0c3;font-size:12px;flex:1}
  .term .foot button{border:0;border-radius:7px;padding:7px 14px;font-weight:700;cursor:pointer}
  #cStop{background:#ff5f56;color:#1b1b1b}
  #cClose{background:#1d2633;color:#cfe3d2}
