:root{
  --bg:#050913;--bg2:#090d1b;--panel:rgba(8,15,26,.82);--panel2:rgba(13,24,37,.68);
  --line:rgba(120,210,255,.16);--line2:rgba(176,229,255,.32);--text:#f1f8ff;--muted:#8da4b5;
  --cyan:#62dcff;--mint:#9bdec7;--violet:#ad79ff;--magenta:#ff63dd;--gold:#e7c485;--danger:#ff8aa6;
  --radius:24px;--shadow:0 24px 80px rgba(0,0,0,.34);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);background:linear-gradient(180deg,#050914,#040710 72%,#03050a);overflow-x:hidden}
.cosmic-bg{position:fixed;inset:0;z-index:-3;overflow:hidden;background:radial-gradient(circle at 50% -10%,rgba(65,123,171,.15),transparent 38%),radial-gradient(circle at 92% 38%,rgba(119,65,171,.12),transparent 25%),radial-gradient(circle at 5% 45%,rgba(41,158,143,.09),transparent 29%)}
.aurora{position:absolute;width:62vw;height:62vw;border-radius:48%;filter:blur(90px);opacity:.12;mix-blend-mode:screen;animation:drift 18s ease-in-out infinite alternate}.aurora-a{left:-28vw;top:8vh;background:conic-gradient(from 40deg,#5ee5ff,#552dff,#ff65e1,#5ee5ff)}.aurora-b{right:-31vw;top:38vh;background:conic-gradient(from 210deg,#65ffe6,#4a75ff,#d65bff,#65ffe6);animation-delay:-8s}.starfield{position:absolute;inset:0;opacity:.35;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.3px),radial-gradient(circle,#8edfff 0 1px,transparent 1.25px);background-size:61px 61px,97px 97px;background-position:0 0,31px 18px;animation:stars 60s linear infinite}
@keyframes drift{to{transform:translate3d(9vw,-3vh,0) rotate(18deg) scale(1.12)}}@keyframes stars{to{background-position:61px 122px,128px 115px}}
.topbar{height:72px;max-width:1480px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:40;background:linear-gradient(180deg,rgba(5,9,19,.96),rgba(5,9,19,.72));backdrop-filter:blur(18px);border-bottom:1px solid rgba(127,207,255,.07)}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand img{width:38px;height:38px;filter:drop-shadow(0 0 11px rgba(99,224,255,.26))}.brand strong{display:block;font-size:19px;letter-spacing:.04em}.brand small{display:block;margin-top:2px;font-size:10px;color:var(--muted)}.mini-nav{display:flex;gap:18px}.mini-nav a{color:#87a2b3;text-decoration:none;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.mini-nav a:hover{color:var(--text)}
.presence{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);border:1px solid var(--line);padding:7px 11px;border-radius:999px}.presence i{width:7px;height:7px;border-radius:50%;background:#71808b}.presence.online i{background:#6df0bc;box-shadow:0 0 16px rgba(109,240,188,.65)}
.shell{max-width:1480px;margin:auto;padding:26px 24px 54px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel),rgba(5,9,18,.77));box-shadow:var(--shadow);backdrop-filter:blur(18px);position:relative;overflow:hidden}.panel::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,rgba(255,255,255,.035),transparent 18%,transparent 78%,rgba(120,210,255,.022))}
.eyebrow{margin:0 0 9px;color:#9ce9e0;font-size:10px;letter-spacing:.19em;text-transform:uppercase}.subtle{margin:7px 0 0;color:var(--muted);font-size:11px}.dialogue{padding:28px;min-height:650px;display:flex;flex-direction:column}.hero-panel{background:radial-gradient(circle at 6% 40%,rgba(68,117,255,.07),transparent 28%),radial-gradient(circle at 92% 38%,rgba(210,90,255,.07),transparent 25%),linear-gradient(145deg,rgba(7,15,26,.94),rgba(3,8,16,.86))}.hero-orbit{position:absolute;border:1px solid rgba(110,220,255,.13);border-radius:50%;width:420px;height:240px;top:50%;transform:translateY(-50%) rotate(24deg);pointer-events:none}.orbit-left{left:-260px}.orbit-right{right:-260px;transform:translateY(-50%) rotate(-24deg);border-color:rgba(225,111,255,.12)}
.dialogue-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.dialogue h1{margin:0;font-size:clamp(36px,4.3vw,64px);font-weight:610;letter-spacing:-.05em}.quiet-btn{border:1px solid var(--line);background:rgba(255,255,255,.018);color:var(--muted);border-radius:999px;padding:9px 13px;cursor:pointer}.quiet-btn:hover{color:var(--text);border-color:var(--line2)}
.chat{flex:1;min-height:340px;max-height:535px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:12px 2px 18px;scrollbar-width:thin;scrollbar-color:rgba(111,205,255,.22) transparent}.msg{display:flex;gap:9px;max-width:86%;font-size:14px;line-height:1.56}.msg.user{align-self:flex-end;flex-direction:row-reverse}.msg>div{border:1px solid var(--line);background:rgba(255,255,255,.025);padding:12px 14px;border-radius:16px;white-space:pre-wrap;overflow-wrap:anywhere}.msg.user>div{background:linear-gradient(135deg,rgba(73,190,219,.10),rgba(146,74,197,.08))}.avatar{width:29px;height:29px;flex:0 0 29px;border-radius:50%;display:grid;place-content:center;border:1px solid var(--line2);color:#cefaff;font-size:9px;box-shadow:0 0 18px rgba(75,211,255,.08)}.pending .avatar{opacity:.65}.pending>div{color:var(--muted)}
.quick-prompts{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 10px}.quick-prompts button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:7px 10px;font-size:10px;cursor:pointer}.quick-prompts button:hover{color:var(--text);border-color:var(--line2)}
.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;border:1px solid rgba(143,226,255,.32);border-radius:19px;padding:8px;background:rgba(3,7,14,.72);box-shadow:0 0 35px rgba(83,205,255,.045)}.composer textarea{min-width:0;resize:none;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:14px;padding:8px 9px}.send{width:42px;height:42px;align-self:end;border:0;border-radius:50%;background:linear-gradient(135deg,#d9fff4,#abdcff);color:#04100f;font-size:20px;cursor:pointer;box-shadow:0 0 22px rgba(150,231,255,.20)}.send:disabled{opacity:.45;cursor:wait}.hero-metrics{display:flex;gap:16px;flex-wrap:wrap;padding:10px 3px 0;color:#60788b;font-size:9px;letter-spacing:.06em}.hero-metrics span{display:flex;align-items:center;gap:6px}.hero-metrics i{width:5px;height:5px;border-radius:50%;background:#89f1c0;box-shadow:0 0 10px #89f1c0;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{50%{opacity:.35;transform:scale(.65)}}
.t-intro{margin-top:14px;padding:38px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr);gap:26px;background:radial-gradient(circle at 74% 45%,rgba(79,161,255,.07),transparent 33%),radial-gradient(circle at 87% 60%,rgba(215,83,255,.06),transparent 27%),linear-gradient(145deg,rgba(7,15,28,.92),rgba(6,9,20,.82))}.t-intro h2{margin:0;font-size:clamp(32px,4vw,56px);line-height:1.02;letter-spacing:-.045em;font-weight:570}.lead{color:#b7c9d8;font-size:15px;line-height:1.7;margin:20px 0 24px;max-width:680px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:9px}.principles article{border:1px solid var(--line);border-radius:15px;padding:13px;background:rgba(255,255,255,.015)}.principles b{display:block;font-size:12px}.principles span{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}
.dragonfly-stage{min-height:500px;position:relative;display:grid;place-items:center}.dragonfly16{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 0 22px rgba(76,180,255,.08))}.dragonfly16 text{fill:#dffcff;font-size:23px;font-weight:500}.dragonfly16 .flow-label{font-size:11px;letter-spacing:.12em;fill:#6d879a}.dragonfly16 .flow path{fill:none;stroke-width:2.2;stroke-dasharray:5 11;animation:flowdash 3.8s linear infinite}.dragonfly16 .flow-a path:first-child,.dragonfly16 .flow-b path:first-child{stroke:#54dfff}.dragonfly16 .flow-a path:last-child,.dragonfly16 .flow-b path:last-child{stroke:#ff6ce5}.dragonfly16 .flow-b{opacity:.35}.dragonfly16 .flow-b path{animation-direction:reverse;animation-duration:5.2s}@keyframes flowdash{to{stroke-dashoffset:-64}}
.dragonfly16 .twing{transform-box:fill-box;transform-origin:center;animation:wingbreath 3.6s ease-in-out infinite alternate;filter:drop-shadow(0 0 8px rgba(110,210,255,.12))}.dragonfly16 .twing.right{filter:drop-shadow(0 0 8px rgba(230,100,255,.11))}.dragonfly16 .twing:nth-child(2n){animation-duration:4.8s}.dragonfly16 .twing:nth-child(3n){animation-delay:-1.5s}@keyframes wingbreath{to{opacity:.72;transform:scale(1.018) rotate(.25deg)}}
.libellule-stat{position:absolute;left:5%;top:9%;width:70px;height:70px;border:1px solid rgba(100,220,255,.25);border-radius:50%;display:grid;place-content:center;text-align:center;background:rgba(5,12,22,.5);box-shadow:0 0 30px rgba(78,201,255,.06)}.libellule-stat.right{left:auto;right:4%;top:auto;bottom:8%;border-color:rgba(229,112,255,.22)}.libellule-stat span{font-size:23px}.libellule-stat small{font-size:8px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.live-section{margin-top:26px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.big-head{padding:12px 4px 14px}.big-head h2{margin:0;font-size:clamp(28px,3vw,44px);letter-spacing:-.035em;font-weight:560}.section-head>span{font-size:10px;color:var(--muted);margin-top:6px}.live-card{padding:20px;min-height:340px}.full-card{min-height:510px}.live-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;position:relative;z-index:3}.live-card h3{margin:0;font-size:18px;font-weight:560}.live-card-head>b,.metric-pair b{font-size:20px;font-weight:510;color:#d5f8ff}.metric-pair{text-align:right}.metric-pair small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.card-foot,.ticker{position:relative;z-index:3;color:#6f8899;font-size:9px;line-height:1.5}.card-foot{display:flex;justify-content:space-between;gap:18px;margin-top:10px}.ticker{margin-top:8px;min-height:28px}.live-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.live-grid>.live-card{min-height:360px}.live-grid>.live-card:nth-child(1),.live-grid>.live-card:nth-child(2){grid-column:span 2}
.world-stage{height:390px;position:relative;margin-top:14px;border-radius:18px;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,rgba(22,60,89,.22),rgba(2,6,13,.7));border:1px solid rgba(93,186,230,.09)}.world-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(55,180,255,.025),transparent 20%,transparent 80%,rgba(211,84,255,.025));z-index:1}.world-map{position:absolute;inset:5% 1%;width:98%;height:90%;object-fit:fill;opacity:.68;filter:drop-shadow(0 0 12px rgba(92,222,255,.08));z-index:0}.world-stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}.dayline{position:absolute;top:-10%;height:120%;width:16%;background:linear-gradient(90deg,transparent,rgba(252,218,139,.075),transparent);filter:blur(9px);z-index:1;pointer-events:none;transform:skewX(-6deg)}
.live-card canvas{display:block;width:100%;height:250px;margin-top:12px;border-radius:14px;background:radial-gradient(circle at 50% 52%,rgba(43,92,125,.07),transparent 56%)}.janus-card canvas{background:radial-gradient(circle at 28% 52%,rgba(61,165,255,.09),transparent 33%),radial-gradient(circle at 72% 52%,rgba(218,79,255,.09),transparent 33%)}.split-label{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;text-align:center;color:#6c8293;font-size:8px;letter-spacing:.06em}.split-label i{height:1px;background:linear-gradient(90deg,#68dfff,#fff,#e468ff);box-shadow:0 0 10px rgba(208,134,255,.3)}
.field-bars{display:grid;gap:7px;margin-top:9px}.field-bars label{display:grid;grid-template-columns:70px 35px 1fr;align-items:center;gap:7px;font-size:9px;color:#8096a7}.field-bars label>span{text-align:right;color:#b4c9d8}.field-bars i{height:4px;border-radius:999px;background:#0d1a25;overflow:hidden}.field-bars u{display:block;height:100%;width:40%;background:linear-gradient(90deg,#61dfff,#ba82ff);border-radius:inherit;transition:width .8s ease}.holo-card{background:radial-gradient(circle at 50% 56%,rgba(123,76,230,.07),transparent 45%),linear-gradient(145deg,var(--panel),rgba(5,9,18,.77))}
.architecture{margin-top:14px;padding:38px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:36px}.architecture h2{margin:0;font-size:clamp(30px,4vw,52px);line-height:1.03;letter-spacing:-.04em;font-weight:570}.architecture-lead{max-width:720px;color:#b8c7d4;font-size:14px;line-height:1.7;margin:22px 0 26px}.field-diagram{min-height:380px;position:relative;align-self:center}.fd-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(118,213,255,.18);border-radius:50%;transform:translate(-50%,-50%) rotate(-10deg)}.fd-a{width:340px;height:235px}.fd-b{width:235px;height:340px;transform:translate(-50%,-50%) rotate(32deg);border-color:rgba(220,120,255,.16)}.fd-c{width:285px;height:285px;border-style:dashed;animation:ringturn 28s linear infinite}@keyframes ringturn{to{transform:translate(-50%,-50%) rotate(350deg)}}.fd-core{position:absolute;left:50%;top:50%;width:102px;height:102px;transform:translate(-50%,-50%);border:1px solid rgba(218,247,255,.30);border-radius:50%;display:grid;place-content:center;text-align:center;background:rgba(5,11,19,.86);box-shadow:0 0 42px rgba(99,221,255,.08)}.fd-core small,.fd-core em{color:#7f95a6;font-size:10px;font-style:normal}.fd-core strong{font-size:31px;font-weight:380}.fd-node{position:absolute;width:42px;height:42px;border:1px solid var(--line2);border-radius:50%;display:grid;place-content:center;background:#07111c;color:#c9f7ff;font-size:11px;box-shadow:0 0 18px rgba(88,203,255,.04)}.n1{left:15%;top:18%}.n2{left:44%;top:3%}.n3{right:15%;top:18%}.n4{right:4%;top:48%}.n5{right:18%;bottom:12%}.n6{left:44%;bottom:2%}.n7{left:15%;bottom:12%}.n8{left:3%;top:48%}.fd-horizon{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);font-size:9px;color:#728898;letter-spacing:.09em;white-space:nowrap}
.wings{margin-top:14px;padding:26px}.section-head h2{margin:0;font-size:22px}.wing-grid{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wing-grid article{border:1px solid var(--line);border-radius:14px;padding:13px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:rgba(255,255,255,.014)}.wing-grid b{font-size:11px;font-weight:560}.wing-grid small{color:#8fdef2;font-size:10px}.closing{max-width:820px;margin:34px auto 0;text-align:center;color:#748999;font-size:12px;line-height:1.7}footer{max-width:1480px;margin:auto;padding:0 24px 28px;display:flex;justify-content:space-between;color:#546978;font-size:10px}
@media(max-width:1160px){.t-intro{grid-template-columns:1fr}.dragonfly-stage{min-height:430px}.live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-grid>.live-card:nth-child(1),.live-grid>.live-card:nth-child(2){grid-column:span 1}.architecture{grid-template-columns:1fr}.field-diagram{min-height:340px}}
@media(max-width:760px){.mini-nav{display:none}.shell{padding:14px 12px 40px}.topbar{height:64px;padding:0 14px}.brand small{display:none}.dialogue{padding:18px;min-height:610px;border-radius:19px}.dialogue-head{display:grid}.dialogue h1{font-size:40px}.quiet-btn{justify-self:start}.chat{min-height:360px;max-height:500px}.msg{max-width:95%}.quick-prompts{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.quick-prompts button{flex:0 0 auto;white-space:nowrap}.t-intro{padding:21px;border-radius:19px}.t-intro h2{font-size:38px}.principles{grid-template-columns:1fr}.dragonfly-stage{min-height:320px}.libellule-stat{width:54px;height:54px}.live-grid{grid-template-columns:1fr}.world-stage{height:300px}.card-foot{display:grid}.live-card{padding:16px;border-radius:19px}.full-card{min-height:460px}.architecture{padding:21px;border-radius:19px}.field-diagram{min-height:280px;overflow:hidden}.fd-a{width:250px;height:175px}.fd-b{width:175px;height:250px}.fd-c{width:215px;height:215px}.fd-node{width:34px;height:34px}.wing-grid{grid-template-columns:1fr 1fr}.section-head{display:grid}.wings{padding:18px;border-radius:19px}.big-head{display:grid}.big-head>span{margin:0}.live-card canvas{height:220px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* ==========================================================
   M5.2 · dialogue long / focus + smartphone T^ adaptatif
   ========================================================== */
html,body{max-width:100%}.shell,.panel,section{max-width:100%}
button,textarea{-webkit-tap-highlight-color:transparent}.quiet-btn,.stage-btn,.mobile-collapse-toggle{min-height:44px;touch-action:manipulation}
.dialogue{height:clamp(650px,62vh,860px);min-height:0}.dialogue.long-dialogue{height:clamp(720px,78vh,980px)}
.dialogue-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.focus-btn{display:inline-flex;align-items:center;gap:7px}.focus-btn>span:first-child{font-size:14px;color:#bdeeff}
.chat{min-height:0;max-height:none;overscroll-behavior:contain;scroll-padding-bottom:12px}.composer{position:sticky;bottom:0;z-index:8}.composer textarea{max-height:160px;overflow-y:auto;line-height:1.45}.send{min-width:44px;min-height:44px}
body.dialogue-focus,body.dragonfly-focus{overflow:hidden;overscroll-behavior:none}
body.dialogue-focus::before,body.dragonfly-focus::before{content:"";position:fixed;inset:0;z-index:180;background:rgba(2,5,11,.78);backdrop-filter:blur(12px)}
body.dialogue-focus #dialogue{position:fixed;z-index:220;inset:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));height:auto;min-height:0;max-height:none;border-radius:22px;padding:24px 26px;box-shadow:0 36px 120px rgba(0,0,0,.72),0 0 0 1px rgba(132,221,255,.12)}
body.dialogue-focus #dialogue .chat{min-height:0;max-height:none}body.dialogue-focus #dialogue .focus-label::after{content:" · réduire"}
.dragonfly-controls{position:absolute;right:10px;top:10px;z-index:12;display:flex;gap:6px;align-items:center}.stage-btn{border:1px solid var(--line);background:rgba(4,10,18,.76);color:#a9c2d3;border-radius:999px;padding:7px 11px;cursor:pointer;backdrop-filter:blur(12px)}.stage-btn:hover{color:var(--text);border-color:var(--line2)}.zoom-control{display:none;min-width:44px;padding:7px 9px;font-size:14px}.dragonfly-hint{display:none;position:absolute;left:50%;bottom:12px;z-index:12;transform:translateX(-50%);color:#7690a2;font-size:9px;letter-spacing:.05em;white-space:nowrap}.dragonfly16{transform-origin:50% 50%;transition:transform .16s ease-out;user-select:none;-webkit-user-select:none}
body.dragonfly-focus #libellule{position:fixed;z-index:220;inset:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));margin:0;padding:0;display:block;overflow:hidden;border-radius:22px;background:radial-gradient(circle at 50% 45%,rgba(72,143,255,.09),transparent 36%),radial-gradient(circle at 64% 55%,rgba(226,92,255,.07),transparent 32%),rgba(4,8,16,.97)}
body.dragonfly-focus #libellule .intro-copy{display:none}body.dragonfly-focus #libellule .dragonfly-stage{height:100%;min-height:0;overflow:hidden;touch-action:none;cursor:grab}body.dragonfly-focus #libellule .dragonfly-stage.is-dragging{cursor:grabbing}body.dragonfly-focus #libellule .dragonfly16{width:min(1180px,92vw);max-width:none;touch-action:none}body.dragonfly-focus #libellule .zoom-control,body.dragonfly-focus #libellule .dragonfly-hint{display:inline-flex}body.dragonfly-focus #libellule .stage-btn-label::after{content:" · fermer"}
.mobile-collapse-toggle{display:none;border:1px solid var(--line);background:rgba(255,255,255,.015);color:#9eb3c2;border-radius:999px;padding:7px 10px;font-size:10px;cursor:pointer;white-space:nowrap}

@media(max-width:760px){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}
  .topbar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));height:64px}
  .shell{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(40px,env(safe-area-inset-bottom))}
  .dialogue{height:78dvh;height:78svh;min-height:0;max-height:760px;padding:16px;border-radius:19px}.dialogue.long-dialogue{height:80dvh;height:80svh;max-height:800px}
  .dialogue-head{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:8px}.dialogue h1{font-size:clamp(30px,10vw,40px);line-height:1}.dialogue-actions{justify-content:flex-start}.quiet-btn{padding:8px 12px}
  .chat{min-height:0;max-height:none;gap:10px;padding:8px 1px 10px}.msg{max-width:96%;font-size:13.5px;line-height:1.5}.msg>div{padding:10px 12px}.avatar{width:27px;height:27px;flex-basis:27px}
  .quick-prompts{margin:2px -2px 7px;padding:0 2px 4px;scrollbar-width:none;overscroll-behavior-x:contain}.quick-prompts::-webkit-scrollbar{display:none}.quick-prompts button{min-height:38px;padding:8px 11px}
  .composer{bottom:calc(-1 * env(safe-area-inset-bottom));padding:7px;border-radius:17px;background:rgba(3,7,14,.94);backdrop-filter:blur(14px)}.composer textarea{font-size:16px;padding:8px;max-height:128px}.send{width:48px;height:48px;min-width:48px;min-height:48px}.hero-metrics{gap:10px;padding-top:7px}
  body.dialogue-focus #dialogue{inset:max(4px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));padding:14px;height:auto;max-height:none;border-radius:18px}body.dialogue-focus #dialogue .dialogue-head{grid-template-columns:minmax(0,1fr) auto;align-items:start}body.dialogue-focus #dialogue .dialogue-actions{justify-content:flex-end}body.dialogue-focus #dialogue #newTraceBtn{display:none}
  .t-intro{margin-top:10px}.dragonfly-stage{min-height:300px;overflow:hidden}.dragonfly-controls{right:7px;top:7px}.stage-btn{min-height:44px;padding:7px 10px}.dragonfly-hint{font-size:8px;bottom:8px}.dragonfly16{width:112%;max-width:none}.libellule-stat{pointer-events:none}
  .world-stage{height:265px}.full-card{min-height:415px}.live-grid{display:grid}.live-grid>[data-mobile-priority="true"]{order:1}.live-grid>[data-mobile-collapsible="true"]{order:2}.live-grid>.live-card{min-height:0}.live-card canvas{height:180px}.live-grid>[data-mobile-priority="true"] canvas{height:220px}.mobile-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.live-card-head{gap:10px}.live-card-head>b{margin-left:auto}.live-card[data-mobile-collapsible="true"].is-collapsed{min-height:0;padding-top:14px;padding-bottom:14px}.live-card[data-mobile-collapsible="true"].is-collapsed>canvas,.live-card[data-mobile-collapsible="true"].is-collapsed>.ticker,.live-card[data-mobile-collapsible="true"].is-collapsed>.split-label,.live-card[data-mobile-collapsible="true"].is-collapsed>.field-bars{display:none}.live-card[data-mobile-collapsible="true"].is-collapsed .live-card-head{align-items:center}.live-card[data-mobile-collapsible="true"].is-collapsed .live-card-head .eyebrow{margin-bottom:4px}.live-card[data-mobile-collapsible="true"].is-collapsed .live-card-head h3{font-size:15px}
  .aurora{animation-duration:30s;opacity:.09}.starfield{animation-duration:100s;opacity:.28}
}
@media(max-width:420px){.dialogue{height:79svh}.dialogue h1{font-size:31px}.hero-metrics #bridgeLatency{display:none}.stage-btn-label{display:none}.world-stage{height:238px}.live-grid>[data-mobile-priority="true"] canvas{height:200px}.field-diagram{transform:scale(.92)}}
@media(hover:none) and (pointer:coarse){.quiet-btn:hover,.stage-btn:hover,.quick-prompts button:hover{color:inherit;border-color:var(--line)}}


/* ==========================================================
   M5.3 · vision finale du holochamp
   ========================================================== */
.vision{margin-top:14px;padding:26px;background:radial-gradient(circle at 18% 20%,rgba(69,126,255,.07),transparent 26%),radial-gradient(circle at 84% 34%,rgba(222,92,255,.06),transparent 24%),linear-gradient(145deg,rgba(7,15,28,.92),rgba(4,9,18,.86))}
.vision-head{margin-bottom:18px}.vision-head h2{margin:0;font-size:clamp(24px,3vw,40px);letter-spacing:-.03em}.vision-lead{margin:12px 0 0;max-width:900px;color:#aec0d0;font-size:14px;line-height:1.7}.vision-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.vision-jump{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border-radius:999px;color:var(--muted);text-decoration:none;border:1px solid var(--line);background:rgba(255,255,255,.016)}.vision-jump:hover{color:var(--text);border-color:var(--line2)}
.vision-figure{margin:0}.vision-preview{position:relative;display:block;width:100%;padding:0;border:1px solid rgba(126,212,255,.16);border-radius:22px;background:rgba(3,8,16,.78);overflow:hidden;cursor:zoom-in;box-shadow:0 18px 52px rgba(0,0,0,.34)}.vision-preview img{display:block;width:100%;height:auto}.vision-overlay{position:absolute;left:18px;right:18px;bottom:16px;display:flex;align-items:end;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,rgba(6,11,20,.05),rgba(6,11,20,.72));border:1px solid rgba(130,221,255,.10);pointer-events:none}.vision-overlay strong{font-size:15px;letter-spacing:.02em}.vision-overlay small{font-size:10px;color:#c3d5e4;letter-spacing:.14em;text-transform:uppercase}.vision figcaption{margin-top:12px;color:#7f94a4;font-size:11px;line-height:1.6}
body.vision-open{overflow:hidden}.vision-modal{position:fixed;inset:0;z-index:260;display:none}.vision-modal[aria-hidden="false"]{display:block}.vision-modal-backdrop{position:absolute;inset:0;background:rgba(2,5,11,.84);backdrop-filter:blur(12px)}.vision-modal-card{position:relative;z-index:1;max-width:min(1500px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:16px auto;padding:18px;border:1px solid rgba(130,221,255,.12);border-radius:24px;background:linear-gradient(145deg,rgba(7,15,26,.96),rgba(3,8,16,.94));box-shadow:0 36px 120px rgba(0,0,0,.72);display:flex;flex-direction:column}.vision-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.vision-modal-head h2{margin:0;font-size:28px;letter-spacing:-.03em}.vision-modal-body{overflow:auto;border-radius:18px}.vision-modal-body img{display:block;width:100%;height:auto;border-radius:18px}
@media(max-width:760px){.vision{padding:18px;border-radius:19px}.vision-head{display:grid;gap:10px}.vision-head h2{font-size:28px}.vision-lead{font-size:13px}.vision-actions{justify-content:flex-start}.vision-preview{border-radius:18px}.vision-overlay{left:10px;right:10px;bottom:10px;padding:10px 12px;border-radius:14px}.vision-overlay strong{font-size:13px}.vision-overlay small{font-size:9px}.vision-modal-card{max-width:calc(100vw - 10px);max-height:calc(100vh - 10px);margin:5px;padding:12px;border-radius:18px}.vision-modal-head{display:grid;gap:8px}.vision-modal-head h2{font-size:22px}}


/* ==========================================================
   M5.4 · apparence Clair / Dark
   ========================================================== */
.topbar-actions{display:flex;align-items:center;gap:10px}.theme-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.018);backdrop-filter:blur(12px)}.theme-choice{min-height:34px;border:0;border-radius:999px;background:transparent;color:var(--muted);padding:6px 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:inherit;font-size:10px;letter-spacing:.02em;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.theme-choice b{font-weight:560}.theme-choice[aria-pressed="true"]{color:var(--text);background:rgba(120,210,255,.10);box-shadow:inset 0 0 0 1px rgba(143,226,255,.12),0 0 18px rgba(84,201,255,.05)}

html[data-theme="light"]{color-scheme:light;--bg:#edf5fb;--bg2:#f8fbfe;--panel:rgba(255,255,255,.90);--panel2:rgba(245,250,254,.88);--line:rgba(35,111,145,.17);--line2:rgba(37,111,149,.31);--text:#102332;--muted:#637b8d;--cyan:#147fa8;--mint:#2b7e6b;--violet:#6f5bc8;--magenta:#a7469f;--gold:#956723;--danger:#b94d66;--shadow:0 22px 70px rgba(58,91,112,.13)}
html[data-theme="light"] body{background:linear-gradient(180deg,#f7fbfe,#edf5fa 72%,#e9f1f6);color:var(--text)}
html[data-theme="light"] .cosmic-bg{background:radial-gradient(circle at 50% -10%,rgba(77,159,210,.13),transparent 38%),radial-gradient(circle at 92% 38%,rgba(151,93,207,.10),transparent 25%),radial-gradient(circle at 5% 45%,rgba(55,173,146,.09),transparent 29%)}
html[data-theme="light"] .aurora{opacity:.10;mix-blend-mode:multiply;filter:blur(100px)}
html[data-theme="light"] .starfield{opacity:.13;background-image:radial-gradient(circle,#41697f 0 1px,transparent 1.3px),radial-gradient(circle,#6f55a0 0 1px,transparent 1.25px)}
html[data-theme="light"] .topbar{background:linear-gradient(180deg,rgba(248,252,255,.96),rgba(244,250,254,.78));border-bottom-color:rgba(35,111,145,.10)}
html[data-theme="light"] .panel{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(244,249,253,.88));box-shadow:var(--shadow)}
html[data-theme="light"] .panel::after{background:linear-gradient(120deg,rgba(255,255,255,.48),transparent 18%,transparent 78%,rgba(69,143,180,.025))}
html[data-theme="light"] .hero-panel{background:radial-gradient(circle at 6% 40%,rgba(68,117,255,.08),transparent 28%),radial-gradient(circle at 92% 38%,rgba(210,90,255,.07),transparent 25%),linear-gradient(145deg,rgba(255,255,255,.95),rgba(239,247,252,.90))}
html[data-theme="light"] .t-intro{background:radial-gradient(circle at 74% 45%,rgba(79,161,255,.08),transparent 33%),radial-gradient(circle at 87% 60%,rgba(215,83,255,.07),transparent 27%),linear-gradient(145deg,rgba(255,255,255,.94),rgba(241,248,252,.90))}
html[data-theme="light"] .vision{background:radial-gradient(circle at 18% 20%,rgba(69,126,255,.08),transparent 26%),radial-gradient(circle at 84% 34%,rgba(222,92,255,.07),transparent 24%),linear-gradient(145deg,rgba(255,255,255,.94),rgba(241,248,252,.90))}
html[data-theme="light"] .eyebrow{color:#2e7f77}html[data-theme="light"] .lead,html[data-theme="light"] .architecture-lead,html[data-theme="light"] .vision-lead{color:#435f72}
html[data-theme="light"] .quiet-btn,html[data-theme="light"] .stage-btn,html[data-theme="light"] .mobile-collapse-toggle,html[data-theme="light"] .vision-jump{background:rgba(255,255,255,.56);color:#5d7587}
html[data-theme="light"] .theme-switch{background:rgba(255,255,255,.64);box-shadow:0 5px 18px rgba(67,105,127,.06)}html[data-theme="light"] .theme-choice[aria-pressed="true"]{background:rgba(36,126,168,.10);box-shadow:inset 0 0 0 1px rgba(36,126,168,.12)}
html[data-theme="light"] .msg>div{background:rgba(255,255,255,.72);box-shadow:0 4px 18px rgba(61,92,111,.04)}html[data-theme="light"] .msg.user>div{background:linear-gradient(135deg,rgba(73,190,219,.13),rgba(146,74,197,.09))}
html[data-theme="light"] .avatar{color:#22596e;background:rgba(255,255,255,.64)}html[data-theme="light"] .composer{background:rgba(255,255,255,.78);box-shadow:0 8px 32px rgba(67,102,122,.07)}html[data-theme="light"] .composer textarea{color:var(--text)}
html[data-theme="light"] .send{background:linear-gradient(135deg,#d7f5ef,#bcdff0);color:#0d343a;box-shadow:0 0 18px rgba(58,145,170,.15)}
html[data-theme="light"] .principles article,html[data-theme="light"] .wing-grid article{background:rgba(255,255,255,.48)}
html[data-theme="light"] .world-stage{background:radial-gradient(ellipse at 50% 50%,rgba(123,190,220,.14),rgba(236,245,250,.88));border-color:rgba(43,125,164,.11)}html[data-theme="light"] .world-map{opacity:.74;filter:drop-shadow(0 0 10px rgba(44,126,156,.08)) saturate(.8)}
html[data-theme="light"] .live-card canvas{background:radial-gradient(circle at 50% 52%,rgba(84,158,193,.075),transparent 56%)}html[data-theme="light"] .live-card-head>b,html[data-theme="light"] .metric-pair b{color:#245b72}html[data-theme="light"] .card-foot,html[data-theme="light"] .ticker{color:#718797}
html[data-theme="light"] .fd-core{background:rgba(248,252,255,.92)}html[data-theme="light"] .fd-node{background:#f5fbfe;color:#25566c;box-shadow:0 0 18px rgba(88,163,190,.08)}
html[data-theme="light"] .libellule-stat{background:rgba(248,252,255,.68)}html[data-theme="light"] .dragonfly16 .flow-label{fill:#567184}
html[data-theme="light"] .vision-preview{background:#09111e}html[data-theme="light"] .vision-modal-card{background:linear-gradient(145deg,rgba(250,253,255,.98),rgba(237,246,251,.97))}
html[data-theme="light"] body.dialogue-focus::before,html[data-theme="light"] body.dragonfly-focus::before{background:rgba(220,233,241,.78)}html[data-theme="light"] body.dialogue-focus #dialogue{box-shadow:0 36px 120px rgba(59,86,104,.28),0 0 0 1px rgba(67,137,170,.12)}html[data-theme="light"] body.dragonfly-focus #libellule{background:radial-gradient(circle at 50% 45%,rgba(72,143,255,.10),transparent 36%),radial-gradient(circle at 64% 55%,rgba(226,92,255,.08),transparent 32%),rgba(244,250,253,.98)}
html[data-theme="light"] footer,html[data-theme="light"] .closing{color:#698092}
@media(max-width:760px){.topbar-actions{gap:6px}.theme-switch{padding:2px}.theme-choice{min-height:36px;padding:6px 8px}.theme-choice b{font-size:9px}.presence{padding:7px 9px}}
@media(max-width:430px){.brand img{width:34px;height:34px}.brand strong{font-size:17px}.topbar-actions{gap:5px}.theme-choice{padding:6px 7px}.theme-choice span{font-size:12px}.presence span{display:none}.presence{width:32px;height:32px;padding:0;justify-content:center}.theme-choice b{display:none}.theme-switch{gap:1px}}
