/* Taille d’affichage : 80 % par défaut sur ordinateur, comme un navigateur réglé à 80 % */
html{font-size:100%}
@media (min-width:901px){html:not([data-scale]):not([data-zoomed]){font-size:87.5%}}
html[data-scale="80"]{font-size:80%}html[data-scale="90"]{font-size:90%}html[data-scale="100"]{font-size:100%}html[data-scale="110"]{font-size:110%}html[data-scale="125"]{font-size:125%}
/* Weworld.community v4 : charte graphique (vert profond #033732, or #987B4D, dégradé #1C542F vers #EDB45D) */
:root{
  --ui:"Alexandria","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --serif:"Bodoni Moda","Bodoni 72",Didot,Georgia,serif;
  --forest:#033732;--forest-2:#0A4C42;--forest-3:#0E5E50;--gold:#987B4D;--gold-t:#7A6034;--gold-l:#D2B278;--gold-s:#F5EFE3;--amber:#E0A43E;
  --bg:#FFFFFF;--page:#F4F7F5;--surface:#EEF3F0;--surface-2:#E2EAE6;--line:#DCE4E0;--line-2:#C5D2CC;
  --ink:#0F201C;--ink-2:#3A4A45;--muted:#5E6E68;--on-dark:#F4EFE6;--head:#033732;--pbg:#033732;--pfg:#F4EFE6;--pbg-h:#0A4C42;
  --sel:#C9A86E;--danger:#B23A2B;--root:#033732;--on-root:#F4EFE6;--canvas:#FFFFFF;--dot:#D3DED9;
  --b0:#0A4C42;--b1:#987B4D;--b2:#2C6E73;--b3:#A65A33;--b4:#2E6B3A;--b5:#B87A1E;--b6:#5E6F2E;--b7:#7A5A3A;
  --a0:#0A4C42;--a1:#7A6034;--a2:#2C6E73;--a3:#A65A33;--a4:#2E6B3A;--a5:#8A6420;--a6:#5E6F2E;--a7:#7A5A3A;
  --grad:linear-gradient(115deg,#1C542F 0%,#55703F 38%,#A88F4B 70%,#EDB45D 100%);
  --top:3.75rem;--rail:5.25rem;--panel:22.5rem;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0F1D19;--page:#0A1512;--surface:#15261F;--surface-2:#1C3029;--line:#22362E;--line-2:#2E473D;
  --ink:#E9EFEB;--ink-2:#C2CEC8;--muted:#90A39B;--head:#EFE4CC;--pbg:#D2B278;--pfg:#0B1A16;--pbg-h:#E0C58E;--gold-t:#D8BC86;--gold-s:#2A2416;
  --root:#0E5A4C;--canvas:#0B1714;--dot:#1B2E28;--forest-3:#7FCDB6;
  --b0:#5DBFA5;--b1:#D4B47E;--b2:#6FB7BC;--b3:#E0946A;--b4:#7CC28A;--b5:#F0BE6A;--b6:#A9BC6E;--b7:#C9A27C;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F1D19;--page:#0A1512;--surface:#15261F;--surface-2:#1C3029;--line:#22362E;--line-2:#2E473D;
  --ink:#E9EFEB;--ink-2:#C2CEC8;--muted:#90A39B;--head:#EFE4CC;--pbg:#D2B278;--pfg:#0B1A16;--pbg-h:#E0C58E;--gold-t:#D8BC86;--gold-s:#2A2416;
  --root:#0E5A4C;--canvas:#0B1714;--dot:#1B2E28;--forest-3:#7FCDB6;
  --b0:#5DBFA5;--b1:#D4B47E;--b2:#6FB7BC;--b3:#E0946A;--b4:#7CC28A;--b5:#F0BE6A;--b6:#A9BC6E;--b7:#C9A27C;color-scheme:dark}
*{box-sizing:border-box}
html{height:100%;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100%;background:var(--page);color:var(--ink);font:0.9375rem/1.55 var(--ui);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--forest-3)}
h1,h2,h3,p{margin:0}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ic{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* En-tête : le vert profond de la charte */
.top{position:fixed;top:0;left:0;right:0;z-index:30;height:calc(var(--top) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 0.875rem 0 1.125rem;display:flex;align-items:center;gap:1rem;background:linear-gradient(90deg,#085146,#013832);color:var(--on-dark)}
.brand{display:flex;align-items:center;gap:0.625rem;flex:none;text-decoration:none}
.brand-mark{width:2.25rem;height:2.25rem;--tree:#F4EFE6;--ring:#D2B278}
.brand-word{display:block;height:1.4375rem;width:auto}
.search{flex:1;max-width:35rem;display:flex;align-items:center;gap:0.5rem;height:2.5rem;padding:0 0.875rem;border-radius:62.4375rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:rgba(244,239,230,.75)}
.search input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--on-dark);font-size:0.9062rem}
.search input::placeholder{color:rgba(244,239,230,.6)}
.search:focus-within{background:rgba(255,255,255,.13);border-color:var(--gold-l)}
.top-act{margin-left:auto;display:flex;align-items:center;gap:0.25rem}
.btn-new{display:inline-flex;align-items:center;gap:0.375rem;height:2.375rem;margin-right:0.375rem;padding:0 0.9375rem;border-radius:62.4375rem;border:1px solid var(--gold-l);background:none;color:var(--gold-l);font-weight:600;font-size:0.875rem}
.btn-new:hover{background:rgba(210,178,120,.14)}
.ib{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:0;border-radius:0.75rem;background:none;color:inherit;text-decoration:none}
.ib:hover{background:var(--surface)}
.top .ib:hover{background:rgba(255,255,255,.1)}
.ib .ic{width:1.3125rem;height:1.3125rem}
.top .ib[aria-current="page"]{background:rgba(210,178,120,.18)}
.badge{position:absolute;top:0.1875rem;right:0.1875rem;min-width:1.0625rem;height:1.0625rem;padding:0 0.25rem;border-radius:0.5625rem;background:var(--amber);color:#1A1205;font-size:max(0.6562rem,11px);font-weight:700;line-height:1.0625rem;text-align:center}
.s-btn{display:none}
/* Navigation */
.rail{position:fixed;left:0;top:calc(var(--top) + env(safe-area-inset-top,0px));bottom:0;z-index:20;width:var(--rail);display:flex;flex-direction:column;align-items:center;gap:0.25rem;padding:0.875rem 0.5rem;background:var(--bg);border-right:1px solid var(--line)}
.rail a{position:relative;display:flex;flex-direction:column;align-items:center;gap:0.25rem;width:4.25rem;padding:0.5625rem 0 0.5rem;border-radius:0.75rem;color:var(--muted);text-decoration:none;font-size:max(0.7188rem,11px);font-weight:500}
.rail a .ic{width:1.4375rem;height:1.4375rem}
.rail a:hover{color:var(--ink);background:var(--surface)}
.rail a[aria-current="page"]{color:var(--head);font-weight:600}
.rail a[aria-current="page"] .ic{color:var(--gold)}
.rail a[aria-current="page"]::before{content:"";position:absolute;left:-0.5rem;top:0.75rem;bottom:0.75rem;width:0.1875rem;border-radius:0 0.1875rem 0.1875rem 0;background:var(--gold)}
.main{padding:calc(var(--top) + env(safe-area-inset-top,0px)) 0 0 var(--rail);min-height:100vh}
.view{max-width:73.75rem;margin:0 auto;padding:1.875rem 2rem 3.5rem;outline:none}
.pg-carte .view{max-width:none;padding:0}
/* Typographie */
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:1.125rem;flex-wrap:wrap;margin-bottom:1.5rem}
.ph h1{font:600 clamp(1.875rem,3.6vw,2.5rem)/1.08 var(--serif);color:var(--head)}
.ph p{margin-top:0.5rem;color:var(--muted);max-width:62ch}
.h2{margin:2.375rem 0 0.875rem;font:600 1.125rem/1.3 var(--ui)}
.h3{margin:0 0 0.75rem;font:600 0.9375rem/1.3 var(--ui)}
.small,.hint{font-size:max(0.8125rem,11px);color:var(--muted)}
.empty{padding:1.375rem;border:1px dashed var(--line-2);border-radius:0.875rem;color:var(--muted);text-align:center}
.serif{font-family:var(--serif)}
.lnk{padding:0;border:0;background:none;color:var(--forest-3);font:inherit;text-decoration:underline;cursor:pointer}
/* Boutons, puces, champs */
.actions{display:flex;flex-wrap:wrap;gap:0.5rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.4375rem;min-height:2.5rem;padding:0 1rem;border:1px solid var(--line-2);border-radius:0.625rem;background:var(--bg);color:var(--ink);font:600 0.875rem/1 var(--ui);text-decoration:none;white-space:nowrap}
.btn:hover{border-color:var(--forest-3)}
.btn.p{background:var(--pbg);border-color:var(--pbg);color:var(--pfg)}
.btn.p:hover{background:var(--pbg-h);border-color:var(--pbg-h)}
.btn.s{min-height:2.125rem;padding:0 0.75rem;font-size:max(0.8438rem,11px)}
.btn.danger{color:var(--danger)}
.btn[aria-pressed="true"]{background:var(--gold-s);border-color:var(--gold);color:var(--gold-t)}
.btn .ic{width:1.0625rem;height:1.0625rem}
.btn .n{font-weight:700;opacity:.75}
.btn:disabled{opacity:.5;cursor:default}
.chips{display:flex;flex-wrap:wrap;gap:0.375rem}
.chip{display:inline-flex;align-items:center;min-height:2rem;padding:0 0.75rem;border:1px solid var(--line-2);border-radius:62.4375rem;background:var(--bg);color:var(--ink);font:500 max(0.8438rem,11px)/1 var(--ui);text-decoration:none}
.chip[aria-pressed="true"]{background:var(--pbg);border-color:var(--pbg);color:var(--pfg)}
.tag{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 0.5625rem;border-radius:62.4375rem;background:var(--surface);color:var(--ink-2);font-size:max(0.75rem,11px);font-weight:500}
.field{display:block;margin:0.875rem 0}
.field>span{display:block;margin-bottom:0.375rem;font-size:max(0.8125rem,11px);font-weight:600;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;min-height:2.625rem;padding:0.5625rem 0.75rem;border:1px solid var(--line-2);border-radius:0.625rem;background:var(--bg);color:var(--ink)}
.field textarea{min-height:5.625rem;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold-l);outline-offset:1px}
.tabs{display:flex;gap:2px;margin:0 0 1.5rem;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs a{flex:none;padding:0.625rem 0.875rem 0.75rem;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--muted);text-decoration:none;font-weight:500;font-size:0.9062rem}
.tabs a[aria-current="page"]{color:var(--head);border-bottom-color:var(--gold);font-weight:600}
.av{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--av,var(--a0));color:#fff;font:700 max(0.8125rem,11px)/1 var(--ui);letter-spacing:.02em}
.av-s{width:1.625rem;height:1.625rem;font-size:max(0.625rem,11px)}
.av-xs{width:1.25rem;height:1.25rem;font-size:max(0.5312rem,11px)}
.av-l{width:5.25rem;height:5.25rem;font-size:1.625rem;box-shadow:0 0 0 0.25rem var(--bg)}
.avs{display:flex;flex-wrap:wrap;gap:0.375rem}
.avs a{text-decoration:none}
/* Fil */
.fil{display:grid;grid-template-columns:minmax(0,1fr) 18.75rem;gap:2.25rem;align-items:start}
.fil-main{max-width:41.25rem;width:100%}
.fil-side{position:sticky;top:calc(var(--top) + 1.625rem);display:flex;flex-direction:column;gap:1.875rem}
.compose{padding:1rem 1.125rem 0.875rem;border:1px solid var(--line);border-radius:1.125rem;background:var(--bg);margin-bottom:0.5rem}
.compose-h{display:flex;gap:0.75rem;align-items:flex-start}
.compose textarea{flex:1;min-height:3.375rem;padding:0.5rem 0;border:0;resize:none;background:none;outline:none;font:1rem/1.5 var(--ui);color:var(--ink)}
.compose-a{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;margin-top:0.5rem;padding-top:0.75rem;border-top:1px solid var(--line)}
.compose-a .hint{flex:1;min-width:12.5rem}
.post{padding:1.375rem 0;border-top:1px solid var(--line)}
.compose+.post{border-top:0}
.post-h{display:flex;gap:0.75rem;align-items:center;margin-bottom:0.625rem}
.post-who{font-weight:600}
.post-who a{color:inherit;text-decoration:none}
.post-meta{font-size:max(0.8125rem,11px);color:var(--muted)}
.post-t{margin-bottom:0.75rem;font-size:0.9688rem;line-height:1.6}
.post-a{display:flex;gap:2px;margin-top:0.625rem;flex-wrap:wrap}
.post-a button{display:inline-flex;align-items:center;gap:0.375rem;min-height:2.25rem;padding:0 0.75rem;border:0;border-radius:62.4375rem;background:none;color:var(--muted);font:500 max(0.8438rem,11px)/1 var(--ui)}
.post-a button:hover{background:var(--surface);color:var(--ink)}
.post-a button[aria-pressed="true"]{color:var(--forest-3)}
.post-a button[aria-pressed="true"] .ic{fill:var(--gold-l)}
.foot{margin-top:1.125rem;font-size:max(0.7812rem,11px);color:var(--muted)}
.dots-bg{background-color:var(--canvas);background-image:radial-gradient(circle,var(--dot) 1px,transparent 1.5px);background-size:1rem 1rem}
.att-map{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:var(--bg)}
.att-th{display:block;aspect-ratio:4/3;padding:0.75rem;border-right:1px solid var(--line)}
.thumb{display:block;width:100%;height:100%}
.thumb .th-r{fill:var(--root)}.thumb .th-rr{fill:none;stroke:var(--gold);stroke-width:2.2}.thumb .th-p{fill:var(--c)}.thumb .th-l{fill:none;stroke:var(--c);stroke-width:3.4;stroke-linecap:round}
.att-b{display:flex;flex-direction:column;gap:0.375rem;padding:1rem 1.125rem}
.att-k{font-size:max(0.7812rem,11px);font-weight:600;color:var(--gold-t)}
.att-t{font:600 1.3125rem/1.18 var(--serif);color:var(--head);text-decoration:none}
.att-s{font-size:max(0.8125rem,11px);color:var(--muted)}
.att-a{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:auto;padding-top:0.5rem}
.att-br{padding:0.875rem 1rem;border:1px solid var(--line);border-left:0.25rem solid var(--gold);border-radius:0.75rem;background:var(--bg)}
.att-path{font-size:max(0.7812rem,11px);color:var(--muted);margin-bottom:0.375rem}
.att-br-b{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0.875rem;align-items:center}
.att-br-t b{display:block;font:600 1.1875rem/1.25 var(--serif);color:var(--head)}
.att-br-t span{display:block;margin-top:0.25rem;font-size:0.875rem;color:var(--ink-2)}
.att-br-th{width:8.75rem;height:5.625rem}
.att{padding:0.75rem 0.875rem;border:1px solid var(--line);border-radius:0.75rem;background:var(--surface)}
.att b{display:block;margin:2px 0 0.375rem;font-size:0.9062rem}
.att .k{font-size:max(0.7812rem,11px);font-weight:600;color:var(--gold-t)}
.side-b .mini-map{display:flex;gap:0.75rem;align-items:center;padding:0.5rem 0;color:inherit;text-decoration:none}
.mini-th{width:4rem;height:2.875rem;flex:none;border-radius:0.5rem;border:1px solid var(--line);padding:0.1875rem}
.mini-map b{display:block;font-size:0.875rem;line-height:1.3}
.mini-map small{display:block;font-size:max(0.75rem,11px);color:var(--muted)}
.row{display:flex;align-items:center;gap:0.75rem;padding:0.625rem 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.row-b{flex:1;min-width:0}
.row-t{font-weight:600;font-size:0.875rem;line-height:1.35}
.row-t a{color:inherit;text-decoration:none}
.row-s{font-size:max(0.7812rem,11px);color:var(--muted)}
.vote{position:relative;display:flex;align-items:center;justify-content:space-between;gap:0.625rem;width:100%;margin-top:0.375rem;padding:0.625rem 0.75rem;border:1px solid var(--line);border-radius:0.625rem;background:var(--bg);text-align:start;overflow:hidden}
.vote.on{border-color:var(--gold)}
.vote span,.vote em{position:relative;z-index:1}
.vote em{font-style:normal;font-weight:700;color:var(--muted)}
.vote i{position:absolute;left:0;top:0;bottom:0;background:var(--gold-s)}
.com{display:flex;gap:0.625rem;margin:0.75rem 0}
.com-b{flex:1;min-width:0;padding:0.5625rem 0.75rem;border-radius:0.75rem;background:var(--surface)}
.com-b b{font-size:max(0.8125rem,11px)}
.com-b small{margin-left:0.375rem;font-size:max(0.75rem,11px);color:var(--muted)}
.com-b p{margin-top:2px;font-size:0.875rem}
.composer{display:flex;gap:0.5rem;margin-top:0.625rem}
.composer input{flex:1;min-width:0;min-height:2.5rem;padding:0 0.875rem;border:1px solid var(--line-2);border-radius:62.4375rem;background:var(--bg);color:var(--ink)}
/* Cartes */
.grid-maps{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.625rem,1fr));gap:1.25rem}
.mcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:var(--bg)}
.mcard-th{display:block;aspect-ratio:16/10;padding:0.75rem;border-bottom:1px solid var(--line)}
.mcard-b{padding:0.875rem 1rem 1rem;display:flex;flex-direction:column;gap:0.375rem;flex:1}
.mcard h3{font:600 1.1875rem/1.22 var(--serif)}
.mcard h3 a{color:var(--head);text-decoration:none}
.mcard-o{display:flex;align-items:center;gap:0.5rem;font-size:max(0.8438rem,11px)}
.mcard-s{font-size:max(0.7812rem,11px);color:var(--muted)}
.mcard .actions{margin-top:auto;padding-top:0.375rem}
.tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:0.75rem}
.tpl,.tpl-o{display:flex;flex-direction:column;gap:0.25rem;padding:0.875rem 1rem;border:1px solid var(--line);border-radius:0.875rem;background:var(--bg);text-align:start}
.tpl:hover,.tpl-o:hover{border-color:var(--gold)}
.tpl b,.tpl-o b{font-size:0.9062rem}
.tpl span,.tpl-o span{font-size:max(0.7812rem,11px);color:var(--muted)}
.tpl-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.5rem}
.tpl-o[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-s)}
.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);border:1px solid var(--line);border-radius:1.25rem;overflow:hidden;background:var(--bg)}
.hero-th{aspect-ratio:4/3;padding:1rem}
.hero-b{padding:1.625rem 1.75rem;display:flex;flex-direction:column;gap:0.75rem}
.hero-b h2{font:600 1.875rem/1.1 var(--serif);color:var(--head)}
/* Éditeur */
.ed{display:flex;flex-direction:column;height:calc(100vh - var(--top) - env(safe-area-inset-top,0px));height:calc(100dvh - var(--top) - env(safe-area-inset-top,0px));background:var(--canvas)}
.ed-bar{display:flex;align-items:center;gap:0.625rem;min-width:0;padding:0.5rem 0.875rem;background:var(--bg);border-bottom:1px solid var(--line)}
.ed-id{flex:1 1 13.75rem;min-width:0}
.ed-title{display:block;width:100%;padding:2px 0.375rem;border:1px solid transparent;border-radius:0.5rem;background:none;font:600 1.1875rem/1.25 var(--serif);color:var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
input.ed-title:hover{border-color:var(--line)}
.ed-meta{display:flex;align-items:center;gap:0.375rem;margin:1px 0 0 0.375rem;font-size:max(0.7812rem,11px);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seg{display:inline-flex;flex:none;gap:2px;padding:0.1875rem;border-radius:0.6875rem;background:var(--surface)}
.seg button{display:inline-flex;align-items:center;justify-content:center;min-width:2.125rem;height:2rem;padding:0 0.625rem;border:0;border-radius:0.5rem;background:none;color:var(--muted);font:500 max(0.8438rem,11px)/1 var(--ui)}
.seg button[aria-pressed="true"]{background:var(--bg);color:var(--head);box-shadow:0 1px 2px rgba(3,55,50,.14)}
.ed-q{display:flex;align-items:center;gap:0.375rem;width:11.875rem;height:2.25rem;padding:0 0.625rem;border:1px solid var(--line);border-radius:0.625rem;background:var(--bg);color:var(--muted)}
.ed-q input{flex:1;min-width:0;border:0;outline:none;background:none;font-size:0.875rem;color:var(--ink)}
.ed-q span{font-size:max(0.75rem,11px);white-space:nowrap}
.ed-crumbs{display:flex;align-items:center;gap:0.375rem;padding:0.4375rem 1rem;background:var(--gold-s);font-size:max(0.8438rem,11px);white-space:nowrap;overflow-x:auto}
.ed-crumbs button{padding:2px 0.25rem;border:0;background:none;color:var(--ink);font-weight:600;text-decoration:underline}
.ed-main{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) var(--panel);grid-template-rows:minmax(0,1fr);min-height:0}
.ed.no-panel .ed-main{grid-template-columns:minmax(0,1fr)}
.ed.no-panel .ed-panel{display:none}
.ed-stage{position:relative;min-width:0;min-height:0;overflow:hidden}
.mm-host{position:absolute;inset:0;outline:none}
.mm{overflow:hidden;background-color:var(--canvas);background-image:radial-gradient(circle,var(--dot) 1.15px,transparent 1.7px);background-size:1.5rem 1.5rem;touch-action:none;-webkit-user-select:none;user-select:none}
.mm-svg{display:block;width:100%;height:100%;cursor:grab}
.mm-svg.panning{cursor:grabbing}
.mm .nd{cursor:pointer}
.mm-host:focus-visible{outline:2px solid var(--gold);outline-offset:-0.1875rem}
.mm-edit{position:absolute;z-index:4;margin:0;padding:0.375rem 0.75rem;border:2px solid var(--gold);border-radius:0.625rem;background:var(--bg);color:var(--ink);font-family:var(--ui);line-height:1.35;resize:none;overflow:hidden;box-shadow:0 0.5rem 1.5rem rgba(3,55,50,.2)}
.mm-edit.s-root{font-family:var(--serif);font-weight:600}
.mm-mini{position:absolute;right:0.75rem;bottom:1rem;z-index:2;width:10.5rem;height:7rem;border:1px solid var(--line);border-radius:0.75rem;background:var(--bg);cursor:pointer}
.mm-mini rect{opacity:.85}
.mm-mini .mm-mv{fill:rgba(201,168,110,.16);stroke:var(--gold);stroke-width:1.5;opacity:1}
.mm.presenting .mm-mini{display:none}
.mm-pres{position:absolute;left:50%;bottom:1.125rem;z-index:5;transform:translateX(-50%);display:flex;align-items:center;gap:0.625rem;width:min(45rem,calc(100% - 1.5rem));padding:0.625rem 0.75rem;border-radius:1rem;background:var(--root);color:var(--on-root);box-shadow:0 0.875rem 2.5rem rgba(3,55,50,.3)}
.mm-pres button{min-width:2.5rem;height:2.5rem;border:0;border-radius:0.625rem;background:rgba(255,255,255,.1);color:inherit;font-size:1.375rem}
.mm-pres button:disabled{opacity:.35}
.mm-pres .mm-pres-x{font-size:max(0.8438rem,11px);padding:0 0.75rem}
.mm-pres-t{flex:1;min-width:0}
.mm-pres-t b{display:block;font:600 1.125rem/1.25 var(--serif)}
.mm-pres-t span{display:block;font-size:max(0.8125rem,11px);opacity:.85}
.mm-pres-n{font-size:max(0.7812rem,11px);opacity:.8;white-space:nowrap}
.ed.presenting .ed-tools,.ed.presenting .ed-zoom{display:none}
.ed-zoom{position:absolute;top:0.75rem;right:0.75rem;z-index:3;display:flex;align-items:center;gap:2px;padding:0.1875rem;border:1px solid var(--line);border-radius:62.4375rem;background:var(--bg)}
.ed-zoom button{min-width:2rem;height:1.875rem;border:0;border-radius:62.4375rem;background:none;color:var(--ink);font:600 0.875rem var(--ui)}
.ed-zoom button:hover{background:var(--surface)}
.ed-zoom span{min-width:2.875rem;text-align:center;font-size:max(0.75rem,11px);color:var(--muted)}
.ed-tools{position:absolute;left:50%;bottom:1rem;z-index:3;transform:translateX(-50%);display:flex;gap:2px;max-width:calc(100% - 1.5rem);padding:0.3125rem;overflow-x:auto;border:1px solid var(--line);border-radius:1rem;background:var(--bg);box-shadow:0 0.625rem 1.875rem rgba(3,55,50,.14)}
.ed-tools button{display:flex;flex-direction:column;align-items:center;gap:0.1875rem;min-width:4.125rem;padding:0.375rem 0.375rem 0.3125rem;border:0;border-radius:0.6875rem;background:none;color:var(--ink);font:500 max(0.7188rem,11px)/1.1 var(--ui)}
.ed-tools button:hover{background:var(--surface)}
.ed-banner{position:absolute;left:50%;top:0.75rem;z-index:4;transform:translateX(-50%);display:flex;align-items:center;gap:0.625rem;padding:0.5rem 0.625rem 0.5rem 1rem;border-radius:62.4375rem;background:var(--root);color:var(--on-root);font-size:max(0.8438rem,11px)}
.ed-banner button{min-height:1.875rem;padding:0 0.75rem;border:0;border-radius:62.4375rem;background:rgba(255,255,255,.14);color:inherit}
.ed-panel{position:relative;overflow-y:auto;padding:1.125rem 1.25rem 1.75rem;background:var(--bg);border-left:1px solid var(--line)}
.ed-panel-x{position:absolute;top:0.625rem;right:0.625rem}
.pk{margin-bottom:0.25rem;font-size:max(0.7812rem,11px);font-weight:600;color:var(--gold-t)}
.pt{margin-bottom:0.625rem;padding-right:2.25rem;font:600 1.375rem/1.22 var(--serif);color:var(--head)}
.pt-in{display:block;width:calc(100% - 2.25rem);margin:0 0 0.625rem;padding:0.375rem 0.5rem;border:1px solid var(--line);border-radius:0.625rem;background:var(--bg);font:600 1.0625rem/1.3 var(--ui);color:var(--ink);resize:vertical}
.pby{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem;font-size:max(0.8125rem,11px);color:var(--muted)}
.pby a{color:var(--ink);font-weight:600;text-decoration:none}
.pfrom{display:flex;gap:0.5rem;align-items:flex-start;margin-bottom:0.75rem;padding:0.5rem 0.625rem;border-radius:0.625rem;background:var(--gold-s);font-size:max(0.8125rem,11px)}
.pfrom .ic{width:1.0625rem;height:1.0625rem;color:var(--gold-t);margin-top:1px}
.pnote{margin-bottom:0.875rem;white-space:pre-wrap;line-height:1.6;color:var(--ink-2)}
.pstats{margin:0.375rem 0 0.625rem;font-size:max(0.8125rem,11px);color:var(--muted)}
.ptags{display:flex;flex-wrap:wrap;gap:0.375rem;margin-bottom:0.75rem}
.ph3{margin:1.5rem 0 0.625rem;font:600 0.875rem/1.3 var(--ui)}
.pact{display:flex;flex-wrap:wrap;gap:0.375rem;margin:0.875rem 0}
.sw{display:flex;flex-wrap:wrap;gap:0.4375rem;margin:0.75rem 0}
.sw button{width:1.625rem;height:1.625rem;border:2px solid var(--bg);border-radius:50%;background:var(--c);box-shadow:0 0 0 1px var(--line-2)}
.sw button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--gold)}
.sw .sw-auto{background:var(--bg);font-size:max(0.625rem,11px);color:var(--muted);width:auto;padding:0 0.5rem;border-radius:0.8125rem}
.prop{display:flex;gap:0.625rem;padding:0.625rem 0;border-top:1px solid var(--line)}
.prop p{font-size:0.875rem}
.prop .actions{margin-top:0.5rem}
.log{list-style:none;margin:0;padding:0}
.log li{display:flex;gap:0.5rem;align-items:flex-start;padding:0.375rem 0;font-size:max(0.8125rem,11px)}
.log small{display:block;color:var(--muted);font-size:max(0.75rem,11px)}
.sugg{margin-top:0.375rem;padding:0.75rem 0.875rem;border:1px solid var(--line);border-radius:0.75rem;background:var(--surface)}
.sugg-i{display:flex;align-items:center;gap:0.625rem;padding:0.5rem 0;border-top:1px solid var(--line)}
.sugg-i div{flex:1;min-width:0}
.sugg-i b{display:block;font-size:0.875rem}
.sugg-i span{display:block;font-size:max(0.7812rem,11px);color:var(--muted)}
.prog{width:100%;accent-color:var(--gold)}
/* Plan */
.ol{position:absolute;inset:0;overflow:auto;padding:1.375rem 1.75rem 5.625rem;background:var(--bg)}
.ol-h{margin-bottom:1rem;max-width:70ch;font-size:max(0.8438rem,11px);color:var(--muted)}
.ol-r{display:flex;align-items:center;gap:0.25rem;min-height:2.25rem;padding-left:calc(min(var(--d),12) * 1.5rem)}
.ol-t{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.75rem;padding:0;border:0;background:none;color:var(--muted)}
.ol-t .ic{width:0.875rem;height:0.875rem;transition:transform .15s}
.ol-t[aria-expanded="true"] .ic{transform:rotate(90deg)}
.ol-b{width:0.5625rem;height:0.5625rem;flex:none;margin-right:0.375rem;border-radius:50%;background:var(--c)}
.ol-in,.ol-lb{flex:1;min-width:0;max-width:47.5rem;min-height:2rem;padding:0.25rem 0.5rem;border:1px solid transparent;border-radius:0.5rem;background:none;font:0.9375rem/1.4 var(--ui);color:var(--ink)}
.ol-in:hover{border-color:var(--line)}
.ol-in:focus{outline:none;border-color:var(--gold);background:var(--gold-s)}
.ol-r.d0 .ol-in,.ol-r.d0 .ol-lb{font:600 1.375rem/1.3 var(--serif);color:var(--head)}
.ol-r.d1 .ol-in,.ol-r.d1 .ol-lb{font-weight:600}
/* Feuilles, avis */
.scrim{position:fixed;inset:0;z-index:40;background:rgba(2,29,26,.5)}
.sheet{position:fixed;z-index:41;left:50%;top:50%;transform:translate(-50%,-50%);width:min(35rem,calc(100vw - 2rem));max-height:88vh;overflow-y:auto;padding:1.5rem 1.5rem 1.375rem;border-radius:1.25rem;background:var(--bg);box-shadow:0 1.5rem 4.375rem rgba(2,29,26,.35)}
.sheet h2{margin:0 2.25rem 0.625rem 0;font:600 1.5rem/1.2 var(--serif);color:var(--head)}
.sheet .pk{margin-top:1.125rem}
.sheet-x{position:absolute;top:0.75rem;right:0.75rem}
.kbd-l{display:grid;grid-template-columns:auto 1fr;gap:0.375rem 0.875rem;font-size:0.875rem}
kbd{display:inline-block;min-width:1.375rem;padding:2px 0.4375rem;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:0.375rem;background:var(--surface);font:600 max(0.75rem,11px)/1.4 var(--ui);text-align:center}
.toast{position:fixed;left:50%;bottom:1.5rem;z-index:60;transform:translateX(-50%);display:flex;align-items:center;gap:0.875rem;max-width:min(35rem,calc(100vw - 1.5rem));padding:0.6875rem 0.75rem 0.6875rem 1.125rem;border-radius:0.875rem;background:var(--root);color:var(--on-root);font-size:0.875rem;box-shadow:0 0.75rem 1.875rem rgba(2,29,26,.3)}
.toast-a{min-height:2rem;padding:0 0.75rem;border:0;border-radius:0.5625rem;background:var(--gold-l);color:#1A1205;font-weight:600}
/* Profils, cercles */
.cover{height:9.375rem;border-radius:1.25rem 1.25rem 0 0;background:var(--grad);position:relative;overflow:hidden}
.cover .e{position:absolute;right:6%;top:-20%;height:150%;opacity:.22}
.pf{border:1px solid var(--line);border-radius:1.25rem;background:var(--bg);margin-bottom:1.625rem}
.pf-b{display:flex;align-items:flex-end;gap:1.125rem;flex-wrap:wrap;padding:0 1.625rem 1.375rem;margin-top:-2.5rem;position:relative}
.pf-b .row-b{padding-top:3rem}
.pf-name{font:600 1.875rem/1.1 var(--serif);color:var(--head)}
.pf-head{margin-top:0.25rem;color:var(--ink-2)}
.pf-b .actions{padding-top:3rem}
.verif{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin-left:0.375rem;border-radius:50%;background:var(--forest-2);color:#fff;font-size:max(0.6875rem,11px);vertical-align:middle}
.two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.75rem;align-items:start}
.box{padding:1.125rem 1.25rem;border:1px solid var(--line);border-radius:1rem;background:var(--bg)}
.box+.box{margin-top:1.125rem}
.tree-box{height:26.25rem;position:relative;border:1px solid var(--line);border-radius:1rem;overflow:hidden}
.tree-box .mm-host{border-radius:1rem}
.kb{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.875rem}
.kb-col{padding:0.75rem;border-radius:0.875rem;background:var(--surface)}
.kb-h{display:flex;justify-content:space-between;margin:2px 0.25rem 0.625rem;font-weight:600;font-size:0.875rem}
.lab{padding:0.75rem 0.875rem;margin-top:0.625rem;border:1px solid var(--line);border-radius:0.75rem;background:var(--bg)}
.lab b{display:block;font-size:0.875rem;line-height:1.35}
.lab small{display:block;margin-top:0.25rem;font-size:max(0.7812rem,11px);color:var(--muted)}
.lab .actions{margin-top:0.625rem}
.fam{columns:2 20rem;column-gap:1.75rem}
.fam>div{break-inside:avoid;margin-bottom:1.625rem}
.bar{height:0.375rem;border-radius:0.1875rem;background:var(--surface-2);overflow:hidden}
.bar i{display:block;height:100%;border-radius:0.1875rem;background:var(--gold)}
.book{display:grid;grid-template-columns:4.375rem minmax(0,1fr);gap:0.875rem;padding:0.875rem 0;border-top:1px solid var(--line)}
.book-c{display:flex;align-items:flex-end;min-height:6.125rem;padding:0.5rem;border-radius:0.5rem;background:linear-gradient(160deg,var(--b0),#022D29);color:#fff;font-size:max(0.6562rem,11px);font-weight:600;line-height:1.2}
.book-c.c1{background:linear-gradient(160deg,#B89660,#5E4214)}.book-c.c2{background:linear-gradient(160deg,#C77C49,#6E2E14)}.book-c.c3{background:linear-gradient(160deg,#2C6E73,#10303F)}
/* Carte membre Premium : la carte noire de la charte */
.pcard{position:relative;width:100%;max-width:26.875rem;aspect-ratio:1.586;border-radius:1.25rem;background:#0E0D0D;overflow:hidden;box-shadow:0 1.25rem 2.75rem rgba(0,0,0,.3)}
.pcard .pc-dots{position:absolute;inset:0;width:100%;height:100%}
.pc-wm{position:absolute;left:1.5rem;top:1.375rem;font:600 1.0625rem var(--ui);color:#C29A5B}
.pc-tier{position:absolute;left:0;right:0;top:40%;text-align:center;font:700 2.375rem/1 var(--ui);color:#1A1818;text-shadow:0 1px 0 rgba(255,255,255,.06),0 -1px 0 rgba(0,0,0,.7)}
.pc-name{position:absolute;left:1.5rem;bottom:1.25rem;font:600 0.9688rem var(--ui);color:#C27A45;letter-spacing:.02em}
.pc-nfc{position:absolute;right:1.375rem;bottom:1.125rem;width:1.375rem;height:1.375rem;color:#C29A5B}
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.offer{padding:1.125rem 1.25rem;border:1px solid var(--line);border-radius:1rem;background:var(--bg)}
.offer.on{border-color:var(--gold);background:var(--gold-s)}
.offer h3{font:600 1.375rem/1.2 var(--serif);color:var(--head)}
.offer p{margin-top:0.375rem;font-size:max(0.8438rem,11px);color:var(--ink-2)}
/* Accueil : le dégradé de la présentation */
.welcome{position:fixed;inset:0;z-index:70;overflow-y:auto;background:var(--bg)}
.wl{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:100%}
.wl-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:3rem 3.5rem;background:var(--grad);color:#fff}
.wl-e{position:absolute;right:-4%;bottom:-8%;height:78%;opacity:.2;pointer-events:none}
.wl-logo{display:flex;align-items:center;gap:1rem;position:relative}
.wl-mark{width:4rem;height:4rem;--tree:#F4EFE6;--ring:#F0D9A8}
.wl-word{height:2.875rem;width:auto}
.wl-h{position:relative;font:800 clamp(1.875rem,4.4vw,3.25rem)/1.02 var(--ui);letter-spacing:.01em;text-transform:uppercase}
.wl-s{position:relative;font-size:1.125rem;opacity:.95}
.wl-p{position:relative;max-width:46ch;font-size:0.9688rem;opacity:.92}
.wl-map{position:relative;height:18.75rem;--bg:#FFFFFF;--ink:#0F201C;--b0:#F4EFE6;--b1:#FCE3B0;--b2:#D6EFE6;--b3:#FFD3B0;--b4:#E2F2CC;--b5:#FFE7B8;--b6:#EEF3D2;--b7:#F2DFCC;--gold:#F0D9A8;--root:#033732}
.wl-map svg{width:100%;height:100%}
.wl-form{display:flex;flex-direction:column;justify-content:center;padding:2.75rem 3.25rem;gap:0.25rem}
.wl-form h2{font:600 1.875rem/1.15 var(--serif);color:var(--head);margin-bottom:0.375rem}
.wl-go{margin-top:0.875rem;min-height:3rem;font-size:0.9688rem}
.grow .mm-e,.grow .nd{animation:wl-in .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes wl-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media (max-width:1100px){.fil{grid-template-columns:1fr}.fil-side{position:static}.two{grid-template-columns:1fr}.kb{grid-template-columns:repeat(2,minmax(0,1fr))}.offers{grid-template-columns:1fr}}
@media (max-width:900px){
  :root{--rail:0px}
  .top{gap:0.375rem;padding-left:0.75rem;padding-right:0.375rem}
  .brand-mark{width:2rem;height:2rem}.brand-word{height:1.1875rem}
  .search{display:none}
  .top.searching .search{display:flex;position:absolute;left:0.5rem;right:0.5rem;top:calc(env(safe-area-inset-top,0px) + 0.625rem);max-width:none;background:#022D29;z-index:2}
  .s-btn{display:inline-flex}
  .btn-new{width:2.5rem;padding:0;justify-content:center;margin-right:2px}.btn-new span{display:none}
  .rail{top:auto;bottom:0;right:0;width:auto;height:calc(4rem + env(safe-area-inset-bottom,0px));flex-direction:row;justify-content:space-around;padding:0.375rem 0.375rem env(safe-area-inset-bottom,0px);border-right:0;border-top:1px solid var(--line)}
  .rail a{flex:1;width:auto;padding:0.375rem 0}
  .rail a[aria-current="page"]::before{left:32%;right:32%;top:-0.375rem;bottom:auto;width:auto;height:0.1875rem;border-radius:0 0 0.1875rem 0.1875rem}
  .main{padding-left:0;padding-bottom:calc(4.5rem + env(safe-area-inset-bottom,0px))}
  .view{padding:1.25rem 1rem 2.25rem}
  .att-map{grid-template-columns:1fr}.att-th{border-right:0;border-bottom:1px solid var(--line)}
  .pg-carte .rail{display:none}.pg-carte .main{padding-bottom:0}
  .ed-main{grid-template-columns:1fr}
  .ed-panel{position:fixed;left:0;right:0;bottom:0;z-index:35;max-height:72vh;border-left:0;border-top:1px solid var(--line);border-radius:1.25rem 1.25rem 0 0;box-shadow:0 -0.75rem 2.5rem rgba(2,29,26,.25);padding-bottom:calc(1.75rem + env(safe-area-inset-bottom,0px))}
  .ed:not(.panel-open) .ed-panel{display:none}
  .ed.no-panel.panel-open .ed-panel{display:block}
  .ed-bar{flex-wrap:wrap;gap:0.375rem;padding:0.375rem 0.5rem}
  .ed-id{flex:1 1 8.75rem;order:1}.ed-bar>.ib:first-child{order:0}.ed-share{order:2}.ed-more{order:3}
  .ed-bar .seg{order:4}.ed-q{order:6;flex:1 1 7.5rem;width:auto}
  .ed-present{display:none}.ed-share span{display:none}
  .seg button{min-width:1.875rem;padding:0 0.4375rem}
  .mm-mini{display:none}
  .ed-tools{bottom:calc(0.75rem + env(safe-area-inset-bottom,0px))}
  .ed-tools button{min-width:3.5rem}
  .sheet{left:0;right:0;top:auto;bottom:0;transform:none;width:auto;max-height:90vh;border-radius:1.25rem 1.25rem 0 0;padding-bottom:calc(1.375rem + env(safe-area-inset-bottom,0px))}
  .wl{grid-template-columns:1fr}.wl-brand{padding:2rem 1.5rem}.wl-map{height:13.75rem}.wl-form{padding:1.75rem 1.5rem 2.5rem}
  .hero{grid-template-columns:1fr}
  .tpl-pick{grid-template-columns:1fr}
  .pf-b{padding:0 1.125rem 1.125rem}.pf-b .actions,.pf-b .row-b{padding-top:0.375rem}
}
/* Accueil : la carte de démonstration sur le dégradé */
.wl-map .mm-e{fill:none;stroke:rgba(255,255,255,.92)}
.wl-map .nd .body{fill:#fff;fill-opacity:.95;stroke:rgba(255,255,255,.95)}
.wl-map .nd .tx{fill:#0F201C}
.wl-map .nd.s-root .body{fill:#033732;fill-opacity:1;stroke:none}
.wl-map .nd.s-root .tx{fill:#F4EFE6}
.wl-map .nd.s-root .ring{stroke:#F0D9A8}
.tree-box .mm{touch-action:pan-y}
/* Consigne : une carte porte une ligne à gauche, jamais une simple bordure tout autour */
.box,.mcard,.compose,.att-map,.att,.att-br,.lab,.offer,.tpl,.tpl-o,.hero,.pf,.sugg,.tree-box,.empty,.orb-stage{border:0;border-left:4px solid var(--cl,var(--gold));border-radius:0 14px 14px 0}
.box,.att-br,.att-map,.att,.pf,.mcard{--cl:var(--gold)}.compose,.hero,.tree-box,.orb-stage{--cl:var(--b0)}.lab{--cl:var(--b3)}.sugg{--cl:var(--amber)}.offer,.tpl,.tpl-o,.empty{--cl:var(--line-2)}
.tpl:hover,.tpl-o:hover,.tpl-o[aria-pressed="true"],.offer.on{--cl:var(--gold)}
.empty{background:var(--surface);text-align:start}
.pf .cover{border-radius:0 14px 0 0}
/* Vision cercles */
.orb{position:absolute;inset:0;outline:none;overflow:hidden;background-color:var(--canvas);background-image:radial-gradient(circle,var(--dot) 1.15px,transparent 1.7px);background-size:1.5rem 1.5rem;-webkit-user-select:none;user-select:none}
.orb:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.orb-svg{display:block}
.orb-ring{fill:none;stroke:var(--gold);stroke-opacity:.55;stroke-width:1.4;stroke-dasharray:2 7}
.orb-e{fill:none;stroke:var(--c);stroke-width:2.4;stroke-linecap:round}
.orb-pl{fill:none;stroke:var(--gold);stroke-width:1.4;stroke-dasharray:4 5}
.orb-c{cursor:pointer}
.orb-c .ring{fill:none;stroke:var(--gold);stroke-width:2.2}
.orb-c .body{fill:var(--root)}
.orb-c .lb{fill:var(--on-root);font-family:var(--serif);font-weight:600}
.orb-c .sb{fill:var(--gold-l);font-family:var(--ui)}
.orb-s{cursor:pointer}
.orb-s .body{fill:var(--bg)}
.orb-s .tint{fill:var(--c);fill-opacity:.15;stroke:var(--c);stroke-width:2.8}
.orb-s:hover .tint{fill-opacity:.26}
.orb-s.hi .tint{stroke:var(--sel);stroke-width:4;fill-opacity:.26}
.orb-s .lb{fill:var(--ink);font-family:var(--ui);font-weight:600}
.orb-s .sb{fill:var(--muted);font-family:var(--ui)}
.orb-s .cn{fill:var(--ink);font-family:var(--ui);font-weight:700}
.orb-s .dot{fill:var(--c)}
.orb-s .mk{fill:var(--gold);stroke:var(--bg);stroke-width:2}
.orb-s.add .tint{fill:none;stroke:var(--muted);stroke-dasharray:5 5;stroke-width:2}
.orb-s.add .plus{fill:none;stroke:var(--muted);stroke-width:2.4;stroke-linecap:round}
.orb-s.add .lb{fill:var(--muted)}
.orb-p{cursor:pointer}
.orb-p circle{fill:var(--bg);stroke:var(--gold);stroke-width:2}
.orb-p path{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.orb-p text{fill:var(--ink);font-family:var(--ui);font-weight:600}
.orb-empty{fill:var(--muted);font-family:var(--ui)}
.orb-svg.anim .orb-s{animation:orb-in .52s cubic-bezier(.2,.8,.2,1) both}
.orb-svg.anim .orb-e,.orb-svg.anim .orb-ring,.orb-svg.anim .orb-pl,.orb-svg.anim .orb-p{animation:orb-f .45s ease both}
.orb-svg.out .orb-s:not(.fly),.orb-svg.out .orb-e,.orb-svg.out .orb-c,.orb-svg.out .orb-p,.orb-svg.out .orb-pl,.orb-svg.out .orb-ring{opacity:0;transition:opacity .22s}
.orb-s.fly{transition:transform .38s cubic-bezier(.3,.7,.2,1)}
@keyframes orb-in{from{transform:translate(var(--fx),var(--fy)) scale(.25);opacity:0}}
@keyframes orb-f{from{opacity:0}}
.orb-wrap{display:grid;grid-template-columns:minmax(0,1fr) 21rem;gap:1.6rem;align-items:start}
.orb-stage{position:relative;height:min(74vh,48rem);overflow:hidden;background:var(--canvas)}
.orb-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;min-height:2rem;margin-bottom:.5rem}
.orb-crumbs button{padding:.15rem .3rem;border:0;background:none;color:var(--forest-3);font:600 .85rem/1.2 var(--ui);text-decoration:underline;cursor:pointer}
.orb-crumbs strong{font-size:.9rem;color:var(--head)}
.orb-side{position:sticky;top:calc(var(--top) + 1.6rem)}
@media (max-width:1100px){.orb-wrap{grid-template-columns:1fr}.orb-side{position:static}}
@media (max-width:900px){.orb-stage{height:max(26rem,64vh)}}
/* v4.2 : lignes simples, recherche instantanée, tâches, pictogrammes, versions */
.thumb .th-e{fill:none;stroke:var(--c);stroke-linecap:round;stroke-linejoin:round}
.qd{position:fixed;z-index:45;max-height:min(70vh,32rem);overflow-y:auto;padding:.4rem;border-left:4px solid var(--gold);border-radius:0 14px 14px 0;background:var(--bg);box-shadow:0 18px 48px rgba(2,29,26,.28)}
.qd-i{display:flex;align-items:center;gap:.75rem;width:100%;padding:.55rem .7rem;border:0;border-radius:10px;background:none;text-align:start;color:var(--ink);font:inherit;cursor:pointer}
.qd-i.on,.qd-i:hover{background:var(--surface)}
.qd-k{flex:none;min-width:4.6rem;font-size:max(.75rem,11px);font-weight:600;color:var(--gold-t)}
.qd-t{display:flex;flex-direction:column;min-width:0;font-size:.9rem;font-weight:500}
.qd-t small{font-size:max(.75rem,11px);color:var(--muted);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tchk{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.5rem;height:1.5rem;padding:0;border:2px solid var(--b0);border-radius:6px;background:var(--bg);color:#fff;cursor:pointer}
.tchk.on{background:var(--b0)}
.tchk .ic{width:1rem;height:1rem;stroke-width:2.6}
.task-r.done .row-t a{color:var(--muted);text-decoration:line-through}
.tag.late{background:rgba(178,58,43,.14);color:var(--danger)}
.task-g.late{--cl:var(--danger)}
.task-box{margin:.4rem 0 1rem;padding:.8rem 1rem;border-left:4px solid var(--b0);border-radius:0 12px 12px 0;background:var(--surface)}
.task-box .field{margin:.7rem 0}
.emo-pick{display:flex;flex-wrap:wrap;gap:.25rem}
.emo-pick button{width:2.1rem;height:2.1rem;padding:0;border:1px solid transparent;border-radius:8px;background:var(--surface);font-size:1.05rem;line-height:1;cursor:pointer}
.emo-pick button[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-s)}
.emo-pick .emo-none{width:auto;padding:0 .6rem;font-size:max(.8rem,11px);color:var(--muted)}
.top-b{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;padding:.45rem .6rem;margin-bottom:.3rem;border:0;border-left:3px solid var(--gold);border-radius:0 8px 8px 0;background:var(--surface);color:var(--ink);font:500 .85rem/1.3 var(--ui);text-align:start;cursor:pointer}
.top-b b{color:var(--gold-t)}
.ver{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-top:1px solid var(--line)}
.ver-th{display:block;width:5.5rem;height:3.6rem;flex:none;border-radius:8px;padding:.2rem}
/* v4.3 : affichage web. La page suit la largeur de l’écran, le texte reste lisible. */
:root{--panel:clamp(22.5rem,21vw,30rem)}
@media (min-width:1800px){html:not([data-scale]):not([data-zoomed]){font-size:93.75%}}
.view{max-width:min(100%,118rem);padding-left:clamp(1rem,2.4vw,3rem);padding-right:clamp(1rem,2.4vw,3rem)}
.fil.fil3{grid-template-columns:minmax(15rem,18rem) minmax(0,46rem) minmax(17rem,21rem);grid-template-areas:"left main side";gap:clamp(1.25rem,2vw,2.25rem);justify-content:center}
.fil3 .fil-left{grid-area:left;position:sticky;top:calc(var(--top) + 1.6rem);display:flex;flex-direction:column;gap:1.6rem;max-height:calc(100vh - var(--top) - 3rem);overflow-y:auto;scrollbar-width:thin}
.fil3 .fil-main{grid-area:main;max-width:none}
.fil3 .fil-side{grid-area:side;max-height:calc(100vh - var(--top) - 3rem);overflow-y:auto;scrollbar-width:thin}
@media (max-width:1279px){.fil.fil3{grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);grid-template-areas:"main side" "main left"}.fil3 .fil-left,.fil3 .fil-side{position:static;max-height:none;overflow:visible}}
@media (max-width:1100px){.fil.fil3{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "side" "left"}}
.me-card{background:var(--bg);border-left:4px solid var(--gold);border-radius:0 14px 14px 0;overflow:hidden}
.me-cover{position:relative;height:4.2rem;background:var(--grad);overflow:hidden}
.me-cover .e{position:absolute;right:8%;top:-30%;height:170%;opacity:.25}
.me-b{position:relative;margin-top:-2.2rem;padding:0 1rem 1rem}
.me-b .av-l{width:4.4rem;height:4.4rem;font-size:1.4rem}
.me-n{margin-top:.5rem;font:600 1.15rem/1.2 var(--serif)}
.me-n a{color:var(--head);text-decoration:none}
.me-st{display:flex;border-top:1px solid var(--line)}
.me-st a{flex:1;display:flex;flex-direction:column;align-items:center;padding:.6rem .3rem;color:var(--ink);text-decoration:none;font-size:max(.75rem,11px)}
.me-st a+a{border-left:1px solid var(--line)}
.me-st b{font-size:1rem}
.me-st span{color:var(--muted)}
.mini-task{display:flex;align-items:flex-start;gap:.6rem;padding:.45rem 0;color:var(--ink);text-decoration:none;font-size:.9rem;line-height:1.35}
.mini-task .tchk{width:1.1rem;height:1.1rem;margin-top:.1rem}
.mini-task small{display:block;color:var(--muted);font-size:max(.75rem,11px)}
.mini-task small.late{color:var(--danger)}
.mt-s{margin-top:.4rem}
.tasks-wrap .box+.box{margin-top:1.1rem}
@media (min-width:1280px){.tasks-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(30rem,1fr));gap:1.2rem;align-items:start}.tasks-wrap .box+.box{margin-top:0}}
.orb-stage{height:min(78vh,60rem)}
/* v4.4 : plein écran, lignes neutres, le monde en 3D */
:root{--edge:#A3B5AD}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--edge:#4D6A60}}
:root[data-theme="dark"]{--edge:#4D6A60}
.thumb .th-e{stroke:var(--edge)}
.orb-e{stroke:var(--edge);stroke-width:1.5}
.view{max-width:none;padding-left:clamp(1rem,2vw,2.5rem);padding-right:clamp(1rem,2vw,2.5rem)}
@media (min-width:1280px){.fil.fil3{grid-template-columns:minmax(15rem,20rem) minmax(0,1fr) minmax(17rem,23rem);justify-content:stretch}}
.wide-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(30rem,100%),1fr));gap:1.2rem;align-items:start}
.wide-list>.box+.box{margin-top:0}
.pg-monde .view{max-width:none;padding:0}
.mo{display:grid;grid-template-columns:minmax(0,1fr) var(--panel);height:calc(100vh - var(--top) - env(safe-area-inset-top,0px));height:calc(100dvh - var(--top) - env(safe-area-inset-top,0px))}
.mo.no-panel{grid-template-columns:minmax(0,1fr)}
.mo.no-panel .mo-panel{display:none}
.mo-stage{position:relative;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#0D3D35 0%,#04221E 62%,#021512 100%)}
.globe-host,.globe{position:absolute;inset:0}
.globe canvas{display:block;cursor:grab;touch-action:none}
.globe{--g-ocean:#022D29;--g-ocean2:#0E5E50;--g-land:#E9E0CB;--g-act:#D2B278;--g-sel:#F6D58E;--g-node:#FFFFFF;--g-ink:#0F201C;--g-root:#033732}
.mo-top{position:absolute;top:.9rem;left:.9rem;right:.9rem;z-index:3;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;pointer-events:none}
.mo-top>*{pointer-events:auto}
.mo-q{display:flex;align-items:center;gap:.4rem;height:2.5rem;min-width:15rem;padding:0 .8rem;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;background:rgba(255,255,255,.95);color:#5E6E68}
.mo-q input{flex:1;min-width:0;border:0;outline:none;background:none;color:#0F201C;font-size:.95rem}
.mo-seg{background:rgba(255,255,255,.14)}
.mo-seg button{color:#E9EFEB}
.mo-seg button[aria-pressed="true"]{background:#FFFFFF;color:#033732}
.mo-crumbs{position:absolute;top:4.1rem;left:.9rem;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;max-width:calc(100% - 2rem);padding:.35rem .75rem;border-radius:10px;background:rgba(2,29,26,.78);color:#F4EFE6;font-size:max(.8rem,11px)}
.mo-crumbs button{padding:0;border:0;background:none;color:#F0D9A8;font:600 max(.8rem,11px) var(--ui);text-decoration:underline;cursor:pointer}
.mo-zoom{top:auto;bottom:1rem;right:1rem}
.mo-head{display:flex;align-items:center;gap:.7rem;margin:0 2.4rem 1rem 0;padding:.6rem .8rem;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;background:var(--surface)}
.mo-flag{font-size:1.7rem;line-height:1}
.mo-head .avs{margin-left:auto}
.wl-globe{position:relative;height:clamp(15rem,40vh,27rem);margin-top:.4rem}
@media (max-width:900px){.rail a:nth-child(6){display:none}.pg-monde .main{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.mo{grid-template-columns:1fr;height:calc(100dvh - var(--top) - 64px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.mo .mo-panel{max-height:58vh}.mo:not(.panel-open) .mo-panel{display:none}.mo-q{min-width:0;flex:1 1 100%}.mo-crumbs{top:7.2rem}}
/* v4.5 : pays, villes, organisations et perspectives */
.kdot{display:inline-block;flex:none;width:.6rem;height:.6rem;margin-right:.4rem;border-radius:50%;background:var(--c);vertical-align:middle}
.chip .kdot{margin-right:.35rem}
.chip b{margin-left:.3rem;color:var(--gold-t)}
.top-b span{display:inline-flex;align-items:center}
/* v4.6 : Monde ou Me, vue détaillée */
.mo-seg a{display:inline-flex;align-items:center;gap:.35rem;height:2rem;padding:0 .75rem;border-radius:8px;color:#E9EFEB;text-decoration:none;font:500 max(.85rem,11px)/1 var(--ui)}
.mo-seg a .ic{width:1rem;height:1rem}
.mo-seg a[aria-current="page"]{background:#FFFFFF;color:#033732}
.mo-stage .mm-host{background-color:var(--canvas)}
.me-a{position:relative;flex-wrap:wrap;padding-bottom:.6rem}
.me-bar{display:block;width:100%;height:4px;margin-top:.35rem;border-radius:2px;background:var(--surface-2);overflow:hidden}
.me-bar i{display:block;height:100%;background:var(--amber)}
.figure{position:absolute;inset:0}
.figure canvas{display:block;cursor:grab;touch-action:none}
@media (max-width:900px){.mo-opt{display:none}}
.mo-seg{background:rgba(2,29,26,.8)}
/* v4.7 : charte monochrome verte, style Airbnb. Une seule couleur de marque, du blanc, des ombres douces. */
:root{--ui:"Figtree","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;--serif:var(--ui);--brand:#0B5D49;--brand-d:#033732;--brand-l:#3E9E80;--brand-s:#E8F3EF;--gold:var(--brand);--gold-t:var(--brand-d);--gold-l:#7CC2A8;--gold-s:var(--brand-s);--amber:var(--brand-l);--sel:#3E9E80;--bg:#FFFFFF;--page:#FFFFFF;--surface:#F7F7F7;--surface-2:#EBEBEB;--line:#EBEBEB;--line-2:#DDDDDD;--ink:#222222;--ink-2:#484848;--muted:#717171;--head:#222222;--pbg:var(--brand);--pfg:#FFFFFF;--pbg-h:var(--brand-d);--root:#033732;--on-root:#FFFFFF;--canvas:#FFFFFF;--dot:#E6E6E6;--edge:#B4BCB8;--forest-3:var(--brand);--grad:linear-gradient(120deg,#033732 0%,#0B5D49 55%,#2A8A6C 100%);--cats:3.75rem;--rail:0px;--b0:#0B5D49;--b1:#2A9D78;--b2:#0F7C8C;--b3:#5B8C2A;--b4:#1F6F5C;--b5:#44A38B;--b6:#7A9A34;--b7:#3B5A55;--a0:#0B5D49;--a1:#1F7A62;--a2:#0F7C8C;--a3:#4F7A24;--a4:#1F6F5C;--a5:#2E8A73;--a6:#5F7A28;--a7:#3B5A55;--sh1:0 1px 2px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.05);--sh2:0 6px 16px rgba(0,0,0,.12)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--brand:#3E9E80;--brand-d:#5DBFA5;--brand-s:#16302A;--gold:var(--brand);--gold-t:#7CC2A8;--gold-l:#7CC2A8;--gold-s:#16302A;--amber:#3E9E80;--sel:#5DBFA5;--pbg:#3E9E80;--pfg:#0B1A16;--pbg-h:#5DBFA5;--bg:#141A18;--page:#141A18;--surface:#1D2522;--surface-2:#26302C;--line:#2A3430;--line-2:#36423D;--ink:#ECEFED;--ink-2:#C9D1CD;--muted:#9AA6A1;--head:#ECEFED;--canvas:#141A18;--dot:#26302C;--edge:#55625D;--b0:#5DBFA5;--b1:#7CC2A8;--b2:#6FB7BC;--b3:#A6C56E;--b4:#4FAE92;--b5:#8FD3BE;--b6:#B9C97A;--b7:#9FB8B2}}
:root[data-theme="dark"]{--brand:#3E9E80;--brand-d:#5DBFA5;--brand-s:#16302A;--gold:var(--brand);--gold-t:#7CC2A8;--gold-l:#7CC2A8;--gold-s:#16302A;--amber:#3E9E80;--sel:#5DBFA5;--pbg:#3E9E80;--pfg:#0B1A16;--pbg-h:#5DBFA5;--bg:#141A18;--page:#141A18;--surface:#1D2522;--surface-2:#26302C;--line:#2A3430;--line-2:#36423D;--ink:#ECEFED;--ink-2:#C9D1CD;--muted:#9AA6A1;--head:#ECEFED;--canvas:#141A18;--dot:#26302C;--edge:#55625D;--b0:#5DBFA5;--b1:#7CC2A8;--b2:#6FB7BC;--b3:#A6C56E;--b4:#4FAE92;--b5:#8FD3BE;--b6:#B9C97A;--b7:#9FB8B2}
body{background:var(--page);color:var(--ink);letter-spacing:-.003em}
/* En-tête blanc, recherche en pilule */
.top{background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line)}
.brand-mark{--tree:var(--brand-d);--ring:var(--brand-d)}
.search{flex-direction:row-reverse;max-width:36rem;height:3.1rem;padding:0 .45rem 0 1.4rem;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);box-shadow:var(--sh1);color:var(--muted)}
.search:focus-within{background:var(--bg);border-color:var(--line-2);box-shadow:var(--sh2)}
.search input{color:var(--ink);font-weight:500}.search input::placeholder{color:var(--muted)}
.search>.ic{width:2.2rem;height:2.2rem;padding:.55rem;border-radius:50%;background:var(--brand);color:#FFFFFF;stroke-width:2.4}
.top.searching .search{background:var(--bg)}
.btn-new{border:0;color:var(--ink);background:none;font-weight:600}.btn-new:hover{background:var(--surface)}
.top .ib{color:var(--ink)}.top .ib:hover{background:var(--surface)}.top .ib[aria-current="page"]{background:var(--surface)}
.badge{background:var(--brand);color:#FFFFFF}
#t-me{width:auto;gap:.65rem;height:2.7rem;padding:0 .3rem 0 .85rem;border:1px solid var(--line-2);border-radius:999px;transition:box-shadow .2s}
#t-me:hover{background:var(--bg);box-shadow:var(--sh2)}
#t-me::before{content:"";width:1rem;height:.8rem;background:linear-gradient(currentColor,currentColor) top/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) bottom/100% 2px no-repeat}
/* Barre de catégories, comme Airbnb */
@media (min-width:901px){
  .rail{top:calc(var(--top) + env(safe-area-inset-top,0px));left:0;right:0;bottom:auto;width:auto;height:var(--cats);flex-direction:row;justify-content:center;gap:clamp(1.4rem,3.4vw,3.2rem);padding:0 1.5rem;border-right:0;border-bottom:1px solid var(--line);background:var(--bg)}
  .rail a{width:auto;gap:.3rem;padding:.6rem .2rem .55rem;border-radius:0;border-bottom:2px solid transparent;color:var(--muted);font-size:max(.75rem,11px);font-weight:600;opacity:.85}
  .rail a:hover{background:none;color:var(--ink);border-bottom-color:var(--line-2);opacity:1}
  .rail a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--brand);opacity:1}
  .rail a[aria-current="page"] .ic{color:var(--brand)}
  .rail a[aria-current="page"]::before{display:none}
  .main{padding-left:0;padding-top:calc(var(--top) + var(--cats) + env(safe-area-inset-top,0px))}
  .ed,.mo{height:calc(100vh - var(--top) - var(--cats) - env(safe-area-inset-top,0px));height:calc(100dvh - var(--top) - var(--cats) - env(safe-area-inset-top,0px))}
  .fil3 .fil-left,.fil-side,.orb-side{top:calc(var(--top) + var(--cats) + 1.6rem)}
  .fil3 .fil-left,.fil3 .fil-side{max-height:calc(100vh - var(--top) - var(--cats) - 3rem)}
}
@media (max-width:900px){.rail{background:var(--bg)}.rail a[aria-current="page"]{color:var(--brand)}.rail a[aria-current="page"] .ic{color:var(--brand)}.rail a[aria-current="page"]::before{display:none}}
/* Titres et boutons */
.ph h1{font:700 clamp(1.6rem,2.4vw,2.1rem)/1.15 var(--ui);color:var(--ink);letter-spacing:-.015em}
.h2{font:600 1.3rem/1.3 var(--ui);letter-spacing:-.01em}
.pt,.att-t,.att-br-t b,.pf-name,.hero-b h2,.wl-form h2,.sheet h2,.offer h3,.me-n,.mcard h3{font-family:var(--ui);font-weight:650;letter-spacing:-.01em;color:var(--ink)}
.btn{border-radius:10px;font-weight:600}
.btn.p{background:linear-gradient(90deg,#0B5D49 0%,#147A60 100%);border-color:transparent}
.btn.p:hover{background:linear-gradient(90deg,#033732 0%,#0B5D49 100%)}
.chip{border-color:var(--line-2);font-weight:500}.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.toast{background:#222222;color:#FFFFFF}.toast-a{background:#FFFFFF;color:#222222}
/* Cartes : sans bordure, ombre douce ; la ligne à gauche reste sur les encadrés de texte */
.box,.compose,.att-map,.att,.att-br,.lab,.offer,.tpl,.tpl-o,.hero,.pf,.sugg,.tree-box,.orb-stage,.qd,.me-card,.task-box,.mo-head{border-left-width:3px;border-radius:0 16px 16px 0;box-shadow:0 1px 2px rgba(0,0,0,.06),0 6px 18px rgba(0,0,0,.06)}
.empty{border-left-width:3px;border-radius:0 16px 16px 0}
.mcard{position:relative;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.mcard-th{border:0;border-radius:14px;aspect-ratio:20/16;background-color:var(--surface);transition:box-shadow .2s}
.mcard:hover .mcard-th{box-shadow:var(--sh2)}
.mcard-b{padding:.75rem .15rem 0;gap:.15rem}
.mcard h3{font-size:1rem;line-height:1.3}.mcard h3 a{color:var(--ink)}
.mcard-o{color:var(--ink-2)}
.mcard .actions{position:absolute;top:.75rem;right:.75rem;margin:0;padding:0}
.mcard [data-a="follow-map"]{width:2.3rem;height:2.3rem;min-height:0;padding:0;border:0;border-radius:50%;font-size:0;color:transparent;box-shadow:0 2px 8px rgba(0,0,0,.18);background:rgba(255,255,255,.96) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.3s-7.6-4.6-7.6-10.1A4.5 4.5 0 0 1 12 7.3a4.5 4.5 0 0 1 7.6 2.9c0 5.5-7.6 10.1-7.6 10.1z' fill='none' stroke='%23222' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/1.15rem no-repeat}
.mcard [data-a="follow-map"][aria-pressed="true"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.3s-7.6-4.6-7.6-10.1A4.5 4.5 0 0 1 12 7.3a4.5 4.5 0 0 1 7.6 2.9c0 5.5-7.6 10.1-7.6 10.1z' fill='%230B5D49' stroke='%230B5D49' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E")}
.att-th,.mini-th,.hero-th{background-color:var(--surface)}
.dots-bg{background-color:var(--surface);background-image:radial-gradient(circle,#E2E2E2 1px,transparent 1.5px)}
.cover,.me-cover{background:var(--grad)}
/* Le globe, la ville et la vue ME en clair */
.mo-stage{background:radial-gradient(ellipse at 50% 42%,#FFFFFF 0%,#F4F8F6 62%,#E6EFEB 100%)}
.globe{--g-ocean:#D4E6DF;--g-ocean2:#F6FBF9;--g-land:#0B5D49;--g-act:#2A9D78;--g-sel:#033732;--g-hov:#3E9E80;--g-grat:rgba(11,93,73,.10);--g-glow:rgba(11,93,73,.10);--g-line:#A3AFAA;--g-arc:rgba(11,93,73,.5);--g-mark:#0B5D49;--g-text:#222222;--g-halo:rgba(255,255,255,.95);--g-addbg:#FFFFFF;--g-addtx:#0B5D49;--g-ground0:rgba(11,93,73,.03);--g-ground1:rgba(11,93,73,.09);--g-ring:rgba(11,93,73,.45);--g-km:#717171;--g-kmr:rgba(11,93,73,.25);--g-base:rgba(11,93,73,.55);--g-node:#FFFFFF;--g-ink:#222222;--g-root:#033732}
.figure{--f-body:11,93,73;--f-rim:rgba(255,255,255,.8);--f-glow:rgba(11,93,73,.22);--f-ring:rgba(11,93,73,.55);--f-orbit:rgba(11,93,73,.25);--f-text:#222222;--f-head0:#5DBFA5;--f-head1:#0B5D49;--f-line:#A3AFAA;--f-mark:#0B5D49;--f-addbg:#FFFFFF;--f-addtx:#0B5D49;--f-fill:rgba(11,93,73,.06);--f-joint:rgba(11,93,73,.75);--f-prog:#2A9D78}
.mo-seg{background:var(--bg);border:1px solid var(--line);box-shadow:var(--sh1)}
.mo-seg button,.mo-seg a{color:var(--ink)}
.mo-seg button[aria-pressed="true"],.mo-seg a[aria-current="page"]{background:var(--brand);color:#FFFFFF;box-shadow:none}
.mo-crumbs{background:var(--bg);color:var(--ink);box-shadow:var(--sh1)}.mo-crumbs button{color:var(--brand)}
.mo-q{border-left:0;border-radius:999px;box-shadow:var(--sh1);background:var(--bg)}
.wl-mark{--tree:#FFFFFF;--ring:#FFFFFF}
/* v4.8 : filtre par perspective */
.mo-filter{position:absolute;left:.9rem;right:16rem;bottom:1rem;z-index:3;display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding:.25rem}
.mo-filter::-webkit-scrollbar{display:none}
.mo-filter button{flex:none;display:inline-flex;align-items:center;gap:.35rem;height:2.15rem;padding:0 .9rem;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--ink);font:500 max(.82rem,11px)/1 var(--ui);box-shadow:var(--sh1);cursor:pointer}
.mo-filter button:hover{border-color:var(--ink)}
.mo-filter button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.mo-filter button .kdot{margin-right:0}
.mo-dim [data-id]:not(.mo-hit){opacity:.16;transition:opacity .2s}
.mo-dim .mm-e{opacity:.3}
@media (max-width:900px){.mo-filter{right:.6rem;left:.6rem;bottom:4.1rem}}
.globe{--g-plate:#FFFFFF;--g-side:rgba(11,93,73,.2)}
.mo-filter{display:none !important}
/* v5.1 : la vue Terrain */
.terrain-host{position:absolute;inset:0;z-index:1}
.terrain{overflow:hidden;background-color:#EEF3F0;background-image:linear-gradient(rgba(11,93,73,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(11,93,73,.07) 1px,transparent 1px);background-size:40px 40px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.terrain.tr-drag{cursor:grabbing}
.tr-tiles,.tr-marks{position:absolute;inset:0}
.tr-tiles img{position:absolute;max-width:none;pointer-events:none;image-rendering:auto}
.tr-m{position:absolute;left:0;top:0;display:flex;align-items:flex-start;gap:.3rem;padding:0;border:0;background:none;cursor:pointer;will-change:transform}
.tr-dot{flex:none;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--c);border:2px solid #FFFFFF;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.tr-m.approx .tr-dot{background:#FFFFFF;border:2.5px dashed var(--c)}
.tr-m.on .tr-dot{width:20px;height:20px;margin:-10px 0 0 -10px;box-shadow:0 0 0 5px rgba(11,93,73,.25),0 2px 6px rgba(0,0,0,.35)}
.tr-l{margin-top:-9px;padding:.12rem .45rem;border-radius:6px;background:rgba(255,255,255,.95);color:#222222;font:600 max(.72rem,11px)/1.3 var(--ui);white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.22)}
.terrain.tr-far .tr-m:not(.on):not(:hover) .tr-l{display:none}
.tr-edit .tr-m.editable{cursor:move}
.tr-edit .tr-m.editable .tr-dot{outline:2px solid rgba(11,93,73,.35);outline-offset:3px}
.tr-attr{position:absolute;right:.5rem;bottom:.35rem;margin:0;padding:.1rem .45rem;border-radius:4px;background:rgba(255,255,255,.85);color:#333333;font-size:max(.66rem,10px);pointer-events:none}
.tr-note{position:absolute;left:50%;top:6.5rem;z-index:2;transform:translateX(-50%);width:min(30rem,calc(100% - 2rem));margin:0;padding:.65rem .9rem;border-radius:12px;background:#222222;color:#FFFFFF;font-size:max(.8rem,11px);line-height:1.4;text-align:center}
.tr-bar{position:absolute;left:.9rem;bottom:1rem;z-index:3;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
.tr-edit-b[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.tr-pos{display:flex;flex-wrap:wrap;gap:.3rem;align-items:baseline}
.tr-lnk{padding:0;border:0;background:none;color:var(--brand);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.mo .mo-zoom{z-index:4}
@media (max-width:900px){.tr-bar{bottom:4.1rem;left:.6rem;right:.6rem}}
/* v5.2 : la 3D sur le terrain réel */
.map-host{position:absolute;inset:0;z-index:1}
.map3d{overflow:hidden;background:#E8F0EC}
.m3-tiles{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:50% 50%;will-change:transform}
.m3-tiles img{position:absolute;max-width:none;pointer-events:none;user-select:none;-webkit-user-select:none}
.m3-cv{position:absolute;inset:0;display:block;cursor:grab;touch-action:none}
.m3-bar{position:absolute;left:.9rem;bottom:1rem;z-index:3;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;max-width:calc(100% - 17rem)}
.m3-edit-b[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.map3d .tr-attr{bottom:.35rem}
@media (max-width:900px){.m3-bar{bottom:4.1rem;left:.6rem;right:.6rem;max-width:none}}
/* v5.3 : le terrain en carreaux */
.m3-cell{position:absolute;left:.9rem;top:6.6rem;z-index:3;width:min(19rem,calc(100% - 2rem));padding:.8rem .9rem;border-radius:14px;background:var(--bg);box-shadow:var(--sh2)}
.m3-cell-t{margin:0 0 .15rem;font:700 1rem/1.3 var(--ui);color:var(--ink)}
.m3-cell .chips{margin:.55rem 0}
.m3-cell .actions{display:flex;gap:.4rem;margin-top:.5rem}
@media (max-width:900px){.m3-cell{top:9.2rem}}
/* v5.5 : navigation avancée */
.map3d:focus{outline:none}
.map3d:focus-visible{box-shadow:inset 0 0 0 3px rgba(11,93,73,.45)}
.m3-mini{position:absolute;right:.9rem;top:.9rem;z-index:3;border-radius:12px;box-shadow:var(--sh2);cursor:pointer;background:#F4F8F6}
.m3-compass{position:absolute;right:calc(.9rem + 53px);top:calc(.9rem + 162px);z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:#FFFFFF;box-shadow:var(--sh1);cursor:pointer}
.m3-needle{display:block;width:8px;height:32px;background:linear-gradient(#C0392B 0 50%,#9AA5A0 50% 100%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.m3-pt{position:absolute;left:50%;bottom:-1.15rem;transform:translateX(-50%);padding:0 .3rem;border-radius:4px;background:rgba(255,255,255,.92);color:#484848;font:700 max(.65rem,10px)/1.4 var(--ui)}
.m3-scale{position:absolute;left:.9rem;bottom:4.1rem;z-index:2;display:flex;align-items:center;gap:.4rem;pointer-events:none}
.m3-scale-bar{display:block;height:7px;border:2px solid #222222;border-top:0;background:rgba(255,255,255,.5)}
.m3-scale-t{padding:0 .3rem;border-radius:4px;background:rgba(255,255,255,.88);color:#222222;font:700 max(.7rem,10px)/1.5 var(--ui)}
.m3-coord{position:absolute;left:50%;bottom:.35rem;z-index:2;transform:translateX(-50%);max-width:calc(100% - 22rem);margin:0;padding:.1rem .5rem;overflow:hidden;border-radius:6px;background:rgba(255,255,255,.88);color:#333333;font:600 max(.68rem,10px)/1.5 var(--ui);white-space:nowrap;text-overflow:ellipsis;pointer-events:none}
.m3-coord:empty{display:none}
.m3-tools{position:absolute;right:.9rem;bottom:4.4rem;z-index:3;display:flex;flex-direction:column;gap:.35rem}
.m3-tools button{display:grid;place-items:center;width:2.6rem;height:2.6rem;padding:0;border:1px solid var(--line-2);border-radius:12px;background:var(--bg);color:var(--ink);font:700 1.05rem/1 var(--ui);box-shadow:var(--sh1);cursor:pointer}
.m3-tools button:hover{border-color:var(--ink)}
.m3-tools button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.m3-tools button:disabled{opacity:.35;cursor:default}
.kbd-list{display:grid;gap:.45rem;margin-top:.8rem}
.kbd-r{display:flex;align-items:baseline;gap:.7rem;margin:0}
.kbd-r kbd{flex:none;min-width:11rem;padding:.15rem .45rem;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:6px;background:var(--surface);color:var(--ink);font:600 max(.78rem,11px)/1.4 var(--ui)}
@media (max-width:900px){.m3-tools{bottom:8rem;right:.6rem}.m3-coord{display:none}.m3-compass{top:9.4rem;right:.6rem}.m3-scale{bottom:7.6rem}}
@media (max-width:600px){.m3-mini{display:none}}
/* v5.6 : médias */
.mx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.6rem,1fr));gap:.45rem;margin-top:.4rem}
.mx-it{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:.2rem;padding:0;border:0;background:none;cursor:pointer;text-align:left}
.mx-it img,.mx-it .mx-ic{display:grid;place-items:center;width:100%;aspect-ratio:4/3;border-radius:10px;object-fit:cover;background:var(--surface);box-shadow:var(--sh1)}
.mx-ic{font-size:1.7rem}
.mx-play{position:absolute;left:50%;top:32%;transform:translate(-50%,-50%);display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:rgba(0,0,0,.6);color:#FFFFFF;font-size:.8rem}
.mx-n{overflow:hidden;color:var(--ink-2);font:500 max(.72rem,11px)/1.3 var(--ui);white-space:nowrap;text-overflow:ellipsis}
.mx-it:hover img,.mx-it:hover .mx-ic{box-shadow:var(--sh2)}
.mxv{position:fixed;inset:0;z-index:200;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.6rem;padding:calc(.8rem + env(safe-area-inset-top,0px)) 1rem calc(1rem + env(safe-area-inset-bottom,0px));background:rgba(10,14,13,.92);color:#FFFFFF}
.mxv[hidden]{display:none}
.mxv-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.mxv-t{margin:0;font:700 1rem/1.3 var(--ui)}
.mxv-s{margin:.15rem 0 0;color:rgba(255,255,255,.7);font-size:max(.78rem,11px)}
.mxv-act{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.mxv-act .btn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#FFFFFF}
.mxv-act .btn.danger{color:#FFB4A9}
.mxv-x{color:#FFFFFF}
.mxv-stage{display:grid;place-items:center;min-height:0;overflow:hidden}
.mxv-stage img,.mxv-stage video{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.mxv-stage iframe{width:min(100%,64rem);height:100%;border:0;border-radius:8px;background:#FFFFFF}
.mxv-stage audio{width:min(100%,32rem)}
.mxv-file{display:grid;justify-items:center;gap:.6rem;max-width:30rem;text-align:center}
.mxv-file .mx-ic{display:grid;place-items:center;width:5rem;height:5rem;border-radius:16px;background:rgba(255,255,255,.1);font-size:2.4rem}
.mxv-file .small{color:rgba(255,255,255,.75)}
.mxv-cap{margin:0;text-align:center;color:rgba(255,255,255,.88)}
.mxv-nav{position:fixed;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#FFFFFF;font:700 1.6rem/1 var(--ui);cursor:pointer}
.mxv-nav:hover{background:rgba(255,255,255,.26)}
.mxv-p{left:1rem}.mxv-n{right:1rem}
.mxv-i{position:fixed;left:50%;bottom:calc(.6rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);margin:0;color:rgba(255,255,255,.7);font-size:max(.75rem,11px)}
.mx-tour{position:absolute;left:.9rem;bottom:7rem;z-index:3;display:flex;align-items:center;gap:.6rem;max-width:min(24rem,calc(100% - 6rem));padding:.45rem .7rem .45rem .45rem;border-radius:14px;background:var(--bg);box-shadow:var(--sh2)}
.mx-tour button{padding:0;border:0;background:none;cursor:pointer}
.mx-tour img{display:block;width:6rem;height:4.4rem;border-radius:10px;object-fit:cover}
.mx-tour p{margin:0;font:600 max(.82rem,11px)/1.35 var(--ui);color:var(--ink)}
/* v5.7 : administration et pièces jointes */
.adm-login{display:grid;place-items:center;min-height:calc(100dvh - var(--top) - var(--cats));padding:2rem 1rem}
.adm-card{width:min(26rem,100%);padding:1.6rem 1.5rem;border-radius:18px;background:var(--bg);box-shadow:0 10px 40px rgba(0,0,0,.12)}
.adm-brand{display:flex;align-items:center;gap:.5rem;margin:0 0 .8rem;color:var(--brand);font:700 max(.9rem,11px)/1.2 var(--ui)}
.adm-mark{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:8px;background:var(--brand);color:#FFFFFF;font:800 1rem/1 var(--ui)}
.adm-h{margin:0 0 .4rem;color:var(--ink);font:700 1.45rem/1.2 var(--ui)}
.adm-mode{margin:0 0 1rem;padding:.55rem .7rem;border-radius:10px;font-size:max(.8rem,11px);line-height:1.4}
.adm-mode.demo{background:#FFF6E5;color:#7A4B00}.adm-mode.srv{background:var(--brand-s);color:var(--brand-d)}
.adm-pw{display:flex;gap:.4rem}.adm-pw input{flex:1;min-width:0}
.adm-check{display:flex;align-items:center;gap:.5rem;margin:.2rem 0 .8rem;color:var(--ink-2);font-size:max(.85rem,11px)}
.adm-check input{width:1.15rem;height:1.15rem}
.adm-err{margin:0 0 .8rem;padding:.55rem .7rem;border-radius:10px;background:#FDECEA;color:#9B2C1F;font-size:max(.85rem,11px)}
.adm-go{width:100%;min-height:3rem;font-size:1rem}
.adm-help{margin:.8rem 0 0;text-align:center;font-size:max(.85rem,11px)}
.lnk-b{padding:0;border:0;background:none;color:var(--brand);font:inherit;text-decoration:underline;cursor:pointer}
.adm{display:grid;grid-template-columns:15rem minmax(0,1fr);min-height:calc(100dvh - var(--top) - var(--cats))}
.adm-nav{position:sticky;top:calc(var(--top) + var(--cats));align-self:start;display:flex;flex-direction:column;gap:.2rem;height:calc(100dvh - var(--top) - var(--cats));padding:1.2rem .8rem;border-right:1px solid var(--line);background:var(--bg)}
.adm-nav a{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:10px;color:var(--ink-2);font-weight:600;text-decoration:none}
.adm-nav a:hover{background:var(--surface)}
.adm-nav a[aria-current="page"]{background:var(--brand-s);color:var(--brand-d)}
.adm-out{margin-top:auto}
.adm-main{min-width:0;padding:1.4rem clamp(1rem,3vw,2.5rem) 3rem}
.adm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.adm-out-m{display:none}
.adm-mode-i{padding:.05rem .4rem;border-radius:6px;font-weight:700}.adm-mode-i.demo{background:#FFF6E5;color:#7A4B00}.adm-mode-i.srv{background:var(--brand-s);color:var(--brand-d)}
.adm-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.8rem;margin-bottom:1.2rem}
.adm-kpi{padding:1rem;border-radius:14px;background:var(--bg);box-shadow:var(--sh1)}
.adm-kpi b{display:block;color:var(--ink);font:800 1.6rem/1.1 var(--ui)}.adm-kpi span{color:var(--muted);font-size:max(.82rem,11px)}
.adm-box{margin-bottom:1.2rem;padding:1.1rem 1.2rem;border-radius:16px;background:var(--bg);box-shadow:var(--sh1)}
.adm-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;margin:.35rem 0;font-size:max(.88rem,11px)}
.adm-row span{min-width:6.5rem;color:var(--muted)}.adm-row b{color:var(--ink);font-weight:600}.adm-row time{margin-left:auto;color:var(--muted)}
.adm-list{display:flex;flex-direction:column}
.adm-item{display:flex;align-items:center;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--line)}
.adm-item:last-child{border-bottom:0}
.adm-it-b{flex:1;min-width:0}.adm-it-b .row-t,.adm-it-b .row-s{overflow:hidden;text-overflow:ellipsis}
.adm-th{display:grid;flex:none;place-items:center;width:3.4rem;height:2.6rem;border-radius:8px;object-fit:cover;background:var(--surface)}
.adm-tag{flex:none;padding:.1rem .5rem;border-radius:999px;font:700 max(.72rem,10px)/1.5 var(--ui)}.adm-tag.ok{background:var(--brand-s);color:var(--brand-d)}.adm-tag.approx{background:#FFF6E5;color:#7A4B00}.adm-tag.fix{background:#E8F0FB;color:#1E5FA8}
.adm-sel select{padding:.35rem .5rem;border:1px solid var(--line-2);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
.adm-json{width:100%;font:500 .8rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}
.compose-a{flex-wrap:wrap}
.cp-att{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:.35rem}.cp-att:empty{display:none}
.cp-file{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .3rem .2rem .55rem;border-radius:999px;background:var(--surface);font-size:max(.8rem,11px)}
.cp-file small{color:var(--muted)}.cp-file button{padding:0 .2rem;border:0;background:none;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}
.post-mx{margin-top:.6rem}
.adm-link-box{margin-top:1.2rem}
@media (max-width:900px){
  .adm{grid-template-columns:1fr}
  .adm-nav{position:sticky;top:var(--top);z-index:5;flex-direction:row;align-items:center;height:auto;padding:.5rem .6rem;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none}
  .adm-nav::-webkit-scrollbar{display:none}
  .adm-nav .adm-brand,.adm-nav .adm-out{display:none}
  .adm-nav a{flex:none;padding:.5rem .7rem;font-size:max(.85rem,11px)}
  .adm-out-m{display:inline-flex}
  .adm-main{padding:1rem .9rem 6rem}
  .adm-item{flex-wrap:wrap}
  .adm-it-b{flex:1 1 calc(100% - 4.5rem)}
  .adm-login{align-items:start;padding-top:1.2rem}
  .adm-card{padding:1.3rem 1.1rem;border-radius:16px}
  .adm-card input,.adm-go{font-size:16px}
  .adm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* v5.8 : membres connectés */
.sim-card{top:auto;bottom:7.4rem;left:50%;transform:translateX(-50%);width:min(23rem,calc(100% - 2rem))}
.sim-h{display:flex;align-items:center;gap:.6rem}
.sim-av{display:grid;flex:none;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;color:#FFFFFF;font:800 1rem/1 var(--ui)}
.sim-act{display:flex;align-items:center;gap:.45rem;margin:.6rem 0;color:var(--ink);font-size:max(.88rem,11px)}
.sim-dot{flex:none;width:.6rem;height:.6rem;border-radius:50%;background:#2ECC71;box-shadow:0 0 0 3px rgba(46,204,113,.25)}
.sim-dot.mv{background:#F39C12;box-shadow:0 0 0 3px rgba(243,156,18,.25)}
.sim-pill{position:absolute;left:.9rem;bottom:6.3rem;z-index:2;display:flex;flex-direction:column;padding:.35rem .6rem;border-radius:10px;background:rgba(255,255,255,.94);box-shadow:var(--sh1);color:var(--ink-2);font-size:max(.75rem,10px);line-height:1.35}
.sim-pill b{color:var(--ink);font-size:max(.85rem,11px)}
.sim-box{margin-bottom:.8rem;padding:.7rem .8rem;border-radius:12px;background:var(--brand-s)}
.sim-badge{display:inline-block;padding:.05rem .4rem;border-radius:6px;background:#FFF6E5;color:#7A4B00;font:700 max(.68rem,10px)/1.4 var(--ui);vertical-align:middle}
.sim-line{margin:0 0 .6rem;font-size:max(.88rem,11px)}
.mx-tour{bottom:8.9rem}
@media (max-width:900px){.sim-card{bottom:11.5rem}.sim-pill{bottom:10rem}}
/* v6.0 : refonte des menus, alignée avec le Monde */
body.lm-on .view{max-width:none;padding:0}
.lm{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,42%);min-height:calc(100dvh - var(--top) - var(--cats))}
.lm-list{min-width:0;padding:1.6rem clamp(1rem,2.6vw,2.6rem) 4rem}
.lm-map{position:sticky;top:calc(var(--top) + var(--cats));height:calc(100dvh - var(--top) - var(--cats));border-left:1px solid var(--line);background:#E7EDE5}
.lm-host{position:absolute;inset:0}
.lm .m3-coord,.fmap6 .m3-coord{display:none}
.lm-toggle{display:none}
.v6-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.8rem 1.2rem;margin-bottom:1rem}
.v6-head h1{margin:0;color:var(--ink);font:800 clamp(1.6rem,2.4vw,2.1rem)/1.15 var(--ui);letter-spacing:-.01em}
.v6-head p{max-width:42rem;margin:.35rem 0 0;color:var(--muted);font-size:max(.95rem,12px)}
.v6-pills{display:flex;gap:.45rem;margin:1rem 0 .4rem;padding-bottom:.3rem;overflow-x:auto;scrollbar-width:none}
.v6-pills::-webkit-scrollbar{display:none}
.pill6{display:inline-flex;flex:none;align-items:center;gap:.4rem;padding:.55rem .95rem;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--ink-2);font:600 max(.86rem,11px)/1 var(--ui);cursor:pointer;transition:border-color .15s,background .15s}
.pill6:hover{border-color:var(--ink)}
.pill6.on{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.pill6 .kdot{width:.6rem;height:.6rem;border-radius:50%}
.v6-bar{display:flex;justify-content:flex-end;margin:.2rem 0}
.lm-count{margin:.6rem 0 .9rem;color:var(--muted);font-size:max(.86rem,11px)}
.lm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(17.5rem,100%),1fr));gap:1rem;align-items:stretch}
.lm-card{position:relative;border-radius:16px;content-visibility:auto;contain-intrinsic-size:auto 300px;transition:box-shadow .2s}
.lm-card > :first-child{height:100%;margin:0}
.lm-card:hover{box-shadow:0 8px 26px rgba(0,0,0,.10)}
.lm-hl{animation:lmhl 1.4s ease}
@keyframes lmhl{0%,40%{box-shadow:0 0 0 3px var(--brand)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}
.lm-place{position:absolute;top:.6rem;right:.6rem;z-index:1;margin:0}
.lm-place .lnk-b{padding:.28rem .6rem;border-radius:999px;background:rgba(255,255,255,.95);box-shadow:var(--sh1);color:var(--ink);font:700 max(.75rem,10px)/1.3 var(--ui);text-decoration:none}
.empty6{padding:2.4rem 1rem;border:1px dashed var(--line-2);border-radius:16px;color:var(--muted);text-align:center}
.lm-pop{position:absolute;left:.8rem;right:.8rem;bottom:calc(5.4rem + env(safe-area-inset-bottom,0px));z-index:3;padding:.6rem;border-radius:18px;background:var(--bg);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.lm-pop-c{max-height:44vh;overflow:auto}
.lm-pop-c .lm-place{display:none}
.lm-pop-n{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:.4rem;color:var(--muted);font-size:max(.8rem,11px)}
.mb6,.ev6,.mi6{height:100%;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
.mb6-top{display:flex;align-items:center;gap:.7rem;padding-right:5.5rem}
.mb6-id h3,.ev6 h3,.mi6 h3{margin:0;color:var(--ink);font:700 max(1rem,12px)/1.3 var(--ui)}
.mb6-id h3 a{color:inherit;text-decoration:none}
.mb6-id p,.ev6-b p{margin:.15rem 0 0;color:var(--muted);font-size:max(.85rem,11px)}
.mb6-about{display:-webkit-box;margin:.7rem 0 .5rem;overflow:hidden;color:var(--ink-2);font-size:max(.88rem,11px);-webkit-line-clamp:3;-webkit-box-orient:vertical}
.mb6-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 .8rem}
.tag6{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;background:var(--surface);color:var(--ink-2);font:600 max(.76rem,10px)/1.4 var(--ui)}
.tag6 .kdot{width:.5rem;height:.5rem;border-radius:50%}
.ev6{display:flex;gap:.9rem}
.ev6-b{flex:1;min-width:0;padding-right:4.5rem}
.ev6-d{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;width:3.4rem;height:3.6rem;border-radius:12px;background:var(--brand-s);color:var(--brand-d);font:700 max(.72rem,10px)/1 var(--ui);text-transform:uppercase}
.ev6-d b{font:800 1.35rem/1 var(--ui)}
.ev6-b .actions{margin-top:.7rem}
.mi6 h3{padding-right:4.5rem}
.mi6 .pk{margin:0 0 .3rem;padding-right:4.5rem}
.mi6-price{margin:.5rem 0 .8rem;color:var(--muted);font-size:max(.86rem,11px)}.mi6-price b{color:var(--ink)}
.lm-card .lab{height:100%;margin:0;padding-top:2.4rem}
.live6{display:flex;align-items:flex-start;gap:.9rem;margin:0 0 1rem;padding:.85rem .9rem;overflow-x:auto;border-radius:16px;background:var(--bg);box-shadow:var(--sh1);scrollbar-width:none}
.live6::-webkit-scrollbar{display:none}
.lv6{display:flex;flex:none;flex-direction:column;align-items:center;gap:.3rem;width:4.4rem;padding:0;border:0;background:none;color:var(--ink);cursor:pointer}
.lv6-r{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;background:var(--brand-s);color:var(--brand-d);font:800 1rem/1 var(--ui);box-shadow:0 0 0 2px var(--bg),0 0 0 4px #2ECC71}
.lv6-w{background:var(--brand);font-size:1.5rem}
.lv6-t{max-width:100%;overflow:hidden;font:600 max(.74rem,10px)/1.2 var(--ui);text-overflow:ellipsis;white-space:nowrap}
.lv6-n{margin-top:-.15rem;color:var(--muted);font:600 max(.7rem,10px)/1 var(--ui)}
.lv6-note{flex:none;align-self:center;color:var(--muted);font-size:max(.72rem,10px)}
.post-place{margin:.15rem 0 0;padding:0;border:0;background:none;color:var(--brand);font:600 max(.8rem,11px)/1.3 var(--ui);cursor:pointer}
.post{content-visibility:auto;contain-intrinsic-size:auto 360px}
.fmap6-h{position:relative;height:13rem;margin:.6rem 0;overflow:hidden;border-radius:12px;background:#E7EDE5}
.fmap6 .m3-compass,.fmap6 .m3-mini,.fmap6 .m3-scale{display:none}
.pf6{position:relative;margin:0 0 1.4rem;overflow:hidden;border-radius:20px;background:var(--bg);box-shadow:var(--sh1)}
.pf6-cover{height:7.5rem;background:linear-gradient(120deg,#033732,#0B5D49 45%,#2A9D78)}
.pf6-b{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.8rem 1.4rem;padding:0 1.4rem 1.2rem}
.pf6-b > .av{width:5.6rem;height:5.6rem;margin-top:-2.8rem;border:4px solid var(--bg);font-size:1.6rem}
.pf6-t{flex:1;min-width:12rem}.pf6-t h1{margin:0;font:800 1.5rem/1.2 var(--ui)}.pf6-t p{margin:.2rem 0 0}
.pf6-st{display:flex;gap:1.3rem}.pf6-st span{display:flex;flex-direction:column;color:var(--muted);font-size:max(.78rem,10px)}.pf6-st b{color:var(--ink);font:800 1.2rem/1.1 var(--ui)}
@media (max-width:900px){
  .lm{display:block;min-height:0}
  .lm-list{padding:1rem .9rem 7.5rem}
  .lm-map{display:none}
  .lm.show-map .lm-list{display:none}
  .lm.show-map .lm-map{position:fixed;top:calc(var(--top) + env(safe-area-inset-top,0px));right:0;bottom:0;left:0;z-index:4;display:block;height:auto;border:0}
  .lm-toggle{position:fixed;bottom:calc(4.9rem + env(safe-area-inset-bottom,0px));left:50%;z-index:6;display:inline-flex;align-items:center;gap:.4rem;padding:.8rem 1.25rem;border:0;border-radius:999px;background:var(--ink);color:var(--bg);font:700 max(.92rem,12px)/1 var(--ui);box-shadow:0 6px 20px rgba(0,0,0,.25);transform:translateX(-50%);cursor:pointer}
  .lm.show-map .lm-toggle{top:calc(var(--top) + env(safe-area-inset-top,0px) + .8rem);bottom:auto}
  .lm-grid{grid-template-columns:1fr}
  .v6-head h1{font-size:1.55rem}
  .pf6-b{padding:0 1rem 1rem}
  .pf6-st{justify-content:space-between;width:100%}
  .fil-side .fmap6{display:none}
}
/* v6.0 : lieu dans les fiches */
.lm-place{right:auto;left:.6rem}
.mb6-top{padding-right:0}.ev6-b{padding-right:0}.mi6 h3,.mi6 .pk{padding-right:0}
.lm-in{margin:.7rem 0 0}.lm-in .lnk-b{font-size:max(.82rem,11px);font-weight:600;text-decoration:none}
.tag6-b{border:0;cursor:pointer}.tag6-b:hover{background:var(--brand-s);color:var(--brand-d)}
/* v7.0 : les menus comme vues du Monde */
body.v7 .view{max-width:min(100%,96rem)}
.jv{display:grid;grid-template-columns:minmax(0,1fr) 21rem;gap:1.6rem;align-items:start}
.jv-side{position:sticky;top:calc(var(--top) + var(--cats) + 1rem);display:flex;flex-direction:column;gap:1rem}
.j-compose{margin:0 0 1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
.j-compose textarea{width:100%;min-height:3.2rem;padding:.2rem 0;border:0;background:none;color:var(--ink);font:inherit;resize:vertical;outline:none}
.j-cbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.6rem;border-top:1px solid var(--line)}
.j-where{display:inline-flex;flex:1;align-items:center;gap:.3rem;min-width:12rem}
.j-where select{flex:1;min-width:0;padding:.4rem .5rem;border:1px solid var(--line-2);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:max(.85rem,11px)}
.j-scopebar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin:.4rem 0 0}
.j-scope-on,.j-scope-all{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;background:var(--brand-s);color:var(--brand-d);font:700 max(.85rem,11px)/1.3 var(--ui)}
.j-scope-on button{padding:0 .2rem;border:0;background:none;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer}
.j-day{margin:1.4rem 0 .6rem;color:var(--muted);font:700 max(.8rem,11px)/1.2 var(--ui);letter-spacing:.04em;text-transform:uppercase}
.j-tl{display:flex;flex-direction:column;gap:.7rem}
.j-card{display:flex;gap:.85rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:16px;background:var(--bg);content-visibility:auto;contain-intrinsic-size:auto 150px}
.j-ic{display:grid;flex:none;place-items:center;width:2.5rem;height:2.5rem;border-radius:12px;background:var(--surface);font-size:1.15rem}
.j-ic.t-idee{background:#FFF6DA}.j-ic.t-media{background:#E8F0FB}.j-ic.t-lieu{background:#FDECEA}.j-ic.t-carte{background:var(--brand-s)}.j-ic.t-habilitation{background:#F1E8FA}.j-ic.t-offre,.j-ic.t-projet,.j-ic.t-consultation,.j-ic.t-evenement,.j-ic.t-reponse{background:#E6F4EE}
.j-b{flex:1;min-width:0}
.j-t{margin:0;color:var(--ink);font-size:max(.95rem,12px);line-height:1.45}
.j-who{color:var(--ink);font-weight:700;text-decoration:none}.j-who:hover{text-decoration:underline}
.j-ex{display:inline-block;margin-left:.2rem;padding:0 .4rem;border-radius:6px;background:#FFF6E5;color:#7A4B00;font:700 max(.68rem,10px)/1.5 var(--ui);vertical-align:middle}
.j-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .7rem;margin:.3rem 0 0;color:var(--muted);font-size:max(.8rem,11px)}
.j-path{padding:0;border:0;background:none;color:var(--brand);font:600 max(.8rem,11px)/1.3 var(--ui);text-align:left;cursor:pointer}
.j-path:hover{text-decoration:underline}
.j-post{margin:.55rem 0 0;color:var(--ink-2);line-height:1.5;white-space:pre-line}
.j-labels{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 0;padding:0;list-style:none}
.j-labels li{padding:.2rem .6rem;border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:max(.8rem,11px)}
.j-sub{margin:.35rem 0 0;color:var(--muted);font-size:max(.8rem,11px)}
.j-mlink{display:inline-block;margin-top:.55rem;color:var(--brand);font-weight:600;text-decoration:none}
.j-b .mx-grid{margin-top:.6rem}
.j-act{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin-top:.6rem}
.j-act button{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem 0;border:0;background:none;color:var(--muted);font:600 max(.82rem,11px)/1.3 var(--ui);cursor:pointer}
.j-act button:hover,.j-act button[aria-pressed="true"]{color:var(--brand)}
.j-act svg{width:1rem;height:1rem}
.j-map{position:relative;height:15rem;margin:.6rem 0;overflow:hidden;border-radius:12px;background:#E7EDE5}
.j-map .m3-compass,.j-map .m3-mini,.j-map .m3-coord{display:none}
.j-kpi{display:flex;flex-wrap:wrap;gap:.9rem 1.2rem;margin:.4rem 0 .5rem}.j-kpi span{display:flex;flex-direction:column;color:var(--muted);font-size:max(.76rem,10px)}.j-kpi b{color:var(--ink);font:800 1.25rem/1.1 var(--ui)}
.hv-body{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:1rem;margin-top:.6rem}
.hv-map{position:relative;height:min(68vh,40rem);min-height:24rem;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.hv-side{max-height:min(68vh,40rem);overflow:auto;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:18px;background:var(--bg)}
.hp .pk{margin:0 0 .2rem}.hp .h3{margin:0 0 .6rem}
.hp-me{margin:.2rem 0 .8rem;padding:.7rem .8rem;border-radius:12px;background:var(--brand-s)}.hp-me .small{margin:.4rem 0 0}
.hp-role{display:inline-block;padding:.15rem .55rem;border-radius:999px;background:var(--bg);color:var(--brand-d);font:700 max(.82rem,11px)/1.4 var(--ui)}
.hp-p,.hp-head{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.hp-head{border:0}
.hp-p .row-t,.hp-p .row-s{margin:0}
.hv-rights{margin-top:1.4rem}
.rm-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
.rm{width:100%;min-width:40rem;border-collapse:collapse;font-size:max(.86rem,11px)}
.rm caption{padding:.8rem 1rem 0;color:var(--ink);font:700 1rem/1.3 var(--ui);text-align:left}
.rm th,.rm td{padding:.55rem .7rem;border-bottom:1px solid var(--line);text-align:center}
.rm thead th{color:var(--ink);font-weight:700;vertical-align:bottom}.rm thead th span{display:block;margin-top:.15rem;font-size:max(.76rem,10px)}
.rm tbody th{color:var(--ink-2);font-weight:600;text-align:left}
.rm tbody tr:last-child th,.rm tbody tr:last-child td{border-bottom:0}
.rm-y{color:var(--brand);font-weight:800}.rm-n{color:var(--line-2)}
.pv-body{display:grid;grid-template-columns:20rem minmax(0,1fr);gap:1.2rem;margin-top:.6rem;align-items:start}
.od{position:sticky;top:calc(var(--top) + var(--cats) + 1rem);max-height:calc(100dvh - var(--top) - var(--cats) - 2rem);overflow:auto;padding:.8rem;border:1px solid var(--line);border-radius:18px;background:var(--bg)}
.od-search input{width:100%;padding:.6rem .8rem;border:1px solid var(--line-2);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit}
.od-city{display:flex;justify-content:space-between;margin:1rem .3rem .4rem;color:var(--muted);font:700 max(.76rem,10px)/1.2 var(--ui);letter-spacing:.04em;text-transform:uppercase}
.od-row{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:.55rem .65rem;border:0;border-radius:10px;background:none;text-align:left;cursor:pointer}
.od-row:hover{background:var(--surface)}.od-row.on{background:var(--brand-s)}
.od-n{color:var(--ink);font:600 max(.9rem,11px)/1.3 var(--ui)}.od-n em{color:#7A4B00;font-size:.75em;font-style:normal}
.od-m{color:var(--muted);font-size:max(.76rem,10px)}
.op-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.8rem;margin-bottom:.8rem}
.op-t{margin:0;font:800 1.45rem/1.2 var(--ui)}
.op-back{display:none}
.op-360{position:relative;height:min(52vh,26rem);min-height:18rem;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.op-tabs{margin-top:1rem}
.oi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(18rem,100%),1fr));gap:.9rem;margin-top:.9rem}
.oi{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
.oi-h{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.45rem}
.oi-ty{padding:.15rem .55rem;border-radius:999px;background:var(--brand-s);color:var(--brand-d);font:700 max(.74rem,10px)/1.4 var(--ui)}
.oi-ty.t-offre{background:#E8F0FB;color:#1E5FA8}.oi-ty.t-consultation{background:#F1E8FA;color:#6B3FA0}.oi-ty.t-evenement{background:#FFF6DA;color:#7A5B00}
.oi-due{margin-left:auto;color:var(--muted);font-size:max(.76rem,10px)}
.oi h3{margin:0 0 .3rem;font:700 max(1rem,12px)/1.3 var(--ui)}.oi p{margin:0 0 .7rem;color:var(--muted);font-size:max(.86rem,11px)}
.oi-done{color:var(--brand);font-weight:700;font-size:max(.86rem,11px)}
.seg6{display:inline-flex;gap:.2rem;margin:.6rem 0 .4rem;padding:.25rem;border-radius:999px;background:var(--surface)}
.seg6 button{padding:.5rem .95rem;border:0;border-radius:999px;background:none;color:var(--ink-2);font:600 max(.86rem,11px)/1 var(--ui);cursor:pointer}
.seg6 button.on{background:var(--bg);color:var(--ink);box-shadow:var(--sh1)}
.mw-share{display:grid;gap:1.6rem;margin-top:.8rem}
@media (max-width:900px){
  .jv{grid-template-columns:1fr;gap:1rem}
  .jv-side{position:static}
  .j-card{padding:.8rem .85rem}
  .hv-body{grid-template-columns:1fr}
  .hv-map{height:58vh;min-height:20rem}
  .hv-side{max-height:none}
  .pv-body{grid-template-columns:1fr}
  .od{position:static;max-height:none}
  .pv-body.has-sel .od{display:none}
  .op-back{display:inline-flex}
  .op-360{height:46vh}
  .seg6{display:flex;overflow-x:auto}
  .seg6 button{flex:none}
}
/* v7.0 : mobile, largeur des colonnes */
.jv-main,.op,.hv,.pv,.mw{min-width:0}
@media (max-width:900px){
  .jv{grid-template-columns:minmax(0,1fr)}
  .pv-body,.hv-body{grid-template-columns:minmax(0,1fr)}
  .op-head{align-items:flex-start}
  .op-head > div:nth-child(2){flex:1 1 100%;min-width:0}
  .op-t{font-size:1.25rem}
  .j-cbar .j-where{flex:1 1 100%}
}
/* v8.0 : version finale */
.bf{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:1.6rem;align-items:start}
.bf-main{min-width:0}
.bf-side{position:sticky;top:calc(var(--top) + var(--cats) + 1rem);display:flex;flex-direction:column;gap:1rem}
.bf-hero{margin-bottom:1rem;padding:1.4rem 1.5rem;border-radius:20px;background:linear-gradient(120deg,#033732,#0B5D49 55%,#2A9D78);color:#FFFFFF}
.bf-hero .pk{color:rgba(255,255,255,.8)}.bf-hero h1{margin:.2rem 0 .3rem;color:#FFFFFF;font:800 clamp(1.6rem,2.6vw,2.2rem)/1.15 var(--ui)}.bf-hero p{margin:0;color:rgba(255,255,255,.9)}
.bf-hero .actions{margin-top:.9rem}.bf-hero .btn{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.12);color:#FFFFFF}
.bf-pilot{display:inline-block;margin:0 0 1rem;padding:.35rem .75rem;border-radius:999px;background:#FFF6E5;color:#7A4B00;font:700 max(.82rem,11px)/1.3 var(--ui)}
.bf-sec{margin-bottom:1.2rem}
.bf-h{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.bf-h .h3{margin:0}
.bf-sec .j-tl,.bf-sec .j-card{margin-bottom:.6rem}
.bf-row{display:flex;align-items:center;gap:.7rem;width:100%;margin-bottom:.5rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--ink);text-align:left;cursor:pointer}
.bf-row:hover{border-color:var(--ink)}
.bf-ic{display:grid;flex:none;place-items:center;width:2.3rem;height:2.3rem;border-radius:10px;background:var(--surface);font-size:1.05rem}
.bf-b{display:flex;flex-direction:column;min-width:0}.bf-b b{font-weight:700}.bf-b small{color:var(--muted);font-size:max(.8rem,11px)}
.bf-resp{margin-bottom:.5rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.bf-resp p{margin:0}
.bf-p{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.bf-p > div{flex:1;min-width:0}.bf-p p{margin:0}
.bf-fol{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem 0}
.bf-x{padding:0 .3rem;border:0;background:none;color:var(--muted);font-size:1.1rem;cursor:pointer}
.os-badge{display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.3rem .7rem;border-radius:999px;background:var(--brand-s);color:var(--brand-d);font:700 max(.82rem,11px)/1.3 var(--ui)}
.os .side-b{margin-bottom:1rem}
.os-acts{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.6rem}
.os-a{display:flex;flex-direction:column;gap:.2rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--ink);text-align:left;cursor:pointer}
.os-a:hover{border-color:var(--ink)}.os-a span{color:var(--muted);font-size:max(.8rem,11px)}
.os-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.os-row:last-child{border-bottom:0}.os-row p{margin:0}
.os-rep{margin:.35rem 0 0;padding:.45rem .65rem;border-left:3px solid var(--brand);border-radius:0 8px 8px 0;background:var(--brand-s);color:var(--ink);font-size:max(.85rem,11px)}
.os-blk{margin:0 0 .8rem;padding:.75rem .85rem;border-radius:12px;background:var(--brand-s)}.os-blk .small{margin:0 0 .5rem}.os-blk .actions{margin-top:.5rem}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.7rem;margin-top:.6rem}
.plan{display:flex;flex-direction:column;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.plan.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-s)}
.plan-n{margin:0;font:800 1.05rem/1.2 var(--ui)}.plan-p{margin:.15rem 0 .5rem;color:var(--muted);font-size:max(.8rem,11px)}
.plan ul{flex:1;margin:0 0 .7rem;padding-left:1.1rem;color:var(--ink-2);font-size:max(.84rem,11px)}
.oi-feat{padding:.15rem .5rem;border-radius:999px;background:#FFF6DA;color:#7A5B00;font:700 max(.72rem,10px)/1.4 var(--ui)}
.oi-delay{margin:-.3rem 0 .6rem;color:var(--muted);font-size:max(.78rem,10px)}
.opp-org{margin:0 0 .2rem;color:var(--muted);font-size:max(.82rem,11px)}.opp-org .lnk-b{font-weight:700;text-decoration:none}
.opp-why{margin:-.3rem 0 .6rem;color:var(--brand-d);font:600 max(.78rem,10px)/1.4 var(--ui)}
.j-off{display:inline-block;margin-left:.25rem;padding:0 .45rem;border-radius:6px;background:var(--brand-s);color:var(--brand-d);font:700 max(.7rem,10px)/1.6 var(--ui);vertical-align:middle}
.fol-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .8rem}.fol-bar .small{margin:0}
.onb-steps{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:0 0 .8rem;color:var(--muted);font:600 max(.78rem,10px)/1.3 var(--ui)}.onb-steps .on{color:var(--brand-d)}.onb-steps .done{color:var(--ink-2)}
.onb-list,.onb-modes{display:grid;gap:.45rem;max-height:46vh;overflow:auto;margin:.6rem 0}
.onb-pl{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.onb-pl.on{border-color:var(--brand);background:var(--brand-s)}
.onb-pl input{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--brand)}
.onb-pl span{display:flex;flex-direction:column}.onb-pl small{color:var(--muted)}
.onb-fams{flex-wrap:wrap;overflow:visible}
.onb-nav{justify-content:space-between;margin-top:1rem}
@media (max-width:900px){
  .bf{grid-template-columns:minmax(0,1fr)}
  .bf-side{position:static}
  .bf-hero{padding:1.1rem 1.1rem;border-radius:16px}
  .os-row{flex-wrap:wrap}
}
