:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111318;--surface:#1a1d25;--card:#1e222b;--text:#e2e4ea;--muted:#6b7280;--accent:#6366f1;--green:#22c55e;--orange:#f59e0b;--red:#ef4444;--border:#ffffff12;--shadow-hero:#00000026;--shadow-card:#0000001f;--warn-ink:#1a1200;--line-ring:transparent;--r:12px;--line:#6366f1;--line-ink:#fff}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f7;--surface:#fff;--card:#fff;--text:#1a1f2b;--muted:#5b6472;--accent:#4f46e5;--green:#15803d;--orange:#b45309;--red:#dc2626;--border:#141a2821;--shadow-hero:#0f172a12;--shadow-card:#0f172a0d;--warn-ink:#fff;--line-ring:#0f172a38;--line:#4f46e5}:root{--accent-soft:color-mix(in srgb, var(--accent) 10%, transparent);--accent-line:color-mix(in srgb, var(--accent) 16%, transparent);--green-soft:color-mix(in srgb, var(--green) 9%, transparent);--green-line:color-mix(in srgb, var(--green) 20%, transparent);--orange-soft:color-mix(in srgb, var(--orange) 9%, transparent);--orange-line:color-mix(in srgb, var(--orange) 20%, transparent);--red-soft:color-mix(in srgb, var(--red) 9%, transparent);--red-line:color-mix(in srgb, var(--red) 20%, transparent)}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fredoka-600.woff2)format("woff2")}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}html,body{height:100%}body{overscroll-behavior:none;overflow:hidden}#root{justify-content:center;display:flex;position:fixed;inset:0}.app{flex-direction:column;width:100%;max-width:460px;height:100%;display:flex}.board{display:block}.panel{min-width:0}.app-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;min-height:0;padding:env(safe-area-inset-top,0) max(1rem, env(safe-area-inset-right,0)) 1.25rem max(1rem, env(safe-area-inset-left,0));flex:auto;position:relative;overflow:hidden auto}.content--from-left{animation:.28s cubic-bezier(.33,1,.28,1) slide-from-left}.content--from-right{animation:.28s cubic-bezier(.33,1,.28,1) slide-from-right}@keyframes slide-from-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slide-from-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.header{text-align:center;padding:.55rem 0 .5rem}.header-line{justify-content:center;align-items:center;gap:.5rem;display:flex}.appbar{padding:max(.35rem, calc(1rem - env(safe-area-inset-top,0px))) 0 .15rem;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;display:grid}.brand{grid-column:2;justify-self:center;align-items:center;gap:.5rem;min-width:0;display:flex}.appbar .theme-btn{grid-column:3;justify-self:end}.constats-btn{grid-column:1;justify-self:start;position:relative}.constats-btn svg{width:1.15rem;height:1.15rem}.constats-dot{background:var(--orange);border-radius:50%;width:6px;height:6px;position:absolute;top:.28rem;right:.3rem}.vscrim{z-index:30;opacity:0;pointer-events:none;background:#00000073;transition:opacity .24s;position:fixed;inset:0}.vscrim--on{opacity:1;pointer-events:auto}.vpan{z-index:31;overscroll-behavior:contain;background:var(--surface);border-right:1px solid var(--border);width:min(86vw,360px);padding:max(1rem, env(safe-area-inset-top,0px)) 1rem max(1rem, env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left,0px));visibility:hidden;flex-direction:column;gap:.35rem;transition:transform .26s cubic-bezier(.33,1,.28,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.vpan--on{visibility:visible;transform:translate(0)}.vpan-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.vpan-title{letter-spacing:-.01em;font-size:.95rem;font-weight:800}.vpan-close{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.2rem .35rem;font-size:1rem}.vpan-note{color:var(--muted);margin-bottom:.5rem;font-size:.72rem;line-height:1.45}.vpan-vide{color:var(--muted);text-align:center;padding:1.5rem 0;font-size:.82rem}.vpan-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.vpan-item{background:var(--card);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;gap:.25rem;padding:.7rem .8rem;display:flex}.vpan-when{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.66rem;font-weight:700}.vpan-what{align-items:center;gap:.4rem;display:flex}.vpan-trajet{font-size:.84rem;font-weight:600}.vpan-quoi{color:var(--muted);font-size:.78rem}.vpan-item .justif-link{margin-top:.15rem}.ptr{flex:none;justify-content:center;align-items:center;height:0;transition:height .2s;display:flex;overflow:hidden}.ptr-icon{opacity:.5;border-radius:8px;width:30px;height:30px;transition:opacity .15s}.ptr--armed .ptr-icon{opacity:1}.ptr--refreshing .ptr-icon{opacity:1;animation:.7s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}.ptr-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand-tile{border-radius:7px;flex-shrink:0;width:26px;height:26px;display:block}.brand-name{letter-spacing:0;color:var(--text);font-family:Fredoka,ui-rounded,SF Pro Rounded,-apple-system,sans-serif;font-size:1.15rem;font-weight:600}.theme-btn{width:2rem;height:2rem;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s,transform .12s;display:inline-flex}.theme-btn svg{width:1.15rem;height:1.15rem}.theme-btn:active{transform:scale(.92)}.title{letter-spacing:-.02em;font-size:1.1rem;font-weight:700}.badge{width:1.4rem;height:1.4rem;box-shadow:inset 0 0 0 1px var(--line-ring);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;line-height:1;display:inline-flex}.badge--lg{border-radius:6px;width:1.55rem;height:1.55rem;font-size:.88rem}.warn{cursor:pointer;width:1.4rem;height:1.4rem;font:inherit;background:var(--orange-soft);color:var(--orange);border:1px solid color-mix(in srgb, var(--orange) 35%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.72rem;line-height:1;transition:all .15s;display:inline-flex}.warn--on{background:var(--orange);color:var(--warn-ink);border-color:var(--orange)}.foot-warn{background:var(--orange);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:-.15rem}.line-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem;font-size:.72rem;font-weight:600}.alerts{flex-direction:column;gap:.4rem;margin-bottom:.75rem;display:flex}.alert{border-radius:var(--r);align-items:flex-start;gap:.5rem;padding:.65rem .75rem;font-size:.82rem;line-height:1.4;display:flex}.alert--disruption{background:var(--orange-soft);border:1px solid var(--orange-line);color:var(--text)}.alert--info,.alert--alert{background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--text)}.alert-icon{flex-shrink:0;font-size:1rem;line-height:1.3}.alert-text{margin:0}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:.5rem;margin:1rem 0;padding:4px;display:flex}.tab{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:8px;flex:1;padding:.6rem;font-size:.85rem;font-weight:600;transition:all .15s}.tab--on{background:var(--line);color:var(--line-ink);box-shadow:0 2px 10px color-mix(in srgb, var(--line) 35%, transparent), inset 0 0 0 1px var(--line-ring)}.stations{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.75rem;display:flex}.stations-label{text-align:center;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);flex:0 0 100%;margin-bottom:.1rem;font-size:.66rem;font-weight:700}.chip{font:inherit;white-space:nowrap;cursor:pointer;background:var(--surface);color:var(--muted);border:1px solid var(--border);border-radius:8px;flex:auto;padding:.4rem .6rem;font-size:.75rem;font-weight:600;transition:all .15s}.chip--on{color:var(--text);border-color:color-mix(in srgb, var(--line) 45%, transparent);background:color-mix(in srgb, var(--line) 12%, var(--surface))}.title{line-height:1.25}.hero{border-radius:var(--r);background:linear-gradient(145deg, color-mix(in srgb, var(--green) 6%, var(--surface)), var(--surface) 70%);border:1px solid var(--green-line);box-shadow:0 2px 8px var(--shadow-hero);margin-bottom:1.25rem;padding:1.25rem}.hero--empty{background:var(--surface);border-color:var(--border);text-align:center}.hero--delayed{background:linear-gradient(145deg, color-mix(in srgb, var(--orange) 8%, var(--surface)), var(--surface) 70%);border-color:var(--orange-line)}.hero-top{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.hero-dot{background:var(--green);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.hero-clock{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:700}.hero-body{flex-direction:column;display:flex}.hero-big{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--green);font-size:2.8rem;font-weight:800;line-height:1}.hero--delayed .hero-big{color:var(--orange)}.hero-aimed{color:var(--muted);margin-top:.15rem;font-size:.78rem;font-weight:600;text-decoration:line-through}.hero-sub{color:var(--text);margin-top:.35rem;font-size:1rem;font-weight:600}.hero-dest{color:var(--muted);margin-top:.3rem;font-size:.78rem;font-weight:500}.hero-empty-text{color:var(--muted);padding:1rem 0;font-size:.9rem}.hero-empty-text:has(+.hero-empty-note){padding-bottom:.3rem}.hero-empty-note{color:var(--muted);opacity:.8;padding-bottom:1rem;font-size:.78rem}.justif{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);flex-direction:column;gap:.45rem;margin-bottom:1.25rem;padding:.7rem .85rem;display:flex}.justif-text{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.justif-text strong{color:var(--text);font-weight:700}.justif-link{color:var(--accent);align-self:flex-start;font-size:.78rem;font-weight:700;text-decoration:none}.section{margin-bottom:1rem}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.7rem;font-weight:700;display:flex}.section-count{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:.15rem .4rem;font-size:.62rem;font-weight:700}.trains{flex-direction:column;gap:.4rem;display:flex}.train{border-radius:var(--r);background:var(--card);border:1px solid var(--border);box-shadow:0 1px 4px var(--shadow-card);align-items:center;gap:.65rem;padding:.65rem .75rem;display:flex}.train--next{border-color:var(--green-line);background:linear-gradient(135deg, var(--green-soft), var(--card) 50%)}.train--cancelled{opacity:.5}.train-left{flex-direction:column;align-items:center;min-width:48px;display:flex}.train-dep{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800;line-height:1.1}.train--next .train-dep{color:var(--green)}.train-aimed{color:var(--muted);margin-top:.1rem;font-size:.68rem;font-weight:600;text-decoration:line-through}.train-center{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.train-dest{font-size:.85rem;font-weight:600}.train-mission{color:var(--muted);font-size:.7rem;font-weight:500}.train-countdown{color:var(--green);margin-top:.1rem;font-size:.72rem;font-weight:700}.status{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:6px;flex-shrink:0;padding:.2rem .5rem;font-size:.65rem;font-weight:700}.status--ok{background:var(--green-soft);color:var(--green);border:1px solid var(--green-line)}.status--delayed{background:var(--orange-soft);color:var(--orange);border:1px solid var(--orange-line)}.status--cancelled{background:var(--red-soft);color:var(--red);border:1px solid var(--red-line)}.footer{padding:.5rem max(.75rem, env(safe-area-inset-right,0)) .5rem max(.75rem, env(safe-area-inset-left,0));background:var(--surface);border-top:1px solid var(--border);flex:none;gap:.4rem;display:flex}.avis-invite{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin:1.1rem 0 .2rem;padding:.9rem 1rem 0;font-size:.76rem;line-height:1.55}.avis-invite a{color:var(--text);text-underline-offset:2px;white-space:nowrap;text-decoration:underline}.colophon{height:max(1.5rem, env(safe-area-inset-bottom,0px));padding:0 1rem max(.35rem, calc(env(safe-area-inset-bottom,0px) - 1.3rem));background:var(--surface);pointer-events:none;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex:none;justify-content:center;align-items:flex-end;gap:.28em;font-size:.52rem;line-height:1.15;display:flex}.colophon a{pointer-events:auto;color:inherit;font-weight:700;text-decoration:none}.foot{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.45rem;padding:.45rem .4rem;font-size:.78rem;font-weight:600;transition:all .15s;display:flex}.foot .badge{opacity:.5;transition:opacity .15s}.foot--on{color:var(--text);border-color:color-mix(in srgb, var(--foot) 40%, transparent);background:color-mix(in srgb, var(--foot) 14%, var(--surface))}.foot--on .badge{opacity:1}.foot-label{letter-spacing:-.01em}@media (hover:hover) and (pointer:fine){.tab:not(.tab--on):hover{color:var(--text)}.chip:not(.chip--on):hover{color:var(--text);border-color:color-mix(in srgb, var(--line) 30%, var(--border))}.foot:not(.foot--on):hover{color:var(--text)}.warn:hover{filter:brightness(1.15)}.colophon a:hover{text-decoration:underline}.justif-link:hover{text-underline-offset:3px;text-decoration:underline}.theme-btn:hover,.constats-btn:hover,.vpan-close:hover{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent)}}.app,.panel{--focus-ring:color-mix(in srgb, var(--line) 60%, var(--text))}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){.content--from-left,.content--from-right,.hero-dot{animation:none}.tab,.chip,.foot,.warn,.foot .badge,.theme-btn,.constats-btn,.vscrim,.vpan,.ptr{transition:none}.ptr--refreshing .ptr-icon{opacity:1;animation:none}}@media (width>=900px){.app{max-width:1100px}.app-scroll{padding:1.5rem 1.5rem 1.75rem}.board{grid-template-columns:1fr 1fr;align-items:start;gap:1.75rem;display:grid}.tabs{max-width:420px;margin:0 auto 1.75rem}.tab{border:1px solid #0000}.tab--on{color:var(--text);background:color-mix(in srgb, var(--text) 13%, var(--surface));border-color:color-mix(in srgb, var(--text) 20%, transparent);box-shadow:none}.header{padding-top:0}.appbar{justify-content:space-between;gap:.5rem;padding:0 0 1.25rem;display:flex}.brand{justify-self:auto;margin-right:auto}.constats-btn{order:2}.appbar .theme-btn{order:3}.brand-tile{border-radius:8px;width:30px;height:30px}.brand-name{font-size:1.3rem}.footer{display:none}.colophon{border-top:1px solid var(--border);height:2rem;padding-bottom:.5rem}.title{font-size:1.25rem}.badge{width:1.6rem;height:1.6rem;font-size:.92rem}.warn{width:1.6rem;height:1.6rem;font-size:.8rem}.line-sub{font-size:.76rem}.stations-label{font-size:.7rem}.chip{padding:.45rem .7rem;font-size:.8rem}.hero{padding:1.5rem}.hero-big{font-size:3.4rem}.hero-sub{font-size:1.12rem}.hero-dest{font-size:.84rem}.hero-empty-text{font-size:.95rem}.hero-empty-note{font-size:.84rem}.section-title{font-size:.74rem}.train{padding:.8rem .9rem}.train-dep{font-size:1.15rem}.train-dest{font-size:.92rem}.train-mission{font-size:.76rem}.alert{font-size:.86rem}.justif-text,.justif-link{font-size:.82rem}}
