@charset "UTF-8";

/* Identité galactique commune à toutes les pages du guide. */
:root {
  --night: #07091b;
  --night2: #0d1230;
  --ink: #f4f3ff;
  --muted: #a8afd0;
  --paper: #0f1533;
  --cream: #15112f;
  --line: #343a68;
  --cyan: #90c9ff;
  --orange: #ffbb83;
  --violet: #baabff;
  --pink: #f598d5;
}

html { scroll-padding-top: 88px; }
body { background: #07091b; color: #f4f3ff; font-family: "Segoe UI", Arial, sans-serif; }
::selection { background: #a58cff; color: #09091b; }
[hidden] { display: none !important; }
:focus-visible { outline-color: #ffbb83; }
h1, h2, h3 { font-family: "Bahnschrift", "Arial Narrow", "Segoe UI", sans-serif; }
h1, h2 { letter-spacing: -.055em; }
em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.lead { color: #c7cbe3; }
.eyebrow, .mono { color: #a9b6ff; }
.eyebrow { letter-spacing: .22em; }
.signal-dot { background: #ffbc83; box-shadow: 0 0 16px #ffac70, 0 0 34px #ffac7080; }
.skip-link { background: #ffbb83; color: #101127; }

/* Navigation de bord */
.site-header { height: 80px; background: rgba(7, 9, 27, .85); border-color: #7474b34d; box-shadow: 0 10px 40px #02041455; }
.header-inner { width: min(100% - 64px, 1420px); gap: 24px; }
.brand { font-family: "Bahnschrift", "Segoe UI", sans-serif; letter-spacing: .13em; font-size: 1.12rem; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #ffbe8d70; border-radius: 50%; color: #ffcb9b; font-size: 1.42rem; text-shadow: 0 0 14px #ffb879; box-shadow: 0 0 20px #d676bb2e, inset 0 0 15px #9d62dc25; }
.brand-accent { color: #ffad94; }
.main-nav { gap: 3px; }
.main-nav a { border: 1px solid transparent; color: #c2c4e3; font-size: .75rem; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; border-radius: 5px; padding: 10px 13px; }
.main-nav a:hover, .main-nav .is-active { color: #fff; background: #8a73dd24; border-color: #a994ff60; }
.header-note { border-color: #575b8c; color: #b8bce0; }
.menu-toggle { color: #f4f3ff; background: #171638; border-color: #8581b9; border-radius: 5px; }

/* Une traversée galactique en ouverture */
.hero { position: relative; isolation: isolate; background: linear-gradient(90deg, #080b1e 0%, #080b1ef5 24%, #080b1ed1 46%, #080b1e38 76%, #080b1e1a 100%), url("bri-one-galaxy.png") center 48% / cover no-repeat; }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 180px; z-index: -1; background: linear-gradient(transparent, #080a1e); }
.hero-grid { min-height: 790px; grid-template-columns: 1.08fr .92fr; }
.hero-copy { max-width: 740px; padding: 112px 0 100px; }
.hero-copy .eyebrow { color: #d2c4ff; }
.hero h1 { font-size: clamp(4.4rem, 7vw, 7.4rem); line-height: .91; font-weight: 800; margin-bottom: 38px; text-shadow: 0 8px 35px #0307177a; }
.hero h1 em { color: #c7b5ff; text-shadow: 0 0 42px #ac8aff64; }
.hero-lead { max-width: 610px; font-size: 1.16rem; line-height: 1.7; color: #dddff3; }
.button { min-height: 54px; padding: 12px 20px; border-radius: 5px; font-weight: 750; letter-spacing: .02em; }
.button--primary { background: linear-gradient(120deg, #bba8ff, #93bfff); color: #0b0b23; box-shadow: 0 12px 30px #877cff35; }
.button--primary:hover { background: linear-gradient(120deg, #dfd5ff, #bad7ff); box-shadow: 0 15px 35px #877cff5c; }
.button--ghost { color: #f5f4ff; background: #0e123b99; border: 1px solid #a99dff86; }
.button--ghost:hover { background: #a58aff24; border-color: #d2bfff; }
.hero-facts { border-color: #b1a7eb59; color: #aeb9dd; margin-top: 68px; }
.hero-facts b { color: #fff; font-family: "Bahnschrift", sans-serif; font-size: 1.46rem; }
.hero-art { min-height: 100%; height: 100%; }
.hero-art::before { display: none; }
.hero-art__label { left: auto; right: 0; bottom: 75px; min-width: 255px; background: #080b20d9; border: 1px solid #a698ef80; border-left: 3px solid #ffbf8e; border-radius: 3px; box-shadow: 0 15px 50px #03051695, inset 0 0 30px #755dd322; backdrop-filter: blur(18px); }
.hero-art__label .mono { color: #ffbf8e; }
.hero-art__label strong { color: #fff; }
.hero-art__label>span:last-child { color: #bac4e0; }
.waveform { right: 0; bottom: 195px; opacity: .8; }
.waveform i { background: #ffca9b; box-shadow: 0 0 8px #ffb879; }
.hero-bottom { position: relative; z-index: 1; color: #acaed8; }

/* Parcours et grands chapitres */
.journey { background: #0b0d27; border-color: #4d498275; padding: 16px 0; }
.journey a { min-height: 155px; border-radius: 4px; border-color: #68639d87; background: linear-gradient(145deg, #2620528a, #111332c9); }
.journey a::after { content: ""; position: absolute; left: 20px; right: 20px; bottom: 0; height: 2px; background: linear-gradient(90deg, #a994ff, transparent); opacity: .55; }
.journey a:hover { background: #30245a; border-color: #c7aaff; transform: translateY(-5px); }
.journey span, .journey b { color: #ffc193; }
.journey strong { font-size: 1.4rem; }
.journey small { color: #b7bbdb; }
.section, .story-teaser, .sound-section { position: relative; }
.section--light, .series-intro, .certainty-section { background: radial-gradient(ellipse 50% 80% at 100% 0%, #3d34776b, transparent 72%), #10142f; color: #f4f3ff; }
.section--cream { background: radial-gradient(ellipse 45% 80% at 0% 100%, #6040794f, transparent 75%), #17122d; color: #f4f3ff; }
.section--dark, .section--signal { background: radial-gradient(ellipse 55% 75% at 85% 10%, #19366b6b, transparent 73%), #090d25; color: #f4f3ff; }
.section--light .eyebrow, .section--cream .eyebrow, .reference-band--light .eyebrow { color: #ffbd95; }
.split-intro h2 em, .story-teaser h2 em, .series-intro h2 em, .certainty-section h2 em, .sound-section h2 em { color: #bcaaff; }
.section-lead, .split-intro p, .two-column p:not(.eyebrow), .section--cream .two-column p { color: #c3c8e2; }
.text-link, .dark-link { color: #b9abff; border-color: #b9abff; }
.text-link:hover { color: #e4dbff; }
.three-features { gap: 22px; }
.three-features article { padding: 30px; background: #1a1c3e99; border: 1px solid #69669877; border-radius: 4px; }
.feature-icon { border-radius: 50%; color: #ffbd95; border-color: #bb9fff; background: #7e63dc2c; box-shadow: 0 0 22px #8c69ef38; }
.three-features h3 { color: #f7f5ff; }
.three-features p { color: #bfc4df; }
.story-teaser { background: radial-gradient(circle at 72% 25%, #4727697d, transparent 42%), radial-gradient(circle at 15% 85%, #142e636b, transparent 45%), #090b21; border-color: #5d5889; }
.story-teaser p:not(.eyebrow) { color: #c5cae7; }
.signal-evidence { transform: rotate(1deg); background: linear-gradient(145deg, #211d4a, #0d1535); border: 1px solid #a58ed4; box-shadow: 0 28px 80px #030414a8, 0 0 45px #824be52e; }
.signal-evidence__top, .signal-evidence__bottom { color: #b4b4db; }
.signal-evidence__wave { border-color: #6f65a1; }
.signal-evidence__wave i { background: #caadff; box-shadow: 0 0 14px #c99aff; }
.signal-evidence__bottom strong { color: #ffbd95; }

/* Lieux, personnes et lexique */
.place-grid, .atlas-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.place-card { min-height: 390px; border-radius: 4px; border-color: #65659b; background: radial-gradient(circle at 75% 33%, #42336899, transparent 40%), linear-gradient(145deg, #17264b, #0d1030); box-shadow: 0 18px 45px #02041455; }
.place-card:nth-child(2) { background: radial-gradient(circle at 74% 33%, #7352a799, transparent 42%), linear-gradient(145deg, #2b2453, #0e1131); }
.place-card:nth-child(3) { background: radial-gradient(circle at 74% 33%, #4b67b399, transparent 42%), linear-gradient(145deg, #1c254c, #0b112c); }
.place-card::after { content: ""; position: absolute; width: 280px; height: 280px; border: 1px solid #bcaeff47; border-radius: 50%; right: -78px; top: 42px; transform: rotate(-30deg) scaleY(.45); pointer-events: none; }
.place-card:hover { border-color: #c8aeff; box-shadow: 0 20px 55px #6149c449; }
.place-card__top .mono { color: #cbbfff; }
.place-card__orb { width: 200px; height: 200px; right: -20px; top: 60px; background: radial-gradient(circle at 24% 19%, #a8adff, #5a62bb 26%, #293e83 56%, #111331 78%); box-shadow: inset -20px -20px 35px #080a2c, 0 0 50px #756bef75; }
.place-card:nth-child(2) .place-card__orb { background: radial-gradient(circle at 23% 19%, #ffd1bb, #bd79b2 24%, #704b9e 53%, #201634 80%); box-shadow: inset -22px -22px 35px #0e0b27, 0 0 45px #be73df6b; }
.place-card:nth-child(3) .place-card__orb { background: radial-gradient(circle at 23% 19%, #b4dcff, #679ace 26%, #3e5e98 53%, #121835 80%); box-shadow: inset -22px -22px 35px #0a102b, 0 0 45px #5d9cef6b; }
.place-card h3 { color: #fff; }
.place-card p, .note-line, .note-line p { color: #bbc2e0; }
.note-line { border-color: #565782; }
.note-line .mono { color: #ffbd95; }
.featured-grid, .character-grid { gap: 16px; }
.character-card, .character-card--featured, .character-card:not(.character-card--featured) { min-height: 225px; border-radius: 4px; color: #f7f5ff; border: 1px solid #6a6698; background: linear-gradient(145deg, #27204e, #101535 77%); box-shadow: 0 16px 45px #0304144d; }
.character-card--featured { min-height: 290px; }
.character-card:hover, .character-card--featured:hover { border-color: #d4adff; transform: translateY(-5px); box-shadow: 0 18px 46px #6942c23d; }
.character-card__number { color: #c5a9ff; }
.character-card__glyph, .character-card--featured .character-card__glyph { color: #b28aff22; text-shadow: 0 0 50px #ad79ff45; }
.character-card__body strong { color: #fff; font-size: 1.5rem; }
.character-card__body small, .character-card--featured .character-card__body small { color: #bac1df; }
.character-card__arrow, .character-card--featured .character-card__arrow { color: #ffbe95; }
.editorial-note { color: #bfc5e0; border-color: #65618c; }
.signal-panel { border-radius: 4px; border-color: #7771b4; background: linear-gradient(135deg, #241b4c, #0c1231); box-shadow: 0 25px 70px #03041491; }
.signal-panel p:not(.eyebrow) { color: #c9c9e5; }
.signal-panel__graphic { background: radial-gradient(circle at 50% 48%, #4d3187 0%, #272756 35%, #101333 72%); }
.radar-ring { border-color: #b6a0ff85; box-shadow: 0 0 20px #ad86ff25; }
.ring-c { border-color: #b6a0ff30; }
.signal-panel__graphic::after { background: #ffbd95; box-shadow: 0 0 18px #ffbd95; }
.signal-panel__graphic small { color: #bdadff; }
.signal-panel__graphic b { color: #fff; text-shadow: 0 0 25px #9c78f5; }

/* Pages intérieures : chaque en-tête ouvre sur l'espace. */
.page-intro { position: relative; isolation: isolate; overflow: hidden; padding-top: 100px; padding-bottom: 95px; border-color: #54578b; background: radial-gradient(circle at 83% 48%, #694798a8, transparent 27%), radial-gradient(circle at 48% 15%, #19366896, transparent 43%), #0b0e2a; }
.page-intro::before { content: ""; position: absolute; z-index: -1; width: 570px; height: 570px; right: 3%; top: -170px; border: 1px solid #b7a7ff54; border-radius: 50%; box-shadow: 0 0 0 55px #a98efe0a, 0 0 0 120px #a98efe0a, inset 0 0 90px #a28bff1a; }
.page-intro::after { content: "✦  ·  ✧        ·       ✦"; position: absolute; right: 12%; top: 25%; color: #bcb8f89c; font-size: 1.5rem; letter-spacing: 2rem; transform: rotate(-12deg); pointer-events: none; }
.page-intro h1 { color: #fff; font-weight: 800; }
.page-intro .lead { color: #d4d4eb; max-width: 780px; }
.universe-overview { color: #f7f5ff; }
.big-statement { border: 1px solid #7770b1; border-radius: 4px; background: radial-gradient(circle at 75% 10%, #6947a078, transparent 54%), #14183b; box-shadow: 0 20px 55px #03041459; }
.big-statement .mono { color: #ffc296; }
.big-statement strong { color: #fff; text-shadow: 0 0 35px #a78cff67; }
.big-statement p, .overview-copy p { color: #c0c7e1; }
.species-list, .list-row { border-color: #66648f; }
.list-row h3 { color: #fff; }
.list-row p, .relation-grid p { color: #bcc3df; }
.relation-grid article { border-color: #66648f; }
.relation-grid .mono { color: #ffbd95; }
.two-column p:not(.eyebrow), .section--cream .two-column p { color: #c4c9e2; }
.caution-panel { border-color: #66648f; }
.caution-panel .mono { color: #ffc296; }
.caution-panel p { color: #bdc5e1; }
.detail-hero { min-height: 530px; }
.detail-hero h1 { color: #fff; }
.back-link { color: #bdadff; }
.back-link:hover { color: #eadfff; }
.detail-hero__line { color: #ffbd95; }
.detail-hero__art, .detail-hero__art span { border-color: #a894ff6e; }
.detail-hero__art span:nth-child(2) { background: radial-gradient(circle at 25% 25%, #cbbcff, #655ab0 35%, #20255c 65%, #0b1130 85%); box-shadow: 0 0 70px #836dff75; }
.detail-hero__art span:nth-child(3) { background: #ffc098; box-shadow: 0 0 18px #ffc098; }
.detail-list li { color: #c4c9e0; }
.detail-list li::marker { color: #b5a4ff; }
.fact-box { background: #222148; border-left-color: #b59cff; }
.fact-box .mono { color: #ffc296; }
.fact-box p { color: #e3e0f4; }
.place-life article { border-radius: 4px; border-color: #67649b; background: linear-gradient(145deg, #25214e, #111733); }
.place-life .mono { color: #ffbd95; }
.place-life h2 { color: #fff; }
.place-life p { color: #c1c8e0; }
.uncertainty { border-color: #555785; }
.uncertainty .mono { color: #ffc296; }
.uncertainty p, .next-panel { color: #bfc5df; }
.next-panel a { color: #b9a8ff; }

/* Annuaire et fiches personnages */
.directory-controls { border-radius: 4px; border-color: #6c679d; background: linear-gradient(120deg, #211d47, #111735); }
.directory-controls label { color: #d5cbff; }
.search-wrap input { border-radius: 4px; background: #0b0e28; border-color: #7771ae; color: #fff; }
.search-wrap input:focus { border-color: #d1aeff; box-shadow: 0 0 0 3px #b78dff34; }
.search-wrap input::placeholder { color: #9099bf; }
.search-wrap>span { color: #b9a8ff; }
.result-count { color: #b9bcdb; }
.no-results { color: #ddd9f3; border-color: #67649b; }
.profile-hero { background: radial-gradient(circle at 80% 40%, #52358a6b, transparent 41%); }
.profile-hero h1 { color: #fff; }
.profile-kicker { color: #ffc296; }
.location-pill { border-color: #a691e4; color: #dbd0ff; }
.profile-emblem { border-color: #a78fff; background: radial-gradient(circle, #6246ab, #26265e 55%, #0d1235 71%); box-shadow: 0 0 0 21px #17163c, 0 0 0 22px #6558ac, 0 0 80px #8868ff55; }
.profile-emblem span { color: #d5c1ff; text-shadow: 0 0 40px #c29bff; }
.profile-emblem small { color: #d3c6ff; }
.profile-facts { border-radius: 4px; border-color: #726ba7; background: #1b1b47; box-shadow: 0 18px 45px #02041475; }
.profile-facts>div { border-color: #5f5b91; }
.profile-facts span { color: #aeb4dc; }
.profile-facts strong { color: #fff; }
.profile-layout aside { color: #bec4de; }
.profile-layout aside .mono, .profile-section .eyebrow { color: #c1adff; }
.profile-layout aside a { color: #cfbeff; }
.aside-line, .profile-content, .profile-section { border-color: #77729f; }
.profile-section p { color: #d4d5e9; }
.related-people { border-color: #625d8e; }
.related-people .mono { color: #ffc296; }
.related-people__links a { border-color: #8276b5; color: #e6ddff; }
.related-people__links a:hover { background: #433674; border-color: #cfb1ff; }
.profile-nav a { border-color: #666196; background: #17183b; }
.profile-nav a:hover { border-color: #c8aaff; background: #2b2459; }
.profile-nav span { color: #adb6d6; }
.profile-nav strong { color: #d1bdff; }

/* Lexique et série */
.reference-band, .reference-band--light { color: #f4f3ff; background: radial-gradient(circle at 85% 0%, #312b6a70, transparent 48%), #0b0e29; }
.reference-band--light { background: radial-gradient(circle at 15% 0%, #54345e70, transparent 48%), #15132f; }
.reference-band .eyebrow, .reference-band--light .eyebrow { color: #ffbd95; }
.reference-card, .reference-band--light .reference-card { color: #f4f3ff; background: linear-gradient(145deg, #25204a, #121636); border-color: #69639a; border-radius: 4px; }
.reference-card h3 { color: #fff; }
.reference-card__meta, .reference-band--light .reference-card__meta { color: #ffbd95; }
.reference-card p, .reference-band--light .reference-card p { color: #c1c5e0; }
.topic-nav a, .directory-jump a { border-radius: 4px; border-color: #70699f; background: #1c1b43; }
.topic-nav a:hover, .directory-jump a:hover { border-color: #c4a6ff; background: #30255a; }
.topic-nav span, .topic-nav b, .directory-jump span { color: #ffbd95; }
.series-hero { background: linear-gradient(90deg, #080b1efc 0%, #080b1eea 36%, #080b1e73 71%, #080b1e2e), url("bri-one-galaxy.png") center 48% / cover no-repeat; }
.series-hero h1 { font-weight: 800; color: #fff; }
.series-hero h1 em { color: #c8b5ff; }
.series-hero .lead { color: #e0e0f0; }
.series-hero__meta span { border-color: #afa1de; color: #e2dafa; background: #15173a8f; }
.series-intro p:not(.eyebrow) { color: #c9cde5; }
.series-episodes { color: #f4f3ff; }
.episode-card { border-color: #736baa; background: linear-gradient(145deg, #27214f, #111631); }
.episode-card:nth-child(2) { background: linear-gradient(145deg, #2c2050, #101632); }
.episode-card__top, .episode-card__footer { color: #c2b8e7; }
.episode-card__top span:last-child, .episode-card__footer a { color: #ffbd95; }
.episode-card p, .series-note { color: #c3c8df; }
.episode-card__footer { border-color: #6e669e; }
.sound-section { background: radial-gradient(circle at 15% 25%, #53297675, transparent 42%), #11122f; }
.sound-section p:not(.eyebrow), .sound-list p { color: #c7c9e3; }
.sound-list, .sound-list div { border-color: #6c6598; }
.sound-list span { color: #ffc296; }
.certainty-grid article { background: #211f49; border-color: #726a9c; }
.certainty-grid h3 { color: #fff; }
.certainty-grid p { color: #c7cbe3; }
.certainty-grid .badge--established { border-color: #a994ff; color: #e0d4ff; background: #9367d32c; }
.certainty-grid .badge--concept { border-color: #ffb68d; color: #ffcea9; background: #a6684b33; }
.series-end { border-color: #6e6897; }
.series-end p { color: #e3e1f3; }
.site-footer { background: radial-gradient(circle at 82% 15%, #34205d70, transparent 38%), #07091a; border-color: #5e5b8b; color: #aeb6d6; }
.site-footer .eyebrow { color: #ffc296; }
.footer-grid>div:not(:first-child)>a { color: #dedcf3; }
.footer-grid>div:not(:first-child)>a:hover { color: #c9b4ff; }
.footer-bottom { border-color: #4c4d7d; color: #939abd; }

@media (max-width: 1080px) {
  .header-note { display: none; }
  .place-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .hero { background-position: 62% center; }
  .hero-grid { grid-template-columns: 1fr; min-height: 720px; }
  .hero-copy { max-width: 650px; padding: 85px 0 125px; }
  .hero h1 { font-size: clamp(4rem, 9vw, 6rem); }
  .hero-art { position: absolute; inset: 0; pointer-events: none; }
  .hero-art__label { bottom: 22px; }
  .hero-bottom { display: none; }
  .story-teaser__grid, .series-intro__grid, .sound-section__grid { grid-template-columns: 1fr; }
  .certainty-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .site-header { height: 66px; }
  .header-inner { width: min(100% - 34px, 1240px); }
  .main-nav { background: #0b0d29f7; border-color: #7a6eaa; box-shadow: 0 24px 40px #030414a3; }
  .main-nav a { font-size: .82rem; padding: 12px; }
  .hero { background: linear-gradient(90deg, #080b1ef2, #080b1eaa), url("bri-one-galaxy.png") 62% center / cover no-repeat; }
  .hero-grid { min-height: 0; }
  .hero-copy { padding: 82px 0 78px; }
  .hero h1 { font-size: clamp(3.4rem, 10vw, 5.7rem); }
  .hero-lead { font-size: 1.04rem; }
  .hero-art__label, .waveform { display: none; }
  .journey__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section, .story-teaser, .series-intro, .series-episodes, .sound-section, .certainty-section { padding-block: 72px; }
  .place-grid, .atlas-grid { grid-template-columns: 1fr; }
  .page-intro { padding: 75px 17px 70px; }
  .page-intro::before { right: -310px; }
  .page-intro::after { display: none; }
  .episode-grid { grid-template-columns: 1fr; }
  .series-hero { background-position: 63% center; }
  .series-hero h1 { font-size: clamp(3.2rem, 10vw, 5.5rem); }
  .profile-emblem { width: 130px; height: 130px; box-shadow: 0 0 0 12px #17163c, 0 0 0 13px #6558ac; }
}
@media (max-width: 500px) {
  .brand { font-size: .98rem; }
  .brand-mark { width: 30px; height: 30px; }
  .hero h1 { font-size: 3.5rem; }
  .hero-facts { gap: 12px; margin-top: 36px; }
  .hero-facts span { max-width: 96px; }
  .hero-actions .button { width: 100%; }
  .journey__grid { grid-template-columns: 1fr; }
  .journey a { min-height: 112px; }
  .signal-evidence { transform: none; }
  .place-grid, .featured-grid, .character-grid, .reference-grid, .relation-grid { grid-template-columns: 1fr; }
  .profile-hero__grid { grid-template-columns: 1fr; }
  .profile-emblem { display: none; }
  .profile-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-facts>div { border-bottom: 1px solid #5f5b91; }
  .profile-facts>div:nth-child(2n) { border-right: 0; }
  .profile-facts>div:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
