@font-face{font-family:Fatras;src:url(./fatras-reguliere-varCJ0in.woff2)format("woff2");font-display:block}@font-face{font-family:Syne;font-weight:700;src:url(./syne-bold-Moui2Kfh.woff2)format("woff2");font-display:swap}@font-face{font-family:Hanken Grotesk;font-weight:100 900;src:url(./hanken-DGMFqDaa.woff2)format("woff2");font-display:swap}@font-face{font-family:IBM Plex Mono;font-weight:500;src:url(./plexmono-medium-C1lk8XWf.woff2)format("woff2");font-display:swap}:root{--papier:#f2f1ec;--carte:#fbfaf6;--encre:#141414;--gris:#6b6962;--filet:#d3d0c6;--ardoise:#2e5a87;--ardoise-pale:#dce3ec;--ardoise-profonde:#1b3755;--erreur:#c7452e;--r-carte:22px;--r-champ:14px;--ombre-carte:0 6px 20px #0d121a12;--ombre-douce:0 2px 8px #0d121a0f;--ombre-bleue:0 10px 24px #0d121a33;--geste:.225s;--quart:.45s;--ease:cubic-bezier(.2, .7, .2, 1);--t-titre:700 32px/1.05 "Syne", sans-serif;--t-texte:400 15px/1.45 "Hanken Grotesk", Arial, sans-serif;--t-code:500 11px/1.2 "IBM Plex Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--papier);color:var(--encre);margin:0}body{font:var(--t-texte);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input{font:inherit;color:inherit}img{display:block}#root{min-height:100dvh}.screen{max-width:480px;min-height:100dvh;margin:0 auto;padding:60px 16px 180px;position:relative}.screen.no-nav{padding-bottom:32px}.titre{font:var(--t-titre);letter-spacing:-.01em;margin:0}.titre.lg{font-size:28px;line-height:1.15}.titre.md{font-size:24px;line-height:1.2}.trame{color:var(--ardoise);font-family:Fatras,sans-serif;line-height:.9}.code{font:var(--t-code);letter-spacing:.06em;text-transform:uppercase;color:var(--gris)}.muted{color:var(--gris)}.small{font-size:13px}.nav{left:50%;bottom:max(16px, env(safe-area-inset-bottom));background:var(--carte);z-index:40;border-radius:32px;grid-template-columns:repeat(3,1fr);width:min(358px,100% - 32px);height:64px;padding:4px 8px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #0d121a14}.nav button{color:var(--gris);z-index:1;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:500;display:flex;position:relative}.nav button.on{color:#fff}.nav .pill{background:var(--ardoise);z-index:-1;border-radius:24px;position:absolute;inset:0}.player{left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 72px);background:var(--ardoise);color:#fff;width:min(358px,100% - 32px);height:64px;box-shadow:var(--ombre-bleue);z-index:39;border-radius:20px;align-items:center;gap:12px;padding:0 12px;display:flex;position:fixed;overflow:hidden;transform:translate(-50%)}.player .progress{pointer-events:none;background:#ffffff1a;position:absolute;inset:0 auto 0 0}.player .meta{flex:1;min-width:0;position:relative}.player .meta b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.player .meta span{font:var(--t-code);opacity:.75;letter-spacing:.04em}.player button{color:#fff;place-items:center;width:36px;height:36px;display:grid;position:relative}.player .disc{width:36px;height:36px;position:relative}.spin{animation:1.8s linear infinite spin}.paused .spin{animation-play-state:paused}@keyframes spin{to{transform:rotate(360deg)}}.spotify-host{opacity:0;pointer-events:none;width:300px;height:80px;position:fixed;top:0;left:-9999px}.toast{background:var(--encre);color:#fff;z-index:60;border-radius:14px;padding:10px 16px;font-size:14px;position:fixed;bottom:170px;left:50%;transform:translate(-50%)}.btn{background:var(--ardoise);color:#fff;width:100%;height:56px;box-shadow:var(--ombre-bleue);transition:transform var(--geste) var(--ease);border-radius:28px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.btn:active{transform:scale(.97)}.btn.ghost{color:var(--encre);box-shadow:none;border:1.5px solid var(--filet);background:0 0}.btn.sm{height:40px;box-shadow:none;border-radius:20px;font-size:14px}.btn.white{color:var(--ardoise);background:#fff}.round{background:var(--carte);border-radius:22px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 3px 10px #0d121a14}.round.blue{background:var(--ardoise);color:#fff}.link{color:var(--ardoise);font-weight:600}.chip{background:#fff;border-radius:18px;flex:none;height:36px;padding:0 14px;font-size:14px;font-weight:500}.chip.on{background:var(--ardoise);color:#fff}.chips{scrollbar-width:none;gap:8px;margin:0 -16px;padding:2px 16px 6px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.field{border-radius:var(--r-champ);background:var(--carte);height:48px;box-shadow:var(--ombre-douce);color:var(--gris);text-align:left;align-items:center;gap:8px;width:100%;padding:0 12px;display:flex}.field.focus{border:1.5px solid var(--ardoise)}.field input{color:var(--encre);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:15px}.head{justify-content:space-between;align-items:flex-start;gap:12px;min-height:36px;display:flex}.topbar{align-items:center;gap:12px;margin-top:-8px;display:flex}.topbar .code{flex:1}.card{background:var(--carte);border-radius:var(--r-carte);box-shadow:var(--ombre-carte)}.row{text-align:left;align-items:center;gap:12px;width:100%;padding:4px 0;display:flex}.row .txt{flex:1;min-width:0}.row .txt b{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;display:block;overflow:hidden}.row .txt span{color:var(--gris);font-size:13px}.pill-code{font:var(--t-code);letter-spacing:.04em;background:var(--ardoise-pale);color:var(--ardoise-profonde);border-radius:12px;flex:none;padding:5px 10px}.list{flex-direction:column;gap:8px;display:flex}.list .row{background:var(--carte);border-radius:14px;padding:8px 12px 8px 8px}.cover{background:#ccc;border-radius:4px;flex:none;position:relative;overflow:hidden;box-shadow:0 5px 12px #0d121a2e}.cover img{object-fit:cover;width:100%;height:100%}.cover .ph{position:absolute;inset:0}.cover .ph:after{content:"";aspect-ratio:1;background:#ffffff38;border-radius:50%;width:62%;position:absolute;top:8%;right:-6%}.cover .ph span{color:#fff;text-shadow:0 1px 8px #0003;font-size:max(7px,.065em);font-weight:600;line-height:1.15;position:absolute;bottom:7%;left:7%;right:7%}.cover.object:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(135deg,#ffffff47,#fff0 45%,#0000001f);position:absolute;inset:0}.cover.object:after{content:"";z-index:2;background:#0000002e;width:4px;position:absolute;top:0;bottom:0;left:0}.tiles{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.tile{text-align:left;height:204px;transition:transform var(--geste) var(--ease);padding:16px;position:relative}.tile:active{transform:scale(.97)}.tile .stack{width:120px;height:110px;position:absolute;top:22px;left:28px}.tile .stack .cover{width:96px;height:96px;position:absolute}.tile .label{align-items:baseline;gap:8px;display:flex;position:absolute;bottom:16px;left:16px}.tile .label .trame{font-size:48px}.hasard{border-radius:var(--r-carte);background:var(--ardoise);color:#fff;text-align:left;width:100%;height:104px;box-shadow:var(--ombre-bleue);margin-top:20px;padding:18px;display:block;position:relative}.hasard .code{color:var(--ardoise-pale)}.hasard .titre{color:#fff;margin:6px 0 4px;font-size:22px}.hasard p{color:var(--ardoise-pale);margin:0;font-size:14px}.hasard .cover{width:76px;height:76px;position:absolute;top:14px;right:16px}.bac-head{padding:0 0 12px}.bac-head .trame{font-size:44px;display:block}.pile{touch-action:none;-webkit-user-select:none;user-select:none;height:520px;position:relative}.index{background:var(--carte);width:36px;height:318px;box-shadow:var(--ombre-douce);z-index:20;touch-action:none;border-radius:18px;position:fixed;top:50%;right:8px;overflow:hidden;transform:translateY(-50%)}.index .col{transition:transform var(--quart) var(--ease);position:absolute;left:0;right:0}.index .col div{height:34px;color:var(--ardoise-profonde);place-items:center;font-size:13px;font-weight:600;display:grid}.index .col div.dim{opacity:.35}.index .dot{background:var(--ardoise);border-radius:14px;width:28px;height:28px;position:absolute;top:145px;left:4px}.index .col div.cur{color:#fff;z-index:2;position:relative}.index .fade{pointer-events:none;z-index:3;height:64px;position:absolute;left:0;right:0}.index .fade.t{background:linear-gradient(var(--carte), #fbfaf600);top:0}.index .fade.b{background:linear-gradient(#fbfaf600, var(--carte));bottom:0}.ticks{z-index:21;pointer-events:none;width:28px;position:fixed;top:50%;right:12px;transform:translateY(-50%)}.ticks i{height:10px;display:block;position:relative}.ticks i:after{content:"";background:var(--ardoise-profonde);opacity:.25;border-radius:2px;width:10px;height:2px;position:absolute;top:4px;right:0}.ticks i.same:after{opacity:.55;width:14px}.ticks i.cur:after{opacity:1;background:var(--ardoise);width:22px;height:3px}.scrub-letter{z-index:21;color:var(--ardoise);pointer-events:none;font-family:Fatras;font-size:40px;line-height:1;position:fixed;transform:translateY(-50%)}.fiche-hero{perspective:1200px;place-items:center;height:340px;margin:-60px -16px 0;display:grid;position:relative;overflow:hidden}.fiche-hero .bg{filter:blur(40px)saturate(1.1);opacity:.6;position:absolute;inset:0;transform:scale(1.3)}.fiche-hero .back-btn{z-index:5;position:absolute;top:52px;left:16px}.sleeve{width:240px;height:240px;transform-style:preserve-3d;transition:transform .6s var(--ease);cursor:pointer;position:relative}.sleeve.flipped{transform:rotateY(180deg)}.sleeve .face{backface-visibility:hidden;position:absolute;inset:0}.sleeve .face.back{transform:rotateY(180deg)}.sleeve .face .cover{width:100%;height:100%;box-shadow:0 18px 36px #0d121a47,0 2px 4px #0d121a1f}.gate{cursor:pointer;width:240px;height:240px;position:relative}.gate .inside{background:linear-gradient(#f1e3c8,#d9c3a0);border-radius:4px;position:absolute;inset:0}.gate .flap{transform-origin:0;transition:transform .7s var(--ease);transform-style:preserve-3d;position:absolute;inset:0}.gate.open .flap{transform:rotateY(-178deg)}.gate .disc-out{width:220px;height:220px;transition:transform .7s var(--ease);z-index:-1;background:radial-gradient(circle,#2e2e2e 0 12%,#111 13% 100%);border-radius:50%;position:absolute;top:10px;left:10px}.gate.open .disc-out{transform:translate(70px)}.sheet{background:var(--papier);border-radius:28px 28px 0 0;margin:-24px -16px 0;padding:24px 16px 0;position:relative}.play-big{width:52px;height:52px;position:absolute;top:22px;right:16px}.place-card{background:var(--carte);border-radius:16px;align-items:center;gap:12px;margin:16px 0 8px;padding:12px;display:flex}.place-card .trame{font-size:30px}.mini-bacs{grid-template-columns:1fr 1fr;gap:2px;width:30px;display:grid}.mini-bacs i{aspect-ratio:1;background:var(--filet);border-radius:3px}.mini-bacs i.on{background:var(--ardoise)}.tracks .face-h{margin:20px 0 6px}.track{text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 8px;display:flex}.track .code{width:22px}.track b{flex:1;font-weight:500}.track.on{background:var(--ardoise-pale)}.track.on b{color:var(--ardoise-profonde);font-weight:600}.center-col{flex-direction:column;min-height:calc(100dvh - 92px);display:flex}.center-col .grow{flex:1}.stack-btns{flex-direction:column;gap:12px;display:flex}.blue-block{background:var(--ardoise);color:#fff;border-radius:20px;padding:24px}.blue-block h2{font:var(--t-titre);color:#fff;margin:0 0 12px;font-size:22px}.blue-block p{opacity:.9;margin:0 0 10px}.tuto-num{align-items:flex-end;height:76px;margin-top:40px;display:flex}.tuto-num .trame{text-align:right;width:72px;font-size:96px;line-height:.8}.tuto-num .code{margin-left:6px;font-size:13px}.illus{width:100%;height:auto;margin-top:36px}.tuto-nav{left:50%;bottom:max(24px, env(safe-area-inset-bottom));align-items:center;gap:12px;width:min(358px,100% - 32px);display:flex;position:fixed;transform:translate(-50%)}.dots{flex:1;gap:6px;display:flex}.dots i{background:var(--filet);width:8px;height:8px;transition:width var(--geste);border-radius:4px}.dots i.on{background:var(--ardoise);width:22px}.camera{background:var(--ardoise-profonde);z-index:0;position:fixed;inset:0}.camera video{object-fit:cover;opacity:.85;width:100%;height:100%}.ranger{color:#fff;z-index:1}.ranger .titre{color:#fff}.viseur-wrap{color:#fff;place-items:center;margin-top:60px;display:grid}.keypad{grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.6dvh,14px) 20px;margin-top:clamp(16px,4dvh,36px);display:grid}.keypad button{background:var(--carte);height:clamp(56px,9.5dvh,76px);font:var(--t-titre);box-shadow:var(--ombre-douce);border-radius:38px;font-size:24px}.code-dots{justify-content:center;gap:16px;margin-top:18px;display:flex}.code-dots i{border:2px solid var(--ardoise);border-radius:9px;width:18px;height:18px}.code-dots i.on{background:var(--ardoise)}.code-dots.err i{border-color:var(--erreur);background:var(--erreur)}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}.action-card{border-radius:var(--r-carte);background:var(--carte);box-shadow:var(--ombre-carte);text-align:left;align-items:center;gap:16px;width:100%;padding:18px 16px;display:flex}.action-card .ico{background:var(--ardoise-pale);width:48px;height:48px;color:var(--ardoise-profonde);border-radius:24px;flex:none;place-items:center;display:grid}.action-card b{font-weight:600;display:block}.action-card span{color:var(--gris);font-size:13px}.banner{width:100%;height:52px;color:var(--ardoise-profonde);background:#2e5a871a;border-radius:14px;align-items:center;gap:10px;padding:0 16px;font-size:14px;font-weight:600;display:flex}.banner i{background:var(--ardoise);border-radius:4px;width:8px;height:8px}.bac-chips{gap:8px;display:flex}.bac-chips button{height:44px;color:var(--ardoise-profonde);background:#fff;border-radius:12px;flex:1;font-family:Fatras;font-size:26px}.bac-chips button.word{flex:0 0 70px;font:600 14px Hanken Grotesk}.bac-chips button.on{background:var(--ardoise);color:#fff}.bac-chips button.cur{box-shadow:inset 0 0 0 2px var(--encre)}.stepper{background:var(--carte);border-radius:14px;justify-content:space-between;align-items:center;padding:6px;display:flex}.stepper button{width:44px;height:44px;color:var(--ardoise);background:#2e5a871a;border-radius:10px;font-size:22px;font-weight:600}.stepper b{font:500 22px IBM Plex Mono}.range-line{background:var(--carte);border-radius:14px;align-items:center;gap:10px;height:52px;padding:6px 16px;display:flex}.range-line input{text-align:center;text-transform:uppercase;background:#2e5a8714;border:1.5px solid #2e5a8766;border-radius:10px;width:48px;height:40px;font:500 16px IBM Plex Mono}.note{background:#2e5a871a;border-radius:14px;padding:12px 16px;font-size:13px}.sync-bar{background:#2e5a8726;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.sync-bar i{background:var(--ardoise);width:40%;height:100%;animation:1.2s ease-in-out infinite sb;display:block}@keyframes sb{0%{transform:translate(-100%)}to{transform:translate(250%)}}.loader{flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100dvh;display:flex}.loadbar{background:#2e5a8726;border-radius:2px;width:160px;height:4px;overflow:hidden}.loadbar i{background:var(--ardoise);height:100%;transition:width .6s var(--ease);display:block}.desktop{background:var(--papier);grid-template-columns:1fr auto 1fr;align-items:center;gap:48px;min-height:100dvh;padding:48px 120px;display:grid}.desktop .phone{background:#171c24;border-radius:50px;width:309px;height:645px;padding:10px;box-shadow:0 24px 60px #0d121a40}.desktop .phone iframe,.desktop .phone .shot{background:var(--papier);border:0;border-radius:40px;width:100%;height:100%}.desktop .qr{text-align:center;background:#fff;border-radius:28px;justify-self:end;width:340px;padding:54px;box-shadow:0 16px 40px #0d121a1f}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.tuto-screen{padding-bottom:104px}.tuto-ill{justify-content:center;display:flex}.tuto-ill svg{width:100%;height:auto;max-height:max(130px,100dvh - 500px)}@media (height<=720px){.tuto-num{margin-top:24px}.tuto-screen .blue-block{padding:16px 20px}}
