*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#030609;color:#eee;font-family:'Josefin Sans',Arial,sans-serif;font-weight:300}body{overflow-x:hidden}button,input,select{font:inherit}.app{min-height:100vh;display:flex;background:radial-gradient(ellipse at 65% 40%,rgba(165,112,48,.08),transparent 38%),#030609}.sidebar{width:270px;flex:none;min-height:100vh;border-right:1px solid rgba(255,255,255,.12);background:rgba(2,5,8,.92);padding:30px 20px;position:sticky;top:0;z-index:20}.brand{padding:0 13px 35px}.wordmark{font-size:37px;letter-spacing:.23em;font-weight:300;white-space:nowrap}.logo-o{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #f1d19e;border-radius:50%;width:.82em;height:.82em;line-height:.82em;color:#fff4df;box-shadow:0 0 18px rgba(235,193,128,.45)}.tagline{font-size:8px;letter-spacing:.27em;margin-top:9px;color:#bdb8b0}.nav{display:grid;gap:5px}.nav-item{border:0;border-radius:11px;background:transparent;color:#c8c7c3;text-align:left;padding:15px 16px;letter-spacing:.25em;font-size:11px;display:flex;align-items:center;gap:19px;transition:.2s}.nav-item span{width:18px;text-align:center;font-size:21px;letter-spacing:0}.nav-item:hover,.nav-item.active{background:linear-gradient(90deg,rgba(232,194,135,.15),transparent);color:#fff;box-shadow:inset 2px 0 #e8c28b}.side-bottom{position:absolute;left:42px;bottom:25px;font-size:10px;line-height:1.9;letter-spacing:.25em;color:#aaa8a4}.side-bottom i{display:block;width:36px;height:1px;background:#d9b77e;margin:18px 0}.side-bottom strong{font-size:60px;font-weight:300;color:#e8bd7f;text-shadow:0 0 30px rgba(232,189,127,.35)}.main{flex:1;min-width:0;padding:18px 26px}.topbar{height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}.search{height:42px;width:500px;max-width:62%;border:1px solid rgba(255,255,255,.14);border-radius:23px;background:rgba(255,255,255,.025);display:flex;align-items:center;padding:0 16px;color:#777}.search span{font-size:25px;margin-right:10px}.search input{border:0;outline:0;background:transparent;color:#ddd;width:100%;font-size:10px;letter-spacing:.25em}.top-actions{display:flex;align-items:center;gap:14px}.circle{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.13);background:#090e13;color:#eac897}.notification{position:relative}.notification b{position:absolute;right:7px;top:5px;width:6px;height:6px;border-radius:50%;background:#e7bd7e}.user{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.25em}.user span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#ead1a8;color:#111;font-weight:500;letter-spacing:0}.user em{font-style:normal}.user small{font-size:15px}.mobile-menu{display:none}.view{display:none}.view.active{display:block}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px}.center-stage{min-height:calc(100vh - 115px);position:relative;border:1px solid rgba(255,255,255,.09);border-radius:13px;overflow:hidden;background:radial-gradient(circle at 50% 43%,rgba(237,179,95,.18),transparent 27%),radial-gradient(circle at 50% 43%,rgba(255,255,255,.04),transparent 48%),linear-gradient(#03070b,#020508)}.center-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff 0.7px,transparent .9px);background-size:130px 130px;opacity:.11;pointer-events:none}.hero-copy{position:absolute;left:35px;top:42px;z-index:3}.eyebrow{font-size:10px;letter-spacing:.38em;color:#e1bd86}.hero-copy h1{font-size:34px;line-height:1.35;letter-spacing:.22em;font-weight:300;margin:16px 0}.hero-copy p{font-size:12px;line-height:1.7;color:#c9c8c4}.hero-actions{display:flex;gap:12px;margin-top:20px}.primary,.secondary{border-radius:24px;padding:13px 19px;font-size:10px;letter-spacing:.2em}.primary{border:1px solid #edc68e;background:#e9c793;color:#101010;box-shadow:0 0 28px rgba(235,194,133,.2)}.secondary{border:1px solid #a98250;background:rgba(0,0,0,.15);color:#eee}.orb-scene{position:absolute;width:min(680px,76vw);height:min(680px,76vw);max-width:700px;max-height:700px;left:51%;top:49%;transform:translate(-50%,-39%);display:grid;place-items:center}.orb{width:190px;height:190px;border-radius:50%;border:10px solid #f4e1c4;box-shadow:0 0 12px #fff,0 0 38px #e8ad58,0 0 105px rgba(238,170,74,.65),inset 0 0 25px rgba(255,255,255,.3);position:relative;z-index:4;background:radial-gradient(circle at 70% 25%,rgba(255,245,217,.7),transparent 7%,#070707 9%)}.orb span{position:absolute;width:7px;height:7px;background:#fff4d7;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px 8px #eab45f}.orb-halo{position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(238,179,91,.22),rgba(238,179,91,.07) 38%,transparent 70%);filter:blur(4px);z-index:1}.orbit{position:absolute;border:1px solid rgba(230,184,110,.48);border-radius:50%;z-index:2;box-shadow:0 0 14px rgba(230,184,110,.12)}.orbit-a{width:94%;height:40%;transform:rotate(20deg)}.orbit-b{width:86%;height:55%;transform:rotate(-34deg)}.orbit-c{width:52%;height:94%;transform:rotate(58deg)}.network{position:absolute;width:65%;height:65%;border:1px solid rgba(245,220,178,.28);border-radius:50%;z-index:3;box-shadow:inset 0 0 25px rgba(238,183,94,.1)}.network:before,.network:after{content:"";position:absolute;inset:5%;border:1px solid rgba(245,220,178,.15);border-radius:50%;transform:rotate(58deg)}.network:after{transform:rotate(-58deg)}.network i{position:absolute;width:6px;height:6px;background:#fff3d4;border-radius:50%;box-shadow:0 0 12px 3px #e9b969}.network i:nth-child(1){left:10%;top:38%}.network i:nth-child(2){left:20%;top:12%}.network i:nth-child(3){left:44%;top:3%}.network i:nth-child(4){left:72%;top:15%}.network i:nth-child(5){right:7%;top:42%}.network i:nth-child(6){right:19%;bottom:12%}.network i:nth-child(7){left:49%;bottom:3%}.network i:nth-child(8){left:20%;bottom:13%}.network i:nth-child(9){left:4%;top:60%}.network i:nth-child(10){left:38%;top:18%}.network i:nth-child(11){right:30%;top:37%}.network i:nth-child(12){left:57%;bottom:23%}.orb-caption{position:absolute;top:61%;z-index:5;text-align:center;letter-spacing:.38em;font-size:10px;color:#cfc4b4}.wordmark.large{font-size:45px;letter-spacing:.28em;color:#f1eee9;margin-bottom:10px}.principles{position:absolute;right:34px;top:46%;z-index:5;border-left:1px solid #d7aa69;padding-left:16px;display:grid;gap:11px;font-size:9px;letter-spacing:.3em;color:#d0c9bf}.chat-card{position:absolute;left:22px;right:22px;bottom:18px;z-index:8;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(5,9,13,.86);backdrop-filter:blur(14px);padding:18px;display:grid;grid-template-columns:55px 1fr;gap:12px}.evora-symbol{width:52px;height:52px;border:1px solid #a88250;border-radius:50%;display:grid;place-items:center;font-size:34px;color:#e8c38e;box-shadow:0 0 22px rgba(228,181,103,.12)}.chat-card h2{font-size:12px;font-weight:400;letter-spacing:.18em;margin:5px 0 7px}.chat-card p{font-size:10px;color:#989fa2;margin:0 0 12px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button{border:1px solid rgba(255,255,255,.18);border-radius:18px;background:transparent;color:#aaa;padding:8px 11px;font-size:9px;letter-spacing:.13em}.composer{grid-column:1/-1;height:52px;border:1px solid rgba(255,255,255,.12);border-radius:11px;display:flex;align-items:center;padding:5px;margin-top:4px}.composer input{flex:1;background:transparent;border:0;outline:0;color:#ddd;padding:0 10px;font-size:10px;letter-spacing:.12em}.clip{border:0;background:transparent;color:#ddd;font-size:20px}.send{width:40px;height:40px;border:0;border-radius:50%;background:#ebc992;color:#111}.reply{display:none;grid-column:1/-1;border-left:2px solid #e2b36e;padding:10px;color:#c9c4bd;font-size:10px;line-height:1.7}.right-rail{display:grid;gap:14px;align-content:start}.panel{border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(5,10,14,.8);padding:20px}.quote b{font:46px Georgia;color:#c49c68}.quote p{font:18px/1.6 "Playfair Display",serif;margin:0 0 17px}.quote span{display:block;text-align:right;font-size:9px;letter-spacing:.28em;color:#b7afa4}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-head h3{font-size:10px;letter-spacing:.25em;font-weight:400;margin:0}.panel-head button{border:0;background:none;color:#777;font-size:8px}.goal{display:flex;align-items:center;gap:12px;margin:10px 0;font-size:9px;letter-spacing:.08em}.goal small{display:block;color:#6d7477;font-size:8px;margin-top:5px;letter-spacing:.18em}.ring{--p:0;width:47px;height:47px;border-radius:50%;display:grid;place-items:center;font-size:9px;flex:none;background:conic-gradient(#d9b273 calc(var(--p)*1%),#20272b 0);position:relative}.ring:after{content:"";position:absolute;inset:4px;background:#071016;border-radius:50%}.ring{color:#fff}.ring::before{content:attr(style);display:none}.activity article{display:flex;gap:10px;margin:15px 0;font-size:9px;line-height:1.45}.activity article i{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:50%;color:#dcb475;font-style:normal;flex:none}.activity small{display:block;color:#697175;font-size:7px;letter-spacing:.08em;margin-top:4px}.section-head{display:flex;justify-content:space-between;align-items:end;margin:20px 0 18px;padding:30px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:linear-gradient(120deg,rgba(12,18,23,.8),rgba(4,8,11,.8))}.section-head h2{font-size:30px;font-weight:300;letter-spacing:.2em;margin:13px 0}.section-head p{color:#8e9699;font-size:11px}.discussion-layout{border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:22px;min-height:500px;display:flex;flex-direction:column;background:#05090d}.conversation{flex:1;overflow:auto}.message{max-width:720px;padding:16px 18px;margin:10px 0;border-radius:10px;font-size:11px;line-height:1.7}.message.evora{border-left:2px solid #d9b16e;background:rgba(255,255,255,.025)}.message.user{margin-left:auto;border-right:2px solid #d9b16e;background:rgba(219,175,105,.07)}.message b{font-size:8px;letter-spacing:.3em;color:#d9b16e}.big-composer{height:58px;border:1px solid rgba(255,255,255,.15);border-radius:12px;display:flex;padding:6px;margin-top:20px}.big-composer input{flex:1;border:0;outline:0;background:transparent;color:white;padding:0 12px;font-size:11px}.big-composer button{width:46px;border:0;border-radius:50%;background:#e7c28d}.memory-grid,.cards-grid,.modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.memory-card,.project-card,.modules-grid article{min-height:220px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:linear-gradient(145deg,#091016,#04080c);padding:25px}.memory-card span,.project-card>span,.modules-grid strong{font-size:9px;letter-spacing:.3em;color:#cda96f}.memory-card h3,.project-card h3,.modules-grid h3{font-weight:300;letter-spacing:.2em;font-size:19px;margin:25px 0 14px}.memory-card p,.project-card p,.modules-grid p{font-size:11px;line-height:1.8;color:#9ba1a3}.memory-card small,.project-card small{font-size:8px;color:#777;letter-spacing:.2em}.featured{background:radial-gradient(circle at 70% 20%,rgba(229,180,100,.13),transparent 30%),linear-gradient(145deg,#0b141b,#04080c)}.progress{height:3px;background:#1c2429;margin:20px 0 9px}.progress i{display:block;height:100%;background:#d9b273}.table{border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}.row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.07);font-size:10px;color:#aeb2b2}.row.head{color:#777;font-size:8px;letter-spacing:.2em}.row b{color:#d7b27a;font-size:8px;letter-spacing:.15em}.objective-list{display:grid;gap:12px}.objective-list>div{display:grid;grid-template-columns:80px 1fr;gap:22px;border:1px solid rgba(255,255,255,.1);padding:22px;border-radius:12px;background:#060b0f}.objective-list>div>span{font-size:26px;color:#e4bd80}.objective-list b{font-size:11px;letter-spacing:.2em}.objective-list p{font-size:10px;color:#7d8588}.modules-grid article{min-height:190px}.modules-grid article>b{font-size:8px;letter-spacing:.2em;color:#8d9698}.settings-list{max-width:700px;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}.settings-list label{display:flex;justify-content:space-between;padding:22px;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px;letter-spacing:.2em;color:#c4c2bd}.settings-list select{background:#0b1116;color:#ddd;border:1px solid #252d32;padding:7px 12px}.settings-list input{accent-color:#dcb574}footer{padding:22px 4px 3px;text-align:center;font-size:8px;letter-spacing:.35em;color:#5e666a}footer span{float:right;letter-spacing:.28em}@media(max-width:1150px){.sidebar{width:225px}.home-grid{grid-template-columns:1fr}.right-rail{grid-template-columns:1fr 1fr}.quote{display:none}.orb-scene{width:620px;height:620px}.feature-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.app{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;transform:translateX(-100%);transition:.25s;box-shadow:20px 0 50px #000}.sidebar.open{transform:translateX(0)}.side-bottom{display:none}.main{padding:10px}.topbar{height:48px}.mobile-menu{display:block;background:none;border:0;color:#ddd;font-size:22px}.search{max-width:none;flex:1}.top-actions .user em,.top-actions .user small{display:none}.circle{display:none}.center-stage{min-height:900px}.hero-copy{position:relative;left:auto;top:auto;padding:32px 20px;z-index:10}.hero-copy h1{font-size:25px}.hero-copy p br{display:none}.hero-actions{flex-direction:column}.hero-actions button{width:100%}.orb-scene{width:520px;height:520px;top:46%;left:50%}.orb{width:145px;height:145px}.orb-caption{top:66%}.wordmark.large{font-size:33px}.principles{top:35%;right:18px}.chat-card{bottom:14px;left:12px;right:12px;grid-template-columns:1fr}.evora-symbol{display:none}.chat-card h2{font-size:10px}.right-rail{grid-template-columns:1fr}.section-head{padding:22px;align-items:flex-start;gap:15px;flex-direction:column}.section-head h2{font-size:22px}.memory-grid,.cards-grid,.modules-grid{grid-template-columns:1fr}.row{grid-template-columns:2fr 1fr}.row span:nth-child(3),.row span:nth-child(4),.row b{display:none}footer span{float:none;display:block;margin-top:8px}}body.light{background:#f2eee8;color:#161616}body.light .sidebar,body.light .center-stage,body.light .panel,body.light .chat-card,body.light .section-head,body.light .discussion-layout,body.light .memory-card,body.light .project-card,body.light .modules-grid article,body.light .objective-list>div,body.light .settings-list{background:#faf8f4;color:#161616}body.light .search,body.light .big-composer{background:#fff}body.light .hero-copy p,body.light .chat-card p,body.light .memory-card p,body.light .project-card p{color:#555}body.no-motion *{animation:none!important;transition:none!important}
/* =========================
   ÉVORA — MOUVEMENT VIVANT
   ========================= */

.center-stage{
  isolation:isolate;
}
.center-stage:after{
  content:"";
  position:absolute;
  inset:-15%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,208,132,.10), transparent 18%),
    radial-gradient(circle at 50% 42%, rgba(255,190,92,.07), transparent 34%);
  animation:evora-breathe 7s ease-in-out infinite;
}

.orb-scene{
  animation:evora-float 8s ease-in-out infinite;
  transform-origin:50% 50%;
}
.orb{
  animation:evora-core-pulse 3.8s ease-in-out infinite;
}
.orb-halo{
  animation:evora-halo 5s ease-in-out infinite;
}
.network{
  animation:evora-network 28s linear infinite;
}
.orbit-a{
  animation:evora-orbit-a 18s linear infinite;
}
.orbit-b{
  animation:evora-orbit-b 24s linear infinite reverse;
}
.orbit-c{
  animation:evora-orbit-c 31s linear infinite;
}

.network i{
  animation:evora-node 2.8s ease-in-out infinite;
}
.network i:nth-child(2n){animation-delay:-.9s}
.network i:nth-child(3n){animation-delay:-1.7s}
.network i:nth-child(4n){animation-delay:-2.3s}

.orb-caption{
  animation:evora-caption 6s ease-in-out infinite;
}

.orb-caption .logo-o{
  animation:evora-logo-o 3.8s ease-in-out infinite;
}

@keyframes evora-breathe{
  0%,100%{opacity:.65;transform:scale(.96)}
  50%{opacity:1;transform:scale(1.04)}
}
@keyframes evora-float{
  0%,100%{transform:translate(-50%,-39%) scale(1)}
  50%{transform:translate(-50%,-40.5%) scale(1.018)}
}
@keyframes evora-core-pulse{
  0%,100%{box-shadow:0 0 12px #fff,0 0 38px #e8ad58,0 0 105px rgba(238,170,74,.55),inset 0 0 25px rgba(255,255,255,.3)}
  50%{box-shadow:0 0 20px #fff,0 0 58px #f0bd6e,0 0 150px rgba(238,170,74,.82),inset 0 0 34px rgba(255,255,255,.42)}
}
@keyframes evora-halo{
  0%,100%{transform:scale(.92);opacity:.65}
  50%{transform:scale(1.12);opacity:1}
}
@keyframes evora-network{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes evora-orbit-a{
  from{transform:rotate(20deg) rotate(0deg)}
  to{transform:rotate(20deg) rotate(360deg)}
}
@keyframes evora-orbit-b{
  from{transform:rotate(-34deg) rotate(0deg)}
  to{transform:rotate(-34deg) rotate(360deg)}
}
@keyframes evora-orbit-c{
  from{transform:rotate(58deg) rotate(0deg)}
  to{transform:rotate(58deg) rotate(360deg)}
}
@keyframes evora-node{
  0%,100%{opacity:.45;transform:scale(.75)}
  50%{opacity:1;transform:scale(1.7);box-shadow:0 0 18px 6px #e9b969}
}
@keyframes evora-caption{
  0%,100%{opacity:.78;transform:translateY(0)}
  50%{opacity:1;transform:translateY(-5px)}
}
@keyframes evora-logo-o{
  0%,100%{box-shadow:0 0 12px rgba(235,193,128,.35)}
  50%{box-shadow:0 0 28px rgba(235,193,128,.85)}
}

/* Fine dust field moving continuously behind the core */
.center-stage .principles{
  animation:evora-principles 9s ease-in-out infinite;
}
@keyframes evora-principles{
  0%,100%{opacity:.72}
  50%{opacity:1}
}

/* Keep the motion alive on smaller screens too */
@media(max-width:760px){
  .orb-scene{animation-duration:9s}
}

/* Respect the interface animation switch */
body.no-motion .center-stage:after,
body.no-motion .orb-scene,
body.no-motion .orb,
body.no-motion .orb-halo,
body.no-motion .network,
body.no-motion .orbit-a,
body.no-motion .orbit-b,
body.no-motion .orbit-c,
body.no-motion .network i,
body.no-motion .orb-caption,
body.no-motion .orb-caption .logo-o,
body.no-motion .principles{
  animation:none!important;
}

/* =========================
   ÉVORA — ICÔNE OFFICIELLE
   Le symbole est le O lumineux.
   ========================= */
.icon-o{
  display:block;
  width:42px;
  height:42px;
  border-radius:50%;
  border:4px solid #f3dfbf;
  position:relative;
  box-shadow:
    0 0 7px #fff,
    0 0 18px rgba(238,183,101,.95),
    0 0 42px rgba(238,183,101,.58);
  background:transparent;
}
.icon-o:before{
  content:"";
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff4d5;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 13px 5px rgba(255,211,137,.9);
}
.icon-o:after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff3d2;
  right:-5px;
  top:1px;
  box-shadow:0 0 18px 6px rgba(244,190,103,.95);
}
.evora-symbol{
  display:grid;
  place-items:center;
  border:1px solid #a88250;
  background:rgba(0,0,0,.18);
}
.evora-symbol .icon-o{
  width:31px;
  height:31px;
  border-width:3px;
}
.side-o{
  display:block;
  width:62px;
  height:62px;
  position:relative;
}
.side-o .icon-o{
  width:58px;
  height:58px;
  border-width:4px;
}

/* The wordmark O uses the same visual language as the icon. */
.wordmark .logo-o,
.wordmark.large .logo-o{
  border-color:#f1d19e;
  box-shadow:0 0 20px rgba(235,193,128,.5);
}

/* Ambient icon breathing, independent from the central orbital system. */
.evora-symbol .icon-o{
  animation:icon-o-breathe 3.8s ease-in-out infinite;
}
@keyframes icon-o-breathe{
  0%,100%{transform:scale(.96);opacity:.88}
  50%{transform:scale(1.06);opacity:1}
}
body.no-motion .evora-symbol .icon-o{animation:none!important}

/* =========================
   TYPOGRAPHIE — RÉFÉRENCE ÉVORA
   ========================= */
body{
  font-family:'Josefin Sans',Arial,sans-serif;
  font-weight:300;
  letter-spacing:.015em;
}
.wordmark,.wordmark.large{
  font-family:'Josefin Sans',Arial,sans-serif;
  font-weight:300;
  letter-spacing:.27em;
}
.tagline,.eyebrow,.nav-item,.hero-copy h1,.principles,
.chat-card h2,.chips button,.search input,.composer input,
.primary,.secondary,.panel-head h3,.panel-head button,
.activity small,.memory-card span,.project-card>span,
.modules-grid strong,.section-head h2,.row.head,
footer,.goal,.objective-list b,.settings-list label{
  font-family:'Josefin Sans',Arial,sans-serif;
}
.hero-copy h1{
  font-weight:300;
  letter-spacing:.18em;
}

/* =========================
   MOBILE — LAYOUT RECONSTRUIT
   Aucun chevauchement.
   ========================= */
@media (max-width:760px){
  html,body{width:100%;overflow-x:hidden}
  .app{display:block;width:100%;min-height:100svh}
  .sidebar{
    position:fixed;
    top:0;bottom:0;left:0;
    width:min(290px,86vw);
    height:100svh;
    min-height:0;
    overflow-y:auto;
    transform:translateX(-105%);
    padding:24px 18px;
    z-index:100;
  }
  .sidebar.open{transform:translateX(0)}
  .brand{padding:0 12px 24px}
  .brand-name,.wordmark{font-size:29px;letter-spacing:.20em}
  .nav{gap:2px}
  .nav-item{padding:12px 13px;font-size:10px;letter-spacing:.20em}
  .side-bottom{display:none}

  .main{
    width:100%;
    max-width:100%;
    padding:8px 10px 18px;
    overflow:hidden;
  }
  .topbar{
    width:100%;
    height:48px;
    margin-bottom:8px;
    gap:8px;
  }
  .mobile-menu{
    display:grid;
    place-items:center;
    width:40px;height:40px;
    flex:none;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    color:#ddd;
    background:#080d12;
    font-size:18px;
    padding:0;
  }
  .search{
    min-width:0;
    width:auto;
    max-width:none;
    flex:1;
    height:40px;
    padding:0 11px;
  }
  .search input{
    min-width:0;
    font-size:8px;
    letter-spacing:.13em;
  }
  .top-actions{gap:6px}
  .top-actions .circle{display:none}
  .user span{width:38px;height:38px}
  .user em,.user small{display:none}

  .home-grid{display:block;width:100%}
  .center-stage{
    width:100%;
    min-height:920px;
    height:auto;
    overflow:hidden;
    border-radius:12px;
  }

  /* Hero copy occupies its own area instead of competing with the orb. */
  .hero-copy{
    position:relative;
    left:auto;top:auto;
    width:100%;
    padding:26px 18px 0;
    z-index:12;
  }
  .eyebrow{
    font-size:8px;
    letter-spacing:.25em;
  }
  .hero-copy h1{
    font-size:20px;
    line-height:1.48;
    letter-spacing:.13em;
    margin:11px 0 12px;
  }
  .hero-copy p{
    font-size:10px;
    line-height:1.65;
    max-width:330px;
  }
  .hero-copy p br{display:none}
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:15px;
    max-width:290px;
  }
  .hero-actions button{
    width:100%;
    min-height:40px;
    padding:10px 12px;
    font-size:8px;
    letter-spacing:.14em;
  }

  /* The central visual gets its own safe vertical zone. */
  .orb-scene{
    position:absolute;
    width:360px;
    height:360px;
    max-width:none;
    max-height:none;
    left:50%;
    top:485px;
    transform:translate(-50%,-50%);
  }
  .orb{width:116px;height:116px;border-width:6px}
  .orb-halo{width:260px;height:260px}
  .network{width:68%;height:68%}
  .orb-caption{top:69%;font-size:7px;letter-spacing:.26em}
  .wordmark.large{font-size:28px;letter-spacing:.20em;margin-bottom:7px}
  .principles{
    position:absolute;
    top:auto;
    bottom:305px;
    left:18px;
    right:18px;
    border-left:0;
    border-top:1px solid #a67c4b;
    padding:9px 0 0;
    display:flex;
    justify-content:space-between;
    gap:7px;
    font-size:7px;
    letter-spacing:.14em;
  }

  /* Chat card has a dedicated lower zone, never overlays the orb. */
  .chat-card{
    position:absolute;
    left:10px;right:10px;bottom:10px;
    width:auto;
    grid-template-columns:1fr;
    gap:10px;
    padding:15px;
    z-index:20;
  }
  .evora-symbol{display:grid;width:44px;height:44px}
  .evora-symbol .icon-o{width:27px;height:27px}
  .chat-card h2{
    font-size:9px;
    line-height:1.55;
    letter-spacing:.12em;
    margin:0 0 7px;
  }
  .chat-card p{
    font-size:9px;
    line-height:1.55;
    margin-bottom:10px;
  }
  .chips{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  .chips button{
    min-height:34px;
    padding:7px 6px;
    font-size:7px;
    line-height:1.25;
    letter-spacing:.08em;
  }
  .composer{
    height:48px;
    margin-top:2px;
  }
  .composer input{
    font-size:8px;
    letter-spacing:.08em;
  }
  .send{width:36px;height:36px}

  .right-rail{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:10px;
  }
  .quote{display:block}
  .panel{padding:16px}
  .quote p{font-size:16px}
  .goal{font-size:8px}

  .section-head{
    width:100%;
    margin:10px 0;
    padding:18px;
    flex-direction:column;
    align-items:flex-start;
    gap:13px;
  }
  .section-head h2{
    font-size:18px;
    line-height:1.45;
    letter-spacing:.13em;
    margin:9px 0;
  }
  .section-head p{font-size:10px;line-height:1.6}
  .section-head .primary{width:auto}

  .discussion-layout{
    min-height:calc(100svh - 150px);
    padding:12px;
  }
  .big-composer{margin-top:10px}
  .big-composer input{font-size:9px}

  .memory-grid,.cards-grid,.modules-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .memory-card,.project-card,.modules-grid article{
    min-height:160px;
    padding:19px;
  }
  .memory-card h3,.project-card h3,.modules-grid h3{
    font-size:16px;
    margin:17px 0 10px;
  }
  .objective-list>div{
    grid-template-columns:55px 1fr;
    gap:12px;
    padding:17px;
  }
  .objective-list>div>span{font-size:21px}
  .row{
    grid-template-columns:1fr;
    gap:5px;
    padding:14px;
    font-size:9px;
  }
  .row.head{display:none}
  .settings-list{width:100%}
  footer{
    line-height:1.7;
    font-size:7px;
    letter-spacing:.20em;
    padding-top:18px;
  }
  footer span{float:none;display:block;margin-top:7px}

  /* Prevent particles and decorative elements from causing layout overflow. */
  .evora-particles{max-width:100%;height:100%}
}

@media(max-width:390px){
  .main{padding-left:7px;padding-right:7px}
  .center-stage{min-height:900px}
  .hero-copy h1{font-size:18px}
  .orb-scene{width:320px;height:320px;top:475px}
  .orb{width:105px;height:105px}
  .principles{bottom:300px;font-size:6px}
  .chat-card{padding:13px}
  .chips button{font-size:6.5px}
}


/* ==========================================================
   ÉVORA V2 FINAL — reconstruction visuelle + mobile
   Ce bloc est volontairement placé en dernier pour garantir
   que la nouvelle mise en page gagne sur les anciennes règles.
   ========================================================== */
:root{
  --ev-bg:#030609;
  --ev-panel:rgba(7,12,16,.78);
  --ev-line:rgba(226,190,132,.18);
  --ev-gold:#e8bd7a;
  --ev-text:#e9e6df;
  --ev-muted:#7e8589;
}

body{background:var(--ev-bg);color:var(--ev-text);}
.app{min-height:100svh;}
.main{min-width:0;}

/* Cleaner geometric wordmark */
.wordmark{font-weight:300!important;letter-spacing:.30em!important;}
.logo-o{display:inline-grid!important;place-items:center;border:1px solid rgba(239,207,160,.9);border-radius:50%;width:.82em;height:.82em;line-height:.82em;box-shadow:0 0 18px rgba(234,186,108,.35);}

/* Central scene: one contained visual system */
.center-stage{position:relative;overflow:hidden;isolation:isolate;}
.center-stage:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 45%,rgba(230,178,94,.09),transparent 22%),radial-gradient(circle at 50% 45%,rgba(230,178,94,.055),transparent 48%);}
.hero-copy,.orb-scene,.principles,.chat-card{z-index:2;}
.orb-scene{z-index:3;}

/* More elegant O */
.orb{border-color:#fff2d3!important;box-shadow:0 0 10px #fff,0 0 28px #e7ae59,0 0 90px rgba(232,177,84,.58),inset 0 0 22px rgba(255,255,255,.28)!important;background:transparent!important;}
.orb:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;right:6%;top:3%;background:#fff7df;box-shadow:0 0 18px 7px rgba(239,188,99,.95);}
.network{opacity:.82;}
.orbit{border-color:rgba(237,194,126,.32)!important;}

/* Desktop composition */
@media(min-width:761px){
  .center-stage{min-height:820px;}
  .hero-copy{max-width:540px;}
  .hero-copy h1{font-size:clamp(25px,2.4vw,38px);line-height:1.42;letter-spacing:.15em;}
  .orb-scene{width:610px;height:610px;}
  .principles{z-index:4;}
  .chat-card{z-index:8;}
}

/* ==========================================================
   MOBILE: zones séparées, aucun élément ne se superpose
   ========================================================== */
@media(max-width:760px){
  body{font-size:14px;}
  .app{display:block;min-height:100svh;}
  .main{padding:8px;width:100%;}
  .topbar{height:52px;padding:0 8px;gap:7px;}
  .mobile-menu{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(255,255,255,.10);border-radius:10px;color:#eee;background:#080d11;font-size:19px;}
  .search{height:42px;min-width:0;}
  .search span{font-size:15px;}
  .search input{font-size:8px;min-width:0;}
  .user span{width:38px;height:38px;}

  .home-grid{display:block;width:100%;}
  .center-stage{height:auto;min-height:1120px;border-radius:14px;padding:0;}

  /* Zone 1: text */
  .hero-copy{position:relative!important;left:auto!important;top:auto!important;width:100%;padding:30px 20px 0;}
  .hero-copy h1{font-size:20px;line-height:1.55;letter-spacing:.12em;margin:12px 0 13px;}
  .hero-copy p{font-size:10px;line-height:1.7;max-width:340px;margin:0;}
  .hero-copy p br{display:none;}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:17px;max-width:300px;}
  .hero-actions button{width:100%;min-height:42px;font-size:8px;letter-spacing:.13em;}

  /* Zone 2: orbital core */
  .orb-scene{position:absolute!important;left:50%!important;top:515px!important;width:350px!important;height:350px!important;transform:translate(-50%,-50%)!important;margin:0!important;}
  .orb-scene .orb{width:112px;height:112px;border-width:6px;}
  .orb-halo{width:260px!important;height:260px!important;}
  .network{width:72%!important;height:72%!important;}
  .orbit-a{width:92%!important;height:58%!important;}
  .orbit-b{width:104%!important;height:42%!important;}
  .orbit-c{width:72%!important;height:105%!important;}
  .orb-caption{top:69%!important;}
  .wordmark.large{font-size:27px!important;letter-spacing:.20em!important;}
  .orb-caption>div:last-child{font-size:6px;letter-spacing:.30em;}

  /* Zone 3: principles */
  .principles{position:absolute!important;left:18px!important;right:18px!important;top:720px!important;bottom:auto!important;border-left:0!important;border-top:1px solid rgba(221,174,103,.45);padding:11px 0 0!important;display:grid!important;grid-template-columns:repeat(4,1fr);gap:4px!important;text-align:center;}
  .principles span{font-size:6.5px;letter-spacing:.10em;white-space:nowrap;}

  /* Zone 4: chat */
  .chat-card{position:absolute!important;left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:11px!important;padding:16px!important;z-index:20!important;}
  .evora-symbol{width:42px;height:42px;}
  .evora-symbol .icon-o{width:25px;height:25px;}
  .chat-card h2{font-size:9px;line-height:1.55;letter-spacing:.10em;margin:0 0 7px;}
  .chat-card p{font-size:9px;line-height:1.6;margin:0 0 10px;}
  .chips{display:grid!important;grid-template-columns:1fr 1fr;gap:6px;}
  .chips button{min-height:35px;padding:7px 5px;font-size:6.7px;line-height:1.3;letter-spacing:.07em;}
  .composer{height:46px;margin-top:2px;}
  .composer input{font-size:8px;letter-spacing:.07em;}
  .send{width:34px;height:34px;}

  .right-rail{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px;}
  .quote{display:block!important;}

  /* Other views */
  .section-head{padding:18px!important;margin:8px 0!important;}
  .section-head h2{font-size:18px!important;line-height:1.5!important;letter-spacing:.12em!important;}
  .memory-grid,.cards-grid,.modules-grid{grid-template-columns:1fr!important;}
  .row{grid-template-columns:1fr!important;}
  .row.head{display:none!important;}
}

@media(max-width:390px){
  .center-stage{min-height:1090px;}
  .hero-copy{padding-left:16px;padding-right:16px;}
  .hero-copy h1{font-size:18px;}
  .orb-scene{width:315px!important;height:315px!important;top:500px!important;}
  .orb-scene .orb{width:100px;height:100px;}
  .principles{top:695px!important;left:14px!important;right:14px!important;}
  .principles span{font-size:5.8px;}
  .chat-card{left:9px!important;right:9px!important;padding:13px!important;}
}

/* Light mode keeps the same geometry */
body.light{background:#f1eee8;}
body.light .mobile-menu{background:#fff;color:#161616;border-color:rgba(0,0,0,.12);}
body.light .orb{border-color:#8f6b3f!important;}
