:root{--cave: #1f150f;--fg: #f4ead8;--gold: #ffd23f;--panel: #0f1a2e;--wood: #7a4a22;--wood-dark: #2a170a}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--cave);color:var(--fg);font-family:system-ui,-apple-system,sans-serif;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}body{display:flex;justify-content:center;padding-top:env(safe-area-inset-top)}#game{display:flex;flex-direction:column;position:relative;background:#2c4a1c url(/ui/title-bouldo.jpg) center bottom / cover no-repeat}canvas{display:block;image-rendering:pixelated}#board{image-rendering:auto;margin:0 auto max(8px,env(safe-area-inset-bottom));padding:3px;border:6px solid #7a5232;border-radius:14px;background:#2a1a0e;box-shadow:inset 0 0 0 1px #00000080,0 0 0 1.5px #3b1d0b,inset 0 2px 4px #00000080,0 6px 16px #00000080;border-color:#8a5e3a #6b4428 #5a3820 #6b4428}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}#top{position:relative;height:76px;overflow:hidden;background:url(/ui/header-sky.jpg) center 35% / cover no-repeat}#logo{position:absolute;left:8px;top:4px;display:flex;align-items:center;gap:2px}#logo-text{display:flex;flex-direction:column;line-height:.86;font-family:Lilita One,sans-serif;letter-spacing:1px}#logo-text span{font-size:27px;background:linear-gradient(#ffe066 15%,#ffb02e 55%,#e8741c 85%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1.5px #3b1d0b;filter:drop-shadow(0 2px 0 #3b1d0b) drop-shadow(0 0 1px #3b1d0b)}#logo-text span+span{font-size:31px}#logo-img{display:block;height:70px;width:auto;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35))}#logo-capy[hidden]{display:none}#logo-capy{width:62px;height:auto;image-rendering:auto;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35))}#lives{position:absolute;right:8px;top:6px;font-size:18px;letter-spacing:1px;line-height:1;filter:drop-shadow(0 1px 0 rgba(0,0,0,.4))}.coeurs .vide,#lives .vide{opacity:.3;filter:grayscale(1)}#hud{display:grid;grid-template-columns:1.2fr 1fr 1.25fr .8fr;margin:0 4px 6px;padding:5px 2px 6px;background:linear-gradient(#8a5228,#6a3c1c);border:2px solid #3b1d0b;border-radius:10px;box-shadow:inset 0 1px #ffdcaa40,0 3px #00000059;font-family:Lilita One,sans-serif}#hud div{display:flex;flex-direction:column;gap:1px;align-items:center}#hud div+div{border-left:2px solid rgba(43,20,6,.45)}#hud label{font-size:11px;color:#fff4e2;letter-spacing:.5px;white-space:nowrap;text-shadow:0 1px 0 rgba(0,0,0,.4)}#hud b{font-size:21px;line-height:1.05;color:#ffd23f;font-weight:400;display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;-webkit-text-stroke:1px #6b3410;paint-order:stroke fill;text-shadow:0 2px 0 #4a2208}#hud b.open{color:#8dff6a;-webkit-text-stroke-color:#1d5a12;text-shadow:0 2px 0 #1d5a12}#hud-carrot{width:20px;height:20px;image-rendering:auto}html[lang=es] #hud label,html[lang=de] #hud label{font-size:9px;letter-spacing:0}.screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:10}.screen[hidden]{display:none}.screen.dim{background:#0805028c;padding:12px;overflow-y:auto}#title{background:#0c1a10}#title-art{position:relative;width:min(100vw,calc(100dvh * 941 / 1672));aspect-ratio:941 / 1672;container-type:inline-size}#title-art img{display:block;width:100%;height:100%}#title-art button{position:absolute;background:none;border:0;padding:0;border-radius:3cqw}#title-art button:active{background:#ffffff2e}#title-art button.rond{border-radius:50%}#title-art .lbl{position:absolute;top:50%;left:6%;width:88%;display:block;white-space:nowrap;text-align:center;pointer-events:none;font-family:Lilita One,sans-serif;line-height:1;color:#fff;letter-spacing:.2cqw;--k: 1;font-size:calc(var(--k) * 6.2cqw);transform:translateY(-50%);-webkit-text-stroke:.5cqw #6b3410;paint-order:stroke fill;text-shadow:0 .6cqw 0 rgba(80,36,8,.55)}#title-art [data-act=play] .lbl{font-size:calc(var(--k) * 8.6cqw);-webkit-text-stroke-color:#2f6b0c;text-shadow:0 .7cqw 0 rgba(20,70,0,.55)}#title-art .rond .lbl{top:auto;bottom:-3.6cqw;left:-10%;width:120%;transform:none;font-size:calc(var(--k) * 3.4cqw);-webkit-text-stroke-width:.35cqw;text-shadow:0 .4cqw 0 rgba(0,0,0,.45)}#title-art #vies-btn{display:flex;align-items:center;justify-content:flex-end;gap:1.5cqw;padding-right:3cqw;font-family:Lilita One,sans-serif;font-size:5cqw;color:#6b3410;border-radius:6cqw}#title-art #vies-btn span{font-size:5.4cqw}#title-art #vies-btn b{color:#c0392b;font-weight:400;font-size:3.6cqw;font-variant-numeric:tabular-nums}#title-art #compte-btn{border-radius:50%;font-size:0}#title-art #compte-btn>*{display:none}.pop{width:min(100%,360px);display:flex;flex-direction:column;align-items:center;margin:auto}.pop-title{width:100%;display:block;position:relative;z-index:2;filter:drop-shadow(0 4px 0 rgba(0,0,0,.4))}.pop-title.win{margin-bottom:-9%}.pop-title.over{width:82%;margin-bottom:-20%}.pop-title.win-txt{margin-bottom:-16px;padding:0 8px;font-family:Lilita One,sans-serif;font-size:50px;line-height:1;letter-spacing:1px;text-align:center;white-space:pre-line;background:linear-gradient(#fff0a0 10%,#ffd23f,#ffa21e 70%,#e8741c 95%) 0 0 / 100% 1em repeat-y;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:3px #3b1d0b;filter:drop-shadow(0 4px 0 #3b1d0b) drop-shadow(0 2px 6px rgba(0,0,0,.45))}.pop-heading{position:relative;z-index:2;margin-bottom:-14px;font-family:Lilita One,sans-serif;font-size:40px;letter-spacing:1px;background:linear-gradient(#ffe066 15%,#ffb02e 55%,#e8741c 85%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:2px #3b1d0b;filter:drop-shadow(0 3px 0 #3b1d0b)}.frame{width:100%;position:relative;padding:10px;border-radius:8px;background:#3a2312;border:6px solid var(--wood);box-shadow:inset 0 0 0 2px var(--wood-dark),0 0 0 2px var(--wood-dark),0 8px #00000073;background-image:radial-gradient(circle at 7px 7px,#d8dde2 0 2px,#3a3d42 2.5px 3.5px,transparent 4px),radial-gradient(circle at calc(100% - 7px) 7px,#d8dde2 0 2px,#3a3d42 2.5px 3.5px,transparent 4px),radial-gradient(circle at 7px calc(100% - 7px),#d8dde2 0 2px,#3a3d42 2.5px 3.5px,transparent 4px),radial-gradient(circle at calc(100% - 7px) calc(100% - 7px),#d8dde2 0 2px,#3a3d42 2.5px 3.5px,transparent 4px)}.frame.padtop{padding-top:26px}.pop-art{display:block;width:100%;border:3px solid var(--wood-dark);border-radius:3px}.stats{width:100%;margin-top:10px;background:#0f1626;border:3px solid #3d2a18;border-radius:4px;font-family:Nunito,system-ui,sans-serif;font-weight:800;border-collapse:collapse}.stats td{padding:10px 8px;border-top:1px solid #263046;white-space:nowrap}.stats tr:first-child td{border-top:0}.stats td:first-child{font-size:14px;color:#e8eef8}.stats td.v{font-size:13px;color:var(--gold);text-shadow:0 1px 0 #6b4a00}.stats td.d{font-size:14px;text-align:right}.stats.levels td{padding:6px 8px}.stats.levels td.v{font-size:15.5px}.stats.levels tr.off td{color:#5d6b85;text-shadow:none}.stats+.world-tabs{margin-top:12px}.stats.ranking td{padding:7px 6px}.stats.ranking td.rk{width:28px;text-align:center;font-size:14px}.stats.ranking td.who{font-size:12.4px;color:#e8eef8;max-width:140px;overflow:hidden;text-overflow:ellipsis}.stats.ranking td.v{font-size:15.5px;text-align:right}.stats.ranking tr.me td{background:#ffd23f26}.stats.ranking td.msg{font-size:12.4px;line-height:1.8;white-space:normal;text-align:center;color:#e8eef8;padding:14px 8px}.good{color:#7dff6a}.bad{color:#ff7a6a}.badge{display:inline-block;background:#c4161c;color:#ffe066;border:2px solid #ff6a5a;border-radius:3px;padding:3px 4px;font-size:10.8px;line-height:1.4;text-align:center;box-shadow:0 2px #5a0a0a}.btns{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px;width:100%;margin-top:10px}.btns.deux{grid-template-columns:1fr 1.25fr}.text.vies-texte{margin-top:10px;text-align:center}.vies-texte .coeurs{font-size:22px;letter-spacing:2px;margin-bottom:10px}.stats td.v.coeurs{font-size:12px;letter-spacing:1px}.btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:70px;padding:8px 4px;border:3px solid #2e3136;border-radius:6px;font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:11.6px;line-height:1.4;text-align:center;color:#fff;text-shadow:0 1px 0 #000;background:radial-gradient(circle at 6px 6px,#d8dde2 0 1.5px,transparent 2.5px),radial-gradient(circle at calc(100% - 6px) 6px,#d8dde2 0 1.5px,transparent 2.5px),radial-gradient(circle at 6px calc(100% - 6px),#d8dde2 0 1.5px,transparent 2.5px),radial-gradient(circle at calc(100% - 6px) calc(100% - 6px),#d8dde2 0 1.5px,transparent 2.5px),linear-gradient(#8d939b,#5f656d);box-shadow:inset 0 2px #ffffff59,0 4px #1f2226}.btn:active{transform:translateY(2px);box-shadow:inset 0 2px #ffffff59,0 2px #1f2226}.btn svg{width:26px;height:26px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.5))}.btn.gold{color:#3b1d0b;text-shadow:none;border-color:#8a5a00;background:radial-gradient(circle at 6px 6px,#fff3c4 0 1.5px,transparent 2.5px),radial-gradient(circle at calc(100% - 6px) 6px,#fff3c4 0 1.5px,transparent 2.5px),radial-gradient(circle at 6px calc(100% - 6px),#fff3c4 0 1.5px,transparent 2.5px),radial-gradient(circle at calc(100% - 6px) calc(100% - 6px),#fff3c4 0 1.5px,transparent 2.5px),linear-gradient(#ffd84a,#f0a01a);box-shadow:inset 0 2px #ffffff80,0 4px #7a4a00}.btn.wide{width:100%;min-height:52px;flex-direction:row;font-size:15.5px;margin-top:10px}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.level-grid .btn{min-height:76px}.level-grid .best{font-size:10.1px;color:#ffe066}.level-grid .btn.locked{opacity:.45}.level-grid .num{font-size:15px}.skins .btn{min-height:120px;gap:4px;padding:6px 4px}.skins .skin-art{width:72px;height:auto}.skins .btn.locked .skin-art{filter:brightness(0) opacity(.5)}.skins .how{font-size:9.3px;line-height:1.5;color:#ffe066;display:flex;align-items:center;gap:3px}.skins .btn.gold .how{color:#3b1d0b}.succes .btn{min-height:92px;gap:4px;padding:6px 4px}.succes .ico svg{width:26px;height:26px}.succes .btn.locked .ico{opacity:.6}.succes .how{font-size:9.3px;line-height:1.5;color:#ffe066}.succes .btn.gold .how{color:#3b1d0b}.skins .how svg{width:9px;height:9px;flex:none}.world-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.world-tabs .btn{min-height:40px;font-size:10.8px;gap:3px}.world-tabs .btn svg{width:14px;height:14px}.world-tabs .btn.locked{opacity:.45}.world-tabs.langues{grid-template-columns:repeat(4,1fr)}.world-tabs.langues .btn{font-size:14px}.world-name{font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:14px;color:#ffe066;text-align:center;margin:10px 0 8px}.world-art{display:block;width:96px;height:96px;margin:0 auto 6px}.text{font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:14px;line-height:1.9;color:#f4ead8;background:#0f1626;border:3px solid #3d2a18;border-radius:4px;padding:12px}.text b{color:var(--gold);font-weight:400}#toast{position:fixed;left:50%;bottom:12%;transform:translate(-50%);z-index:20;background:#0f1626;border:3px solid var(--gold);border-radius:6px;padding:12px 16px;font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:15.5px;color:var(--gold)}#tuto{position:absolute;left:8px;right:8px;z-index:5;pointer-events:none;background:#0f1626ed;border:3px solid var(--gold);border-radius:8px;padding:12px;font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:14px;line-height:1.9;color:#f4ead8;text-align:center;box-shadow:0 4px #00000073;animation:tuto-in .25s ease-out}#tuto[hidden]{display:none}#tuto.bottom{bottom:8px}#tuto b{color:var(--gold);font-weight:400}#tuto-hand{display:none;font-size:26px;margin-top:6px;animation:swipe 1.4s ease-in-out infinite}#tuto.hand #tuto-hand{display:block}@keyframes swipe{0%,15%{transform:translate(-40px);opacity:0}30%{opacity:1}70%{transform:translate(40px);opacity:1}to{transform:translate(40px);opacity:0}}@keyframes tuto-in{0%{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}#hud div.pulse{animation:pulse .8s ease-in-out infinite alternate;border-radius:4px}@keyframes pulse{0%{box-shadow:0 0 #ffd23f00}to{box-shadow:0 0 0 3px #ffd23fe6;background:#ffd23f26}}#tuto-skip{position:absolute;right:8px;top:8px;background:linear-gradient(#5a3418,#3e220e);border:2px solid #e8a83a;border-radius:10px;padding:6px 10px;font-family:Lilita One,sans-serif;font-size:14px;color:#fff4e2;box-shadow:0 3px #00000059}#tuto-skip[hidden]{display:none}#pause-btn{position:absolute;right:8px;bottom:5px;width:38px;height:34px;padding:0;display:grid;place-items:center;background:linear-gradient(#5a3418,#3e220e);border:2px solid #e8a83a;border-radius:10px;color:#ffd23f;box-shadow:0 3px #00000059}#pause-btn svg{width:18px;height:18px}#pause-btn[hidden]{display:none}#son-btn{position:absolute;right:52px;bottom:5px;width:38px;height:34px;padding:0;display:grid;place-items:center;background:linear-gradient(#5a3418,#3e220e);border:2px solid #e8a83a;border-radius:10px;color:#ffd23f;box-shadow:0 3px #00000059}#son-btn svg{width:20px;height:20px}#son-btn[hidden]{display:none}form.compte{display:flex;flex-direction:column;gap:10px;margin-top:10px}.field{display:flex;flex-direction:column;gap:6px}.field span{font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:11.6px;color:#d8e2f2}.field input{font:16px system-ui,sans-serif;padding:10px 11px;border-radius:5px;border:3px solid #3d2a18;background:#f4ead8;color:#1f150f;width:100%;box-sizing:border-box}.mdp-boite{position:relative;display:flex}.mdp-boite input{flex:1;min-width:0;padding-right:44px!important}.mdp-oeil{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:none;font-size:18px;line-height:1;cursor:pointer}.field input:focus{outline:none;border-color:var(--gold)}.note{font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:12.4px;line-height:1.8;color:#f4ead8}.note b{color:var(--gold);font-weight:400}.note.err{color:#ff8a80}.note[hidden]{display:none}.btn:disabled{opacity:.6}.liens{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:12px}.lien{background:none;border:0;padding:4px 0;font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:11.6px;color:#ffe066;text-decoration:underline}.ou-sep{display:flex;align-items:center;gap:10px;margin:14px 0 10px;font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:11.6px;color:#d8e2f2}.ou-sep:before,.ou-sep:after{content:"";flex:1;height:2px;background:#d8e2f24d}.oauth{display:flex;gap:8px}.tiers{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 8px;border-radius:6px;font:700 15px system-ui,sans-serif;cursor:pointer;transition:transform .08s,filter .08s}.tiers:active{transform:translateY(1px) scale(.98);filter:brightness(.9)}.tiers:disabled{opacity:.6}.tiers svg{width:19px;height:19px;flex:none}.tiers.google{background:#fff;border:1px solid #8e918f;color:#1f1f1f}.tiers.apple{background:#000;border:1px solid #000;color:#fff}.tiers-zone .note.err{margin-top:8px}.portail{display:flex;flex-direction:column;gap:10px;margin-top:10px}.portail>.note{text-align:center;padding:14px 6px}.portail-jeu{display:flex;gap:10px;padding:8px;background:#0f1626;border:3px solid #3d2a18;border-radius:4px}.portail-img{flex:none;align-self:flex-start;width:34%;max-width:110px;aspect-ratio:1;overflow:hidden;border:3px solid var(--wood-dark);border-radius:3px;background:#263046}.portail-img img{display:block;width:100%;height:100%;object-fit:cover}.portail-corps{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.portail-corps h4{margin:0;font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:15.5px;line-height:1.5;font-weight:400;color:var(--gold);text-shadow:0 1px 0 #6b4a00}.portail-corps h4 .badge{vertical-align:middle}.portail-corps p{margin:0;font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:11.6px;line-height:1.8;color:#f4ead8}.portail-bt{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}.portail-bt .btn{min-height:36px;padding:6px 10px;flex-direction:row;font-size:11.6px;text-decoration:none;text-transform:uppercase}.frame{border-radius:20px;border:4px solid #e8a83a;background:linear-gradient(#7a4520,#5a3016);box-shadow:inset 0 2px #ffdcaa40,0 0 0 2px #3b1d0b,0 8px 18px #00000080}.btn{border:3px solid #f2c062;border-radius:16px;font-family:Lilita One,sans-serif;font-weight:400;font-size:16px;letter-spacing:.5px;color:#fff;text-shadow:0 2px 0 rgba(90,40,8,.6);background:linear-gradient(#e8913f,#b85d1d);box-shadow:inset 0 2px #ffe6be73,0 4px #5a2c0c}.btn:active{box-shadow:inset 0 2px #ffe6be73,0 2px #5a2c0c}.btn.gold{color:#fff;text-shadow:0 2px 0 rgba(20,70,0,.6);border-color:#f2c062;background:linear-gradient(#8fe03a,#46a515);box-shadow:inset 0 2px #e6ffc880,0 4px #24600a}.btn.locked{background:linear-gradient(#8a7a6a,#645446);border-color:#b8a58a;text-shadow:none}.stats,.text,.portail-jeu{background:#2b14068c;border:2px solid rgba(0,0,0,.25);border-radius:14px}.stats td{border-top-color:#ffdcaa1f}.stats td.v,.world-name{font-family:Lilita One,sans-serif;font-weight:400}.stats td.v{font-size:18px;color:#ffd23f;text-shadow:0 2px 0 #4a2208}.stats.levels td.v{font-size:15px}.world-name{font-size:18px;letter-spacing:.5px}.level-grid .num{font-size:26px}.level-grid .best{font-size:12px}.world-tabs .btn{font-size:14px}.world-tabs.langues .btn{font-size:16px}.skins .how,.succes .how{font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:10.5px;color:#fff3c4;text-shadow:none}.skins .btn.gold .how,.succes .btn.gold .how{color:#fff}.text b,.note b{color:#ffd23f}.pop-heading{font-size:44px}.pop-title.win{width:104%;margin-bottom:-15%}.frame.fin{border:6px solid #f6b73c;border-radius:26px;padding:12px;background:linear-gradient(#ffcf6a,#f2a93a);box-shadow:inset 0 2px #fff5d299,0 0 0 2px #8a4a10,0 10px 20px #00000073}.frame.fin .pop-art{border:0;border-radius:16px 16px 6px 6px}.frame.fin .stats{margin-top:10px;background:#fff1cf;border:2px solid #f0c77a;border-radius:16px}.frame.fin .stats td{border-top-color:#ecd5a6;padding:9px 10px}.frame.fin .stats td:first-child{font-family:Lilita One,sans-serif;font-weight:400;font-size:17px;color:#4a2208;letter-spacing:.3px}.frame.fin .stats td.v{font-size:24px;color:#ffc51f;-webkit-text-stroke:1.2px #8a4a10;paint-order:stroke fill;text-shadow:0 2px 0 #8a4a10}.frame.fin .stats td.d{font-family:Lilita One,sans-serif;font-weight:400;font-size:18px}.frame.fin .good{color:#2f8a12}.frame.fin .bad{color:#c0392b}.frame.fin .badge{font-family:Lilita One,sans-serif;font-weight:400;font-size:13px;line-height:1.1;padding:5px 8px;background:linear-gradient(#e8443a,#b8201a);color:#fff3c4;border:2px solid #ff8a7a;border-radius:9px}.btns.icones .btn{min-height:66px;border-radius:18px}.btns.icones .btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.btns.icones .btn svg{width:34px;height:34px}.btns.icones .btn{position:relative}#petard-bar{display:flex;gap:10px;justify-content:center;padding:0 8px 8px}#petard-bar[hidden]{display:none}#petard-bar .act{flex:1;max-width:180px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(#5a3418,#3e220e);border:3px solid #e8a83a;border-radius:16px;color:#fff4e2;font-family:Lilita One,sans-serif;font-size:18px;text-shadow:0 2px 0 rgba(0,0,0,.45);box-shadow:inset 0 1px #ffdcaa33,0 4px #0006;touch-action:manipulation}#petard-bar .act:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #0006}#petard-bar .act:disabled{opacity:.45}#petard-bar #siffler-btn:not(:disabled){background:linear-gradient(#8fe03a,#46a515);border-color:#f2c062}#petard-bar canvas{width:30px;height:30px;image-rendering:auto}#petard-bar svg{width:24px;height:24px}#petard-bar b{font-weight:400;color:#ffd23f;font-size:20px}
