:root{--bg:#FFF6EE;--surface:#FFFFFF;--ink:#3A1F2B;--muted:#86606F;--line:#F1D8C8;--lagoon:#C9482B;--on-lagoon:#FFFFFF;--lagoon-soft:#FFE6D8;--lagoon-text:#B23F25;--sun:#F5B544;--sun-soft:#FFF0CC;--sun-ink:#6B4300;--plum:#7A3B5C;--plum-soft:#F6E4EC;--plum-ink:#5C2A44;--sky:linear-gradient(180deg,#FFC48F 0%,#F79A62 48%,#E5603F 100%);--danger:#A8261D;--danger-soft:#FBE9E7;--ok:#1F6B4A;--ok-soft:#DDF1E6;--display:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--text:"Atkinson Hyperlegible",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1D1218;--surface:#2A1A22;--ink:#FBEDE4;--muted:#C9A6B4;--line:#4A2E3B;--lagoon:#FF9473;--on-lagoon:#2A1A22;--lagoon-soft:#4A2630;--lagoon-text:#FFAE91;--sun:#FFD27A;--sun-soft:#463518;--sun-ink:#FFE2A6;--plum:#E2A2C2;--plum-soft:#3E2433;--plum-ink:#F2C9DC;--sky:linear-gradient(180deg,#7A3B5C 0%,#C9573E 60%,#F28C5B 100%);--danger:#F2B8B5;--danger-soft:#3A1F1D;--ok:#8FD3AE;--ok-soft:#1A3326;color-scheme:dark}}:root[data-theme=dark]{--bg:#1D1218;--surface:#2A1A22;--ink:#FBEDE4;--muted:#C9A6B4;--line:#4A2E3B;--lagoon:#FF9473;--on-lagoon:#2A1A22;--lagoon-soft:#4A2630;--lagoon-text:#FFAE91;--sun:#FFD27A;--sun-soft:#463518;--sun-ink:#FFE2A6;--plum:#E2A2C2;--plum-soft:#3E2433;--plum-ink:#F2C9DC;--sky:linear-gradient(180deg,#7A3B5C 0%,#C9573E 60%,#F28C5B 100%);--danger:#F2B8B5;--danger-soft:#3A1F1D;--ok:#8FD3AE;--ok-soft:#1A3326;color-scheme:dark}*,*:before,*:after{box-sizing:inherit}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.app{max-width:480px;margin:0 auto;min-height:100vh;padding-bottom:96px}header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);padding:16px 20px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.02em;color:var(--lagoon-text);display:flex;align-items:center;gap:10px}.brand .logo{width:34px;height:34px;flex:none}.logotype{font-family:var(--display);font-weight:800;letter-spacing:-.03em;color:var(--lagoon-text);display:inline-flex;align-items:baseline}.logotype.clair{color:#fff}.logotype-i{position:relative;display:inline-block}.logotype-i svg{position:absolute;left:50%;top:.13em;width:.36em;height:.36em;transform:translate(-50%);fill:#f5b544}.logotype.clair .logotype-i svg{fill:#c9482b}.brand-txt{display:flex;flex-direction:column;line-height:1.05}.brand-txt .logotype{font-size:26px}.brand small{display:block;font-family:var(--text);font-weight:400;font-size:13px;letter-spacing:0;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--ok-soft);color:var(--ok)}.badge svg{width:13px;height:13px}main{padding:0 20px}h1,h2,h3{font-family:var(--display);letter-spacing:-.015em;margin:0}h1{font-size:30px;line-height:1.1;font-weight:800}h2{font-size:22px;font-weight:600}h3{font-size:18px;font-weight:600}.muted{color:var(--muted)}.search{display:flex;gap:8px;margin:6px 0 12px}.search input{flex:1;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface)}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;scrollbar-width:none}.chip{flex:none;border:none;background:var(--lagoon-soft);color:var(--lagoon-text);border-radius:999px;padding:8px 15px;font-size:14px;font-weight:700}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg)}.ticket{display:block;width:100%;text-align:left;border:none;padding:0;margin:0 0 18px;background:none;color:inherit}.ticket .stub{background:var(--surface);border:1.5px solid var(--line);border-bottom:none;border-radius:22px 22px 0 0;padding:0 0 14px;position:relative;overflow:hidden}.ticket .ciel{position:relative;height:118px;background:var(--sky);overflow:hidden;margin-bottom:14px}.ticket .ciel .soleil{position:absolute;width:86px;height:86px;border-radius:50%;background:#ffd27a;left:50%;margin-left:-43px;top:52px;box-shadow:0 0 0 14px #ffd27a40}.ticket .ciel .horizon{position:absolute;left:-10%;right:-10%;bottom:-38px;height:64px;border-radius:50% 50% 0 0;background:#6a3050}.ticket .ciel .code{position:absolute;left:18px;top:12px;color:#fff;font-size:44px;text-shadow:0 2px 12px rgba(122,59,92,.35)}.ticket .ciel .ville{position:absolute;right:18px;top:16px;text-align:right;color:#fff;font-family:var(--display);font-weight:800;font-size:20px;line-height:1.1;text-shadow:0 1px 8px rgba(122,59,92,.35)}.ticket .ciel .ville span{display:block;font-family:var(--text);font-weight:400;font-size:14px;opacity:.95}.ticket .stub .meta{padding:0 20px;margin-top:0}.ticket .tail{background:var(--surface);border:1.5px solid var(--line);border-top:2px dashed var(--line);border-radius:0 0 22px 22px;padding:12px 20px 16px;position:relative}.ticket .tail:before,.ticket .tail:after{content:"";position:absolute;top:-11px;width:20px;height:20px;border-radius:50%;background:var(--bg);border:1.5px solid var(--line)}.ticket .tail:before{left:-11px;clip-path:inset(0 0 0 50%)}.ticket .tail:after{right:-11px;clip-path:inset(0 50% 0 0)}.code{font-family:var(--display);font-weight:800;font-size:58px;line-height:.9;letter-spacing:-.03em;color:var(--lagoon-text)}.route{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.route .where{text-align:right}.where strong{display:block;font-family:var(--display);font-size:19px;font-weight:600}.meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:14px;color:var(--muted)}.meta b{color:var(--ink);font-weight:700}.tailrow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.who{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:800;background:var(--lagoon-soft);color:var(--lagoon-text);flex:none}.pill{font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--sun-soft);color:var(--sun-ink);border:1px solid var(--sun)}.match{font-size:13px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:15px 20px;font-weight:700;background:var(--lagoon);color:var(--on-lagoon);width:100%;box-shadow:0 6px 18px -8px #c9482b8c}.btn.ghost,.btn.danger{box-shadow:none}.btn.ghost{background:transparent;color:var(--lagoon-text);border:1.5px solid var(--line)}.btn.small{width:auto;padding:9px 15px;font-size:14px;border-radius:999px}.btn.danger{background:transparent;color:var(--danger);border:1.5px solid var(--line)}.btn:disabled{opacity:.5;cursor:not-allowed}.section{background:var(--surface);border:1.5px solid var(--line);border-radius:22px;padding:18px 20px;margin-bottom:14px}.section h3{margin-bottom:10px}dl.facts{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:15px}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0;font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:14px;padding:4px 10px;border-radius:8px;background:var(--lagoon-soft);color:var(--lagoon-text)}.back{background:none;border:none;color:var(--lagoon-text);font-weight:700;padding:8px 0;display:inline-flex;gap:6px;align-items:center}label.field{display:block;margin-bottom:14px}label.field span.l{display:block;font-weight:700;font-size:15px;margin-bottom:6px}.input,select.input,textarea.input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface)}textarea.input{min-height:120px;resize:vertical}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{font-size:14px;color:var(--muted);margin-top:6px}.err{font-size:14px;color:var(--danger);margin-top:6px}.flag{background:var(--danger-soft);color:var(--danger);border-radius:12px;padding:10px 12px;font-size:14px;margin-top:8px}.okbox{background:var(--ok-soft);color:var(--ok);border-radius:12px;padding:10px 12px;font-size:14px;margin-top:8px}.note{background:var(--sun-soft);color:var(--sun-ink);border-radius:14px;padding:12px 14px;font-size:14px;margin-bottom:14px}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.switch:first-of-type{border-top:none}.switch input{width:22px;height:22px;accent-color:var(--lagoon)}.convo{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:14px;margin-bottom:10px}.convo .last{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.convo .grow{flex:1;min-width:0}.stage{font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--lagoon-soft);color:var(--lagoon-text)}.chat{display:flex;flex-direction:column;gap:8px;margin:12px 0 16px}.msg{max-width:82%;padding:10px 14px;border-radius:20px;font-size:15px}.msg.me{align-self:flex-end;background:var(--lagoon);color:var(--on-lagoon);border-bottom-right-radius:4px}.msg.them{align-self:flex-start;background:var(--surface);border:1.5px solid var(--line);border-bottom-left-radius:4px}.msg.sys{align-self:center;background:transparent;color:var(--muted);font-size:13px;text-align:center;max-width:92%}.msg.blocked{align-self:flex-end;background:var(--danger-soft);color:var(--danger);border-bottom-right-radius:4px}.composer{display:flex;gap:8px;position:sticky;bottom:calc(84px + env(safe-area-inset-bottom,0px));background:var(--bg);padding:8px 0}.composer input{flex:1;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface)}.actions{display:flex;gap:8px;flex-wrap:wrap}nav.tabs{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(480px,100%);background:var(--surface);border-top:1.5px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));z-index:6}nav.tabs a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;font-weight:700;color:var(--muted);text-decoration:none;padding:6px 0;border-radius:10px}nav.tabs a svg{width:24px;height:24px}nav.tabs a[aria-current=page]{color:var(--lagoon-text);background:var(--lagoon-soft)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(96px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:12px;font-weight:700;font-size:14px;z-index:20;max-width:90%}.onb{max-width:480px;margin:0 auto;padding:40px 24px;min-height:100vh;display:flex;flex-direction:column}.onb .big{font-family:var(--display);font-weight:800;font-size:44px;line-height:1;letter-spacing:-.03em;margin:24px 0 16px}.accueil{padding-top:0}.scene{position:relative;height:300px;margin:0 -24px 22px;background:var(--sky);border-radius:0 0 36px 36px;overflow:hidden}.scene .soleil{position:absolute;width:150px;height:150px;border-radius:50%;background:#ffd27a;left:50%;margin-left:-75px;top:120px;box-shadow:0 0 0 22px #ffd27a47,0 0 0 48px #ffd27a24}.scene .colline{position:absolute;border-radius:50% 50% 0 0}.scene .c1{left:-20%;width:90%;height:120px;bottom:-40px;background:#a0466a}.scene .c2{right:-25%;width:95%;height:140px;bottom:-60px;background:#6a3050}.scene .marque{position:absolute;left:24px;top:calc(22px + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:10px;color:#fff;font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.02em}.scene .marque>svg{width:38px;height:38px}.scene .marque .logotype{font-size:30px}.scene .duo{position:absolute;left:50%;bottom:34px;transform:translate(-50%);display:flex;gap:16px}.scene .duo i{display:block;width:12px;height:28px;border-radius:6px 6px 3px 3px;background:#3a1f2b}.scene .duo i:before{content:"";display:block;width:12px;height:12px;border-radius:50%;background:#3a1f2b;margin-top:-14px}.atouts{list-style:none;padding:0;margin:6px 0 18px;display:grid;gap:10px}.atouts li{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:15px}.atouts li b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--lagoon-soft);color:var(--lagoon-text);font-family:var(--display)}.onb .steps{display:flex;gap:6px;margin-bottom:8px}.onb .steps i{height:5px;flex:1;border-radius:4px;background:var(--line)}.onb .steps i.on{background:var(--lagoon)}.onb .spacer{flex:1}.onb ul{padding-left:20px;margin:8px 0 16px}.onb li{margin-bottom:8px}.scan{border:2px dashed var(--line);border-radius:18px;padding:28px 20px;text-align:center;margin:16px 0}.empty{text-align:center;padding:40px 10px;color:var(--muted)}@media (prefers-reduced-motion:no-preference){.ticket .stub,.ticket .tail{transition:border-color .15s}.ticket:hover .stub,.ticket:hover .tail{border-color:var(--lagoon)}.ticket{transition:transform .2s}.ticket:hover{transform:translateY(-2px)}.scene .soleil{animation:lever 1.6s ease-out both}@keyframes lever{0%{transform:translateY(60px);opacity:.6}to{transform:none;opacity:1}}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.center{min-height:100vh;display:grid;place-items:center;padding:24px}nav.tabs a.actif{color:var(--lagoon-text);background:var(--lagoon-soft)}.alerte{display:grid;gap:10px;justify-items:center}.alerte .okbox a,.lien{color:inherit}a.btn{text-decoration:none}.alerte-btn{--p:0;position:relative;width:144px;height:144px;border-radius:50%;border:none;background:#b3261e;color:#fff;font-family:var(--display);font-weight:800;font-size:18px;padding:0 10px;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 10px 26px -10px #b3261eb3}.alerte-anneau{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;background:conic-gradient(#F5B544 calc(var(--p) * 360deg),transparent 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 0)}.alerte-txt{position:relative}.alerte .okbox{width:100%}.urgences{width:100%;text-align:center}.lien{background:none;border:none;padding:0;color:inherit;text-decoration:underline;font-weight:700}.langues{position:relative}.langues-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.langues-liste{position:absolute;z-index:8;left:0;right:0;top:calc(100% + 4px);max-height:220px;overflow-y:auto;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:4px 0;box-shadow:0 8px 24px #0000001f}.langues-opt{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer}.langues-opt:hover{background:var(--lagoon-soft)}.langues-opt input{width:18px;height:18px;accent-color:var(--lagoon)}
