/* EXCÉDENT BAGAGE : comptoir d'enregistrement SALGOAT WORLD TOUR. DA reprise de index.html. */
:root{
  --noir:#0a0908; --panel:#100e0d; --tile:#1a1716; --ivoire:#f4f2ee; --sang:#e2231a; --sang-t:#ec3a30; --ambre:#f0b429; --ash:#8c8784;
  --line:#2a2422; --mono:ui-monospace,"SF Mono",Menlo,Consolas,"Courier New",monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
button,.slots li,.lang span{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
html,body{-webkit-text-size-adjust:100%;background:var(--noir);color:var(--ivoire);font-family:var(--mono);-webkit-font-smoothing:antialiased}
body{overflow-x:hidden;position:relative}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.16;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:92;opacity:.5;
  background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0 2px,rgba(0,0,0,.24) 2px 3px)}
body::before,body::after,.halftone,.bgfx{will-change:transform;transform:translateZ(0)}
.halftone{position:fixed;inset:0;pointer-events:none;z-index:91;opacity:.08;mix-blend-mode:screen;
  background-image:radial-gradient(circle,#fff .6px,transparent .7px);background-size:4px 4px}
.crop{position:fixed;z-index:93;width:18px;height:18px;pointer-events:none}
.crop.tl{top:8px;left:8px;border-top:2px solid #4a423f;border-left:2px solid #4a423f}
.crop.tr{top:8px;right:8px;border-top:2px solid #4a423f;border-right:2px solid #4a423f}
.crop.bl{bottom:8px;left:8px;border-bottom:2px solid #4a423f;border-left:2px solid #4a423f}
.crop.br{bottom:8px;right:8px;border-bottom:2px solid #4a423f;border-right:2px solid #4a423f}
.bgfx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--noir)}
.bgfx video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;transform:translate(-50%,-50%);
  object-fit:cover;mix-blend-mode:screen;opacity:.45;filter:contrast(1.16)}
.bgfx::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 30%,rgba(10,9,8,.3),rgba(10,9,8,.85))}

.wrap{max-width:1180px;margin:0 auto;padding:22px;position:relative;z-index:2}
a{color:inherit}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:14px}
.top .back{color:var(--sang-t);text-decoration:none}
.top .lang span{padding:0 7px;border-left:1px solid #3a302d;cursor:pointer;color:var(--ash)}
.top .lang span:first-child{border:0}
.top .lang span.on{color:var(--sang-t)}

.hero{padding:42px 0 26px}
.term{font-size:clamp(12px,1.8vw,14px);color:#b3aca7;margin-bottom:16px}
.term .r{color:var(--sang-t)}
.stamp{display:inline-block;border:2px solid var(--sang);color:var(--sang-t);padding:3px 9px;transform:rotate(-4deg);
  font-size:11px;letter-spacing:.16em;margin-left:6px}
.title{display:flex;flex-wrap:wrap;gap:.18em .5em;font-weight:700}
.word{display:flex;gap:3px}
.flap{display:inline-flex;align-items:center;justify-content:center;min-width:.74em;height:1.3em;
  background:linear-gradient(180deg,#221e1c,#151210);border-radius:3px;font-size:clamp(28px,6.4vw,76px);line-height:1;
  box-shadow:inset 0 -3px 0 #000,inset 0 1px 0 #332c29,0 2px 2px #000;position:relative;overflow:hidden}
.flap::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#000;opacity:.7}
.flap.fa{animation:flip .12s steps(1)}.flap.fb{animation:flip2 .12s steps(1)}
@keyframes flip2{0%{transform:rotateX(0)}49%{transform:rotateX(-88deg);filter:brightness(.35)}50%{transform:rotateX(88deg)}100%{transform:rotateX(0)}}
@keyframes flip{0%{transform:rotateX(0)}49%{transform:rotateX(-88deg);filter:brightness(.35)}50%{transform:rotateX(88deg)}100%{transform:rotateX(0)}}
.word.red .flap{background:linear-gradient(180deg,#e2231a,#a3170f);color:#fff;box-shadow:inset 0 -3px 0 #6e0f0a,inset 0 1px 0 #ff7367,0 2px 2px #000}
.lede{max-width:620px;margin-top:22px;color:#cfc9c4;font-size:15px;line-height:1.65}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.chip{border:1px solid #3a302d;background:rgba(16,14,13,.85);padding:8px 12px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#cfc9c4}
.chip b{color:var(--ash);margin-right:6px}
.chip.red{border-color:var(--sang);color:var(--ivoire)}.chip.red b{color:var(--sang-t)}

.layout{display:grid;grid-template-columns:1fr 360px;gap:26px;align-items:start}
.legrow{padding:11px 16px;background:#0b0a09;border:1px solid var(--line);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sang-t)}
.vol{border:1px solid var(--line);background:var(--panel);box-shadow:8px 8px 0 rgba(0,0,0,.55);margin-bottom:22px}
.vol .legrow{border:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}
.vol .legrow small{color:var(--ash);letter-spacing:.14em}
.trk{display:grid;grid-template-columns:38px 30px 1fr 52px 96px;gap:12px;align-items:center;padding:11px 14px;
  border-bottom:1px solid #1a1614;position:relative;transition:background .12s}
.trk:last-child{border-bottom:0}
@media(hover:hover){.trk:hover{background:#17120f}}
.trk .n{color:var(--ash);font-size:12px}
.trk .tt{font-weight:700;font-size:clamp(13px,1.5vw,15px);letter-spacing:.02em;text-transform:uppercase;line-height:1.25}
.trk .ft{display:block;font-weight:400;font-size:11px;color:var(--ash);letter-spacing:.06em;margin-top:2px}
.trk .du{color:var(--ash);font-size:12px;text-align:right}
.play{width:32px;height:32px;border-radius:50%;border:1px solid #4a423f;background:#141110;color:var(--ivoire);cursor:pointer;font-size:11px;
  display:flex;align-items:center;justify-content:center}
.play:hover,.play.on{border-color:var(--sang);color:var(--sang-t)}
.prog{position:absolute;left:0;bottom:0;height:2px;background:var(--sang);width:0}
.add{border:1px solid #4a423f;background:transparent;color:var(--ivoire);font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  padding:8px 6px;cursor:pointer;text-transform:uppercase;transition:transform .08s}
.add:hover{border-color:var(--ivoire)}
.add:active{transform:translateY(1px)}
.trk.in{background:linear-gradient(90deg,rgba(226,35,26,.13),transparent 70%)}
.trk.in::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sang)}
.trk.in .add{background:var(--sang);border-color:var(--sang);color:#fff}
.trk.refused{animation:refuse .42s}
@keyframes refuse{0%,100%{transform:none}20%{transform:translateX(-6px);background:rgba(226,35,26,.25)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}}

/* balance */
.balance{position:sticky;top:18px;border:1px solid var(--line);background:linear-gradient(180deg,#141110,#0c0a09);
  box-shadow:8px 8px 0 rgba(0,0,0,.55);padding:16px;overflow:hidden}
.bal-head{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.readout{position:relative;margin:14px 0 10px;background:#070605;border:1px solid #241f1d;box-shadow:inset 0 2px 12px #000;
  padding:10px 16px;display:flex;align-items:baseline;justify-content:flex-end;gap:8px;font-weight:700}
.readout .ghost,.readout .val{font-size:68px;line-height:1;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.readout .ghost{position:absolute;right:62px;color:rgba(244,242,238,.05)}
.readout .val{position:relative;color:var(--ivoire);text-shadow:0 0 14px rgba(244,242,238,.25)}
.readout .unit{font-size:16px;color:var(--ash)}
.readout.warn .val{color:var(--ambre);text-shadow:0 0 16px rgba(240,180,41,.4)}
.readout.over .val{color:var(--sang-t);text-shadow:0 0 18px rgba(226,35,26,.6)}
.gauge{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-bottom:14px}
.gauge i{height:9px;background:#1d1917;box-shadow:inset 0 1px 0 #2b2522}
.gauge i.f{background:var(--ivoire)}
.gauge.warn i.f{background:var(--ambre)}
.gauge.over i,.gauge.over i.f{background:var(--sang)}
.excess{position:absolute;top:230px;left:50%;transform:translate(-50%,0) rotate(-8deg) scale(1.6);opacity:0;pointer-events:none;z-index:4;
  border:3px solid var(--sang);color:var(--sang-t);background:rgba(10,9,8,.88);padding:8px 14px;font-weight:700;font-size:20px;letter-spacing:.12em;white-space:nowrap}
.excess.show{animation:stamp 1.6s forwards}
@keyframes stamp{0%{opacity:0;transform:translate(-50%,0) rotate(-8deg) scale(1.8)}12%{opacity:1;transform:translate(-50%,0) rotate(-8deg) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,0) rotate(-8deg) scale(1)}}
.balance.shake{animation:refuse .42s}
.toggle-v{display:none}

.valise{position:relative;margin:26px 4px 6px}
.handle{position:absolute;top:-18px;left:50%;width:84px;height:24px;transform:translateX(-50%);border:5px solid #2e2826;border-bottom:0;border-radius:10px 10px 0 0}
.shell{position:relative;border-radius:14px;padding:14px 12px;min-height:200px;
  background:repeating-linear-gradient(90deg,#1c1816 0 22px,#151210 22px 26px),#181412;
  box-shadow:inset 0 0 0 2px #2e2826,inset 0 10px 24px rgba(0,0,0,.6),0 14px 24px rgba(0,0,0,.6)}
.wheels{display:flex;justify-content:space-between;padding:0 22px}
.wheels i{width:16px;height:10px;background:#2e2826;border-radius:0 0 8px 8px}
.slots{list-style:none;display:flex;flex-direction:column;gap:5px}
.slots li{height:30px;border:1px dashed #3a302d;border-radius:3px;font-size:11px;color:var(--ash);display:flex;align-items:center;padding:0 10px;letter-spacing:.08em}
.slots li.tag{border:0;background:var(--ivoire);color:#0a0908;font-weight:700;cursor:pointer;justify-content:space-between;
  box-shadow:0 2px 0 #b9b2ab,0 3px 6px rgba(0,0,0,.5);animation:drop .32s cubic-bezier(.2,1.4,.4,1)}
.slots li.tag:nth-child(odd){transform:rotate(-.6deg)}.slots li.tag:nth-child(even){transform:rotate(.5deg)}
.slots li.tag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slots li.tag em{font-style:normal;color:var(--sang-t);margin-left:8px}
@keyframes drop{from{opacity:0;transform:translateY(-26px)}to{opacity:1}}
.hint{font-size:12px;color:var(--ash);margin:12px 0;min-height:1.4em;line-height:1.5}
.cta{width:100%;border:0;background:var(--sang);color:#fff;font-family:var(--mono);font-weight:700;font-size:14px;letter-spacing:.1em;
  text-transform:uppercase;padding:15px 14px;cursor:pointer;box-shadow:4px 4px 0 #000}
.cta:disabled{background:#2a2422;color:#6f6864;cursor:not-allowed;box-shadow:none}
.cta:not(:disabled):hover{filter:brightness(1.1)}

.carousel{margin-top:34px}
.rank{list-style:none;border:1px solid var(--line);border-top:0;background:var(--panel)}
.rank li{display:grid;grid-template-columns:34px 1fr 60px;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid #1a1614;font-size:13px}
.rank .bar{height:6px;background:#1d1917;margin-top:6px}.rank .bar i{display:block;height:100%;background:var(--sang)}
.rank .p{color:var(--ash);text-align:right}
.rank li.mine b{color:var(--sang-t)}
.demo{font-size:11px;color:var(--ash);margin-top:8px}

.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:14px;border-top:1px solid var(--line);
  font-size:11px;color:var(--ash);text-transform:uppercase;letter-spacing:.08em}

dialog{margin:auto;border:1px solid var(--line);background:var(--panel);color:var(--ivoire);max-width:520px;width:calc(100% - 28px);
  box-shadow:10px 10px 0 rgba(0,0,0,.7)}
dialog::backdrop{background:rgba(5,4,4,.82);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.d-body{padding:18px 16px;display:flex;flex-direction:column;gap:14px}
.d-body label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}
.d-body input:not([type=checkbox]),.d-body select{background:#070605;border:1px solid #3a302d;color:var(--ivoire);font-family:var(--mono);
  font-size:16px;padding:11px 12px;letter-spacing:.02em;border-radius:0;-webkit-appearance:none;appearance:none;text-transform:none}
.d-body input:focus,.d-body select:focus{outline:2px solid var(--sang);outline-offset:1px}
.d-body .ck{flex-direction:row;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;font-size:13px;color:#cfc9c4;line-height:1.45}
.d-body .ck a{color:var(--sang-t)}
.d-body .ck input{margin-top:3px;accent-color:var(--sang)}
.ts{font-size:11px;color:var(--ash);border:1px dashed #3a302d;padding:10px}
.err{color:var(--sang-t);font-size:13px;min-height:1em}
.d-foot{display:flex;gap:10px;padding:0 16px 16px}
.d-foot .cta{flex:1}
.ghostbtn{border:1px solid #4a423f;background:transparent;color:var(--ivoire);font-family:var(--mono);font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;padding:12px 14px;cursor:pointer}
.tagview{max-width:440px}
.tagwrap{padding:14px;display:flex;justify-content:center}
.tagwrap canvas{width:100%;max-width:300px;height:auto;box-shadow:0 10px 30px rgba(0,0,0,.7)}
.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,40px);opacity:0;z-index:95;background:var(--sang);color:#fff;
  padding:12px 16px;font-size:13px;max-width:calc(100% - 28px);box-shadow:4px 4px 0 #000;transition:.25s;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:900px){
  .hide-m{display:none}
  .layout{grid-template-columns:1fr}
  .tapis{padding-bottom:150px}
  .trk{grid-template-columns:34px 1fr 84px;gap:10px;padding:10px 12px}
  .trk .n,.trk .du{display:none}
  .add{white-space:nowrap;font-size:10px;letter-spacing:.04em;padding:8px 4px}
  .balance{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:50;border-width:1px 0 0;padding:10px 14px 14px;box-shadow:0 -10px 30px rgba(0,0,0,.7);
    display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center;max-height:88vh;max-height:88dvh;overflow-y:auto;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
  .bal-head,.hint{display:none}
  .readout{margin:0;padding:4px 10px}.readout .ghost,.readout .val{font-size:34px}.readout .ghost{right:44px}
  .gauge{margin:0}
  .toggle-v{display:block;grid-column:1/-1;background:none;border:0;color:var(--ash);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-align:left;cursor:pointer}
  .toggle-v b{color:var(--ivoire)}
  .valise{display:none;grid-column:1/-1}
  .balance.open .valise{display:block}
  .cta{grid-column:1/-1;padding:13px}
  .excess{top:4px;font-size:15px}
  .toast{top:14px;bottom:auto;transform:translate(-50%,-40px)}
  .toast.show{transform:translate(-50%,0)}
}
@media(prefers-reduced-motion:reduce){
  .bgfx video{display:none}
  *,*::before,*::after{animation-duration:.001ms!important;transition:none!important}
}
