:root{--bg:#0e0f11;--card:#1a1c20;--line:#2b2e34;--text:#f2f3f5;--muted:#9aa0aa;--accent:#ffd400;--accent-ink:#151515;--rest:#12324a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none;touch-action:pan-x pan-y;background:var(--bg);overflow-x:hidden}body{background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}button,summary,nav,canvas{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}img,svg,canvas,video{max-width:100%}#root{min-height:100dvh}h1,h2{margin:0 0 .4rem}h1{letter-spacing:.12em;font-size:1.2rem}h1 span{color:var(--accent)}h2{font-size:1.1rem}p{margin:.3rem 0}.app{min-width:0;max-width:640px;padding:0 max(16px, env(safe-area-inset-right)) calc(88px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}.app>*,.card,.session,.log,.station{overflow-wrap:anywhere;min-width:0}header{padding:calc(12px + env(safe-area-inset-top)) 0 8px}header.row{min-height:56px}.muted{color:var(--muted);font-size:.88rem}.card,details,.session{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:12px 0;padding:14px}details{padding:0}summary{cursor:pointer;padding:14px;font-weight:700}details .session{border-width:1px 0 0;border-radius:0;margin:0}.session.done{opacity:.6}.row{align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.grow{flex:1}.btn{background:var(--line);min-height:48px;color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:12px 18px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:var(--accent-ink);--icon-accent:var(--accent-ink)}.btn.ghost{color:var(--muted);background:0 0}.btn.small{white-space:nowrap;min-height:44px;margin:0;padding:8px 14px}.btn:focus-visible,nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{color:var(--muted);flex-direction:column;gap:4px;margin:10px 0;font-size:.9rem;display:flex}input,select,textarea{background:var(--bg);color:var(--text);border:1px solid var(--line);min-height:48px;font:inherit;-webkit-user-select:text;user-select:text;border-radius:10px;width:100%;min-width:0;padding:12px;font-size:16px}input[type=time],input[type=number]{text-align:left}input[type=range]{accent-color:var(--accent);padding:0}.bar{background:var(--line);border-radius:4px;height:6px;margin:10px 0;overflow:hidden}.bar div{background:var(--accent);height:100%;transition:width .3s}.tag{text-transform:uppercase;letter-spacing:.06em;background:var(--line);border-radius:6px;padding:2px 6px;font-size:.7rem}.tag.course{background:#1f4d7a}.tag.stations{background:#7a4a1f}.tag.force{background:#5a1f7a}.tag.simulation{background:#7a1f2e}.tag.longue{background:#1f7a4a}.steps{margin:10px 0 0;padding-left:20px}.steps li{margin:6px 0}.stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{text-align:center;margin:12px 0 0;padding:12px 6px}.stat b{color:var(--accent);font-size:1.3rem;display:block}.stat span{color:var(--muted);font-size:.75rem}.chart{align-items:flex-end;gap:6px;height:160px;margin-top:12px;display:flex}.col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.barv{background:var(--accent);border-radius:4px 4px 0 0;width:100%;min-height:2px}.val{color:var(--muted);font-size:.7rem}.lbl{color:var(--muted);font-size:.62rem}.log{border-top:1px solid var(--line);padding:10px 0}.big{font-variant-numeric:tabular-nums;text-align:center;color:var(--accent);margin:.2rem 0;font-size:3.4rem;font-weight:800}.station{border-top:1px solid var(--line);padding:10px 0}.station .tip{margin-top:4px}.time{text-align:center;font-variant-numeric:tabular-nums;width:90px}.specs{margin:0;padding-left:20px}nav{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#1a1c20f5;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}nav button{min-width:0;max-width:120px;min-height:58px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:.7rem;font-weight:600;display:flex}nav button span{font-size:.7rem;display:block}nav button.on{color:var(--accent);--icon-accent:#fff}.runner{text-align:center;flex-direction:column;justify-content:center;gap:6px;max-width:640px;min-height:100dvh;margin:0 auto;padding:16px;display:flex}.runner.rest{background:var(--rest);max-width:none}.runner.rest>*{width:100%;max-width:608px;margin-left:auto;margin-right:auto}.runner-top{justify-content:space-between;align-items:center;display:flex}.step-title{font-size:1.6rem}.runner .row{justify-content:center}.runner .btn{min-width:140px;padding:16px;font-size:1.05rem}.runner .next{margin-top:18px}.error{color:#ff6b6b;font-size:.9rem}.ok{color:#5fd38a;font-size:.9rem}.link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.stats3{text-align:center;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0;display:grid}.stats3 b{color:var(--accent);font-size:1.05rem;display:block}.stats3 span{color:var(--muted);font-size:.7rem}.mini{align-items:flex-end;gap:4px;height:44px;display:flex}.mini div{background:var(--accent);opacity:.85;border-radius:2px 2px 0 0;flex:1}.lb{grid-template-columns:minmax(64px,110px) 1fr 56px;align-items:center;gap:8px;font-size:.9rem;display:grid}.lb b{text-align:right}.duochart{align-items:flex-end;gap:6px;height:150px;margin-top:10px;display:flex}.duocol{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.pair{flex:1;align-items:flex-end;gap:2px;width:100%;display:flex}.pair div{border-radius:3px 3px 0 0;flex:1;min-height:2px}.b1,.d1{background:var(--accent)}.b2,.d2{background:#4db3ff}.legend i{border-radius:2px;width:10px;height:10px;margin:0 4px 0 10px;display:inline-block}.btn:disabled{opacity:.5}.check{align-items:center;gap:10px;margin:10px 0;display:flex}.check input{width:auto;accent-color:var(--accent)}.days{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.chip{background:var(--bg);color:var(--muted);border:1px solid var(--line);font:inherit;cursor:pointer;border-radius:999px;padding:8px 12px}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.exo-wrap{padding:0 14px 14px}.exo h3{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:14px 0 4px;font-size:.85rem}.exo ol,.exo ul{margin:0;padding-left:20px}.exo li{margin:4px 0}.tipbox{background:var(--bg);border-left:3px solid var(--accent);border-radius:6px;margin-top:14px;padding:10px 12px}details summary .tag{vertical-align:middle;margin-left:8px}.runner.sheet{text-align:left;justify-content:flex-start;padding-bottom:40px}.runner.sheet .step-title{text-align:left}.pose{margin:4px 0 12px}.pose-canvas{border:1px solid var(--line);touch-action:none;cursor:grab;background:radial-gradient(at 50% 100%,#23262c,#121316 70%);border-radius:12px;width:100%;height:300px;display:block}.pose-canvas:active{cursor:grabbing}.pose-caption{border-left:3px solid var(--accent);background:var(--bg);border-radius:6px;flex-direction:column;gap:2px;margin:8px 0;padding:8px 12px;font-size:.9rem;display:flex}.pose-caption.bad{border-color:#ff6b6b}.pose-caption.bad b{color:#ff6b6b}.pose-caption span{color:var(--muted)}.pose-controls{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.pose-controls .btn.small{margin:0;padding:6px 12px}.pose-sep{flex:1}.chip.small{padding:5px 10px;font-size:.8rem}.chip.warn{border-color:#6b3a3a}.chip.warn.on{background:#ff6b6b;border-color:#ff6b6b}.pose-hint{margin:4px 0 0}@media (prefers-reduced-motion:reduce){.pose-canvas{cursor:default}}.welcome{padding-top:8px}.hero{text-align:center;padding:28px 0 8px}.brand{letter-spacing:.22em;margin:0 0 6px;font-size:2rem}.brand span{color:var(--accent)}.tagline{margin:6px 0 8px;font-size:1.35rem;font-weight:800}.center{text-align:center}.perks{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.perks li{background:var(--card);border:1px solid var(--line);border-radius:14px;align-items:center;gap:14px;padding:12px 14px;display:flex}.perks li div{flex-direction:column;gap:2px;min-width:0;display:flex}.perks li span{color:var(--muted);font-size:.88rem}.legal{text-align:center;margin:18px 0 40px;font-size:.75rem}.ic{vertical-align:-.28em;flex:none}.ic .acc{stroke:var(--icon-accent,var(--accent))}.ic .accf{fill:var(--icon-accent,var(--accent));stroke:none}.ic .fl{fill:currentColor;stroke:currentColor}.badge{width:46px;height:46px;color:var(--text);background:#ffd4001a;border:1px solid #ffd40047;border-radius:14px;flex:none;place-items:center;font-style:normal;display:grid}.bigicon{color:var(--accent);--icon-accent:#fff;justify-content:center;margin:6px 0 10px;display:flex}.iconbtn{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;display:inline-grid}.iconbtn:active{background:var(--line)}header .muted{align-items:center;gap:4px;display:inline-flex}.who{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;max-width:34vw;margin:0 6px 0 2px;display:inline-flex;overflow:hidden}.done-tag{color:#5fd38a;align-items:center;gap:3px;display:inline-flex}.tipbox{align-items:flex-start;gap:10px;display:flex}.tipbox .ic{margin-top:2px}.tip .ic{color:var(--accent)}.link{min-height:40px;padding:8px 6px}summary{flex-wrap:wrap;align-items:center;gap:6px;min-height:52px;display:flex}.chip{align-items:center;gap:6px;min-height:44px;display:inline-flex}.chip.small{min-height:40px}.pose-controls .btn.small{padding:6px 14px}.log .btn.small{min-width:44px;padding:8px}.runner .btn{min-height:56px}@media (width<=380px){.tagline{font-size:1.2rem}.stats3 b{font-size:.95rem}.big{font-size:3rem}}.brand-sm{letter-spacing:.16em;white-space:nowrap;flex:none;margin:0;font-size:1.15rem}header.row{gap:8px}header .muted{flex:0 auto;justify-content:flex-end;min-width:0}.chipbtn{background:var(--card);border:1px solid var(--line);max-width:42vw;min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.85rem;display:inline-flex}.chipbtn .who{max-width:100%;margin:0}.who-card{flex-direction:column;gap:2px;min-width:0;display:flex}.who-card b{text-overflow:ellipsis;align-items:center;gap:6px;display:inline-flex;overflow:hidden}input[type=checkbox]{flex:none;width:22px;height:22px;min-height:0;padding:0}.check{min-height:44px}.runner{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.legal-links{flex-wrap:wrap;justify-content:center;gap:0 18px;margin:20px 0 0;display:flex}.legal-links.left{justify-content:flex-start;margin:4px 0 8px}.legal-links a,a.inline{color:var(--accent);text-underline-offset:3px}.legal-links a{align-items:center;min-height:44px;font-size:.88rem;display:inline-flex}.check.terms{color:var(--muted);align-items:flex-start;font-size:.9rem}.check.terms a{color:var(--accent)}.check.terms input{margin-top:2px}.btn.danger{color:#ff8a8a;background:#2a1517;border:1px solid #5a2a2d}.btn.danger.solid{color:#1a0b0b;background:#ff6b6b;border-color:#ff6b6b}.btn.danger.solid:disabled{color:#8a5a5d;background:#3a2022;border-color:#4a2a2d}.danger-zone{border-color:#5a2a2d}.danger-zone h2{color:#ff8a8a}.notice-card{color:var(--text);border-color:#5fd38a73;align-items:center;gap:10px;display:flex}.notice-card .ic{color:#5fd38a;--icon-accent:#fff}
