:root{
  --ink:#1c1830; --paper:#f8f4e8; --paper2:#e8e0c8; --frame:#3858a0; --frame2:#88a8e8;
  --accent:#e85848; --gold:#f8c838; --ok:#48c058; --warn:#f0c030; --bad:#e04838;
  --font:'DotGothic16', 'Pixelify Sans', 'Courier New', monospace;
  --font-logo:'Pixelify Sans', 'Courier New', monospace;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#0e0c18;overflow:hidden;font-family:var(--font);color:var(--ink)}
.hidden{display:none!important}

body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select{-webkit-user-select:text;user-select:text}
img,canvas{-webkit-user-drag:none}
button{font-family:var(--font);cursor:pointer}

#stage{position:absolute;left:50%;top:50%;width:960px;height:640px;transform-origin:center;background:#000;overflow:hidden;
  box-shadow:0 0 0 4px #2a2440,0 20px 60px rgba(0,0,0,.6);border-radius:6px}
#gl{position:absolute;inset:0;width:960px;height:640px;image-rendering:pixelated}

.btn{display:inline-block;background:var(--paper);border:4px solid var(--ink);box-shadow:inset -4px -4px 0 var(--paper2),4px 4px 0 rgba(0,0,0,.35);
  padding:10px 20px;font-size:24px;color:var(--ink);margin:6px}
.btn:hover{background:#fff8d8;transform:translate(-1px,-1px)}
.btn.big{font-size:32px;padding:14px 34px;min-width:360px}
.btn.sm{font-size:20px;padding:4px 12px;margin:0 3px}
.btn.opt{display:block;width:100%;text-align:left;margin:8px 0}
.btn.danger{background:#f8d8d0}
.btn.pclose{margin-top:14px}
small,.small{font-size:18px;opacity:.85}

#title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:40px;z-index:5}
.logo{font-family:var(--font-logo);margin:0;font-size:64px;line-height:.95;text-align:center;color:var(--gold);letter-spacing:2px;
  text-shadow:4px 4px 0 #a03828,-4px 4px 0 #a03828,4px -4px 0 #a03828,-4px -4px 0 #a03828,0 10px 0 #401818}
.logo span{font-size:92px;color:#fff;text-shadow:5px 5px 0 #3858a0,-5px 5px 0 #3858a0,5px -5px 0 #3858a0,-5px -5px 0 #3858a0,0 12px 0 #182040}
.tagline{color:#fff;font-size:22px;text-shadow:2px 2px 0 #000;margin:18px 0 10px}
.title-btns{display:flex;flex-direction:column;align-items:center}
.credits{position:absolute;bottom:4px;color:#fff;font-size:15px;text-align:center;text-shadow:2px 2px 0 #000;opacity:.85}

#starter{position:absolute;inset:0;z-index:5;pointer-events:none}
.st-title{position:absolute;top:24px;width:100%;text-align:center;font-size:40px;margin:0;color:var(--ink)}
.st-row{position:absolute;top:500px;left:0;right:0;display:flex;justify-content:space-around;padding:0 20px}
.st-card{pointer-events:auto;width:280px;background:var(--paper);border:4px solid var(--ink);box-shadow:4px 4px 0 rgba(0,0,0,.35);padding:8px;font-size:26px;display:flex;flex-direction:column;align-items:center;gap:4px}
.st-card:hover{background:#fff8d8}
.st-card small{font-size:16px}
.st-sub{position:absolute;top:80px;width:100%;text-align:center;font-size:22px}

#textbox{position:absolute;left:0;right:0;bottom:0;height:192px;background:var(--frame);border-top:4px solid var(--ink);padding:14px 18px;z-index:20}
#text{height:100%;background:var(--paper);border:4px solid var(--ink);border-radius:10px;padding:16px 26px;font-size:32px;line-height:1.35;white-space:pre-wrap;
  box-shadow:inset 0 0 0 4px var(--frame2)}
#arrow{position:absolute;right:46px;bottom:34px;font-size:22px;color:var(--accent);animation:bob .5s steps(2) infinite}
@keyframes bob{50%{transform:translateY(4px)}}
#moveinfo{position:absolute;left:24px;bottom:198px;z-index:22;font-size:20px;background:var(--paper);border:3px solid var(--ink);padding:4px 10px;display:none}
#moveinfo:not(:empty){display:block}

.menu{position:absolute;z-index:40;display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:4px;background:var(--paper);border:4px solid var(--ink);
  padding:10px;box-shadow:inset 0 0 0 4px var(--frame2)}
.menu.main{right:18px;bottom:18px;width:420px;height:156px}
.menu.moves{left:18px;right:18px;bottom:18px;height:156px}
.menu.list,.menu.yesno{right:18px;bottom:210px;min-width:320px;max-width:640px}
.mi{background:transparent;border:0;font-size:28px;text-align:left;padding:4px 10px 4px 34px;position:relative;display:flex;flex-direction:column;justify-content:center}
.mi small{font-size:17px}
.mi.focus::before{content:'▶';position:absolute;left:6px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--ink)}
.mi.disabled{opacity:.4}
.mi.back{font-size:20px;opacity:.75}
.menu.moves .mi.back{position:absolute;right:16px;bottom:8px}
.mi .mvname{font-size:26px}
.tdot{display:inline-block;width:12px;height:12px;border:2px solid var(--ink);margin-right:6px;vertical-align:-1px}

#hud{position:absolute;inset:0;pointer-events:none;z-index:10}
.hpbox{position:absolute;background:var(--paper);border:4px solid var(--ink);border-radius:10px 2px 10px 2px;padding:8px 14px;box-shadow:6px 6px 0 rgba(0,0,0,.3)}
.hpbox.enemy{left:36px;top:36px;width:400px}
.hpbox.player{right:28px;top:290px;width:420px}
.hb-top{display:flex;align-items:baseline;gap:8px;font-size:28px}
.hb-name{flex:1;font-weight:600}
.hb-shiny,.shiny-star{color:#e83838;font-size:.8em;text-shadow:1px 1px 0 #f8d838}
.shiny-star{margin-left:4px;vertical-align:2px}

.hb-types{position:absolute;top:2px;display:flex;flex-direction:column;gap:6px}
.hpbox.player .hb-types{right:calc(100% + 12px)}
.hpbox.enemy .hb-types{left:calc(100% + 12px)}

.tico{display:inline-block;width:44px;height:44px}
.tico img{display:block;width:100%;height:100%;image-rendering:pixelated}
.tico.sm{width:33px;height:33px;vertical-align:middle}
.hb-lv{font-size:24px}
.hpbar{display:flex;align-items:center;gap:6px;margin-top:4px}
.hpbar b{font-size:16px;background:#f8a020;color:#fff;padding:0 4px;border:2px solid var(--ink)}
.hpt{flex:1;height:14px;background:#404048;border:3px solid var(--ink);border-radius:2px;overflow:hidden}
.hpf{height:100%;transition:background .2s}
.hpf.g,.mini-hp .g{background:linear-gradient(#78f888 0 40%,#40c050 40%)}
.hpf.y,.mini-hp .y{background:linear-gradient(#f8e870 0 40%,#d8b018 40%)}
.hpf.r,.mini-hp .r{background:linear-gradient(#f88870 0 40%,#d83820 40%)}
.hb-num{text-align:right;font-size:24px;margin-top:2px}
.expbar{display:flex;align-items:center;gap:6px}
.expbar b{font-size:14px;color:#3868d8}
.ext{flex:1;height:8px;background:#404048;border:2px solid var(--ink)}
.exf{height:100%;background:#48a8f8;transition:width .5s}
.status{display:inline-block;font-size:16px;color:#fff;padding:0 6px;border:2px solid var(--ink);border-radius:4px;vertical-align:3px}
.status.ko{background:#585058}
.type{display:inline-block;font-size:16px;color:#fff;padding:1px 8px;margin:2px 4px 2px 0;border:2px solid rgba(0,0,0,.45);border-radius:6px;text-shadow:1px 1px 0 rgba(0,0,0,.5)}

.battle-trainer{position:absolute;left:560px;top:10px;width:320px;height:320px;transition:transform .4s ease-out,opacity .4s}
.battle-trainer.enter{transform:translateX(420px)}
.battle-trainer.out{transform:translateX(420px);opacity:0}
.trainer-sprite,.trainer-img{width:320px;height:320px;image-rendering:pixelated}
.team-dots{position:absolute;left:48px;top:150px;display:flex;gap:8px}

.team-dots i.ball{width:28px;height:28px;background:var(--ball) center/100% 100% no-repeat;image-rendering:pixelated}
.team-dots i.ball.off{opacity:.75;background-image:var(--ball-ko)}

#mapui{position:absolute;inset:0;pointer-events:none;z-index:8}
#topbar{position:absolute;left:0;right:0;top:0;height:56px;display:flex;align-items:center;gap:14px;padding:0 12px;background:linear-gradient(#2a2440ee,#2a244088);pointer-events:auto;color:#fff}
.badges{display:flex;gap:4px}
.bslot{width:28px;height:28px;border:3px solid #6a6080;border-radius:50%;background:#3a3450;display:inline-block}
.bslot.on{background:radial-gradient(circle at 35% 30%,#fff 0 15%,var(--c) 16% 70%,#000 71%);border-color:var(--gold)}
.league{flex:1;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-btns{display:flex}
.money{font-size:20px;color:var(--gold);white-space:nowrap;text-shadow:2px 2px 0 #000}
#teambar{position:absolute;left:0;right:0;bottom:0;height:78px;display:flex;gap:6px;padding:6px 10px;background:linear-gradient(#2a244088,#2a2440ee);pointer-events:auto}
.tslot{display:flex;align-items:center;gap:4px;background:var(--paper);border:3px solid var(--ink);padding:2px 8px 2px 2px;cursor:pointer;width:152px}
.tslot.ko{opacity:.55;filter:grayscale(1)}
.icon{width:64px;height:64px;image-rendering:pixelated}
.tinfo{flex:1;font-size:18px}
.mini-hp{height:8px;border:2px solid var(--ink);background:#404048;margin-top:2px}
.mini-hp div{height:100%}
#tooltip{position:absolute;z-index:30;background:var(--paper);border:4px solid var(--ink);padding:8px 12px;font-size:20px;max-width:320px;box-shadow:4px 4px 0 rgba(0,0,0,.35);pointer-events:none}

.panel{position:absolute;inset:0;z-index:30;background:rgba(14,10,28,.72);display:flex;flex-direction:column;align-items:center;padding:24px;overflow-y:auto}
.ptitle{margin:0 0 12px;font-size:38px;color:#fff;text-shadow:3px 3px 0 #000}
.pbody{background:var(--paper);border:4px solid var(--ink);box-shadow:inset 0 0 0 4px var(--frame2),6px 6px 0 rgba(0,0,0,.4);padding:16px 22px;width:880px;max-width:100%;font-size:22px;text-align:center}
.hint{font-size:22px;margin:4px 0 12px}
.party{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}
.party.recruit{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.party.compact{grid-template-columns:repeat(3,1fr)}
.moncard{display:flex;gap:8px;background:#fff;border:3px solid var(--ink);padding:6px;position:relative}
.moncard.clickable{cursor:pointer}
.moncard.clickable:hover{background:#fff8d0;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}
.moncard.current{outline:4px solid var(--accent)}
.moncard.lead::after{content:'EN TÊTE';position:absolute;right:6px;top:4px;font-size:14px;background:var(--gold);border:2px solid var(--ink);padding:0 4px}
.moncard.ko{filter:grayscale(.9);opacity:.7}
.mc-left{display:flex;align-items:center}
.mc-icon{width:64px;height:64px;image-rendering:pixelated}
.mc-front{width:128px;height:128px;image-rendering:pixelated}
.party.recruit .moncard{flex-direction:column;align-items:center;text-align:center}
.mc-info{flex:1;min-width:0}
.mc-name{font-size:22px;font-weight:600}
.lv{font-size:18px;font-weight:400}
.mc-hp{font-size:16px;text-align:right}
.mc-stats{font-size:15px;opacity:.85}
.mc-moves{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}
.mv{font-size:15px;border:2px solid;border-left-width:8px;padding:0 5px;background:#faf8f0}
.mv i{opacity:.6;font-style:normal}
.mvline{font-size:16px;margin:2px 0}
.newmove{margin:8px 0;font-size:20px}
.movelist{display:flex;flex-direction:column;gap:6px}
.mvbtn{font-size:19px;text-align:left;background:#fff;border:3px solid var(--ink);padding:6px 10px}
.mvbtn:hover{background:#fff8d0}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}
.info-grid h3{margin:0 0 4px}
.info-grid p{margin:6px 0;font-size:18px}
.e2{color:#c02818}.e05{color:#806040}.e0{color:#585058}
.event-txt{font-size:24px;line-height:1.35;margin:4px 0 14px}
.center-txt{font-size:24px}
.badge-get{display:flex;flex-direction:column;align-items:center}
.badge-img{width:150px;height:150px;object-fit:contain;image-rendering:auto;animation:spin 1.6s ease-out;filter:drop-shadow(0 0 18px rgba(248,200,56,.9)) drop-shadow(4px 4px 0 rgba(0,0,0,.3))}
.bslot.img{background:#3a3450;border-color:var(--gold);display:inline-grid;place-items:center;overflow:hidden}
.bslot.img img{width:22px;height:22px;object-fit:contain}
.badge-big{width:110px;height:110px;border-radius:50%;border:6px solid var(--gold);background:radial-gradient(circle at 35% 30%,#fff 0 12%,var(--c) 13% 70%,#000 71%);
  animation:spin 1.6s ease-out;box-shadow:0 0 30px var(--gold)}
@keyframes spin{from{transform:rotateY(720deg) scale(.2)}to{transform:none}}
.evo-choices{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.evo-opt{background:#fff;border:3px solid var(--ink);display:flex;flex-direction:column;align-items:center;font-size:20px;padding:6px}
.evo-opt canvas{width:128px;height:128px;image-rendering:pixelated}
.evo-stage{position:relative;width:256px;height:256px;margin:0 auto}
.evo-stage canvas{position:absolute;inset:0;width:256px;height:256px;image-rendering:pixelated}
.evo-b{opacity:0}
.evo-stage.run .evo-a{animation:evoA 3s steps(1) forwards}
.evo-stage.run .evo-b{animation:evoB 3s steps(1) forwards}
.evo-stage.run::after{content:'';position:absolute;inset:0;border-radius:50%;animation:evoGlow 3s forwards;pointer-events:none}
.evo-stage.done .evo-a{opacity:0}.evo-stage.done .evo-b{opacity:1;filter:none}
@keyframes evoA{0%{filter:brightness(1)}10%{filter:brightness(0) invert(1)}20%,30%,45%,58%,68%,76%,82%,87%,91%,94%,97%{opacity:1}25%,38%,52%,63%,72%,79%,85%,89%,93%,96%,99%{opacity:0}100%{opacity:0}}
@keyframes evoB{0%,24%{opacity:0;filter:brightness(0) invert(1)}25%,38%,52%,63%,72%,79%,85%,89%,93%,96%,99%{opacity:1}30%,45%,58%,68%,76%,82%,87%,91%,94%,97%{opacity:0}100%{opacity:1;filter:none}}
@keyframes evoGlow{0%{box-shadow:0 0 0 0 #fff0}50%{box-shadow:0 0 80px 30px #fffd}100%{box-shadow:0 0 0 0 #fff0}}
.hof{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.hof-mon{display:flex;flex-direction:column;align-items:center;font-size:18px;background:#fff8d8;border:3px solid var(--ink);padding:6px}
.hof-mon canvas{width:128px;height:128px;image-rendering:pixelated}
.hof-txt{font-size:26px}

#toasts{position:absolute;top:66px;right:12px;z-index:60;display:flex;flex-direction:column;gap:6px;align-items:flex-end;pointer-events:none}
.toast{background:var(--paper);border:3px solid var(--ink);padding:6px 12px;font-size:20px;box-shadow:3px 3px 0 rgba(0,0,0,.35);transition:opacity .4s,transform .4s}
.toast.out{opacity:0;transform:translateX(30px)}

.mc-ab{font-size:15px;margin:2px 0}
.mc-ab .it{color:#305890}
.tagx{display:inline-block;font-size:12px;padding:0 5px;border:2px solid var(--ink);border-radius:4px;background:#fff0a0;vertical-align:2px}
.tagx.gmax{background:#f8b0c0}.tagx.mega{background:#c8e8ff}
.mdesc{font-size:15px;opacity:.85}

.menu.moves.with-gimmick{grid-template-columns:1fr 1fr auto}
.menu.moves.with-gimmick .mi.gm{grid-column:3;padding:4px 16px 4px 34px}
.mi.gm{justify-content:center;align-items:center;padding-left:10px}
.gimmick{display:inline-block;font-size:20px;padding:2px 12px;border:3px solid var(--ink);border-radius:20px;background:#eee;letter-spacing:1px}
.mi.gm.mega .gimmick.on{background:linear-gradient(90deg,#f85050,#f8e040,#58d058,#4898f8,#a858f8);color:#fff;text-shadow:1px 1px 0 #000}
.mi.gm.dyna .gimmick.on{background:#f83858;color:#fff}
.mi.gm .gimmick.on{background:linear-gradient(90deg,#ff3b5c,#ffb400,#4cd964,#2ec5ff,#a35bff,#ff3b5c);background-size:300% 100%;color:#fff;
  text-shadow:1px 1px 0 #000;animation:rgb-defile 2.4s linear infinite;box-shadow:0 0 12px rgba(255,255,255,.7)}
@keyframes rgb-defile{to{background-position:300% 0}}
.mi.move.max .mvname{color:#c02040}
.ability-bar{position:absolute;padding:6px 14px;background:#fff8d0;border:3px solid var(--ink);font-size:18px;display:flex;flex-direction:column;transition:transform .25s ease-out;z-index:12}
.ability-bar small{font-size:14px}
.ability-bar.player{right:-320px;top:230px;width:300px}.ability-bar.player.show{transform:translateX(-340px)}
.ability-bar.enemy{left:-320px;top:150px;width:300px}.ability-bar.enemy.show{transform:translateX(340px)}
.field-tag{position:absolute;right:20px;top:20px;background:rgba(20,16,40,.75);color:#fff;font-size:16px;padding:3px 10px;border-radius:8px}
.keyitem{width:90px;height:90px;border-radius:50%;border:6px solid var(--ink);animation:spin 1.6s ease-out}
.keyitem.megaring{background:radial-gradient(circle,#fff 0 18%,transparent 19%),conic-gradient(#f85050,#f8e040,#58d058,#4898f8,#a858f8,#f85050)}
.keyitem.dynaband{background:radial-gradient(circle,#fff 0 15%,#f83858 16% 60%,#401020 61%)}
.nature-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.nature-grid .btn{margin:0;font-size:16px}
.bag-h{margin:12px 0 2px;text-align:left;font-size:20px;border-bottom:2px solid var(--ink)}
.keyline{font-size:18px;margin:0 0 6px}

.btn.disabled{opacity:.4;pointer-events:none}
.moncard.shiny{box-shadow:inset 0 0 0 3px #f8d838}
.panel.dp{background:repeating-radial-gradient(circle at 50% 115%,#5f99cc 0 40px,#5389bf 40px 80px)}
.panel.dp .ptitle{text-shadow:3px 3px 0 #1c3f78}
.panel.dp .pbody{border-radius:14px;box-shadow:inset 0 0 0 4px #a8c8f0,6px 6px 0 rgba(0,0,0,.35);text-align:left}
.panel.dp .pbody > .hint{text-align:center}
.panel.dp .pbody > .pclose{display:block;margin:14px auto 0}

.dp-ball{display:inline-block;flex:none;width:22px;height:22px;background:var(--ball-petite) center/100% 100% no-repeat;image-rendering:pixelated}

.dp-equipe{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:6px}
.dp-slot{position:relative;display:flex;align-items:center;gap:10px;text-align:left;font-family:var(--font);color:#fff;cursor:pointer;
  padding:8px 16px 8px 12px;border:4px solid var(--ink);border-radius:20px 6px 20px 6px;
  background:linear-gradient(#7cbcf0,#4c8ad4);box-shadow:inset 0 3px 0 rgba(255,255,255,.35),4px 4px 0 rgba(0,0,0,.3)}
.dp-slot.lead{background:linear-gradient(#8cd878,#48a448)}
.dp-slot.ko{background:linear-gradient(#d89a9a,#a85a5a)}
.dp-slot:hover,.dp-slot.m-focus{background:linear-gradient(#f8b080,#e8703c)}
.dp-slot.shiny{box-shadow:inset 0 0 0 3px #f8d838,4px 4px 0 rgba(0,0,0,.3)}
.dp-slot > .dp-ball{position:absolute;left:-12px;top:-12px}
.dp-slot.lead::after{content:"EN TÊTE";position:absolute;right:10px;top:-14px;font-size:14px;color:var(--ink);background:var(--gold);border:2px solid var(--ink);padding:0 6px}
.dp-ico{width:64px;height:64px;image-rendering:pixelated;flex:none}
.dp-slot-info{flex:1;min-width:0}
.dp-slot-nom{font-size:24px;font-weight:700;text-shadow:2px 2px 0 rgba(0,0,0,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-slot-lv{font-size:18px;text-shadow:1px 1px 0 rgba(0,0,0,.35)}
.dp-slot-pv{text-align:right;font-size:18px;text-shadow:1px 1px 0 rgba(0,0,0,.35)}
.dp-tenu{display:inline-block;width:12px;height:12px;margin-left:8px;background:#f8d838;border:2px solid var(--ink);transform:rotate(45deg);vertical-align:2px}

.panel.resume{padding:14px}
.panel.resume .pbody{flex:1;width:100%;max-width:none;display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:12px;background:#e4ecf6;min-height:0}
.rs-tete{display:flex;align-items:center;gap:10px}
.rs-titre{flex:1;font-size:26px;letter-spacing:1px;color:#fff;padding:6px 16px;border:3px solid var(--ink);border-radius:8px;
  background:linear-gradient(#5a82d8,#2f55a8);text-shadow:2px 2px 0 #1c2c58}
.rs-onglets{display:flex;align-items:center;gap:6px}
.rs-onglet{font-family:var(--font);font-size:19px;color:#fff;padding:6px 12px;border:3px solid var(--ink);border-radius:8px;cursor:pointer;
  background:#7a8aa8;text-shadow:1px 1px 0 rgba(0,0,0,.45);box-shadow:0 3px 0 rgba(0,0,0,.3)}
.rs-onglet i{display:inline-block;width:12px;height:12px;margin-right:6px;border:2px solid var(--ink);background:#fff;vertical-align:0}
.rs-onglet.infos{background:#4cae4c}.rs-onglet.stats{background:#e8902c}.rs-onglet.capas{background:#d8506a}
.rs-onglet:not(.on){filter:saturate(.55) brightness(.9)}
.rs-onglet.on{transform:translateY(-3px);box-shadow:0 0 0 3px #fff,0 5px 0 rgba(0,0,0,.3)}
.rs-fleche{font-family:var(--font);font-size:18px;width:40px;height:40px;border:3px solid var(--ink);border-radius:8px;background:var(--paper);cursor:pointer}
.rs-main{display:grid;grid-template-columns:320px 1fr;gap:14px;min-height:0}
.rs-gauche{display:flex;flex-direction:column;gap:8px;min-height:0}
.rs-plaque{display:flex;align-items:center;gap:8px;font-size:26px;padding:8px 12px;border:3px solid var(--ink);border-radius:10px;
  background:linear-gradient(#ffd868,#f0a428);box-shadow:inset 0 3px 0 rgba(255,255,255,.4)}
.rs-plaque b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-n{margin-left:auto;font-size:22px}
.rs-portrait{flex:1;min-height:200px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:12px;
  background:repeating-linear-gradient(0deg,#dbe6f2 0 6px,#ccdaeb 6px 12px)}
.rs-portrait.shiny{box-shadow:inset 0 0 0 4px #f8d838}
.rs-sprite{width:256px;height:256px;image-rendering:pixelated}
.rs-objet .rs-lab,.rs-talent .rs-lab{font-size:18px;color:#fff;padding:2px 12px;border:3px solid var(--ink);border-bottom:0;border-radius:8px 8px 0 0;
  background:#f0a428;text-shadow:1px 1px 0 rgba(0,0,0,.4);display:inline-block}
.rs-objet .rs-val{font-size:22px;padding:4px 12px;border:3px solid var(--ink);border-radius:0 8px 8px 8px;background:#fff}
.rs-droite{display:flex;flex-direction:column;gap:6px;padding:10px;border:3px solid var(--ink);border-radius:12px;background:#7d95d6;overflow-y:auto;min-height:0}
.rs-ligne{display:grid;grid-template-columns:42% 1fr;border:3px solid var(--ink);border-radius:8px;overflow:hidden;flex:none}
.rs-ligne .rs-lab{font-size:20px;color:#fff;padding:4px 12px;background:#4a66b8;text-shadow:1px 1px 0 rgba(0,0,0,.4)}
.rs-ligne .rs-val{font-size:22px;padding:3px 12px;background:#f8f4dc;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.rs-ligne .rs-val small{font-size:16px}
.rs-droite.stats .rs-ligne .rs-val{justify-content:flex-end}
.rs-ligne.up .rs-lab{background:#c84848}
.rs-ligne.down .rs-lab{background:#2d3f86}
b.up{color:#d03030}b.down{color:#2858c8}
.rs-droite .hpbar.rs-pv{margin:0 4px}
.rs-exp{display:flex;align-items:center;gap:8px;padding:0 4px}
.rs-exp b{font-size:16px;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.4)}
.rs-exp .ext{flex:1;height:12px}
.rs-talent{margin-top:4px}
.rs-talent .rs-val{display:flex;flex-direction:column;gap:2px;font-size:22px;padding:4px 12px;border:3px solid var(--ink);border-radius:0 8px 8px 8px;background:#fff}
.rs-talent small{font-size:16px;opacity:.85}
.rs-capas{display:flex;flex-direction:column;gap:6px}
.rs-capa{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:left;font-family:var(--font);font-size:22px;cursor:pointer;
  padding:5px 12px;border:3px solid var(--ink);border-radius:10px;background:#f8f4dc}
.rs-capa .type{margin:0}
.rs-capa span:last-child{font-size:18px}
.rs-capa.on{background:#fff6a8;box-shadow:inset 0 0 0 3px #e85848}
.rs-capa.vide{grid-template-columns:1fr auto;background:rgba(255,255,255,.6);border-style:dashed}
.rs-detail{font-size:19px;padding:6px 12px;border:3px solid var(--ink);border-radius:10px;background:#fff}
.rs-detail small{display:block;font-size:16px;opacity:.8;margin-top:2px}
.rs-outils{display:flex;gap:6px}
.rs-outils .btn.sm{margin:0;font-size:18px;white-space:nowrap}
.rs-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.rs-act{display:flex;align-items:center;gap:8px;font-family:var(--font);font-size:20px;cursor:pointer;padding:5px 16px 5px 6px;
  border:3px solid var(--ink);border-radius:999px;background:var(--paper);box-shadow:3px 3px 0 rgba(0,0,0,.3)}
.rs-act i{width:30px;height:30px;border-radius:50%;border:3px solid var(--ink);background:radial-gradient(circle at 35% 30%,#fff 0 14%,var(--c) 15%);box-shadow:inset 0 -3px 0 rgba(0,0,0,.2)}
.rs-act.vert{--c:#58c058}.rs-act.bleu{--c:#58a0e8}.rs-act.jaune{--c:#f0c030}.rs-act.rouge{--c:#e05050}.rs-act.retour{--c:#b0a470}
.rs-act:hover{background:#fff8d8}
.rs-act.disabled{opacity:.4;cursor:default}

.panel.capas-choix .pbody{display:flex;flex-direction:column;min-height:0;max-height:100%}
.dp-filtres{display:flex;justify-content:center;gap:8px;margin-bottom:10px}
.dp-filtres small{font-size:15px}
.dp-capas{display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0;max-height:400px;padding:2px 4px}
.dp-capa{display:grid;grid-template-columns:auto auto 1fr;column-gap:10px;align-items:center;text-align:left;font-family:var(--font);font-size:22px;cursor:pointer;
  padding:5px 12px;border:3px solid var(--ink);border-radius:10px;background:#fff;flex:none}
.dp-capa .type{margin:0}
.dp-capa .meta{font-size:16px;opacity:.8;text-align:right}
.dp-capa small{grid-column:1/-1;font-size:15px;opacity:.7}
.dp-capa:hover{background:#fff8d0}
.dp-capa.disabled{opacity:.45;cursor:default}

.shop .pbody{text-align:left}
.shop-solde{font-size:24px;text-align:center;margin:0 0 6px}
.shop-rayon{font-size:22px;margin:14px 0 6px;padding-bottom:2px;border-bottom:3px solid var(--ink)}
.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.btn.opt.shop-item{margin:0;display:flex;flex-direction:column;gap:2px;padding:6px 12px;font-size:20px}
.shop-tete{display:flex;align-items:baseline;gap:6px}
.shop-prix{margin-left:auto;padding-left:10px;font-weight:700;white-space:nowrap}
.shop-n{font-size:14px;color:#2f7a34}
.shop-n:empty{display:none}
.shop-d{font-size:14px;opacity:.8;line-height:1.2}
.shop-item:disabled{opacity:.5}
