:root{--bg:#0e0a1a;--bg2:#15102a;--panel:rgba(255,255,255,.045);--line:rgba(255,255,255,.10);--txt:#f4eefa;--muted:#b3a3c6;--pink:#FF4FA3;--mint:#23D6A5;--lemon:#FFC93D;--grape:#9B5CFF;--pool:#39C6FF;--orange:#FF7A45}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Nunito,system-ui,-apple-system,sans-serif;color:var(--txt);background:var(--bg);line-height:1.6;min-height:100svh}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(70% 55% at 88% -8%,rgba(255,79,163,.16),transparent 55%),radial-gradient(60% 50% at -5% 6%,rgba(57,198,255,.12),transparent 55%),linear-gradient(180deg,#0e0a1a,#0a0714)}a{color:inherit;text-decoration:none}.wrap{max-width:560px;margin:0 auto;padding:40px 22px}.brand{font-family:Baloo\ 2,system-ui;font-weight:800;font-size:1.3rem;display:flex;align-items:center;gap:8px;color:#fff}.brand .d{width:10px;height:10px;border-radius:50%;background:var(--pink);box-shadow:0 0 12px var(--pink)}h1{font-size:clamp(1.7rem,5vw,2.4rem);line-height:1.1;color:#fff;margin-bottom:10px}h1,h2{font-family:Baloo\ 2,system-ui;font-weight:800}h2{font-size:1.3rem;margin:24px 0 12px}.lead{color:var(--muted);font-weight:600;margin-bottom:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-weight:800;font-size:.86rem}.field input{padding:13px 16px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font-family:inherit;font-weight:700;font-size:1rem;outline:none}.field input:focus{border-color:var(--pink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:Baloo\ 2,system-ui;font-weight:700;font-size:1rem;padding:14px 26px;border-radius:999px;background:linear-gradient(120deg,var(--pink),var(--grape));color:#fff;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s;box-shadow:0 12px 30px rgba(255,79,163,.3);width:100%}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.mint{background:linear-gradient(120deg,var(--mint),var(--pool));box-shadow:0 12px 30px rgba(35,214,165,.3)}.btn.ghost{background:transparent;border:1px solid var(--line);box-shadow:none}.note{font-size:.84rem;color:var(--muted);font-weight:700}.err,.note{margin-top:10px;text-align:center}.err{color:#ff8aa6;font-size:.88rem;min-height:1.1em}.err,.ok{font-weight:800}.ok{color:var(--mint)}.disclaimer{font-size:.78rem;color:#8576a0;font-weight:600;line-height:1.5;border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.warn{background:rgba(255,122,69,.1);border:1px solid rgba(255,122,69,.4);border-radius:14px;padding:16px;font-size:.9rem;font-weight:700;color:#ffb38f;margin:16px 0}.paywall{text-align:center;background:linear-gradient(135deg,rgba(255,79,163,.12),rgba(155,92,255,.1));border:1px solid rgba(255,79,163,.3);border-radius:20px;padding:36px 28px}.paywall .lock{font-size:2.6rem}.paywall .price{font-family:Baloo\ 2,system-ui;font-weight:800;font-size:2rem;color:#fff;margin:10px 0}.paywall .price small{font-size:.9rem;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.8rem;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line)}.badge.premium{background:rgba(255,201,61,.12);border-color:rgba(255,201,61,.35);color:var(--lemon)}.badge.free{background:rgba(35,214,165,.12);border-color:rgba(35,214,165,.35);color:var(--mint)}.day{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:10px}.day .top{display:flex;align-items:center;gap:10px;margin-bottom:6px}.day .tag{font-size:.66rem;color:var(--grape);background:rgba(155,92,255,.12);padding:3px 9px;border-radius:7px}.day .t,.day .tag{font-family:Baloo\ 2,system-ui;font-weight:800}.day .t{font-size:.98rem;flex:1 1}.day .dur{font-size:.74rem;font-weight:800;color:var(--mint)}.day .ex{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.day .ex span{font-size:.76rem;font-weight:700;color:#d9cee8;background:rgba(255,255,255,.04);border:1px solid var(--line);padding:3px 9px;border-radius:999px}.center{text-align:center}.link{color:var(--lemon);font-weight:800}.back{display:inline-block}.exos{list-style:none;display:flex;flex-direction:column;gap:10px;margin:8px 0 4px}.exos li.exo{display:block;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;padding:13px 15px}.exo-head{gap:10px}.exo-head,.exo-n{display:flex;align-items:center}.exo-n{flex:0 0 26px;height:26px;border-radius:8px;background:rgba(255,79,163,.15);color:var(--pink);font-family:Baloo\ 2,system-ui;font-weight:800;font-size:.85rem;justify-content:center}.exo-nom{font-weight:800;font-size:.98rem}.exo-params{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;margin-left:36px}.exo-params .p{font-size:.78rem;font-weight:800;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:#d9cee8}.exo-params .rest{color:var(--mint);border-color:rgba(35,214,165,.3)}.exo-params .rpe{color:var(--lemon);border-color:rgba(255,201,61,.3)}.exo-cue{margin-top:8px;margin-left:36px;font-size:.85rem;font-weight:600;color:var(--muted);line-height:1.45}.sec-h{font-family:Baloo\ 2,system-ui;font-weight:800;font-size:1.15rem;margin:24px 0 10px}.retour{list-style:none;display:flex;flex-direction:column;gap:6px;margin:6px 0}.retour li{font-size:.9rem;font-weight:700;color:#d9cee8;padding-left:18px;position:relative}.retour li:before{content:"•";position:absolute;left:4px;color:var(--mint)}.day.clickable{cursor:pointer;transition:transform .15s,border-color .15s}.day.clickable:hover{transform:translateY(-2px);border-color:rgba(255,79,163,.4)}@media print{body:before{display:none}.no-print{display:none!important}body{background:#fff}.exo-nom,.seance-sheet,.seance-sheet h1,.seance-sheet h2,.sec-h,body{color:#111}.exos li.exo{background:#f7f7f9;border-color:#ddd}.exo-params .p{background:#eee;border-color:#ccc;color:#222}.exo-cue,.retour li{color:#444}.disclaimer{color:#666}}