:root{--night:#091827;--panel:#10293b;--panel2:#0d2233;--ivory:#f4ebdb;--gold:#e3c58b;--sage:#a5c4ae;--muted:#b6c5d0;--line:#63798a;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 70% 5%,#1a3550 0%,transparent 38%),var(--night);color:var(--ivory);font-family:Georgia,'Times New Roman',serif;line-height:1.55}body:before{content:"";pointer-events:none;position:fixed;inset:0;opacity:.32;background-image:radial-gradient(#d9d3bf .7px,transparent .9px),radial-gradient(#b7c7d3 .7px,transparent .9px);background-size:97px 113px,163px 137px;background-position:10px 14px,40px 78px;z-index:-1}a{color:var(--gold)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffe8a5;outline-offset:4px}.skip{position:absolute;top:-100px;left:1rem;z-index:20;background:#fff;color:#000;padding:10px}.skip:focus{top:10px}.preview{background:#dac08c;color:#1a2633;text-align:center;font:600 12px/1.5 system-ui,sans-serif;padding:6px 12px;letter-spacing:.035em}.top{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,72px);border-bottom:1px solid #c7a96a55;background:#091827e8;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ivory)}.brand-icon{font-size:38px;color:var(--gold)}.brand strong{font-size:22px;font-weight:normal;display:block;line-height:1.15}.brand small{font-size:12px;letter-spacing:.2em;color:var(--gold)}nav{display:flex;gap:clamp(12px,2.5vw,38px)}nav a{color:var(--ivory);text-decoration:none;padding:12px 3px;border-bottom:2px solid transparent}nav a.active,nav a:hover{border-color:var(--gold);color:var(--gold)}.menu{display:none;background:none;border:1px solid var(--line);border-radius:8px;color:var(--ivory);font-size:24px;padding:4px 12px}.view{max-width:1500px;margin:auto;padding:0 clamp(18px,3vw,46px) 64px}.hero{min-height:460px;display:grid;grid-template-columns:1fr 1.55fr 1fr;position:relative;align-items:center;overflow:hidden}.hero-side{height:100%;background-size:cover;background-position:center;opacity:.8;mask-image:linear-gradient(to right,black,transparent)}.hero-side.left{background-image:url('assets/voyageur.webp')}.hero-side.right{background-image:url('assets/horizon.webp');mask-image:linear-gradient(to left,black,transparent)}.hero-content{text-align:center;position:relative;z-index:1;padding:30px 0}.star{font-size:48px;color:var(--gold);line-height:1}.eyebrow{font:600 11px/1.5 system-ui,sans-serif;letter-spacing:.32em;color:var(--gold);text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-weight:normal;font-size:clamp(38px,4.4vw,72px);line-height:1.12;margin:12px 0 16px}h1 em{font-style:normal;color:var(--gold)}.hero-desc{font-size:clamp(16px,1.5vw,21px);max-width:590px;margin:0 auto 20px}.hero blockquote{font-style:italic;font-size:clamp(15px,1.2vw,19px);color:#f6e3bc;margin:0 auto 25px;max-width:600px}.button{display:inline-flex;align-items:center;gap:14px;padding:12px 23px;text-decoration:none;border-radius:50px;border:1px solid var(--gold)}.button.primary{background:var(--gold);color:#102336}.button:hover,.door:hover,.path-card:hover{transform:translateY(-3px);box-shadow:0 9px 30px #0005}.section-head{display:flex;align-items:center;gap:22px;margin:12px auto 22px}.section-head h2{text-align:center;font-size:clamp(23px,2.4vw,36px);font-weight:normal;margin:0}.rule{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.door-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.door{min-height:300px;border:1px solid #c6aa78a8;background:linear-gradient(180deg,#1b4050b0,#0a1b2c 60%);border-radius:var(--radius);padding:0 16px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ivory);text-decoration:none;overflow:hidden;transition:transform .2s,box-shadow .2s}.door-img{height:96px;width:calc(100% + 32px);background-position:center;background-size:cover;mask-image:linear-gradient(black,transparent)}.door-icon{font-size:31px;color:var(--gold);margin:-5px 0 2px}.door h3{font-size:24px;font-weight:normal;margin:0 0 8px}.door p{font-size:15px;line-height:1.4;margin:0 0 16px}.door .arrow{margin-top:auto;color:var(--gold);border:1px solid var(--gold);border-radius:30px;padding:0 14px;font-size:22px}.intro{display:flex;gap:18px;align-items:center;justify-content:center;margin:35px auto 0;max-width:780px;color:var(--muted);text-align:center}.intro span{font-size:36px;color:var(--gold)}.intro p{margin:0}.page-head{padding:60px 0 24px;max-width:900px}.page-head h1{font-size:clamp(36px,4vw,58px)}.page-head>p:last-child{font-size:19px;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 25px}.filter{border:1px solid var(--line);background:transparent;color:var(--ivory);padding:9px 20px;border-radius:30px}.filter.active{background:var(--gold);color:var(--night);border-color:var(--gold)}.path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.path-card,.work-card{background:linear-gradient(140deg,#163447,#0b1d2d);border:1px solid #537487;border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s}.path-art{height:140px;background-size:cover;background-position:center}.path-body{padding:20px}.path-body h2{font-size:24px;font-weight:normal;margin:8px 0}.path-body p{color:var(--muted)}.path-body button{border:0;background:none;color:var(--gold);padding:0;text-decoration:underline}.detail{margin-top:28px}.detail:not(:empty),.relation{border:1px solid #678293;background:linear-gradient(130deg,#153448,#0a1d2d);border-radius:18px;padding:clamp(22px,3vw,42px)}.detail h2,.relation h2{font-size:clamp(27px,3vw,40px);font-weight:normal}.detail a{margin-right:16px}.search-label{display:block;color:var(--gold);margin-bottom:8px}input[type=search]{width:min(100%,520px);padding:14px 18px;border:1px solid #8da1ad;border-radius:10px;background:#0d2334;color:white;margin-bottom:28px}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.work-card{padding:24px}.work-card h2{font-weight:normal;font-size:25px}.work-card .type{color:var(--gold);font:12px system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}.work-card p{color:var(--muted)}.work-card a{display:inline-block;margin-top:10px}.status{border:1px solid #cbb17a;background:#493f2a;color:#fff0d2;border-radius:12px;padding:14px 18px;margin-bottom:18px;font:14px/1.5 system-ui,sans-serif}.relation-top{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.badge{border:1px solid var(--sage);color:var(--sage);padding:5px 11px;border-radius:20px;font:12px system-ui,sans-serif}.badge.pending{border-color:var(--gold);color:var(--gold)}.relation .subtitle{font-size:22px;color:var(--gold)}.relation .subtitle span{padding:0 12px}.relation>p{max-width:1000px}.relation-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}.relation-columns>div{border-left:1px solid var(--gold);padding-left:18px}.relation h3{font-size:21px;font-weight:normal;color:var(--gold)}.source-links{display:flex;flex-wrap:wrap;gap:12px}.source-links a{padding:10px 14px;border:1px solid var(--line);border-radius:8px}.note{color:var(--muted);font-size:14px;margin-top:20px}.sky-map{border:1px solid #526f80;border-radius:20px;background:radial-gradient(ellipse at center,#18344e 0%,#091827 65%);padding:15px;overflow:auto}.sky-map svg{display:block;width:100%;min-width:520px;max-height:560px}.graph-node{cursor:pointer}.graph-node circle{fill:#102b3c;stroke:var(--gold);stroke-width:2}.graph-node text{fill:var(--ivory);font:17px Georgia;pointer-events:none}.graph-node:focus-visible circle,.graph-node:hover circle{stroke:#fff;stroke-width:4}.legend{display:flex;gap:22px;color:var(--gold);padding:16px}footer{border-top:1px solid #38566b;text-align:center;padding:26px 20px 35px;color:var(--muted);font-size:14px}footer p{margin:4px}@media(max-width:1050px){.hero{grid-template-columns:.65fr 2fr .65fr}.door-grid{grid-template-columns:repeat(3,1fr)}.path-grid{grid-template-columns:repeat(2,1fr)}.works-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.top{height:68px;padding:0 18px}.brand strong{font-size:19px}.menu{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;background:#0b1c2c;flex-direction:column;padding:14px 24px;gap:0;border-bottom:1px solid var(--gold)}nav.open{display:flex}nav a{padding:13px}.hero{min-height:550px;display:block;background:linear-gradient(#09182755,#091827 85%),url('assets/voyageur.webp') center/cover}.hero-side{display:none}.hero-content{padding:65px 10px 45px}.hero h1{font-size:clamp(38px,9vw,54px)}.hero blockquote{font-size:17px}.door-grid{grid-template-columns:1fr 1fr}.door{min-height:270px}.door h3{font-size:21px}.door p{font-size:14px}.path-grid,.works-grid,.relation-columns{grid-template-columns:1fr}.page-head{padding-top:36px}.relation .subtitle{font-size:18px}}@media(max-width:430px){.door-grid{grid-template-columns:1fr}.door{min-height:235px}.door-img{height:90px}.section-head{gap:8px}.section-head h2{font-size:23px}.hero-desc{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V0.3.5 — extension documentaire isolée */
.catalogue-extension{margin:3rem auto 1rem;max-width:1160px;padding:1.5rem 1rem;border-top:1px solid rgba(230,197,138,.3)}
.catalogue-extension>h2{font-family:Georgia,serif;font-size:clamp(1.35rem,3vw,2rem)}
.catalogue-extension>p{max-width:760px;line-height:1.65}

/* Prototype isolé de l’exploration relationnelle V0.3.5.2 */
.relation-explorer{max-width:1160px;margin:0 auto 32px;padding:clamp(18px,3vw,30px);border:1px solid var(--line);border-radius:16px;background:#102b3c}
.relation-explorer h2{font:normal clamp(26px,3vw,35px) Georgia,serif;margin:10px 0}
.relation-explorer>p{max-width:850px;line-height:1.65}
.relation-picker{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end;margin:24px 0}
.relation-picker label{display:flex;flex-direction:column;gap:8px;min-width:0;color:var(--ivory)}
.relation-picker select{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #7392a2;border-radius:8px;background:#091827;color:var(--ivory);font:16px Georgia,serif}
.relation-picker button{grid-column:1/-1;justify-self:start;cursor:pointer;min-height:46px;border:0}
.relation-result{margin-top:18px}.relation-feedback,.relation-empty,.relation-study{padding:18px;border:1px solid #526f80;border-radius:12px}
.relation-study h3{font:normal 27px Georgia,serif}.relation-study h4{font:normal 21px Georgia,serif;color:var(--gold);margin:0 0 10px}
.relation-study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0}.relation-study-grid section{padding:14px;border-left:2px solid #9c835d;background:#0b2232}.relation-study-grid p{line-height:1.6;margin:0}
.relation-warning{padding:12px 14px;border-left:3px solid var(--gold);background:#0b2232}.relation-study .source-links{margin:14px 0}
@media(max-width:720px){.relation-picker,.relation-study-grid{grid-template-columns:1fr}.relation-picker button{width:100%;justify-self:stretch}}

/* V0.3.6.3 — liens documentaires discrets de la constellation */
#graph-links line{stroke:#c9a56d;stroke-opacity:.32;stroke-dasharray:4 9;stroke-width:1.2}#graph-links{pointer-events:none}

/* V0.3.6.4 : distinction légère des expériences, sans nouveau dispositif. */
.graph-experience circle{stroke:var(--sage);stroke-dasharray:5 3}
.graph-experience text:last-child{fill:var(--sage)}
.sky-map svg{max-height:none}

/* V0.3.7 : ajout discret de la radio, sans changement de la navigation. */
.radio-extension{margin-top:3rem}.radio-extension .radio-grid{margin-top:1.4rem;grid-template-columns:repeat(2,minmax(0,1fr))}.radio-extension .radio-connection{margin-top:1.3rem;padding-top:1rem;border-top:1px solid #63798a77;font-size:.94rem}.radio-extension .radio-connection strong{color:var(--gold);font-weight:normal}.radio-extension .radio-connection a{margin-top:.3rem}@media(max-width:720px){.radio-extension .radio-grid{grid-template-columns:1fr}}
