
/* LAMP — Constellation intellectuelle.
   Non-destructive visual layer; original navigation and data remain intact. */
:root{
  --lamp-cosmos-night:#071329;
  --lamp-cosmos-deep:#091a33;
  --lamp-cosmos-panel:#0d2646;
  --lamp-cosmos-cyan:#82e2e9;
  --lamp-cosmos-purple:#b49efa;
  --lamp-cosmos-green:#7fdcba;
  --lamp-cosmos-gold:#e5bd82;
  --lamp-cosmos-stroke:rgba(98,151,211,.35);
}
html,body{background:var(--lamp-cosmos-night)}
#app.reference-shell{background:var(--lamp-cosmos-night);color:#ecf7ff}
#app .stage-shell{
  background:radial-gradient(ellipse 65% 40% at 83% 0%,rgba(24,77,131,.44),transparent 72%),
    linear-gradient(155deg,#0a1a33,#071329 59%,#051124);
}
#app .side-panel{
  background:linear-gradient(165deg,#091a34,#071226 78%);
  border-right:1px solid rgba(129,178,217,.17);
  padding-top:28px
}
#app .side-brand b{letter-spacing:.22em}
#app .side-nav button.active{
  background:linear-gradient(90deg,rgba(30,95,135,.55),rgba(15,46,78,.36));
  border-color:rgba(119,222,231,.43);
  box-shadow:inset 3px 0 0 var(--lamp-cosmos-cyan);
}
#app .side-nav button:hover,#app .side-bottom button:hover{
  background:rgba(41,110,153,.21)
}
#app .screen{max-width:1490px}
#app .screen .page-head,#app .screen .explore-head{
  background:radial-gradient(circle at 91% 15%,rgba(118,97,202,.15),transparent 39%),
    linear-gradient(130deg,#112b4a,#0a1c34);
  border:1px solid var(--lamp-cosmos-stroke);
}
#app .concept-hub,#app .concept-feature-page{
  background:linear-gradient(156deg,#0d2544,#071a32);
  border-color:var(--lamp-cosmos-stroke)
}
#app .card,#app .explore-gate,#app .discovery-card,#app .field-card,
#app .featured-concept-card,#app .concept-tile,#app .library-card,
#app .depth-card,#app .history-topic,#app .history-person,#app .history-concept{
  border-color:var(--lamp-cosmos-stroke);
  background:linear-gradient(140deg,#122d50,#091c35);
  box-shadow:0 10px 27px rgba(0,8,23,.18)
}
#app :is(.explore-gate,.concept-tile,.discovery-card,.history-person):hover{
  border-color:var(--lamp-cosmos-cyan)
}
#app :is(.history-concept,.author-region-card,.featured-concept-card):focus-visible{
  outline:3px solid var(--lamp-cosmos-cyan);outline-offset:3px
}
#app .eyebrow{color:var(--lamp-cosmos-cyan)}
#app .reference-home.lamp-constellation-v1{
  display:grid;gap:18px
}
#app .reference-home.lamp-constellation-v1 .home-hero{
  min-height:0;background:none;border:0;box-shadow:none;border-radius:0;overflow:visible
}
#app .reference-home.lamp-constellation-v1 .home-hero::before{content:none}
#app .reference-home.lamp-constellation-v1 .hero-scene{
  display:grid;grid-template-columns:minmax(0,.94fr) minmax(380px,1.06fr);
  grid-template-rows:auto auto;align-content:center;align-items:center;
  column-gap:clamp(18px,2.6vw,42px);row-gap:15px;
  padding:clamp(16px,3vw,38px) 0 18px;min-height:400px
}
#app .reference-home.lamp-constellation-v1 .hero-lead{
  grid-column:1;grid-row:1;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;gap:18px;min-width:0
}
#app .reference-home.lamp-constellation-v1 .hero-lamp-stage{
  width:56px;flex:0 0 auto;align-self:flex-start
}
#app .reference-home.lamp-constellation-v1 .hero-lamp-stage img{
  width:56px;height:56px;border-radius:14px;
  border:1px solid rgba(121,216,235,.36);
  box-shadow:0 0 24px rgba(88,204,231,.16)
}
#app .reference-home.lamp-constellation-v1 .hero-core{align-self:stretch}
#app .reference-home.lamp-constellation-v1 .cosmos-eyebrow{
  color:#8de9e8;letter-spacing:.17em;font-size:11px;font-weight:800;
  text-transform:uppercase;margin-bottom:16px
}
#app .reference-home.lamp-constellation-v1 .hero-core .hero-name{
  font:780 clamp(34px,4vw,61px)/1.09 system-ui,-apple-system,sans-serif;
  letter-spacing:-.046em;max-width:620px;color:#f4faff;text-wrap:balance
}
#app .reference-home.lamp-constellation-v1 .hero-core .hero-tag{
  font-size:clamp(13px,1.35vw,16px);line-height:1.75;
  margin:18px 0 0;color:#b0c5d9;max-width:590px
}
#app .reference-home.lamp-constellation-v1 .hero-search{
  grid-column:1;grid-row:2;display:grid;gap:13px;
  width:100%;max-width:none;margin:0;align-self:start
}
#app .reference-home.lamp-constellation-v1 .hero-search .askbox{
  border-radius:14px;min-height:58px;padding:6px 7px 6px 16px;
  background:#102b4b;border-color:rgba(106,169,218,.48)
}
#app .reference-home.lamp-constellation-v1 .hero-search .askbox button{
  border-radius:11px;min-width:92px;padding:0 12px;
  height:43px;min-height:43px;font-size:13px;
  background:#84e3e6;color:#09243b;border-color:#b1eeed;
  box-shadow:none
}
#app .reference-home.lamp-constellation-v1 .hero-search .askbox input{font-size:14px}
#app .reference-home.lamp-constellation-v1 .reference-chips{gap:7px}
#app .reference-home.lamp-constellation-v1 .reference-chips button{
  background:rgba(16,45,81,.81);border-color:rgba(123,173,224,.38);
  font-size:11px;padding:7px 12px;color:#dceefe
}
#app .reference-home.lamp-constellation-v1 .constellation-stage{
  grid-column:2;grid-row:1/span 2;min-height:355px;height:100%;
  align-self:stretch;min-width:0;max-height:440px
}
#app .cosmos-graph{
  width:100%;height:100%;min-height:355px;position:relative;
  border:1px solid rgba(119,167,229,.21);border-radius:24px;
  background:radial-gradient(circle at 49% 45%,rgba(34,96,133,.43),transparent 45%),
   radial-gradient(circle at 55% 60%,#0d1e3d,transparent 69%),#09182e;
  overflow:hidden;isolation:isolate
}
#app .cosmos-graph::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(146,194,255,.44) .8px,transparent 1px);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(ellipse,black 25%,transparent 84%);
  mask-image:radial-gradient(ellipse,black 25%,transparent 84%)
}
#app .cosmos-lines{position:absolute;inset:0;height:100%;width:100%;pointer-events:none}
#app .cosmos-lines path{fill:none;stroke-width:1.8;opacity:.78}
#app .cosmos-node{
  position:absolute;z-index:2;border:1px solid;border-radius:999px;
  padding:10px 12px;min-height:38px;max-width:35%;white-space:normal;
  color:#e6f5ff;font-size:11px;font-weight:780;line-height:1.2;
  background:rgba(23,54,88,.96);cursor:pointer;text-align:center;
  overflow-wrap:anywhere;
  transition:filter .15s ease,box-shadow .15s ease
}
#app .cosmos-node:hover{filter:brightness(1.22)}
#app .cosmos-node:focus-visible{outline:3px solid #b3fdff;outline-offset:3px}
#app .cosmos-center{
  top:45%;left:49%;transform:translate(-50%,-50%);
  background:#1b4a68;border-color:#81e6ea;
  color:#bcffff;font-size:clamp(13px,1.5vw,18px);
  padding:17px 21px;max-width:46%;
  box-shadow:0 0 0 7px rgba(102,231,234,.06),0 0 35px rgba(77,209,234,.3)
}
#app .cosmos-n1{left:5%;top:11%;color:#e2d8ff;border-color:#a68af3;background:#35295e}
#app .cosmos-n2{right:5%;top:13%;color:#b8f9e4;border-color:#6dd8b4;background:#17483f}
#app .cosmos-n3{left:4%;top:65%;color:#ffe4b8;border-color:#e0b575;background:#564126}
#app .cosmos-n4{right:4%;top:67%;color:#d1dfff;border-color:#8daaf0;background:#263e70}
#app .cosmos-n5{left:37%;bottom:5%;color:#ffe9be;border-color:#e0b572;background:#534028}
#app .cosmos-graph-empty{
  height:100%;min-height:355px;display:grid;place-items:center;
  padding:26px;text-align:center;color:#b2c7dc;background:#10233e;
  border:1px dashed rgba(115,162,208,.32);border-radius:24px
}
#app .cosmos-seed-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
#app .cosmos-seed-row span{font-size:11px;color:#adc5db;margin-right:3px}
#app .cosmos-seed{
  border:1px solid rgba(99,152,207,.43);background:#153453;
  color:#bdd9eb;border-radius:999px;padding:8px 12px;
  font-size:11px;font-weight:750
}
#app .cosmos-seed.active{background:#91e7e8;color:#06253b;border-color:#91e7e8}
#app .cosmos-seed:hover{border-color:#9beff1}
#app .reference-home .cosmos-section-heading{
  display:flex;align-items:end;justify-content:space-between;gap:12px;margin:8px 0 0
}
#app .reference-home .cosmos-section-heading h2{
  margin:0;font-size:clamp(20px,2.25vw,29px);font-weight:760;
  letter-spacing:-.035em
}
#app .reference-home .cosmos-section-heading span{font-size:12px;color:#9fbbd3}
#app .reference-home.lamp-constellation-v1 .home-action-grid{gap:15px}
#app .reference-home.lamp-constellation-v1 .home-action{
  background:linear-gradient(155deg,#122c4f,#0a1e39);
  border:1px solid rgba(100,150,207,.33);
  border-top:3px solid #7fdee5;
  box-shadow:0 12px 27px rgba(0,8,28,.22);
  min-height:190px;padding:22px
}
#app .reference-home.lamp-constellation-v1 .home-action:nth-child(2){border-top-color:#e4b878}
#app .reference-home.lamp-constellation-v1 .home-action:nth-child(3){border-top-color:#b39af3}
#app .reference-home.lamp-constellation-v1 .home-action::before{content:none}
#app .reference-home.lamp-constellation-v1 .home-action h3{
  font-size:clamp(19px,2vw,24px);font-weight:770
}
#app .reference-home.lamp-constellation-v1 .home-action p{
  font-size:13px;color:#b2c9df;max-width:340px
}
#app .reference-home.lamp-constellation-v1 .home-action .action-icon svg{stroke:#a0e5f0;width:29px;height:29px}
#app .reference-home.lamp-constellation-v1 .home-action:nth-child(2) .action-icon svg{stroke:#e4ba83}
#app .reference-home.lamp-constellation-v1 .home-action:nth-child(3) .action-icon svg{stroke:#b49efa}
#app .reference-home.lamp-constellation-v1 .home-action .action-go{
  background:transparent;border:1px solid rgba(110,163,217,.32);width:32px;height:32px;font-size:18px
}
@media(max-width:1170px){
  #app .reference-home.lamp-constellation-v1 .hero-scene{
    grid-template-columns:1fr;grid-template-rows:auto auto auto;row-gap:18px;padding-top:22px
  }
  #app .reference-home.lamp-constellation-v1 .hero-lead{grid-column:1;grid-row:1}
  #app .reference-home.lamp-constellation-v1 .hero-search{grid-column:1;grid-row:2}
  #app .reference-home.lamp-constellation-v1 .constellation-stage{grid-column:1;grid-row:3;height:335px;max-height:335px}
}
@media(max-width:900px){
  #app .reference-home.lamp-constellation-v1 .hero-scene{padding:22px 3px 12px}
  #app .reference-home.lamp-constellation-v1 .home-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #app .reference-home.lamp-constellation-v1 .home-action{min-height:195px;padding:18px}
}
@media(max-width:660px){
  #app .reference-home.lamp-constellation-v1 .hero-core .hero-name{font-size:clamp(30px,9vw,42px)}
  #app .reference-home.lamp-constellation-v1 .hero-core .hero-tag{font-size:13px}
  #app .reference-home.lamp-constellation-v1 .hero-lamp-stage{width:49px}
  #app .reference-home.lamp-constellation-v1 .hero-lamp-stage img{width:49px;height:49px;border-radius:12px}
  #app .reference-home.lamp-constellation-v1 .hero-lead{gap:10px}
  #app .reference-home.lamp-constellation-v1 .constellation-stage{height:302px;max-height:302px;min-height:302px}
  #app .cosmos-graph{min-height:302px}
  #app .cosmos-node{font-size:9px;min-height:30px;padding:8px;max-width:36%}
  #app .cosmos-center{font-size:13px;padding:13px 15px;max-width:45%}
  #app .cosmos-n1{left:2%;top:11%}
  #app .cosmos-n2{right:2%;top:12%}
  #app .cosmos-n3{left:2%;top:64%}
  #app .cosmos-n4{right:2%;top:66%}
  #app .cosmos-n5{left:33%;bottom:2%}
  #app .reference-home.lamp-constellation-v1 .hero-search .askbox{min-height:52px}
  #app .reference-home.lamp-constellation-v1 .hero-search .askbox button{
    min-width:46px;width:46px;height:40px;font-size:0;padding:0
  }
  #app .reference-home.lamp-constellation-v1 .hero-search .askbox button::after{font-size:20px}
  #app .reference-home.lamp-constellation-v1 .home-action-grid{grid-template-columns:1fr;gap:10px}
  #app .reference-home.lamp-constellation-v1 .home-action{min-height:138px;padding:18px}
  #app .reference-home.lamp-constellation-v1 .home-action p{font-size:12px}
  #app .reference-home .cosmos-section-heading{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  #app .cosmos-node{transition:none}
}
