*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0a0a0f;color:#e8e8ee;min-height:100vh;min-height:100dvh;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}#root{min-height:100vh;min-height:100dvh}.page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.page.title-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,5vw,3rem)}.title-screen__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(1.5rem,5vw,3.5rem)}.title-screen__earth{position:relative;width:clamp(380px,40vw,560px);height:clamp(380px,40vw,560px);flex-shrink:0}.title-screen__panel{position:relative}.title-screen__header{display:flex;flex-direction:column;gap:.3rem;padding-bottom:1rem;border-bottom:1px solid rgba(169,159,224,.18)}.title-screen__title{margin:0;font-size:2.4rem;line-height:1;letter-spacing:.04em;color:#f4f4fa}.title-screen__subtitle{margin:0;font-size:.9rem;font-style:italic;color:#e8e8ee8c}.title-screen__body{display:flex;flex-direction:column;gap:.8rem}.title-screen__btn.title-screen__btn--primary{background:linear-gradient(180deg,#a99fe057,#a99fe02e);border-color:#a99fe0bf}.title-screen__btn.title-screen__btn--primary:hover{background:linear-gradient(180deg,#a99fe075,#a99fe042);border-color:#a99fe0}.title-screen__logout{margin-top:.3rem;padding:.2rem;background:none;border:0;color:#e8e8ee73;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;transition:color .15s ease}.title-screen__logout:hover{color:#e8e8eed9}.title-screen__logout:disabled{cursor:progress;opacity:.6}.title-screen__logout:focus-visible{outline:2px solid rgba(169,159,224,.9);outline-offset:2px}.title-screen__form{display:flex;flex-direction:column;gap:.8rem}.title-screen__splash{margin:0;text-align:center;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;letter-spacing:.04em;color:#e8e8ee99}.beacon-panel{position:fixed;right:clamp(.8rem,2.5vw,1.5rem);bottom:clamp(.8rem,2.5vw,1.5rem);z-index:50}.beacon-panel__btn:disabled,.settings-panel__btn:disabled{opacity:.4;cursor:not-allowed}.beacon-panel__status{text-align:center;white-space:pre-line}.beacon-panel[data-state=ready] .beacon-panel__status{color:#a0dcb4d9;font-style:normal;letter-spacing:.02em}.beacon-panel__error{margin:0;padding:.4rem .6rem;font-size:.78rem;line-height:1.4;color:#f88;background:#280c0ee6;border:1px solid rgba(245,86,86,.4);border-radius:4px}.atlas-button{width:fit-content}.scene-bottom-left{position:fixed;left:clamp(.8rem,2.5vw,1.5rem);bottom:clamp(.8rem,2.5vw,1.5rem);z-index:60;display:flex;align-items:stretch;gap:.5rem}.scene-settings{position:relative;display:flex}.scene-settings .scene-settings__gear{display:flex;align-items:center;justify-content:center;width:auto;aspect-ratio:1;padding:.5rem}.scene-settings__gear[aria-expanded=true] .scene-settings__icon{transform:rotate(35deg)}.scene-settings__icon{width:20px;height:20px;transition:transform .25s ease}.settings-panel{position:absolute;bottom:calc(100% + .6rem);left:0;z-index:1;transform-origin:bottom left}.settings-panel--in{animation:settings-panel-in .16s cubic-bezier(.16,1,.3,1)}.settings-panel--out{animation:settings-panel-out .16s cubic-bezier(.16,1,.3,1) forwards}@keyframes settings-panel-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes settings-panel-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.96)}}@media(prefers-reduced-motion:reduce){.settings-panel--in,.settings-panel--out{animation-duration:.01ms}.scene-settings__icon{transition:none}}.settings-panel__title{margin:0}.atlas__topbar-title{margin:0;font-size:1.05rem;font-weight:700;color:#e8e8ee;letter-spacing:-.01em}.atlas__status{color:#e8e8eeb3}.atlas__status--error{color:#ff7878d9}.atlas__empty{margin:1.5rem 0 0;color:#e8e8ee99;line-height:1.6}.atlas-table__count{margin:0 0 1rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;letter-spacing:.04em;color:#a99fe0cc}.atlas-table-frame{border:1px solid rgba(169,159,224,.18);background:#0c0a1680}.atlas-table{width:100%;border-collapse:collapse;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;font-variant-numeric:tabular-nums}.atlas-table thead{background:#120e20fa}.atlas-table__th{vertical-align:middle;text-align:center;padding:.55rem .6rem;border-bottom:1px solid rgba(169,159,224,.35)}.atlas-table__sort{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.2rem;margin:0;padding:.1rem .3rem;border:0;background:none;color:#a99fe0f2;font:inherit;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.atlas-table__sort:hover{color:#f4f4fa}.atlas-table__sort:focus-visible{outline:2px solid rgba(169,159,224,.9);outline-offset:2px}.atlas-table__sort-arrow{color:#a0dcb4f2}.atlas-table__tip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:max-content;max-width:240px;padding:.4rem .6rem;font-family:system-ui,-apple-system,sans-serif;font-size:.72rem;text-transform:none;letter-spacing:normal;line-height:1.35;color:#e8e8eef2;background:#141223f5;border:1px solid rgba(169,159,224,.45);border-radius:4px;box-shadow:0 4px 12px #00000073;opacity:0;pointer-events:none;transition:opacity .16s ease;z-index:5}.atlas-table__tip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid rgba(169,159,224,.45)}.atlas-table__sort:hover .atlas-table__tip,.atlas-table__sort:focus-visible .atlas-table__tip{opacity:1}.atlas-table__th--actions{color:#a99fe0f2;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.atlas-table__row{border-bottom:1px solid rgba(169,159,224,.1);transition:background .12s ease}.atlas-table__row:hover{background:#a99fe01a}.atlas-table__cell{padding:.5rem .6rem;text-align:center;vertical-align:middle;color:#e8e8eed9;white-space:nowrap}.atlas-table__cell--name{font-weight:600;color:#f4f4fa}.atlas-table__action{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;margin:0 .1rem;color:#a99fe0d9;border:1px solid rgba(169,159,224,.3);border-radius:4px;transition:color .15s ease,background .15s ease,border-color .15s ease}.atlas-table__action:hover{color:#f4f4fa;background:#a99fe02e;border-color:#a99fe0b3;text-decoration:none}.atlas-table__action:hover .atlas-table__tip,.atlas-table__action:focus-visible .atlas-table__tip{opacity:1}.atlas-table__tip--end{left:auto;right:0;transform:none}.atlas-table__tip--end:before{left:auto;right:.7rem;transform:none}.atlas-table__action svg{width:.95rem;height:.95rem}.atlas-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.78rem}.atlas-pagination__status{color:#a99fe0d9;letter-spacing:.04em}.atlas-pagination__btn{padding:.4rem .9rem;color:#f4f4fa;background:linear-gradient(180deg,#a99fe02e,#a99fe014);border:1px solid rgba(169,159,224,.5);font:inherit;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:background .15s ease,border-color .15s ease}.atlas-pagination__btn:hover:not(:disabled){background:linear-gradient(180deg,#a99fe04d,#a99fe026);border-color:#a99fe0cc}.atlas-pagination__btn:disabled{opacity:.35;cursor:not-allowed}.atlas-pagination__btn:focus-visible{outline:2px solid rgba(169,159,224,.9);outline-offset:2px}.page.planet{height:100vh;height:100dvh;padding:0;background:#05060a;overflow:hidden}.planet-header{padding:clamp(.6rem,2vw,1rem) clamp(.8rem,3vw,1.5rem);border-bottom:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.4rem;flex-shrink:0}.planet-header h2{margin:0;font-size:clamp(.85rem,3vw,1.1rem);font-weight:500;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;letter-spacing:.02em;word-break:break-all}.planet-meta{margin:0;opacity:.7;font-size:clamp(.8rem,2.4vw,.95rem);word-spacing:.1em}.planet-canvas{flex:1;min-height:0;touch-action:none}.planet--loading,.planet--error,.page--404{align-items:center;justify-content:center;text-align:center;padding:clamp(1rem,4vw,2rem)}.error-detail{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:clamp(.75rem,2vw,.85rem);opacity:.6;max-width:80ch;word-break:break-word}a{color:#a99fe0;text-decoration:none;padding:.2em 0}a:hover{text-decoration:underline}.orbital-tooltip{background:#0f1018eb;color:#e8e8ee;border:1px solid rgba(169,159,224,.35);border-radius:4px;padding:.3em .6em;font-size:.78rem;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none}@media(max-width:380px){header h1{margin-bottom:.25rem}.planet-header{gap:.25rem}}.page.discover{height:100vh;height:100dvh;padding:0;background:#05060a;overflow:hidden;position:relative}.discover__canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;touch-action:none}.discover__canvas-waiting{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#a99fe0b3;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.95rem;letter-spacing:.05em}.discover__seed{background:#0a0a0f99;padding:.35rem .7rem;border-radius:4px;border:1px solid rgba(255,255,255,.06);word-break:break-all;max-width:60vw;text-align:right}.discover__btn{display:inline-block;padding:.55rem 1.2rem;font-size:.95rem;font-family:inherit;border:none;border-radius:4px;cursor:pointer;text-decoration:none;text-align:center;transition:background .15s ease,border .15s ease;-webkit-tap-highlight-color:transparent;min-height:40px;line-height:1.2}.discover__btn--primary{background:#5a4a8c;color:#fff!important}.discover__btn--primary:hover{background:#6e5ba8;text-decoration:none}.discover__btn--secondary{background:transparent;color:#e8e8eed9!important;border:1px solid rgba(169,159,224,.4)}.discover__btn--secondary:hover{background:#a99fe01a;text-decoration:none}.discover__btn:disabled{opacity:.4;cursor:not-allowed}.discover__error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#280c0ef0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(245,86,86,.4);border-radius:8px;padding:1.5rem 2rem;z-index:40;max-width:min(720px,92vw);max-height:80vh;overflow-y:auto;text-align:left}.discover__error h3{margin:0 0 .5rem;color:#f88;text-align:center}.discover__error p{text-align:center;margin:.4rem 0}.discover__error-message{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;opacity:.8;text-align:left!important}.discover__error-details{margin:1rem 0;border:1px solid rgba(245,86,86,.2);border-radius:4px;background:#0000004d;padding:.6rem .8rem}.discover__error-details summary{cursor:pointer;font-size:.9rem;color:#ffc8c8d9;margin-bottom:.4rem}.discover__error-list{margin:.6rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.6rem}.discover__error-item{display:flex;flex-direction:column;gap:.15rem;padding:.5rem .7rem;background:#00000059;border-left:3px solid rgba(245,86,86,.6);border-radius:2px;font-size:.85rem;line-height:1.45}.discover__error-category{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;color:#fa8;letter-spacing:.03em}.discover__error-path{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;color:#e8e8eeb3;word-break:break-all}.discover__error-msg{color:#e8e8eef2}.discover__error-hint{margin-top:1rem!important;font-size:.8rem;opacity:.7}.discover__error-hint code{background:#ffffff0d;padding:.1rem .4rem;border-radius:3px;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.78rem}.discover__error-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.discovery-panel,.beacon-panel,.settings-panel,.title-screen__panel{width:360px;background:linear-gradient(135deg,#120e20eb,#0a0814eb);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(169,159,224,.4);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 0 0 1px #a99fe014 inset,0 8px 32px #00000080}.discovery-panel{position:absolute;top:60px;right:1.5rem;max-height:calc(100vh - 80px);overflow-y:auto;z-index:15}.discovery-panel__bracket,.beacon-panel__bracket,.settings-panel__bracket,.title-screen__bracket{position:absolute;width:18px;height:18px;pointer-events:none;border-color:#a99fe0d9;border-style:solid}.discovery-panel__bracket--tl,.beacon-panel__bracket--tl,.settings-panel__bracket--tl,.title-screen__bracket--tl{top:6px;left:6px;border-width:2px 0 0 2px}.discovery-panel__bracket--tr,.beacon-panel__bracket--tr,.settings-panel__bracket--tr,.title-screen__bracket--tr{top:6px;right:6px;border-width:2px 2px 0 0}.discovery-panel__bracket--bl,.beacon-panel__bracket--bl,.settings-panel__bracket--bl,.title-screen__bracket--bl{bottom:6px;left:6px;border-width:0 0 2px 2px}.discovery-panel__bracket--br,.beacon-panel__bracket--br,.settings-panel__bracket--br,.title-screen__bracket--br{bottom:6px;right:6px;border-width:0 2px 2px 0}.discovery-panel__header{display:flex;flex-direction:column;gap:.3rem}.discovery-panel__seal,.beacon-panel__title,.settings-panel__title,.title-screen__seal{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#a99fe0e6;margin:0}.discovery-panel__name{font-size:1.5rem;margin:0;line-height:1.2;letter-spacing:-.01em;color:#f4f4fa;text-transform:uppercase;font-weight:500}.discovery-panel__seed{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;color:#e8e8ee73;margin:0;word-break:break-all}.discovery-panel__facts{display:flex;flex-direction:column;gap:.55rem;margin:0;padding-top:.8rem;border-top:1px solid rgba(169,159,224,.18)}.discovery-panel__fact{display:grid;grid-template-columns:90px 1fr;gap:.5rem;align-items:baseline;font-size:.85rem}.discovery-panel__fact dt{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:#a99fe099}.discovery-panel__fact dd{margin:0;color:#e8e8eee6;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.4;min-height:1.4em}.discovery-panel__scramble{display:inline-block;line-height:1.4;color:#c4a8f0d9;letter-spacing:.02em;text-shadow:0 0 6px rgba(169,159,224,.45);vertical-align:baseline;position:relative;z-index:1}.discovery-panel[data-state=scanning] .discovery-panel__fact dd{position:relative;overflow:hidden}.discovery-panel[data-state=scanning] .discovery-panel__fact dd:before{content:"";position:absolute;top:0;bottom:0;left:0;width:35%;background:linear-gradient(90deg,transparent 0%,rgba(169,159,224,.22) 50%,transparent 100%);pointer-events:none;z-index:0;animation:discovery-panel-radar-sweep 2.4s ease-in-out infinite alternate}.discovery-panel[data-state=scanning] .discovery-panel__fact:nth-child(1) dd:before{animation-duration:2.4s;animation-delay:-.4s}.discovery-panel[data-state=scanning] .discovery-panel__fact:nth-child(2) dd:before{animation-duration:2.9s;animation-delay:-1.8s}.discovery-panel[data-state=scanning] .discovery-panel__fact:nth-child(3) dd:before{animation-duration:2.2s;animation-delay:-.9s}.discovery-panel[data-state=scanning] .discovery-panel__fact:nth-child(4) dd:before{animation-duration:3.1s;animation-delay:-2.3s}.discovery-panel[data-state=scanning] .discovery-panel__fact:nth-child(5) dd:before{animation-duration:2.6s;animation-delay:-1.5s}@keyframes discovery-panel-radar-sweep{0%{transform:translate(-80%)}to{transform:translate(285%)}}.discovery-panel[data-state=scanning] .discovery-panel__fact dd[data-revealed=true]:before{display:none}.discovery-panel__fact-reveal{display:inline-block;padding:0 .3rem;margin:0 -.3rem;border-radius:2px;animation:discovery-panel-fact-reveal 1.6s ease-out forwards}@keyframes discovery-panel-fact-reveal{0%{background:#1ea25eb3;box-shadow:0 0 14px #1ea25eb3;color:#e1ffeb}60%{background:#1ea25e4d;box-shadow:0 0 8px #1ea25e59}to{background:transparent;box-shadow:none;color:inherit}}@media(prefers-reduced-motion:reduce){.discovery-panel[data-state=scanning] .discovery-panel__fact dd:before{animation:none;transform:translate(80%);opacity:.5}.discovery-panel__fact-reveal{animation:none;background:transparent}}.discovery-panel__action,.beacon-panel__body,.settings-panel__body{display:flex;flex-direction:column;gap:.7rem;padding-top:.9rem;border-top:1px solid rgba(169,159,224,.18)}.discovery-panel__hint,.beacon-panel__status{margin:0;font-size:.78rem;color:#e8e8ee8c;line-height:1.45;font-style:italic}.discovery-panel__hint--success{text-align:center;font-style:normal;color:#a0dcb4d9;letter-spacing:.02em}.discovery-panel__btn,.beacon-panel__btn,.atlas-button__btn,.settings-panel__btn,.scene-settings__gear,.title-screen__btn{display:block;box-sizing:border-box;width:100%;text-align:center;text-decoration:none;padding:.75rem 1rem;border:1px solid rgba(169,159,224,.5);background:linear-gradient(180deg,#a99fe02e,#a99fe014);color:#f4f4fa;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;clip-path:polygon(8px 0,calc(100% + 2px) 0,calc(100% + 2px) calc(100% - 8px),calc(100% - 8px) calc(100% + 2px),0 calc(100% + 2px),0 8px)}.discovery-panel__btn:hover,.beacon-panel__btn:hover,.atlas-button__btn:hover,.settings-panel__btn:hover,.scene-settings__gear:hover,.title-screen__btn:hover{text-decoration:none;background:linear-gradient(180deg,#a99fe04d,#a99fe026);border-color:#a99fe0cc;box-shadow:0 0 16px #a99fe040}.discovery-panel__btn:focus-visible,.beacon-panel__btn:focus-visible,.atlas-button__btn:focus-visible,.settings-panel__btn:focus-visible,.scene-settings__gear:focus-visible,.title-screen__btn:focus-visible{outline:2px solid rgba(169,159,224,.9);outline-offset:2px}.discovery-panel__gauge{display:flex;flex-direction:column;gap:.5rem}.discovery-panel__gauge-label{margin:0;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;color:#e8e8eec7;line-height:1.4;letter-spacing:.02em;min-height:2.4em}.discovery-panel__gauge-track{position:relative;height:28px;background:#08051099;border:1px solid rgba(169,159,224,.35);overflow:hidden;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.discovery-panel__gauge-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#a99fe08c,#c4a8f0d9,#a99fe0a6);box-shadow:0 0 20px #a99fe099,0 0 4px #a99fe0e6 inset;transition:width .6s cubic-bezier(.4,0,.2,1)}.discovery-panel__gauge-scan{position:absolute;top:0;bottom:0;width:80px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 50%,transparent 100%);animation:discovery-panel-scan 2.6s linear infinite;pointer-events:none}@keyframes discovery-panel-scan{0%{transform:translate(-100%)}to{transform:translate(360px)}}.discovery-panel__gauge-percent{margin:0;text-align:right;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.1em;color:#a99fe0d9}@media(prefers-reduced-motion:reduce){.discovery-panel__gauge-scan{animation:none;display:none}.discovery-panel__gauge-fill{transition:width .1s linear}}.discover.discover--loading,.discover.discover--error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:.6rem;text-align:center}@media(max-width:900px){.discovery-panel{position:fixed;top:auto;bottom:1rem;right:1rem;left:1rem;width:auto;max-height:60vh}}.page.codex{align-items:stretch;text-align:left;max-width:none;margin:0;padding:0}.page.codex.codex--loading,.page.codex.codex--error{align-items:center;justify-content:center;text-align:center;padding:2rem;gap:.6rem}.codex--error .error-detail{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;color:#ff7878d9;max-width:600px}.codex__topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem clamp(1rem,4vw,2rem);background:#080910c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(169,159,224,.18);position:sticky;top:0;z-index:30}.codex__topbar-back{color:#a99fe0e6;text-decoration:none;font-size:.95rem;transition:color .15s ease}.codex__topbar-back:hover{color:#d8d0ff}.codex__topbar-title{font-size:1.05rem;font-weight:700;color:#e8e8ee;letter-spacing:-.01em;opacity:0;pointer-events:none;transition:opacity .35s ease}.codex__topbar-title--visible{opacity:1}.codex__layout{display:grid;grid-template-columns:240px 1fr;gap:0;align-items:start;max-width:1400px;margin:0 auto;width:100%}.codex__sidebar{position:sticky;top:64px;padding:1.5rem 1rem 2rem;max-height:calc(100vh - 64px);overflow-y:auto;border-right:1px solid rgba(169,159,224,.12)}.codex__main{min-width:0;padding:2rem clamp(1rem,4vw,3rem) 5rem;display:flex;flex-direction:column;gap:2.5rem}.codex__toc{font-size:.9rem}.codex__toc-header{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#a99fe099;margin:0 0 .8rem}.codex__toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem;position:relative}.codex__toc-item{margin:0}.codex__toc-link{display:block;padding:.4rem .6rem;color:#e8e8eeb3;text-decoration:none;border-radius:3px;border-left:2px solid transparent;transition:background .15s ease,color .15s ease}.codex__toc-link:hover{background:#a99fe014;color:#d8d0ff}.codex__toc-link--active{color:#d8d0ff}.codex__toc-indicator{position:absolute;left:0;right:0;top:0;background:#a99fe01f;border-left:2px solid #a99fe0;border-radius:3px;pointer-events:none;transition:transform .45s cubic-bezier(.4,0,.2,1),height .45s cubic-bezier(.4,0,.2,1)}.codex__section{display:flex;flex-direction:column;gap:.8rem;scroll-margin-top:80px}.codex__section-title{font-size:clamp(1.4rem,3vw,1.8rem);margin:0;color:#e8e8ee;letter-spacing:-.01em;padding-bottom:.4rem;border-bottom:1px solid rgba(169,159,224,.18)}.codex__section-body{display:flex;flex-direction:column;gap:.8rem;color:#e8e8eee0;line-height:1.65}.codex__prose{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.codex__hero{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:2rem;align-items:center;scroll-margin-top:80px}.codex__hero-canvas{width:100%;aspect-ratio:1;border-radius:6px;overflow:hidden;background:#050608}.codex__hero-canvas>*{width:100%!important;height:100%!important}.codex__hero-meta{display:flex;flex-direction:column;gap:.6rem}.codex__hero-title{font-size:clamp(2rem,5vw,3rem);margin:0;letter-spacing:-.02em;color:#f4f4fa}.codex__hero-summary{font-size:1rem;line-height:1.6;color:#e8e8eed9;margin:.4rem 0 0}.codex__hero-summary--pending{font-style:italic;color:#e8e8ee73}.codex__hero-tags{list-style:none;padding:0;margin:.4rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}.codex__hero-tag{display:inline-block;padding:.15rem .5rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.65;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;border:1px solid rgba(169,159,224,.3);background:#a99fe01f;color:#d8d0fff2}.codex__hero-stats{margin:.8rem 0 0;display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.85rem}.codex__hero-stat{display:flex;flex-direction:column;gap:.1rem}.codex__hero-stat dt{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:#a99fe08c}.codex__hero-stat dd{margin:0;color:#e8e8eee6}.codex__recit-body{display:flex;flex-direction:column;gap:1rem;font-size:1.05rem;line-height:1.75}.codex__recit-paragraph{margin:0}.codex__recit-framing{margin:.6rem 0 0;font-size:.82rem;color:#a99fe0a6;font-style:italic;letter-spacing:.01em;padding-top:.8rem;border-top:1px dashed rgba(169,159,224,.18)}.codex__recit-framing-label{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#a99fe080;margin-right:.3rem}.codex__meta-subheader{font-size:.85rem;margin:0 0 .4rem;color:#a99fe0bf;letter-spacing:.04em;text-transform:uppercase}.codex__meta-tags{margin-bottom:.4rem}.codex__meta-tag-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}.codex__meta-tag{display:inline-block;padding:.15rem .5rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.65;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;border:1px solid rgba(169,159,224,.3);background:#a99fe01f;color:#d8d0fff2}.codex__meta-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem 1.5rem;margin:.6rem 0 0}.codex__meta-stat{display:flex;flex-direction:column;gap:.15rem}.codex__meta-stat dt{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:#a99fe08c}.codex__meta-stat dd{margin:0;color:#e8e8eeeb}.codex__placeholder{margin:0;font-style:italic;color:#e8e8ee80;font-size:.95rem}.codex__placeholder-note{font-style:normal;color:#a99fe099;font-size:.85rem}.codex__identity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}@media(max-width:900px){.codex__identity-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.codex__identity-block{background:#a99fe00a;border-radius:4px;padding:1rem 1.1rem;border-left:2px solid rgba(169,159,224,.25)}.codex__identity-block--wide{grid-column:1 / -1}.codex__identity-block--banner{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 2rem;padding-block:.75rem}.codex__identity-block--banner .codex__identity-block-title{margin:0;flex-shrink:0}.codex__identity-block--banner .codex__identity-stars{flex-direction:row;flex-wrap:wrap;gap:.4rem 2rem}.codex__identity-block-title{font-size:.78rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.15em;color:#a99fe0d9;margin:0 0 .7rem}.codex__identity-facts{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem 1rem}.codex__identity-facts>div{display:flex;flex-direction:column;gap:.1rem}.codex__identity-facts dt{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:#a99fe08c}.codex__identity-facts dd{margin:0;color:#e8e8eeeb;font-size:.92rem}.codex__identity-stars{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.codex__identity-facts--orbit{grid-template-columns:minmax(0,1fr);gap:1rem}.codex__identity-orbit-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}.codex__identity-orbit-item{color:#e8e8eeeb;font-size:.88rem}.codex__identity-star{display:flex;flex-wrap:wrap;gap:.4rem .9rem;align-items:baseline;font-size:.92rem}.codex__identity-star-type{color:#e8e8ee}.codex__identity-star-sep{color:#a99fe066;-webkit-user-select:none;user-select:none}.codex__identity-star-lum{color:#e8e8eeb3;font-size:.85rem}.codex__chronology-header{display:flex;flex-direction:column;gap:.3rem;padding:.8rem 1rem;background:#a99fe00d;border-left:2px solid rgba(169,159,224,.3);border-radius:3px;margin-bottom:.4rem}.codex__chronology-age,.codex__chronology-stellar{margin:0;font-size:.95rem}.codex__chronology-age-label{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#a99fe0b3}.codex__chronology-empty{margin:0;font-style:italic;color:#e8e8ee80}.codex__timeline-multilane{position:relative;margin:1.4rem 0 1.2rem;display:flex;flex-direction:column;gap:.6rem;padding:.6rem 0}.codex__timeline-axis{position:relative;height:1.2rem;margin-left:140px}.codex__timeline-axis-tick{position:absolute;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#a99fe08c;pointer-events:none}.codex__timeline-axis-tick--left{left:0}.codex__timeline-axis-tick--right{right:0}.codex__timeline-axis-tick--inner{transform:translate(-50%)}.codex__lane-separator{position:absolute;top:0;bottom:0;width:1px;background:#a99fe01f;pointer-events:none;z-index:0}.codex__lane{display:grid;grid-template-columns:140px 1fr;align-items:stretch;gap:.8rem;padding:.5rem 0}.codex__lane-header{display:flex;align-items:center;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#a99fe0d9;border-right:1px solid rgba(169,159,224,.2);padding-right:.8rem;text-align:right;justify-content:flex-end;line-height:1.3}.codex__lane-track{position:relative;min-height:100px}.codex__lane-axis-line{position:absolute;top:50%;left:0;right:0;height:1px;background:#a99fe038;transform:translateY(-50%);pointer-events:none;z-index:0}.codex__lane-band-row{position:absolute;left:0;right:0;height:16px;transform:translateY(-50%);z-index:1}.codex__lane-point-row{position:absolute;left:0;right:0;height:0;z-index:2}.codex__lane-band{position:absolute;top:0;height:100%;border:1px solid rgba(169,159,224,.45);background:#a99fe02e;color:inherit;padding:0;margin:0;cursor:pointer;border-radius:2px;overflow:visible;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;display:flex;align-items:center;justify-content:flex-start;font-family:inherit}.codex__lane-band-inner{flex:1 1 0;min-width:0;overflow:hidden;display:flex;align-items:center}.codex__lane-band-label{display:block;width:100%;font-size:.65rem;letter-spacing:.04em;color:#e8e8eeeb;padding:0 .4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.codex__lane-band:hover,.codex__lane-band:focus-visible{background:#a99fe04d;outline:none;box-shadow:0 0 0 2px #a99fe033}.codex__lane-band--era{background:#7da9e033;border-color:#7da9e08c}.codex__lane-band--era:hover,.codex__lane-band--era:focus-visible{background:#7da9e052}.codex__lane-band--civilization{background:#e0c87d33;border-color:#e0c87d8c}.codex__lane-band--civilization:hover,.codex__lane-band--civilization:focus-visible{background:#e0c87d52}.codex__lane-band--place{background:#a99fe02e;border-color:#a99fe080}.codex__lane-band--active{background:#d8d0ff52!important;box-shadow:0 0 0 2px #d8d0ff66}.codex__lane-point{position:absolute;top:50%;transform:translate(-50%,-50%);background:transparent;border:none;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit}.codex__lane-point-dot{display:block;width:11px;height:11px;border-radius:50%;background:#a99fe0b3;border:2px solid #0e0e15;box-shadow:0 0 0 1px #a99fe040;transition:transform .15s ease,box-shadow .15s ease}.codex__lane-point:hover .codex__lane-point-dot,.codex__lane-point:focus-visible .codex__lane-point-dot{transform:scale(1.4);box-shadow:0 0 0 4px #a99fe02e}.codex__lane-point:focus-visible{outline:none}.codex__lane-point--active .codex__lane-point-dot{transform:scale(1.55);box-shadow:0 0 0 5px #a99fe038}.codex__lane-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.18rem;width:max-content;max-width:280px;font-size:.72rem;line-height:1.35;color:#e8e8eef2;background:#141223f5;padding:.5rem .7rem;border-radius:4px;border:1px solid rgba(169,159,224,.45);box-shadow:0 4px 12px #00000073;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:20}.codex__lane-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgba(169,159,224,.45)}.codex__lane-tooltip-cat{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:#a99fe0d9}.codex__lane-tooltip-date{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.65rem;color:#d8d0ffd9}.codex__lane-tooltip-title{font-size:.82rem;color:#e8e8ee;white-space:normal;word-wrap:break-word;line-height:1.35}.codex__lane-point:hover .codex__lane-tooltip,.codex__lane-point:focus-visible .codex__lane-tooltip,.codex__lane-band:hover .codex__lane-tooltip,.codex__lane-band:focus-visible .codex__lane-tooltip{opacity:1;transform:translate(-50%) translateY(-2px)}.codex__lane-point:hover,.codex__lane-point:focus-visible,.codex__lane-band:hover,.codex__lane-band:focus-visible{z-index:15}.codex__lane-point--first_life .codex__lane-point-dot,.codex__lane-point--first_consciousness .codex__lane-point-dot{background:#7de0a9e6}.codex__lane-point--extinction .codex__lane-point-dot{background:#e07d7de6}.codex__lane-point--milestone .codex__lane-point-dot{background:#d8d0ffcc}.codex__lane-point--artifact .codex__lane-point-dot{background:#ffdc82d9}.codex__lane-point--threat .codex__lane-point-dot{background:#e06464e6}.codex__lane-point--place .codex__lane-point-dot{background:#b4c8f0d9}@media(max-width:640px){.codex__timeline-axis{margin-left:90px}.codex__lane{grid-template-columns:90px 1fr;gap:.5rem}.codex__lane-header{font-size:.6rem;padding-right:.5rem}}.codex__detail{position:relative;margin:1rem 0 1.5rem;padding:1.1rem 1.3rem;background:#1412238c;border:1px solid rgba(169,159,224,.3);border-left-width:3px;border-radius:6px;animation:codex-detail-fade-in .22s ease-out}@keyframes codex-detail-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.codex__detail--era{border-left-color:#7da9e0b3}.codex__detail--civilization{border-left-color:#e0c87db3}.codex__detail--place{border-left-color:#b4c8f0b3}.codex__detail--artifact{border-left-color:#ffdc82b3}.codex__detail--threat{border-left-color:#e06464b3}.codex__detail--extinction{border-left-color:#e07d7db3}.codex__detail--first_life,.codex__detail--first_consciousness{border-left-color:#7de0a9b3}.codex__detail--milestone{border-left-color:#d8d0ffb3}.codex__detail-header{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.8rem;padding-right:2rem}.codex__detail-category{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#a99fe0d9}.codex__detail-title{margin:0;font-size:1.15rem;color:#e8e8ee;line-height:1.3}.codex__detail-close{position:absolute;top:.45rem;right:.6rem;background:transparent;border:none;padding:.2rem .4rem;margin:0;color:#a99fe0b3;font-size:1rem;line-height:1;cursor:pointer;transition:color .15s ease}.codex__detail-close:hover,.codex__detail-close:focus-visible{color:#e8e8ee;outline:none}.codex__detail-body{display:flex;flex-direction:column;gap:.4rem}.codex__detail-fact{display:grid;grid-template-columns:minmax(140px,.4fr) 1fr;column-gap:1rem;font-size:.85rem;line-height:1.4}.codex__detail-fact-label{color:#a99fe0cc;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.codex__detail-fact-value{color:#e8e8eef2}.codex__detail-desc{margin:.5rem 0 0;font-size:.92rem;line-height:1.5;color:#e8e8eee6}.codex__detail-fall,.codex__detail-mystery,.codex__detail-mechanism{margin:.5rem 0 0;padding:.5rem .7rem;background:#0000002e;border-radius:4px;font-size:.85rem;line-height:1.5;color:#d8d0ffe6}.codex__detail-link{font-size:.85rem;color:#d8d0ffe6;text-decoration:none;border-bottom:1px dashed rgba(216,208,255,.45);transition:color .15s ease,border-color .15s ease}.codex__detail-link--block{display:block;margin-top:.6rem}.codex__detail-link:hover,.codex__detail-link:focus-visible{color:#e8e8ee;border-bottom-color:#e8e8eeb3;outline:none}.codex__chronology-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem;border-left:1px solid rgba(169,159,224,.18);padding-left:1.2rem}.codex__chronology-entry-button{display:block;width:100%;text-align:left;background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer}.codex__chronology-entry-button:focus-visible{outline:2px solid rgba(169,159,224,.6);outline-offset:4px;border-radius:3px}.codex__chronology-entry{position:relative;padding:.7rem .9rem;background:#08081066;border-radius:3px;border-left:2px solid rgba(169,159,224,.2)}.codex__chronology-entry:before{content:"";position:absolute;left:-1.55rem;top:1.05rem;width:.65rem;height:.65rem;border-radius:50%;background:#a99fe08c;border:2px solid #0e0e15}.codex__chronology-entry--era{border-left-color:#7da9e080}.codex__chronology-entry--era:before{background:#7da9e0cc}.codex__chronology-entry--first_life,.codex__chronology-entry--first_consciousness{border-left-color:#7de0a980}.codex__chronology-entry--first_life:before,.codex__chronology-entry--first_consciousness:before{background:#7de0a9d9}.codex__chronology-entry--extinction{border-left-color:#e07d7d8c}.codex__chronology-entry--extinction:before{background:#e07d7dd9}.codex__chronology-entry--civilization{border-left-color:#e0c87d80}.codex__chronology-entry--civilization:before{background:#e0c87dd9}.codex__chronology-entry--threat{border-left-color:#e064648c}.codex__chronology-entry--threat:before{background:#e06464d9}.codex__chronology-entry--active{background:#a99fe01a;box-shadow:0 0 0 1px #a99fe059;transition:background .25s ease,box-shadow .25s ease}.codex__chronology-entry--active:before{transform:scale(1.4)}.codex__chronology-entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin-bottom:.3rem}.codex__chronology-entry-cat{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#a99fe0b3}.codex__chronology-entry-date{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;color:#e8e8ee99}.codex__chronology-entry-title{margin:0 0 .2rem;font-size:1rem;color:#e8e8ee}.codex__chronology-entry-desc{margin:0;font-size:.9rem;color:#e8e8eec7;line-height:1.55}.codex__biosphere-header{display:flex;flex-direction:column;gap:.3rem;padding:.8rem 1rem;background:#a99fe00d;border-left:2px solid rgba(169,159,224,.3);border-radius:3px}.codex__biosphere-status,.codex__biosphere-emergence{margin:0;font-size:.95rem}.codex__biosphere-status-label{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#a99fe0b3}.codex__biosphere-block{display:flex;flex-direction:column;gap:.45rem}.codex__biosphere-block-title{margin:0;font-size:.78rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.15em;color:#a99fe0d9}.codex__biosphere-current,.codex__biosphere-past-label{margin:0;font-size:.92rem;color:#e8e8eee0}.codex__biosphere-current--none{font-style:italic;color:#e8e8ee8c}.codex__biosphere-past{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.codex__biosphere-past-item{display:flex;flex-wrap:wrap;gap:.3rem .7rem;padding:.6rem .85rem;background:#a99fe00f;border-left:2px solid rgba(160,160,180,.35);border-radius:3px;font-size:.85rem;color:#e8e8eec7}.codex__biosphere-past-type{font-weight:600;color:#e8e8ee}.codex__biosphere-past-era{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;color:#e8e8ee8c}.codex__biosphere-past-cause{flex-basis:100%;font-style:italic;color:#e8e8eea6}.codex__biosphere-producers{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}.codex__biosphere-producer{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.65;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border:1px solid rgba(169,159,224,.3);border-radius:3px;background:#a99fe014;color:#d8d0fff2}.codex__biosphere-species-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem}.codex__biosphere-species{padding:.8rem .9rem;background:#08081073;border-radius:3px;border-left:2px solid rgba(125,224,169,.4)}.codex__biosphere-species--disparue{border-left-color:#a0a0b459;opacity:.85}.codex__biosphere-species-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.codex__biosphere-species-name{margin:0;font-size:.95rem;color:#e8e8ee}.codex__biosphere-species-status{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#a99fe0b3}.codex__biosphere-species-meta{display:flex;flex-wrap:wrap;gap:.4rem .6rem;font-size:.78rem;color:#e8e8ee99;margin-bottom:.3rem}.codex__biosphere-species-traits{margin:0;font-size:.88rem;color:#e8e8eed1;line-height:1.5}.codex__biosphere-traits{list-style:"— ";padding-left:1.1rem;margin:0;display:flex;flex-direction:column;gap:.25rem}.codex__biosphere-trait{font-size:.92rem;color:#e8e8eed1;line-height:1.55}@media(max-width:900px){.codex__layout{grid-template-columns:1fr}.codex__sidebar{position:static;max-height:none;overflow:visible;padding:1rem clamp(1rem,4vw,2rem);border-right:none;border-bottom:1px solid rgba(169,159,224,.12)}.codex__toc-list{flex-direction:row;flex-wrap:wrap;gap:.3rem}.codex__toc-header{margin-bottom:.4rem}.codex__toc-link{padding:.3rem .6rem;border-left:none;border-bottom:2px solid transparent;font-size:.85rem;transition:background .15s ease,color .15s ease,border-color .15s ease}.codex__toc-link--active{border-bottom-color:#a99fe0;border-left-color:transparent}.codex__toc-indicator{display:none}.codex__hero{grid-template-columns:1fr}}.codex__expand-button{margin:1.2rem auto 0;display:block;background:transparent;border:1px solid rgba(169,159,224,.4);color:#d8d0fff2;padding:.55rem 1.1rem;border-radius:4px;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;letter-spacing:.04em;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.codex__expand-button:hover,.codex__expand-button:focus-visible{border-color:#d8d0ffcc;background:#d8d0ff0f;color:#e8e8ee;outline:none}.codex__civ-list{display:grid;grid-template-columns:1fr;gap:1.2rem}@media(min-width:900px){.codex__civ-list{grid-template-columns:1fr 1fr}}.codex__civ-card{padding:1.1rem 1.3rem 1.2rem;background:#1412238c;border:1px solid rgba(169,159,224,.25);border-left:3px solid rgba(224,200,125,.5);border-radius:6px;scroll-margin-top:100px}.codex__civ-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .8rem;margin-bottom:.3rem}.codex__civ-card-name{margin:0;font-size:1.15rem;color:#e8e8ee;flex:1 1 auto;min-width:0}.codex__civ-card-chips{display:flex;flex-wrap:wrap;gap:.35rem}.codex__civ-chip{display:inline-block;padding:.15rem .5rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.65;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;border:1px solid rgba(169,159,224,.3);color:#d8d0ffeb}.codex__civ-chip--archetype{background:#e0c87d1a;border-color:#e0c87d73;color:#e8dcaff2}.codex__civ-chip--status{background:#a99fe01f}.codex__civ-chip--status-émergente,.codex__civ-chip--status-florissante{background:#7de0a91f;border-color:#7de0a973;color:#b4f0c8f2}.codex__civ-chip--status-déclinante,.codex__civ-chip--status-fragmentée{background:#ffc87d1a;border-color:#ffc87d73;color:#ffdcaff2}.codex__civ-chip--status-éteinte{background:#e064641f;border-color:#e0646466;color:#ffb4b4f2}.codex__civ-chip--status-transcendée{background:#d8d0ff26;border-color:#d8d0ff80;color:#e8e0ff}.codex__civ-chip--trait{text-transform:none;font-family:inherit;letter-spacing:0;font-size:.78rem;padding:.2rem .6rem;background:#a99fe014}.codex__civ-card-period{margin:0;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;color:#d8d0ffd9}.codex__civ-card-defining{margin:.6rem 0 .4rem;font-size:.95rem;line-height:1.5;color:#e8e8eef2;font-style:italic}.codex__civ-card-stats{display:grid;grid-template-columns:minmax(120px,.4fr) 1fr;gap:.3rem 1rem;margin:.6rem 0;font-size:.85rem}.codex__civ-card-stats dt{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:#a99fe0cc}.codex__civ-card-stats dd{margin:0;color:#e8e8eef2}.codex__civ-card-block{margin-top:.7rem}.codex__civ-card-block-title{margin:0 0 .35rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#a99fe0d9}.codex__civ-card-list{margin:0;padding-left:1.2rem;font-size:.88rem;line-height:1.5;color:#e8e8eee6}.codex__civ-card-list li{margin-bottom:.2rem}.codex__civ-card-chips-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.codex__civ-card-fall{margin-top:.7rem;padding:.55rem .75rem;background:#e0646414;border-left:2px solid rgba(224,100,100,.45);border-radius:3px;font-size:.85rem;line-height:1.5}.codex__civ-card-fall p{margin:0;color:#e8e8eeeb}.codex__civ-card-predecessor{margin:.7rem 0 0;font-size:.85rem;color:#d8d0ffe0}.codex__geo-section{display:flex;flex-direction:column;gap:1.5rem}.codex__geo-regions{display:flex;flex-direction:column;gap:1rem}.codex__geo-region-card{padding:.9rem 1.1rem 1rem;background:#14122373;border:1px solid rgba(169,159,224,.22);border-left:3px solid rgba(125,169,224,.6);border-radius:5px}.codex__geo-region-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-bottom:.3rem}.codex__geo-region-name{margin:0;font-size:1.05rem;color:#e8e8ee}.codex__geo-region-biome{margin:.4rem 0 .3rem;font-size:.85rem;line-height:1.5;color:#e8e8eee6}.codex__geo-region-climate{margin:0;font-size:.85rem;line-height:1.5;color:#d8d0ffd9}.codex__geo-region-civs{margin:.5rem 0 0;font-size:.8rem;color:#a99fe0d9}.codex__geo-places-block{display:flex;flex-direction:column;gap:.7rem}.codex__geo-region-places{margin-top:.9rem;padding-top:.7rem;border-top:1px solid rgba(169,159,224,.15);display:flex;flex-direction:column;gap:.6rem}.codex__geo-region-places-title{margin:0 0 .2rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#a99fe0b3}.codex__geo-places-region-header{margin:.5rem 0 .3rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#a99fe0d9;border-bottom:1px solid rgba(169,159,224,.18);padding-bottom:.3rem}.codex__geo-place-card{padding:.75rem .95rem;background:#14122373;border:1px solid rgba(169,159,224,.22);border-left:3px solid rgba(180,200,240,.6);border-radius:4px;scroll-margin-top:100px}.codex__geo-place-head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem}.codex__geo-place-name{margin:0;font-size:1rem;color:#e8e8ee}.codex__geo-place-status{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:3px;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.65;letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(169,159,224,.3)}.codex__geo-place-status--intact,.codex__geo-place-status--actif{background:#7de0a91a;border-color:#7de0a973;color:#b4f0c8f2}.codex__geo-place-status--ruiné,.codex__geo-place-status--enseveli,.codex__geo-place-status--submergé,.codex__geo-place-status--abandonné{background:#ffc87d14;border-color:#ffc87d66;color:#ffdcaff2}.codex__geo-place-status--mythique{background:#d8d0ff1f;border-color:#d8d0ff80;color:#e8e0ff}.codex__geo-place-status--perdu{background:#e0646414;border-color:#e0646459;color:#ffb4b4f2}.codex__geo-place-meta{margin:.4rem 0 .3rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;color:#a99fe0d9}.codex__geo-place-desc{margin:.4rem 0 0;font-size:.88rem;line-height:1.5;color:#e8e8eeeb}.codex__artifact-list{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:700px){.codex__artifact-list{grid-template-columns:1fr 1fr}}@media(min-width:1100px){.codex__artifact-list{grid-template-columns:1fr 1fr 1fr}}.codex__artifact-card{padding:.9rem 1.05rem 1rem;background:#14122380;border:1px solid rgba(169,159,224,.22);border-left:3px solid rgba(255,220,130,.55);border-radius:5px;display:flex;flex-direction:column;gap:.4rem;scroll-margin-top:100px}.codex__artifact-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .6rem}.codex__artifact-name{margin:0;font-size:1rem;color:#e8e8ee;flex:1 0 100%}.codex__artifact-chip{display:inline-block;padding:.15rem .5rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.65;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;border:1px solid rgba(255,220,130,.4);background:#ffdc8214;color:#ffe6aff2}.codex__artifact-meta{margin:0;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;color:#a99fe0d9}.codex__artifact-function{margin:.3rem 0 0;padding:.5rem .7rem;background:#7da9e014;border-left:2px solid rgba(125,169,224,.4);border-radius:3px;font-size:.82rem;line-height:1.5;color:#7da9e0eb}.codex__artifact-desc{margin:0;font-size:.85rem;line-height:1.5;color:#e8e8eee0}.codex__artifact-mystery{margin:.3rem 0 0;padding:.5rem .7rem;background:#d8d0ff14;border-left:2px solid rgba(216,208,255,.4);border-radius:3px;font-size:.82rem;line-height:1.5;color:#d8d0ffeb}.codex__orbital-section{display:flex;flex-direction:column;gap:1.5rem}.codex__orbital-group-title{margin:0 0 .5rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#a99fe0d9;border-bottom:1px solid rgba(169,159,224,.18);padding-bottom:.3rem}.codex__orbital-list{display:flex;flex-direction:column;gap:.9rem}.codex__orbital-card{padding:.9rem 1.1rem;background:#14122380;border:1px solid rgba(169,159,224,.22);border-radius:5px;scroll-margin-top:100px;display:flex;flex-direction:column;gap:.3rem}.codex__orbital-card--moon{border-left:3px solid rgba(180,200,240,.6)}.codex__orbital-card--with-preview{flex-direction:row;align-items:center;gap:1rem}.codex__orbital-card-text{display:flex;flex-direction:column;gap:.3rem;flex:1 1 auto;min-width:0}.codex__orbiter-preview{flex-shrink:0}@media(max-width:700px){.codex__orbital-card--with-preview{flex-direction:column;align-items:stretch}.codex__orbiter-preview{align-self:center}}.codex__orbital-card--ring{border-left:3px solid rgba(216,208,255,.55)}.codex__orbital-card--object{border-left:3px solid rgba(255,220,130,.6)}.codex__orbital-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .7rem}.codex__orbital-card-name{margin:0;font-size:1rem;color:#e8e8ee;flex:1 1 auto}.codex__orbital-chip{display:inline-block;padding:.15rem .5rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.65;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;border:1px solid rgba(169,159,224,.3);color:#d8d0fff2;background:#a99fe014}.codex__orbital-chip--type{border-color:#b4c8f073;background:#b4c8f01a;color:#dce6faf2}.codex__orbital-chip--origin{border-color:#d8d0ff80;background:#d8d0ff1a;color:#e8e0fff2}.codex__orbital-chip--status{border-color:#ffdc8280;background:#ffdc8214;color:#ffe6aff2}.codex__orbital-chip--feature{font-size:.65rem;text-transform:none;letter-spacing:0;font-family:inherit;padding:.15rem .55rem}.codex__orbital-card-meta{margin:0;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;color:#a99fe0d9}.codex__orbital-card-tags{margin:.15rem 0 0;display:flex;flex-wrap:wrap;gap:.35rem}.codex__orbital-card-desc{margin:.35rem 0 0;font-size:.88rem;line-height:1.5;color:#e8e8eeeb}.codex__orbital-card-function{margin:.35rem 0 0;padding:.5rem .7rem;background:#7da9e014;border-left:2px solid rgba(125,169,224,.4);border-radius:3px;font-size:.82rem;line-height:1.5;color:#7da9e0eb}.codex__orbital-card-mystery{margin:.35rem 0 0;padding:.5rem .7rem;background:#d8d0ff14;border-left:2px solid rgba(216,208,255,.4);border-radius:3px;font-size:.82rem;line-height:1.5;color:#d8d0ffeb}.codex__orbital-card-events{margin:.35rem 0 0;padding-left:1.1rem;font-size:.82rem;line-height:1.5;color:#e8e8eee0;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.codex__orbital-card-events li{margin-bottom:.2rem}.codex__threat-list{display:grid;grid-template-columns:1fr;gap:1.1rem}.codex__threat-card{padding:1rem 1.2rem;background:#1412238c;border:1px solid rgba(169,159,224,.25);border-left:3px solid rgba(224,100,100,.55);border-radius:6px;scroll-margin-top:100px;display:flex;flex-direction:column;gap:.4rem}.codex__threat-card--biologique{border-left-color:#7de0a999}.codex__threat-card--technologique{border-left-color:#b4c8f099}.codex__threat-card--mémétique{border-left-color:#d8d0ff99}.codex__threat-card--géologique{border-left-color:#ffdc8299}.codex__threat-card--cosmique{border-left-color:#a0a0f0b3}.codex__threat-card--environnemental{border-left-color:#7da9e099}.codex__threat-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .8rem}.codex__threat-card-name{margin:0;font-size:1.1rem;color:#e8e8ee;flex:1 1 auto}.codex__threat-card-chips{display:flex;flex-wrap:wrap;gap:.35rem}.codex__threat-chip{display:inline-block;padding:.15rem .5rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.65;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;border:1px solid rgba(169,159,224,.3);background:#a99fe014;color:#d8d0fff2}.codex__threat-chip--type{border-color:#e0646466;background:#e0646414;color:#ffc8c8f2}.codex__threat-chip--scope{border-color:#b4c8f073;background:#b4c8f01a}.codex__threat-chip--status-active{border-color:#e0646480;background:#e064641f;color:#ffb4b4f2}.codex__threat-chip--status-dormante{border-color:#d8d0ff80;background:#d8d0ff1a}.codex__threat-chip--status-contenue{border-color:#7de0a980;background:#7de0a91a;color:#b4f0c8f2}.codex__threat-chip--status-s_étendant{border-color:#ff96828c;background:#ff96821f;color:#ffc8b4f2}.codex__threat-chip--status-en_déclin{border-color:#a99fe080;background:#a99fe01a}.codex__threat-card-meta{margin:0;font-size:.82rem;line-height:1.5;color:#d8d0ffe0}.codex__threat-card-desc{margin:.35rem 0 0;font-size:.9rem;line-height:1.55;color:#e8e8eeeb}.codex__threat-card-mechanism{margin:.5rem 0 0;padding:.6rem .8rem;background:#e0646412;border-left:2px solid rgba(224,100,100,.45);border-radius:3px}.codex__threat-card-mechanism p{margin:0;font-size:.88rem;line-height:1.5;color:#e8e8eeeb}.codex__threat-card-defense-block{margin-top:.5rem}.codex__threat-defense-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.codex__threat-defense{display:grid;grid-template-columns:100px 1fr auto;gap:.8rem;align-items:center;padding:.4rem .6rem;background:#0000002e;border-radius:3px;font-size:.82rem;line-height:1.4}.codex__threat-defense-bp{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;color:#a99fe0d9}.codex__threat-defense-civ{color:#e8e8eef2}.codex__threat-defense-outcome{display:inline-block;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.65;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border:1px solid transparent;border-radius:3px}.codex__threat-defense--échec .codex__threat-defense-outcome{border-color:#e0646480;background:#e064641f;color:#ffb4b4f2}.codex__threat-defense--partiel .codex__threat-defense-outcome{border-color:#ffdc8280;background:#ffdc821a;color:#ffe6aff2}.codex__threat-defense--succès .codex__threat-defense-outcome{border-color:#7de0a980;background:#7de0a91f;color:#b4f0c8f2}.codex__threat-defense--inconnu .codex__threat-defense-outcome{border-color:#a99fe080;background:#a99fe01a;color:#d8d0ffd9}.scene-loader{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0a0ff5;z-index:10;opacity:1;transition:opacity var(--fade-out-duration, .4s) cubic-bezier(.4,0,.2,1);pointer-events:none}.scene-loader[data-fading-out=true]{opacity:0}.scene-loader__content{text-align:center;padding:1rem 2rem;max-width:320px}.scene-loader__message{margin:0 0 1.25rem;font-size:clamp(.9rem,2.4vw,1rem);opacity:.85;letter-spacing:.02em}.scene-loader__pulse{position:relative;height:2px;width:100%;background:#ffffff14;border-radius:1px;overflow:hidden}.scene-loader__pulse-bar{position:absolute;top:0;left:0;height:100%;width:40%;background:linear-gradient(90deg,transparent,rgba(140,120,200,.85),transparent);animation:scene-loader-slide 1.4s ease-in-out infinite}@keyframes scene-loader-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(prefers-reduced-motion:reduce){.scene-loader__pulse-bar{animation:none;width:100%;background:#8c78c899}.scene-loader{transition:opacity .1s linear}}.auth-page{align-items:center;justify-content:center;padding:clamp(1.5rem,5vw,3rem)}.auth-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:.9rem;padding:clamp(1.5rem,5vw,2.5rem);border:1px solid rgba(169,159,224,.22);border-radius:.6rem;background:#ffffff06}.auth-card--splash{align-items:center;text-align:center}.auth-title{font-size:clamp(1.8rem,6vw,2.4rem);letter-spacing:.02em;margin:0;line-height:1.1}.auth-lead{margin:0;font-size:clamp(1rem,3vw,1.15rem);color:#b9a3ff;text-align:center}.auth-text{margin:0;font-size:.95rem;line-height:1.5;opacity:.85}.auth-hint{margin:0;font-size:.85rem;opacity:.55}.auth-field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.auth-field span{opacity:.75}.auth-field input{padding:.75rem .85rem;font-size:1rem;color:#e8e8ee;background:#ffffff0a;border:1px solid rgba(169,159,224,.3);border-radius:.4rem;-webkit-tap-highlight-color:transparent}.auth-field input:focus{outline:none;border-color:#a99fe0b3}.auth-field__scramble{box-sizing:border-box;position:relative;overflow:hidden;display:flex;align-items:center;padding:.75rem .85rem;border:1px solid rgba(169,159,224,.55);border-radius:.4rem;background:#ffffff0a;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:1rem;line-height:1.2}.auth-field__scramble:before{content:"";position:absolute;inset:0 auto 0 0;width:35%;z-index:0;background:linear-gradient(90deg,transparent 0%,rgba(169,159,224,.22) 50%,transparent 100%);pointer-events:none;animation:discovery-panel-radar-sweep 2.4s ease-in-out infinite alternate}@media(prefers-reduced-motion:reduce){.auth-field__scramble:before{animation:none}}.auth-error{margin:0;font-size:.88rem;color:#ff9a9a}.auth-btn{margin-top:.3rem;padding:.85rem 1.6rem;font-size:1rem;min-height:44px;border:none;border-radius:.4rem;background:#5a4a8c;color:#fff;cursor:pointer;transition:background .15s ease;-webkit-tap-highlight-color:transparent}.auth-btn:hover,.auth-btn:active{background:#6e5ba8}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-link{align-self:center;background:none;border:none;color:#b9a3ff;font-size:.88rem;cursor:pointer;padding:.3rem;text-decoration:underline;-webkit-tap-highlight-color:transparent}.auth-link:hover,.auth-link:active{color:#d4c6ff}
