@font-face{font-family:Grenze;src:url('../assets/fonts/Grenze.ttf');font-weight:100 900;font-display:block}
@font-face{font-family:Oswald;src:url('../assets/fonts/Grenze.ttf');font-weight:100 900;font-display:block} /* alias : le module d'effets partagé (SharedFX.slam) demande « Oswald » — il utilise ici la police du jeu */
@font-face{font-family:'Alegreya Sans';src:url('../assets/fonts/AlegreyaSans-Medium.ttf');font-weight:500}
@font-face{font-family:'Alegreya Sans';src:url('../assets/fonts/AlegreyaSans-Bold.ttf');font-weight:700}
@font-face{font-family:'Alegreya Sans';src:url('../assets/fonts/AlegreyaSans-ExtraBold.ttf');font-weight:800}
@font-face{font-family:Cardo;src:url('../assets/fonts/Cardo-Regular.ttf');font-weight:400}
:root{--ice:#d6eeff;--ice2:#8fc9ee;--bronze:#d59a4a;--bronze2:#f6d798;--bronzeD:#6b431a;--night:#050b14;--aur:#3dffb4;--aur2:#40c8ff;--vio:#a37bff;--cs:100px;--strip:44px;--ladw:110px;
 --cp:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--night);overflow:hidden;font-family:'Alegreya Sans',sans-serif;color:var(--ice);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
.hidden{display:none!important}
#stage{position:fixed;inset:0;z-index:0}#stage canvas{display:block}
#flash{position:fixed;inset:0;z-index:9;background:#e2f3ff;opacity:0;pointer-events:none}
/* loader */
#loader{position:fixed;inset:0;z-index:60;background:radial-gradient(ellipse at 50% 30%,#12324a 0%,#050b14 70%);display:flex;align-items:center;justify-content:center;text-align:center}
.loaderInner{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px}
.runes{font-family:Cardo,serif;font-size:28px;letter-spacing:.5em;color:var(--aur);text-shadow:0 0 14px var(--aur2);margin-right:-.5em}
#loaderTitle{font-family:Grenze,serif;font-weight:800;line-height:.92;display:flex;flex-direction:column;font-size:clamp(54px,11vw,120px);letter-spacing:.06em;background:linear-gradient(180deg,#fff2cf,#e2a552 45%,#7a4a1c 55%,#f0c37a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #2a1706) drop-shadow(0 0 18px rgba(64,200,255,.35))}
.bar{width:min(340px,70vw);height:6px;background:#0c1b2c;clip-path:var(--cp);margin-top:8px}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--aur2),var(--aur))}
#loadTxt{font-size:15px;letter-spacing:.24em;color:var(--ice2)}
.cta{font-family:Grenze,serif;font-weight:800;font-size:22px;letter-spacing:.14em;color:#2a1706;padding:12px 34px;background:linear-gradient(180deg,#ffe7ae,#d59a4a 60%,#a86f2b);clip-path:var(--cp);box-shadow:0 0 0 2px #6b431a;transition:transform .15s,filter .15s}
.cta:hover{transform:scale(1.04);filter:brightness(1.1)}
.disclaimer{font-size:13px;letter-spacing:.14em;opacity:.7;margin-top:8px}.copyL{font-size:12px;opacity:.45}
/* title */
#titleBar{position:fixed;left:0;right:0;top:0;height:56px;z-index:14;display:flex;align-items:center;justify-content:center;pointer-events:none;background:linear-gradient(180deg,rgba(3,8,16,.82),rgba(3,8,16,0))}
#titleBar h1{font-family:Grenze,serif;font-weight:800;font-size:38px;letter-spacing:.16em;line-height:1;position:relative;background:linear-gradient(180deg,#fff2cf 10%,#e4a851 48%,#8a5722 56%,#f3cd85);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #2a1706) drop-shadow(0 0 14px rgba(64,200,255,.3));white-space:nowrap}
#titleBar h1 small{position:absolute;left:50%;top:-9px;transform:translateX(-50%);font-family:Cardo,serif;font-size:12px;letter-spacing:.7em;-webkit-text-fill-color:var(--aur);color:var(--aur);text-shadow:0 0 8px var(--aur2)}
#studioBadge{position:absolute;left:16px;top:10px;height:34px;opacity:.9}
/* top tools */
#topTools{position:fixed;right:12px;top:8px;z-index:16;display:flex;gap:8px}
.ico{width:38px;height:38px;color:var(--bronze2);background:linear-gradient(180deg,#12253b,#08121f);clip-path:var(--cp);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 2px var(--bronze)}
.ico svg{width:22px;height:22px}.ico:hover{color:#fff}
#btnMute.off .waves{display:none}#btnMute:not(.off) .slash{display:none}
/* strip: message or bonus HUD */
#msg{position:fixed;z-index:14;display:flex;align-items:center;justify-content:center;text-align:center;font-family:Grenze,serif;font-weight:700;font-size:clamp(15px,calc(var(--strip)*.5),26px);letter-spacing:.04em;color:var(--ice);text-shadow:0 0 12px rgba(64,200,255,.6),0 2px 3px #000;pointer-events:none;opacity:0;transition:opacity .25s;line-height:1.05}
#msg.on{opacity:1}#msg b{color:var(--bronze2)}
#fsHud{position:fixed;z-index:14;display:flex;gap:6px;justify-content:center;pointer-events:none}
.hp{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bronze);clip-path:var(--cp);padding:0 6px}
.hp::after{content:'';position:absolute;inset:2px;background:linear-gradient(180deg,#0f2740,#07121f);clip-path:var(--cp)}
.hp>*{position:relative;z-index:1}
.hp label{font-size:calc(var(--strip)*.25);letter-spacing:.16em;color:var(--ice2);white-space:nowrap;line-height:1}
.hp b{font-family:Grenze,serif;font-weight:800;font-size:calc(var(--strip)*.48);color:#fff;line-height:1.05;white-space:nowrap}
.hp.hot b{color:var(--aur);text-shadow:0 0 12px var(--aur2)}
/* ladder */
#ladder{position:fixed;z-index:13;width:var(--ladw);pointer-events:none;display:flex;flex-direction:column}
#ladder .gd,#ladder .lp{position:relative;background:var(--bronze);clip-path:var(--cp);display:flex;align-items:center;justify-content:center;gap:6px;padding:0 6px;transition:filter .3s}
#ladder .gd::after,#ladder .lp::after{content:'';position:absolute;inset:2px;background:linear-gradient(180deg,#0d2137,#07111e);clip-path:var(--cp);transition:background .3s}
#ladder .gd>*,#ladder .lp>*{position:relative;z-index:1}
#ladder .gd{height:var(--strip);margin:2px 0;flex-direction:row;gap:5px;background:linear-gradient(135deg,#ffe7ae,#d59a4a,#8a5722);padding:0 6px}
#ladder .gd img{width:calc(var(--strip) - 6px);height:calc(var(--strip) - 6px);object-fit:contain;flex:none;filter:drop-shadow(0 0 6px rgba(255,214,120,.7))}
#ladder .gd .gt{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
#ladder .gd span{font-size:calc(var(--strip)*.22);letter-spacing:.12em;color:var(--bronze2);line-height:1;white-space:nowrap}
#ladder .gd b{font-family:Grenze,serif;font-weight:800;font-size:calc(var(--strip)*.38);line-height:1.05;color:#fff;white-space:nowrap}
#ladder .lp{height:calc(var(--cs) - 4px);margin:2px 0;flex-direction:column;gap:1px;justify-content:center}
#ladder .lp img{width:calc(var(--cs)*.56);height:calc(var(--cs)*.56);max-width:calc(var(--ladw) - 26px);max-height:calc(var(--ladw) - 26px);object-fit:contain;flex:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));transition:filter .3s}
#ladder .lp span{font-size:calc(var(--cs)*.11);letter-spacing:.16em;color:var(--ice2);line-height:1}
#ladder .lp b{font-family:Grenze,serif;font-weight:800;font-size:calc(var(--cs)*.15);color:#fff;line-height:1.05;white-space:nowrap}
#ladder .lp.lit::after{background:linear-gradient(180deg,#0f5a4b,#083328)}#ladder .lp.lit img{filter:drop-shadow(0 0 10px var(--aur)) brightness(1.15)}
#ladder .lp.lit{filter:drop-shadow(0 0 10px rgba(61,255,180,.75))}
#ladder.dim .lp{opacity:.55}
/* panel */
#panel{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(6,14,26,.86),rgba(3,8,15,.97));border-top:3px solid var(--bronze);box-shadow:0 -6px 24px rgba(0,0,0,.5),0 -2px 0 #2a1706}
#panel::before{content:'';position:absolute;left:0;right:0;top:-8px;height:5px;background:repeating-linear-gradient(90deg,var(--bronzeD) 0 22px,transparent 22px 30px);opacity:.7}
.pl{position:relative;min-width:110px;padding:5px 18px 6px;text-align:center;background:var(--bronze);clip-path:var(--cp);display:flex;flex-direction:column;justify-content:center}
.pl::after{content:'';position:absolute;inset:2px;background:linear-gradient(180deg,#0e2036,#060f1b);clip-path:var(--cp)}
.pl>*{position:relative;z-index:1}
.pl label{display:block;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--ice2);line-height:1.1}
.pl b{display:block;font-family:Grenze,serif;font-weight:800;font-size:26px;line-height:1.12;color:#fff;white-space:nowrap}
.winp b{color:var(--aur);text-shadow:0 0 14px rgba(61,255,180,.55)}
.balance{min-width:150px}.winp{min-width:170px}
.betp{min-width:190px}.stp{display:flex;align-items:center;justify-content:space-between;gap:6px}.stp b{font-size:24px;flex:1}
.stp button{width:34px;height:34px;font-size:24px;font-weight:800;color:var(--bronze2);background:#122a44;clip-path:var(--cp);line-height:1;box-shadow:inset 0 0 0 2px var(--bronze)}
.stp button:hover{background:#1d4468;color:#fff}.stp button:disabled{opacity:.35}
#btnSpin{position:relative;width:96px;height:96px;flex:none;border-radius:50%;color:#0d2137;background:radial-gradient(circle at 50% 35%,#f8f2dd,#bfe3f7 55%,#6fb1d8);box-shadow:0 0 0 5px var(--bronze),0 0 0 8px #2a1706,0 0 26px rgba(64,200,255,.55),inset 0 -6px 12px rgba(20,60,100,.45);transition:transform .12s,filter .2s}
#btnSpin svg{position:absolute;inset:22px;width:52px;height:52px}
#btnSpin .ring{position:absolute;inset:-14px;border-radius:50%;border:2px dashed rgba(64,200,255,.55);animation:rot 14s linear infinite;pointer-events:none}
#btnSpin:hover{transform:scale(1.05)}#btnSpin:active{transform:scale(.95)}#btnSpin:disabled{filter:grayscale(.7) brightness(.7);cursor:default}
#btnSpin.busy svg{animation:rot 1s linear infinite}
#autoCount{position:absolute;left:0;right:0;bottom:8px;font-family:Grenze,serif;font-weight:800;font-size:15px;text-align:center;color:#0d2137}
@keyframes rot{to{transform:rotate(360deg)}}
.pills{flex-direction:row;gap:8px;min-width:0;padding:5px 10px}
.pill{position:relative;z-index:1;font-family:Grenze,serif;font-weight:800;font-size:16px;letter-spacing:.12em;padding:9px 14px;color:var(--bronze2);background:#122a44;clip-path:var(--cp);box-shadow:inset 0 0 0 2px var(--bronze)}
.pill.on{background:linear-gradient(180deg,#22d29b,#0a8f6c);color:#032018}
.pill:hover{filter:brightness(1.2)}
.buy{position:relative;width:104px;align-self:stretch;min-height:64px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Grenze,serif;color:#fff;background:var(--bronze);clip-path:var(--cp);overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.6);transition:filter .2s}
.buy::before{content:'';position:absolute;inset:3px;clip-path:var(--cp);background:linear-gradient(180deg,#2a6fa4 0%,#15406a 48%,#0b2340 52%,#0a1c33 100%);box-shadow:inset 0 0 14px rgba(64,200,255,.35)}
.buy::after{content:'';position:absolute;top:-20%;bottom:-20%;width:34%;left:-50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:buyshine 3.8s ease-in-out infinite;pointer-events:none}
@keyframes buyshine{0%,55%{left:-50%}100%{left:130%}}
.buy>*{position:relative;z-index:1}
.buy small{font-size:12px;letter-spacing:.24em;font-weight:700;color:var(--bronze2)}.buy b{font-size:22px;font-weight:800;letter-spacing:.06em;line-height:1;color:#fff;text-shadow:0 0 10px rgba(255,214,120,.55),0 1px 2px rgba(0,0,0,.7)}
.buy:hover{filter:brightness(1.15)}.buy:active{filter:brightness(.95)}.buy:disabled{filter:grayscale(.8) brightness(.6)}.buy:disabled::after{display:none}
/* popups & modals */
.pop{position:fixed;z-index:30;left:50%;bottom:130px;transform:translateX(-50%);background:var(--bronze);clip-path:var(--cp);padding:2px}
.pop>*{position:relative}.pop{--in:linear-gradient(180deg,#0e2036,#060f1b)}
.pop::before{content:'';position:absolute;inset:2px;background:var(--in);clip-path:var(--cp)}
.pop>*{z-index:1}.popTitle{font-family:Grenze,serif;font-weight:800;letter-spacing:.14em;text-align:center;padding:14px 22px 6px}
.autoBtns{display:flex;gap:8px;padding:6px 18px}.autoBtns button{font-family:Grenze,serif;font-weight:800;font-size:20px;padding:8px 14px;background:#122a44;color:var(--bronze2);clip-path:var(--cp);box-shadow:inset 0 0 0 2px var(--bronze)}
.chk{display:flex;gap:8px;align-items:center;padding:8px 18px 14px;font-size:15px}
.modal{position:fixed;inset:0;z-index:40;background:rgba(2,6,12,.84);display:flex;align-items:center;justify-content:center;padding:14px}
.modal .card{position:relative;max-width:520px;width:100%;max-height:92vh;overflow:auto;padding:26px 24px;background:linear-gradient(180deg,#0e2036,#060f1b);border:3px solid var(--bronze);box-shadow:0 0 0 2px #2a1706,0 0 40px rgba(64,200,255,.25);text-align:center}
.modal .card.wide{max-width:980px;text-align:left}
.modal h2{font-family:Grenze,serif;font-weight:800;letter-spacing:.14em;font-size:26px;color:var(--bronze2);text-align:center;margin-bottom:14px}
.modal .h2b{margin-top:22px}.modal .sub{text-align:center;opacity:.8;font-size:15px;margin-bottom:12px}
.close{position:sticky;float:right;top:0;font-size:32px;line-height:1;color:var(--bronze2);z-index:3;width:38px;height:38px}
.buyRow{display:flex;gap:12px;flex-wrap:wrap}.buyOpt{flex:1 1 200px;padding:14px 10px;background:linear-gradient(180deg,#12304d,#0a1a2c);box-shadow:inset 0 0 0 2px var(--bronze);clip-path:var(--cp);display:flex;flex-direction:column;gap:6px;align-items:center}
.buyOpt b{font-family:Grenze,serif;font-weight:800;font-size:22px;letter-spacing:.1em;color:var(--bronze2)}.buyOpt span{font-size:15px;opacity:.85;min-height:40px}
.buyOpt em{font-style:normal;font-family:Grenze,serif;font-weight:800;font-size:26px;color:var(--aur)}.buyOpt:hover{filter:brightness(1.2)}.buyOpt:disabled{opacity:.4}
.row{display:flex;gap:12px;justify-content:center;margin-top:16px}.ghost{font-family:Grenze,serif;font-weight:800;letter-spacing:.12em;padding:10px 26px;color:var(--bronze2);box-shadow:inset 0 0 0 2px var(--bronze);clip-path:var(--cp)}
.how{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.hw{display:flex;gap:12px;align-items:flex-start;background:rgba(18,42,68,.5);padding:12px;box-shadow:inset 0 0 0 1px rgba(213,154,74,.5)}
.hw img{width:56px;height:56px;object-fit:contain;flex:none}.hw b{font-family:Grenze,serif;font-weight:800;font-size:18px;color:var(--bronze2);display:block;margin-bottom:2px}.hw p{font-size:15px;line-height:1.25}
.payGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.pc{display:flex;gap:10px;align-items:center;background:rgba(18,42,68,.5);padding:8px 10px;box-shadow:inset 0 0 0 1px rgba(213,154,74,.45)}
.pc img{width:54px;height:54px;object-fit:contain;flex:none}.pc div{font-size:15px;line-height:1.3;white-space:nowrap}.pc div b{font-family:Grenze,serif;color:#fff;font-size:16px}.pc div em{font-style:normal;color:var(--ice2);font-size:13px}
.payNote{margin-top:10px;text-align:center;font-size:15px;opacity:.9}
.runeGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.rc{text-align:center;background:rgba(18,42,68,.5);padding:10px;box-shadow:inset 0 0 0 1px rgba(64,200,255,.4)}.rc img{width:56px;height:56px;object-fit:contain;display:block;margin:0 auto 2px}.rc span{font-size:13px;letter-spacing:.14em;color:var(--ice2);display:block}.rc b{font-family:Grenze,serif;font-size:20px}
.rules p{font-size:15px;line-height:1.4;opacity:.9}.rules h3{font-family:Grenze,serif;color:var(--bronze2);letter-spacing:.12em;margin:16px 0 4px}
.copy{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:20px;opacity:.6;font-size:13px}.copy img{height:26px}
/* overlays (bonus intro / summary / big win) : never over the panel */
#ovl{position:fixed;left:0;right:0;top:0;bottom:var(--panelh,120px);z-index:25;display:flex;align-items:center;justify-content:center;padding:10px;background:radial-gradient(ellipse at 50% 50%,rgba(2,8,16,.72),rgba(2,8,16,.35) 70%,rgba(2,8,16,0))}
#ovl.click{cursor:pointer}
.bcard{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(640px,94vw);animation:pop .5s cubic-bezier(.2,1.5,.4,1)}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.bk{font-family:Grenze,serif;font-weight:800;font-size:clamp(22px,4.2vw,44px);letter-spacing:.14em;background:linear-gradient(180deg,#fff2cf,#e2a552 50%,#8a5722 56%,#f3cd85);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #2a1706) drop-shadow(0 0 16px rgba(64,200,255,.4))}
.bbig{display:flex;align-items:baseline;gap:12px;font-family:Grenze,serif;font-weight:800}.bbig b{font-size:clamp(60px,12vw,130px);line-height:1;color:#fff;text-shadow:0 0 24px var(--aur2),0 4px 0 #234}.bbig span{font-size:clamp(18px,3vw,30px);letter-spacing:.1em;color:var(--bronze2)}
.bcard p{font-size:clamp(15px,2vw,19px);line-height:1.35;max-width:560px;text-shadow:0 2px 4px #000}
.bamt{font-family:Grenze,serif;font-weight:800;font-size:clamp(46px,10vw,110px);line-height:1;color:#fff;text-shadow:0 0 26px var(--aur),0 4px 0 #123;white-space:nowrap}
.btier{font-family:Grenze,serif;font-weight:800;font-size:clamp(30px,7vw,84px);letter-spacing:.1em;line-height:1;background:linear-gradient(180deg,#fff,#bfe6ff 45%,#5aa6d6 55%,#e7f6ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #0b2233) drop-shadow(0 0 20px rgba(64,200,255,.6));white-space:nowrap}
.btier.t-mega{background-image:linear-gradient(180deg,#fff2cf,#f0a83f 48%,#8a5722 56%,#ffd98a)}.btier.t-super{background-image:linear-gradient(180deg,#e9fff6,#3dffb4 48%,#0a7d5a 56%,#a5ffe0)}
.bsub{font-size:clamp(14px,2vw,18px);opacity:.85;letter-spacing:.12em}
#slamHost{position:fixed;inset:0;z-index:11;pointer-events:none}
/* portrait & short screens */
body.portrait #titleBar{height:46px}body.portrait #titleBar h1{font-size:26px}body.portrait #titleBar h1 small{top:-7px;font-size:10px}body.portrait #studioBadge{height:26px;left:10px;top:9px}body.portrait #topTools{top:5px;right:8px}body.portrait .ico{width:34px;height:34px}
body.portrait #panel{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-areas:"bal buy win" "bet spin pills";gap:6px 8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));align-items:center}
body.portrait .balance{grid-area:bal;min-width:0;padding:3px 8px 4px}body.portrait .winp{grid-area:win;min-width:0;padding:3px 8px 4px}body.portrait .buy{grid-area:buy;width:auto;min-height:44px;align-self:auto;justify-self:stretch}
body.portrait .betp{grid-area:bet;min-width:0;padding:3px 6px 4px}body.portrait #btnSpin{grid-area:spin;justify-self:center;width:84px;height:84px;margin-top:-26px}body.portrait #btnSpin svg{inset:18px}body.portrait .pills{grid-area:pills;min-width:0;justify-self:stretch;justify-content:center;padding:4px}
body.portrait .pl b{font-size:19px}body.portrait .stp b{font-size:18px}body.portrait .pl label{font-size:10px;letter-spacing:.14em}body.portrait .stp button{width:28px;height:28px;font-size:20px}body.portrait .pill{padding:8px 9px;font-size:13px}body.portrait .buy b{font-size:17px}body.portrait .buy small{font-size:10px}
body.portrait #ladder .lp span{display:none}body.portrait #ladder .lp img{width:calc(var(--ladw)*.52);height:calc(var(--ladw)*.52)}body.portrait #ladder .gd .gt span{display:none}body.portrait #ladder .gd img{width:calc(var(--strip) - 8px);height:calc(var(--strip) - 8px)}body.portrait #ladder .lp b{font-size:calc(var(--ladw)*.155)}body.portrait #ladder .gd span{display:none}body.portrait #ladder .gd{flex-direction:row;gap:5px}body.portrait #ladder .gd b{font-size:calc(var(--ladw)*.155)}
body.portrait .pop{bottom:190px}
body.short #titleBar{height:34px}body.short #titleBar h1{font-size:20px}body.short #titleBar h1 small{display:none}body.short #studioBadge{height:20px;top:7px;left:8px}body.short #topTools{top:2px}body.short .ico{width:30px;height:30px}
body.short #panel{padding:4px 10px;gap:8px}body.short .pl{padding:2px 10px 3px;min-width:80px}body.short .pl b{font-size:17px}body.short .pl label{font-size:10px}body.short .balance{min-width:100px}body.short .winp{min-width:110px}body.short .betp{min-width:130px}
body.short #btnSpin{width:60px;height:60px}body.short #btnSpin svg{inset:12px;width:36px;height:36px}body.short #btnSpin .ring{display:none}body.short .buy{width:80px;min-height:44px}body.short .buy b{font-size:16px}body.short .pill{padding:5px 9px;font-size:13px}body.short .stp button{width:26px;height:26px;font-size:18px}
body.short .modal .card{padding:14px}body.short #ladder .lp span{display:none}

/* ===== audit mobile 20261001m1 : zones tactiles >= 40 px (visuel inchangé, zone étendue), textes >= 13 px, bouton spin sans chevauchement ===== */
body.portrait .stp button,body.short .stp button{width:40px;height:40px;margin:0 -6px;background:none;box-shadow:none;clip-path:none;position:relative;flex:none;font-size:0;display:flex;align-items:center;justify-content:center}
body.portrait .stp button::before,body.short .stp button::before{content:attr(aria-label);position:absolute;left:6px;right:6px;top:6px;bottom:6px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:var(--bronze2);background:#122a44;clip-path:var(--cp);box-shadow:inset 0 0 0 2px var(--bronze);line-height:1}
body.portrait .stp button:hover::before,body.short .stp button:hover::before{background:#1d4468;color:#fff}
body.portrait .stp button:disabled::before,body.short .stp button:disabled::before{opacity:.35}
body.portrait .pl label,body.short .pl label{font-size:13px;letter-spacing:.06em}
body.portrait .buy small,body.short .buy small{font-size:13px;letter-spacing:.06em}
body.portrait .ico,body.short .ico{width:40px;height:40px}
body.portrait #topTools{top:3px;gap:6px}body.short #topTools{top:0;gap:6px}
body.portrait #titleBar h1{font-size:clamp(19px,6vw,26px)}
body.portrait .pill,body.short .pill{min-height:40px;padding:0 6px;font-size:13px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center}
body.portrait .pills,body.short .pills{gap:4px;padding:3px 4px}
body.portrait #panel{grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);gap:6px 8px;align-items:center}
body.portrait #btnSpin{margin-top:0}
body.portrait .betp{padding:3px 2px 4px 8px}body.portrait .stp{gap:0}
body.portrait .stp b{font-size:17px}
body.portrait #ladder .lp b{font-size:13px;letter-spacing:-.02em}body.portrait #ladder .gd b{font-size:13px;letter-spacing:-.02em}
body.portrait #ladder .gd,body.portrait #ladder .lp{padding:0 2px}
body.short #ladder .gd span{display:none}body.short #ladder .lp b{font-size:13px}body.short #ladder .gd b{font-size:13px}
body.short #ladder .lp img{width:calc(var(--cs)*.4);height:calc(var(--cs)*.4)}
body.short .buy small{display:none}
body.short .betp{min-width:150px}
.close{min-width:40px;min-height:40px}
.copyL,.disclaimer{font-size:13px}
