:root {
  --ink: #0b0b0b;
  --ink-soft: #141412;
  --cream: #f3efe6;
  --cream-muted: #b7b2a8;
  --line: rgba(255,255,255,.13);
  --gold: #d9b36c;
  --gold-bright: #f0cf8a;
  --moss: #9eb188;
  --violet: #a88bc8;
  --radius: 24px;
  --font-brand: "Julius Sans One", "Avenir Next", sans-serif;
  --font-display: "Orbitron", "Avenir Next", sans-serif;
  --font-body: "Rajdhani", "Avenir Next", sans-serif;
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 80% -10%, rgba(124, 95, 57, .16), transparent 29rem),
    radial-gradient(circle at 2% 24%, rgba(73, 90, 71, .13), transparent 26rem),
    var(--ink);
  color: var(--cream);
  font: 500 1.03rem/1.5 var(--font-body);
}
body.sheet-open { overflow: hidden; }
button, input, textarea { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.grain { position: fixed; inset: 0; pointer-events: none; opacity: .035; z-index: 20; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }

.topbar { height: 82px; display: grid; grid-template-columns: 1fr minmax(300px, 520px) 1fr; align-items: center; gap: 2rem; padding: 0 3.25rem; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 12; background: rgba(11,11,11,.84); backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: .72rem; border: 0; background: none; padding: 0; font: 400 1rem/1 var(--font-brand); cursor: pointer; justify-self: start; text-shadow: 0 0 9px rgba(255,255,255,.14), 0 0 20px rgba(240,207,138,.2), 0 0 34px rgba(168,139,200,.14); }
.brand-mark { width: 52px; height: 52px; display: grid; place-items: center; flex: 0 0 auto; }
.brand-mark img { width: 100%; height: 100%; display: block; object-fit: contain; filter: drop-shadow(0 0 7px rgba(240,207,138,.13)); }
.brand-word { display: inline-flex; align-items: center; gap: .08rem; letter-spacing: .03em; }
.brand-sigil { width: 7px; height: 7px; display: inline-grid; place-items: center; flex: 0 0 7px; color: rgba(240,207,138,.78); filter: drop-shadow(0 0 2px rgba(240,207,138,.28)) drop-shadow(0 0 5px rgba(168,139,200,.12)); transition: color .25s, filter .25s; }
.brand-sigil svg { width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.brand-sigil .sigil-dot { fill: currentColor; stroke: none; }
.brand:hover .brand-sigil { color: rgba(255,224,157,.98); filter: drop-shadow(0 0 4px rgba(240,207,138,.52)) drop-shadow(0 0 9px rgba(168,139,200,.25)); }
.search-shell { height: 46px; display: flex; align-items: center; gap: .7rem; border: 1px solid var(--line); border-radius: 999px; padding: 0 1rem; background: rgba(255,255,255,.035); transition: border-color .2s, background .2s; }
.search-shell:focus-within { border-color: rgba(217,179,108,.62); background: rgba(255,255,255,.055); }
.search-shell svg, .icon-button svg, .quiet-button svg, .location-button svg, .mobile-nav svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.search-shell input { width: 100%; border: 0; outline: 0; color: var(--cream); background: transparent; font-size: .94rem; }
.search-shell input::placeholder { color: #85827c; }
kbd { color: #7d7971; border: 1px solid var(--line); border-radius: 6px; padding: .08rem .38rem; font: 500 .72rem var(--font-body); }
.top-actions { display: flex; gap: .7rem; justify-self: end; align-items: center; }
.icon-button { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.025); cursor: pointer; position: relative; transition: background .2s, border-color .2s; }
.icon-button:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.28); }
.save-count { position: absolute; right: -3px; top: -4px; min-width: 19px; height: 19px; display: grid; place-items: center; padding: 0 4px; border-radius: 99px; color: #17130b; background: var(--gold-bright); border: 2px solid var(--ink); font: 700 .67rem var(--font-body); }
.button { min-height: 46px; border: 1px solid var(--gold); border-radius: 999px; background: var(--gold); color: #17130b; padding: 0 1.25rem; font-weight: 600; cursor: pointer; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-1px); background: var(--gold-bright); }
.button-small { min-height: 42px; padding: 0 1.05rem; font-size: .88rem; }

main { width: min(1480px, calc(100% - 6.5rem)); margin: 0 auto; padding: 3.3rem 0 7rem; }
.intro { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .65fr); align-items: end; gap: 3rem; margin-bottom: 2.5rem; }
.eyebrow { margin: 0 0 .6rem; color: var(--gold); text-transform: uppercase; letter-spacing: .18em; font: 600 .72rem var(--font-display); }
h1, h2, h3, p { text-wrap: pretty; }
h1 { margin: 0; font: 500 clamp(2.4rem, 4.25vw, 4.45rem)/1.06 var(--font-display); letter-spacing: -.014em; max-width: 980px; text-shadow: 0 0 12px rgba(255,255,255,.055), 0 0 34px rgba(168,139,200,.18); }
h1 em { color: var(--gold); font-style: normal; font-weight: 400; text-shadow: 0 0 24px rgba(217,179,108,.14); }
.intro-copy { margin: 0 0 .45rem auto; color: var(--cream-muted); max-width: 410px; font-size: 1.02rem; }
.intro-copy strong { display: block; margin-bottom: .28rem; color: var(--cream); font: 600 .86rem var(--font-display); letter-spacing: .025em; text-shadow: 0 0 16px rgba(168,139,200,.18); }
.filter-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1.35rem; margin-bottom: 1.35rem; border-bottom: 1px solid var(--line); }
.filters { display: flex; gap: .55rem; flex-wrap: wrap; }
.filter-chip, .location-button { min-height: 42px; position: relative; isolation: isolate; overflow: hidden; border: 1px solid rgba(168,139,200,.27); border-radius: 999px; padding: 0 1rem; color: #d5d1dd; background: radial-gradient(circle at 18% 29%, rgba(255,255,255,.55) 0 .65px, transparent .9px), radial-gradient(circle at 72% 68%, rgba(240,207,138,.42) 0 .7px, transparent 1px), radial-gradient(circle at 88% 26%, rgba(168,139,200,.5) 0 .55px, transparent .85px), linear-gradient(135deg, rgba(35,29,47,.72), rgba(12,14,21,.9) 58%, rgba(24,31,43,.72)); box-shadow: inset 0 0 17px rgba(168,139,200,.055), 0 0 0 1px rgba(255,255,255,.018); cursor: pointer; font-size: .9rem; text-shadow: 0 0 10px rgba(168,139,200,.13); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease; }
.filter-chip::before, .location-button::before { content: ""; position: absolute; z-index: -1; width: 72%; height: 155%; left: 17%; top: -61%; border: 1px solid rgba(240,207,138,.09); border-left-color: transparent; border-bottom-color: transparent; border-radius: 50%; transform: rotate(-10deg); pointer-events: none; }
.filter-chip { padding-right: 1.45rem; }
.filter-chip::after { content: ""; position: absolute; right: .72rem; top: 50%; width: 2px; height: 2px; border-radius: 50%; background: rgba(240,207,138,.62); box-shadow: 0 0 5px rgba(240,207,138,.58), -7px -8px 0 -.4px rgba(168,139,200,.34); transform: translateY(-50%); }
.filter-chip:hover, .location-button:hover { color: #fff9ea; border-color: rgba(240,207,138,.48); background: radial-gradient(circle at 18% 29%, rgba(255,255,255,.72) 0 .7px, transparent 1px), radial-gradient(circle at 72% 68%, rgba(240,207,138,.56) 0 .75px, transparent 1.05px), radial-gradient(circle at 88% 26%, rgba(168,139,200,.63) 0 .6px, transparent .9px), linear-gradient(135deg, rgba(53,40,66,.78), rgba(16,17,25,.94) 58%, rgba(31,42,55,.8)); box-shadow: inset 0 0 20px rgba(168,139,200,.09), 0 0 16px rgba(168,139,200,.1); transform: translateY(-1px); }
.filter-chip:focus-visible, .location-button:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
.filter-chip.active { color: #fff8dc; border-color: rgba(240,207,138,.78); background: radial-gradient(circle at 25% 38%, rgba(255,246,205,.24), transparent 28%), radial-gradient(circle at 78% 54%, rgba(168,139,200,.25), transparent 34%), linear-gradient(135deg, rgba(91,66,107,.88), rgba(36,29,48,.96) 48%, rgba(42,57,72,.9)); box-shadow: inset 0 0 21px rgba(240,207,138,.1), 0 0 10px rgba(240,207,138,.18), 0 0 25px rgba(168,139,200,.14); text-shadow: 0 0 8px rgba(255,242,203,.35); }
.filter-chip.active::before { border-color: rgba(240,207,138,.28); border-left-color: transparent; border-bottom-color: transparent; }
.filter-chip.active::after { width: 3px; height: 3px; background: #fff4c8; box-shadow: 0 0 5px #f0cf8a, 0 0 11px rgba(240,207,138,.82), -8px -8px 0 -.7px rgba(202,169,226,.7); }
.location-button { display: flex; align-items: center; gap: .55rem; white-space: nowrap; color: var(--cream-muted); }
.location-button[aria-pressed="true"] { border-color: rgba(158,177,136,.62); color: var(--cream); background: radial-gradient(circle at 22% 35%, rgba(187,218,166,.18), transparent 26%), linear-gradient(135deg, rgba(48,65,50,.75), rgba(14,20,21,.94) 65%, rgba(36,34,52,.72)); box-shadow: inset 0 0 18px rgba(158,177,136,.08), 0 0 15px rgba(158,177,136,.12); }
.coordinate-button { min-height: 52px; padding: .42rem 1rem .42rem .82rem; text-align: left; }
.coordinate-button svg { color: var(--gold-bright); }
.coordinate-copy { display: flex; flex-direction: column; gap: .05rem; }
.coordinate-copy small { color: #838091; font: 600 .55rem var(--font-display); letter-spacing: .12em; text-transform: uppercase; }
.coordinate-copy strong { color: #ded7c9; font: 500 .7rem var(--font-display); letter-spacing: .035em; }

.local-pulse { position:relative; overflow:hidden; margin:0 0 1.6rem; border:1px solid rgba(134,217,238,.24); border-radius:28px; padding:1.35rem; background:radial-gradient(circle at 92% 8%,rgba(134,217,238,.12),transparent 30%),radial-gradient(circle at 8% 92%,rgba(168,139,200,.12),transparent 34%),rgba(255,255,255,.018); box-shadow:inset 0 0 48px rgba(134,217,238,.025); }
.pulse-radar { width:260px; height:260px; position:absolute; right:-72px; top:-110px; border:1px solid rgba(134,217,238,.13); border-radius:50%; pointer-events:none; }
.pulse-radar::before,.pulse-radar::after { content:""; position:absolute; inset:35px; border:1px dashed rgba(168,139,200,.13); border-radius:50%; }.pulse-radar::after{inset:78px;border-style:solid}
.pulse-radar span { width:5px;height:5px;position:absolute;border-radius:50%;background:#86d9ee;box-shadow:0 0 12px #86d9ee}.pulse-radar span:nth-child(1){left:30px;top:107px}.pulse-radar span:nth-child(2){right:54px;top:54px}.pulse-radar span:nth-child(3){right:72px;bottom:35px}.pulse-radar i{position:absolute;left:50%;top:50%;width:47%;height:1px;transform-origin:left;background:linear-gradient(90deg,rgba(134,217,238,.5),transparent);animation:pulse-scan 9s linear infinite}
.pulse-heading{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.pulse-heading h2{margin:0;font:600 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display);letter-spacing:.12em;text-shadow:0 0 25px rgba(134,217,238,.18)}.pulse-heading-actions{display:flex;align-items:center;gap:.55rem}.pulse-live{display:flex;align-items:center;gap:.42rem;border:1px solid rgba(134,217,238,.22);border-radius:999px;padding:.35rem .65rem;color:#99aeb6;font-size:.7rem}.pulse-live i,.pulse-footer i{width:6px;height:6px;border-radius:50%;background:#86d9ee;box-shadow:0 0 9px #86d9ee}
.pulse-intro{position:relative;z-index:1;max-width:760px;margin:.75rem 0 1rem;color:#9a9da9;font-size:.9rem}.pulse-filters{position:relative;z-index:1;display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:none}.pulse-filters::-webkit-scrollbar{display:none}.pulse-filters button{flex:0 0 auto;min-height:35px;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:0 .75rem;color:#898b98;background:rgba(255,255,255,.025);cursor:pointer;font-size:.73rem}.pulse-filters button.active,.pulse-filters button:hover{color:#e8fbff;border-color:rgba(134,217,238,.48);background:rgba(134,217,238,.09);box-shadow:0 0 16px rgba(134,217,238,.07)}
.pulse-events{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.65rem}.pulse-card{min-width:0;display:grid;grid-template-columns:52px 1fr 34px;align-items:center;gap:.8rem;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:.8rem;background:linear-gradient(120deg,rgba(134,217,238,.05),rgba(255,255,255,.014));}.pulse-date{height:54px;display:grid;place-content:center;text-align:center;border:1px solid rgba(134,217,238,.25);border-radius:13px;background:#0c1418}.pulse-date strong{font:600 1.2rem/1 var(--font-display);color:#dff9ff}.pulse-date span{margin-top:.18rem;color:#86d9ee;font-size:.55rem;letter-spacing:.12em}.pulse-card-copy{min-width:0}.pulse-card-meta{display:flex;gap:.5rem;align-items:center;color:#86d9ee;font:600 .55rem var(--font-display);letter-spacing:.1em;text-transform:uppercase}.pulse-card-meta b{border:1px solid rgba(240,207,138,.35);border-radius:999px;padding:.13rem .35rem;color:#f0cf8a;font-size:.48rem}.pulse-card h3{margin:.28rem 0 .2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 .85rem var(--font-display)}.pulse-card p{margin:0;color:#9a98a4;font-size:.7rem}.pulse-badges{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.45rem}.pulse-badges span{border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:.16rem .38rem;color:#aaa8b2;font-size:.58rem}.pulse-card small{display:block;margin-top:.4rem;color:#666977;font-size:.58rem}.pulse-enter{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(134,217,238,.25);border-radius:50%;color:#86d9ee;text-decoration:none}.pulse-enter:hover{background:rgba(134,217,238,.1)}
.pulse-empty{position:relative;z-index:1;display:flex;align-items:center;gap:.8rem;margin-top:.7rem;border:1px dashed rgba(134,217,238,.2);border-radius:15px;padding:1rem;color:#7d808e}.pulse-empty[hidden]{display:none}.pulse-empty>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(134,217,238,.24);border-radius:50%;color:#86d9ee}.pulse-empty strong,.pulse-empty small{display:block}.pulse-empty strong{color:#c3c3cb;font:600 .76rem var(--font-display)}.pulse-empty small{margin-top:.2rem;font-size:.67rem}.pulse-footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.08);color:#6f727d;font-size:.65rem}.pulse-footer>span{display:flex;align-items:center;gap:.45rem}.pulse-submit{min-height:38px;padding:0 .85rem;font-size:.72rem}.pulse-submit-dialog{border-color:rgba(134,217,238,.3);background:radial-gradient(circle at 90% 4%,rgba(47,115,135,.2),transparent 32%),#101016}.pulse-submit-dialog form{grid-template-columns:1fr 1fr}.pulse-submit-dialog form>label:nth-last-of-type(-n+2),.pulse-submit-dialog .identity-note,.pulse-submit-dialog .button{grid-column:1/-1}
@keyframes pulse-scan{to{transform:rotate(360deg)}}

.experience-shell { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 1.6rem; align-items: start; }
.side-column { display: grid; gap: 1rem; }
.feed-meta { display: flex; justify-content: space-between; align-items: center; min-height: 35px; margin-bottom: 1rem; color: #8f8b84; font-size: .88rem; }
.feed-meta p { margin: 0; }
.signal-summary { color: var(--gold); }
.feed-tools { display: flex; align-items: center; gap: .8rem; }
.quiet-button { display: flex; align-items: center; gap: .5rem; border: 0; background: transparent; cursor: pointer; color: var(--cream-muted); padding: .35rem; }
.quiet-button:hover { color: var(--cream); }
.signal-control-group { display: flex; align-items: center; gap: .08rem; }
.signal-toggle { color: #827e77; }
.signal-toggle.active { color: var(--gold-bright); }
.signal-info-button { width: 23px; height: 23px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; padding: 0; color: #77737f; background: rgba(255,255,255,.02); cursor: pointer; font: 600 .65rem var(--font-display); transition: color .2s, border-color .2s, background .2s; }
.signal-info-button:hover { color: var(--gold-bright); border-color: rgba(240,207,138,.45); background: rgba(217,179,108,.07); }
.world-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.world-grid > .local-pulse { grid-column: 1 / -1; order: 0; margin: .35rem 0; }
.world-card { min-height: 475px; position: relative; overflow: hidden; border-radius: var(--radius); border: 1px solid rgba(255,255,255,.12); background: #1b1a18; isolation: isolate; cursor: pointer; transform: translateZ(0); }
.world-card.featured { grid-column: 1 / -1; min-height: 620px; }
.world-card img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .4s; }
.world-card:hover img { transform: scale(1.035); filter: saturate(1.08); }
.world-card::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 26%, rgba(8,8,7,.1) 47%, rgba(8,8,7,.9) 88%, rgba(8,8,7,.98)); }
.world-card::before { content: ""; position: absolute; inset: 0; z-index: 2; border: 1px solid transparent; border-radius: inherit; transition: border-color .25s; pointer-events: none; }
.world-card:hover::before { border-color: rgba(217,179,108,.62); }
.site-preview-bar { position: absolute; z-index: 3; inset: 0 0 auto; height: 38px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: 0 .9rem; border-bottom: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.72); background: rgba(8,8,8,.72); backdrop-filter: blur(14px); font-size: .64rem; letter-spacing: .04em; }
.preview-lights { display: flex; gap: 4px; }
.preview-lights i { width: 5px; height: 5px; border-radius: 50%; background: rgba(240,207,138,.66); box-shadow: 0 0 7px rgba(240,207,138,.18); }
.preview-lights i:nth-child(2) { background: rgba(168,139,200,.7); }
.preview-lights i:nth-child(3) { background: rgba(158,177,136,.7); }
.preview-domain { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preview-label { color: rgba(240,207,138,.78); font: 600 .58rem var(--font-display); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.card-top { position: absolute; z-index: 3; inset: 3.25rem 1rem auto; display: flex; justify-content: space-between; align-items: flex-start; }
.type-pill { display: inline-flex; align-items: center; gap: .42rem; background: rgba(7,7,7,.54); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.17); border-radius: 999px; padding: .45rem .7rem; font-size: .72rem; }
.type-pill span { width: 6px; height: 6px; background: var(--gold-bright); border-radius: 50%; }
.card-save { background: rgba(7,7,7,.5); backdrop-filter: blur(12px); }
.card-save.saved { color: var(--ink); background: var(--gold-bright); border-color: var(--gold-bright); }
.card-save.saved svg { fill: currentColor; }
.card-content { position: absolute; z-index: 3; inset: auto 1.4rem 1.35rem; }
.location-line { margin: 0 0 .65rem; color: rgba(255,255,255,.72); font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.world-card h2 { margin: 0 0 .45rem; font: 500 clamp(1.42rem, 1.85vw, 2.08rem)/1.16 var(--font-display); letter-spacing: .002em; text-shadow: 0 0 20px rgba(168,139,200,.16); }
.world-card.featured h2 { font-size: clamp(2.1rem, 3vw, 3.35rem); }
.card-description { margin: 0 0 1rem; color: rgba(255,255,255,.77); max-width: 39rem; font-size: .92rem; }
.tag-row { display: flex; gap: .42rem; flex-wrap: wrap; }
.tag { border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: .28rem .55rem; color: rgba(255,255,255,.8); font-size: .7rem; }
.open-hint { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem; color: var(--gold-bright); font-weight: 600; font-size: .84rem; }
.open-hint svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }

.signal-card { min-height: 475px; position: relative; overflow: hidden; border-radius: var(--radius); border: 1px solid rgba(217,179,108,.34); background: #161514; isolation: isolate; }
.signal-card video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.signal-visual { position:absolute; inset:0; overflow:hidden; background:radial-gradient(circle at 50% 38%,rgba(240,207,138,.24),transparent 24%),linear-gradient(145deg,#171326,#07131b); }
.signal-visual img { width:100%; height:100%; object-fit:cover; opacity:.78; filter:saturate(.78) contrast(1.06); transform:scale(1.025); animation:signal-drift 16s ease-in-out infinite alternate; }
.signal-visual::before,.signal-visual::after,.signal-visual>span,.signal-visual>i,.signal-visual>b { content:""; position:absolute; left:50%; top:45%; border-radius:50%; transform:translate(-50%,-50%); pointer-events:none; }
.signal-visual::before { width:58%; aspect-ratio:1; border:1px solid rgba(240,207,138,.24); box-shadow:0 0 45px rgba(168,139,200,.18),inset 0 0 36px rgba(134,217,238,.08); animation:signal-orbit 28s linear infinite; }
.signal-visual::after { width:34%; aspect-ratio:1; border:1px dashed rgba(255,255,255,.26); animation:signal-orbit 19s linear infinite reverse; }
.signal-visual>span { width:9px; height:9px; background:#fff5cf; box-shadow:0 0 12px #fff,0 0 38px #f0cf8a,88px -28px 0 -2px #bca2ed,-72px 47px 0 -3px #8ed9e9; }
.signal-visual>i { width:1px; height:62%; background:linear-gradient(transparent,rgba(240,207,138,.45),transparent); rotate:38deg; }
.signal-visual> b { width:68%; height:1px; background:linear-gradient(90deg,transparent,rgba(168,139,200,.35),transparent); rotate:-22deg; }
.signal-visual.tide{background:radial-gradient(circle at 50% 30%,#376b7a55,transparent 30%),#07161a}.signal-visual.ember{background:radial-gradient(circle,#d7925666,transparent 34%),#1b0d13}.signal-visual.violet{background:radial-gradient(circle,#ab7bd75c,transparent 34%),#100b20}.signal-visual.ink{background:radial-gradient(circle,#8d82b94f,transparent 32%),#0c0d18}.signal-visual.aurora{background:radial-gradient(circle at 62% 35%,#72d5bf55,transparent 32%),#130d22}.signal-visual.gold{background:radial-gradient(circle,#e2b15d52,transparent 36%),#191208}.signal-visual.breath{background:radial-gradient(ellipse,#8adbc15c,transparent 34%),linear-gradient(145deg,#081b1a,#101022)}.signal-visual.community{background:radial-gradient(circle at 45% 42%,#e9b97852,transparent 30%),#0b1220}.signal-visual.frequency{background:repeating-radial-gradient(circle at 50% 45%,#9b7bca18 0 2px,transparent 3px 21px),#090b1b}.signal-visual.crystal{background:conic-gradient(from 30deg at 50% 45%,#8bdce74a,#c99cff38,#f0cf8a33,#8bdce74a),#090b18}
.signal-card::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(6,6,6,.08), rgba(6,6,6,.08) 42%, rgba(6,6,6,.94) 91%); pointer-events: none; }
.signal-top { position: absolute; z-index: 3; inset: 1rem 1rem auto; display: flex; justify-content: space-between; align-items: flex-start; gap: .7rem; }
.signal-label { display: inline-flex; align-items: center; gap: .48rem; padding: .45rem .72rem; border: 1px solid rgba(240,207,138,.35); border-radius: 999px; background: rgba(8,8,7,.58); backdrop-filter: blur(12px); color: var(--gold-bright); font: 600 .7rem var(--font-display); letter-spacing: .08em; text-transform: uppercase; }
.signal-label svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.signal-controls { display: flex; gap: .45rem; }
.signal-control { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; display: grid; place-items: center; color: var(--cream); background: rgba(8,8,7,.58); backdrop-filter: blur(12px); cursor: pointer; }
.signal-control svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.signal-control:hover { background: rgba(8,8,7,.82); }
.signal-content { position: absolute; z-index: 3; inset: auto 1.35rem 1.3rem; }
.signal-reason { margin: 0 0 .55rem; color: rgba(255,255,255,.7); font-size: .78rem; }
.signal-card h2 { margin: 0 0 .45rem; font: 500 clamp(1.42rem, 1.85vw, 2.05rem)/1.16 var(--font-display); letter-spacing: .002em; text-shadow: 0 0 20px rgba(168,139,200,.16); }
.signal-description { margin: 0 0 1rem; max-width: 35rem; color: rgba(255,255,255,.76); font-size: .9rem; }
.signal-actions { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.signal-action { min-height: 38px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; padding: 0 .82rem; color: var(--cream); background: rgba(8,8,7,.42); cursor: pointer; font-size: .76rem; }
.signal-action.primary { border-color: var(--gold); color: var(--gold-bright); }
.signal-action:hover { background: rgba(8,8,7,.78); }
.signal-source { color: rgba(255,255,255,.42); font-size: .68rem; text-underline-offset: 3px; }
.signal-source:hover { color: rgba(255,255,255,.72); }
@keyframes signal-drift { to { transform:scale(1.09) translate3d(-1.2%,.8%,0); } }
@keyframes signal-orbit { to { transform:translate(-50%,-50%) rotate(360deg); } }

.drift-panel { position: relative; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.45rem; background: radial-gradient(circle at 50% 43%, rgba(148,108,183,.07), transparent 36%), linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); overflow: hidden; }
.drift-panel::before { content: ""; position: absolute; width: 240px; height: 240px; right: -90px; top: -110px; border-radius: 50%; background: rgba(217,179,108,.12); filter: blur(38px); pointer-events: none; }
.drift-heading { display: flex; justify-content: space-between; align-items: flex-start; }
.drift-heading h2 { margin: 0; font: 600 1.65rem var(--font-display); letter-spacing: .14em; text-shadow: 0 0 18px rgba(240,207,138,.14); }
.drift-heading-actions { display: flex; align-items: center; gap: .5rem; position: relative; z-index: 2; }
.live-pill { display: inline-flex; align-items: center; gap: .35rem; color: #aebea1; font-size: .72rem; border: 1px solid rgba(158,177,136,.25); border-radius: 999px; padding: .25rem .55rem; }
.live-pill span { width: 6px; height: 6px; background: #a4c58d; box-shadow: 0 0 10px #a4c58d; border-radius: 50%; }
.drift-copy { color: var(--cream-muted); font-size: .9rem; margin: 1rem 0 1.3rem; }
.drift-map { height: 294px; position: relative; display: grid; place-items: center; margin: 0 -.2rem; isolation: isolate; background: radial-gradient(ellipse at 42% 48%, rgba(168,139,200,.1), transparent 36%), radial-gradient(ellipse at 62% 58%, rgba(83,110,145,.07), transparent 43%); }
.drift-aura { position: absolute; width: 268px; height: 268px; border-radius: 50%; background: radial-gradient(circle, rgba(255,245,214,.14), rgba(168,139,200,.09) 30%, rgba(64,90,126,.045) 52%, transparent 72%); filter: blur(13px); animation: drift-breathe 5.8s ease-in-out infinite; }
.drift-sigil { position: absolute; z-index: 1; width: 252px; height: 252px; overflow: visible; fill: none; stroke: rgba(217,179,108,.23); stroke-width: .68; stroke-linecap: round; stroke-linejoin: round; opacity: .88; filter: drop-shadow(0 0 8px rgba(217,179,108,.15)) drop-shadow(0 0 18px rgba(168,139,200,.09)); }
.drift-sigil circle, .drift-sigil path, .drift-sigil polygon { vector-effect: non-scaling-stroke; }
.sigil-wheel { transform-box: view-box; transform-origin: center; animation: sigil-turn 72s linear infinite; }
.sigil-star { transform-box: view-box; transform-origin: center; stroke: rgba(240,207,138,.31); animation: sigil-turn-back 48s linear infinite; }
.crop-circles { stroke: rgba(168,139,200,.34); }
.orbit { position: absolute; border: 1px solid rgba(217,179,108,.2); border-radius: 50%; }
.orbit-one { z-index: 1; width: 226px; height: 226px; border-color: rgba(217,179,108,.13); border-style: dotted; filter: drop-shadow(0 0 4px rgba(217,179,108,.16)); animation: spin 38s linear infinite; }
.orbit-two { z-index: 1; width: 150px; height: 150px; border-color: rgba(168,139,200,.2); border-style: dashed; filter: drop-shadow(0 0 5px rgba(168,139,200,.14)); animation: spin 24s linear infinite reverse; }
.drift-map::before, .drift-map::after { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; }
.drift-map::before { z-index: 0; width: 276px; height: 276px; border: 1px solid rgba(217,179,108,.055); box-shadow: inset 0 0 48px rgba(217,179,108,.045), 0 0 46px rgba(168,139,200,.07); }
.drift-map::after { z-index: 1; width: 3px; height: 3px; box-shadow: 75px -58px var(--gold), -92px 35px rgba(255,255,255,.65), 64px 82px rgba(158,177,136,.85), -47px -89px rgba(168,139,200,.9), 108px 4px rgba(255,255,255,.5), -104px -55px rgba(240,207,138,.55); transform-origin: 50% 50%; animation: point-orbit 68s linear infinite; }
.drift-runes { position: absolute; z-index: 3; width: 254px; height: 254px; animation: rune-breathe 4.8s ease-in-out infinite, rune-orbit 86s linear infinite; }
.drift-runes span { position: absolute; left: var(--rx); top: var(--ry); transform: translate(-50%,-50%); color: rgba(240,207,138,.58); font: 500 .72rem Georgia, serif; text-shadow: 0 0 8px rgba(240,207,138,.48); }
.drift-center { width: 122px; height: 122px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; z-index: 4; text-align: center; border: 1px solid rgba(240,207,138,.4); border-radius: 50%; background: radial-gradient(circle at 50% 35%, rgba(75,59,68,.82), transparent 31%), radial-gradient(circle, rgba(35,29,32,.98), rgba(11,12,16,.96) 68%); box-shadow: inset 0 0 34px rgba(217,179,108,.08), inset 0 -12px 30px rgba(91,75,128,.09), 0 0 28px rgba(217,179,108,.14), 0 0 76px rgba(168,139,200,.16); padding: .6rem; }
.drift-center::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(217,179,108,.14); border-radius: 50%; box-shadow: inset 0 0 14px rgba(168,139,200,.09), 0 0 18px rgba(217,179,108,.07); }
.drift-center > span { width: 24px; height: 24px; display: grid; place-items: center; position: absolute; left: 50%; top: 50%; z-index: 2; isolation: isolate; translate: -50% -50%; transform-origin: 50% 50%; border-radius: 50%; color: rgba(255,255,255,.52); font-size: .32rem; line-height: 1; background: radial-gradient(circle, #fff 0 14%, #fff9d5 26%, #f8cf76 47%, #df8752 67%, rgba(151,75,119,.88) 83%, transparent 100%); box-shadow: inset 0 0 6px rgba(255,255,255,.88), 0 0 6px rgba(255,255,255,.98), 0 0 14px rgba(248,200,112,.95), 0 0 29px rgba(223,145,92,.62), 0 0 45px rgba(168,139,200,.46); text-shadow: 0 0 4px #fff, 0 0 8px rgba(255,241,190,.95); animation: solar-heart 4.8s ease-in-out infinite; }
.drift-center > span::before { content: ""; position: absolute; inset: -29px; z-index: -2; opacity: .98; background: repeating-conic-gradient(from 7deg, rgba(255,249,218,.92) 0 2deg, rgba(244,191,101,.52) 4deg 7deg, rgba(187,123,178,.28) 10deg 13deg, transparent 16deg 24deg); clip-path: polygon(50% 0%, 54% 36%, 65% 7%, 62% 39%, 81% 16%, 68% 42%, 98% 32%, 71% 47%, 100% 52%, 70% 55%, 91% 72%, 66% 62%, 77% 98%, 58% 69%, 48% 100%, 46% 69%, 28% 93%, 39% 64%, 5% 79%, 33% 58%, 0 49%, 32% 47%, 8% 30%, 37% 40%, 24% 5%, 45% 36%); -webkit-mask: radial-gradient(circle, transparent 0 21%, #000 34%, rgba(0,0,0,.82) 50%, rgba(0,0,0,.36) 68%, rgba(0,0,0,.1) 82%, transparent 100%); mask: radial-gradient(circle, transparent 0 21%, #000 34%, rgba(0,0,0,.82) 50%, rgba(0,0,0,.36) 68%, rgba(0,0,0,.1) 82%, transparent 100%); filter: blur(3px) drop-shadow(0 0 10px rgba(255,220,139,.54)); transform-origin: 50% 50%; mix-blend-mode: screen; animation: solar-corona 16s linear infinite; }
.drift-center > span::after { content: ""; position: absolute; inset: -24px; z-index: -1; border-radius: 42% 58% 47% 53% / 55% 43% 57% 45%; background: radial-gradient(circle, rgba(255,255,239,.5) 0 14%, rgba(246,203,119,.34) 28%, rgba(168,139,200,.2) 49%, transparent 78%), conic-gradient(from 22deg, transparent 0 7%, rgba(255,232,163,.42) 11%, transparent 17%, rgba(197,149,196,.22) 29%, transparent 40%, rgba(255,221,145,.36) 51%, transparent 60%, rgba(194,145,190,.2) 76%, transparent 88%); -webkit-mask: radial-gradient(circle, #000 0 45%, rgba(0,0,0,.82) 61%, rgba(0,0,0,.28) 81%, transparent 100%); mask: radial-gradient(circle, #000 0 45%, rgba(0,0,0,.82) 61%, rgba(0,0,0,.28) 81%, transparent 100%); filter: blur(5px); box-shadow: 0 0 22px rgba(240,207,138,.38), 0 0 44px rgba(168,139,200,.25); transform-origin: 50% 50%; animation: solar-flare 31s linear infinite reverse; }
.drift-center strong { position: absolute; z-index: 5; left: 50%; top: 13px; translate: -50% 0; width: 108px; color: rgba(240,207,138,.78); font: 600 .5rem/1 var(--font-display); letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; text-shadow: 0 0 7px rgba(240,207,138,.18), 0 1px 8px rgba(0,0,0,.96); }
.drift-center small { position: absolute; z-index: 5; left: 50%; bottom: 12px; translate: -50% 0; color: rgba(196,183,158,.72); font: 600 .52rem/1 var(--font-display); letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; text-shadow: 0 0 7px rgba(168,139,200,.18), 0 1px 7px rgba(0,0,0,.95); }
.drift-node { position: absolute; z-index: 4; width: 15px; height: 15px; border: 1px solid var(--gold); background: var(--ink); border-radius: 50%; box-shadow: 0 0 10px rgba(217,179,108,.52), 0 0 22px rgba(217,179,108,.2); }
.drift-node span { width: 3px; height: 3px; position: absolute; inset: 5px; border-radius: 50%; background: var(--cream); }
.node-a { left: 15%; top: 30%; }.node-b { right: 11%; top: 47%; }.node-c { left: 32%; bottom: 5%; }
.drift-trail { min-height: 42px; display: flex; align-items: center; overflow: hidden; margin-bottom: .9rem; }
.drift-trail p { margin: 0; color: #76726c; font-size: .76rem; }
.trail-list { display: flex; align-items: center; gap: .45rem; }
.trail-dot { width: 30px; height: 30px; border-radius: 50%; background-size: cover; background-position: center; border: 1px solid rgba(255,255,255,.24); }
.trail-arrow { color: #615e58; font-size: .75rem; }
.drift-button { width: 100%; min-height: 52px; border: 1px solid var(--gold); border-radius: 999px; padding: 0 1.1rem; display: flex; justify-content: space-between; align-items: center; color: var(--cream); background: rgba(217,179,108,.09); cursor: pointer; font-weight: 600; transition: background .2s, transform .2s; }
.drift-button:hover { background: rgba(217,179,108,.18); transform: translateY(-1px); }
.drift-button svg { width: 20px; fill: none; stroke: var(--gold-bright); stroke-width: 1.7; }
.drift-note { margin: .7rem 0 0; color: #6f6b65; text-align: center; font-size: .69rem; }
.discovery-instruments { position: relative; overflow: hidden; border: 1px solid rgba(168,139,200,.22); border-radius: var(--radius); padding: 1rem; background: radial-gradient(circle at 90% 4%, rgba(75,104,139,.13), transparent 34%), radial-gradient(circle at 8% 94%, rgba(103,72,139,.13), transparent 36%), rgba(255,255,255,.018); }
.discovery-instruments::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .24; background-image: radial-gradient(circle at 12% 17%, #fff 0 .55px, transparent .85px), radial-gradient(circle at 72% 64%, #d8b6ef 0 .55px, transparent .85px), radial-gradient(circle at 91% 23%, #f0cf8a 0 .55px, transparent .85px); background-size: 71px 83px, 89px 73px, 107px 97px; }
.instruments-heading { position: relative; z-index: 1; margin-bottom: .8rem; padding: .15rem .2rem .1rem; }
.instruments-heading .eyebrow { margin-bottom: .3rem; font-size: .61rem; }
.instruments-heading h2 { margin: 0; font: 600 1.15rem/1.2 var(--font-display); letter-spacing: -.02em; }
.instrument-card { --instrument-color: var(--gold-bright); width: 100%; min-height: 78px; display: grid; grid-template-columns: 45px 1fr 20px; align-items: center; gap: .72rem; position: relative; z-index: 1; overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 15px; margin-top: .55rem; padding: .7rem .75rem; color: var(--cream); background: linear-gradient(105deg, color-mix(in srgb, var(--instrument-color) 7%, transparent), rgba(255,255,255,.012) 68%); text-align: left; cursor: pointer; transition: transform .24s, border-color .24s, box-shadow .24s, background .24s; }
.instrument-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--instrument-color) 48%, transparent); box-shadow: 0 8px 28px rgba(0,0,0,.24), 0 0 20px color-mix(in srgb, var(--instrument-color) 8%, transparent); }
.instrument-galaxy { --instrument-color: #c99cff; }.instrument-signal { --instrument-color: #f0cf8a; }.instrument-beyond { --instrument-color: #86d9ee; }
.instrument-icon { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--instrument-color) 47%, transparent); border-radius: 50%; color: var(--instrument-color); background: color-mix(in srgb, var(--instrument-color) 7%, rgba(7,8,15,.85)); box-shadow: inset 0 0 14px color-mix(in srgb, var(--instrument-color) 6%, transparent), 0 0 14px color-mix(in srgb, var(--instrument-color) 10%, transparent); }
.instrument-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.instrument-copy { min-width: 0; }
.instrument-copy strong { display: block; color: #f0edf3; font: 600 .83rem var(--font-display); letter-spacing: -.01em; }
.instrument-copy small { display: block; margin-top: .22rem; color: #797987; font-size: .65rem; line-height: 1.25; }
.instrument-arrow { color: var(--instrument-color); font-size: 1rem; transition: transform .24s; }.instrument-card:hover .instrument-arrow { transform: translate(2px,-2px); }
.instrument-signal, .instrument-galaxy, .instrument-beyond { grid-template-columns: 1fr 27px; padding: 0 .72rem 0 0; cursor: default; }
.instrument-signal:hover, .instrument-galaxy:hover, .instrument-beyond:hover { transform: none; }
.instrument-main { min-height: 76px; display: grid; grid-template-columns: 45px 1fr; align-items: center; gap: .72rem; border: 0; padding: .7rem .2rem .7rem .75rem; color: var(--cream); background: transparent; text-align: left; cursor: pointer; }
.instrument-launch { grid-template-columns: 45px 1fr 20px; }
.instrument-main:not(.active) .instrument-icon { opacity: .48; filter: saturate(.3); }
.instrument-main:not(.active) .instrument-copy strong { color: #8b8992; }
.instrument-info { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid rgba(240,207,138,.25); border-radius: 50%; padding: 0; color: #9b8967; background: rgba(217,179,108,.04); cursor: pointer; font: 600 .68rem var(--font-display); }
.instrument-info:hover { color: var(--gold-bright); border-color: rgba(240,207,138,.58); background: rgba(217,179,108,.1); }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes sigil-turn { to { transform: rotate(360deg); } }
@keyframes sigil-turn-back { to { transform: rotate(-360deg); } }
@keyframes point-orbit { from { transform: translate(-50%,-50%) rotate(0); } to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes rune-orbit { to { transform: rotate(-360deg); } }
@keyframes drift-breathe { 0%,100% { opacity: .62; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.045); } }
@keyframes rune-breathe { 0%,100% { opacity: .62; } 50% { opacity: .95; } }
@keyframes solar-heart { 0%,100% { transform: scale(.95); filter: brightness(.94) saturate(.96); } 50% { transform: scale(1.06); filter: brightness(1.18) saturate(1.08); } }
@keyframes solar-corona { 0% { transform: rotate(0) scale(.93); opacity: .76; } 38% { transform: rotate(136deg) scale(1.04); opacity: 1; } 67% { transform: rotate(241deg) scale(.97); opacity: .86; } 100% { transform: rotate(360deg) scale(.93); opacity: .76; } }
@keyframes solar-flare { 0% { opacity: .66; transform: rotate(0) scale(.94); } 50% { opacity: .94; transform: rotate(180deg) scale(1.08); } 100% { opacity: .66; transform: rotate(360deg) scale(.94); } }

.empty-state { text-align: center; padding: 6rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); }
.empty-orbit { width: 72px; height: 72px; display: inline-block; border: 1px solid var(--gold); border-radius: 50%; position: relative; }
.empty-orbit::after { content: ""; width: 8px; height: 8px; position: absolute; top: 4px; left: 9px; background: var(--gold); border-radius: 50%; }
.empty-state h2 { font: 600 1.5rem var(--font-display); margin: 1rem 0 .4rem; }
.empty-state p { color: var(--cream-muted); margin: 0 0 1.25rem; }

.sheet-backdrop { position: fixed; inset: 0; z-index: 30; background: rgba(0,0,0,.66); backdrop-filter: blur(7px); }
.world-sheet { position: fixed; right: 0; top: 0; bottom: 0; z-index: 31; width: min(590px, 100%); background: #11110f; border-left: 1px solid var(--line); transform: translateX(102%); transition: transform .45s cubic-bezier(.2,.8,.2,1); overflow-y: auto; }
.world-sheet.open { transform: translateX(0); }
.sheet-close { position: absolute; top: 1rem; right: 1rem; z-index: 3; background: rgba(10,10,9,.62); backdrop-filter: blur(10px); }
.sheet-hero { aspect-ratio: 5/4; position: relative; overflow: hidden; }
.sheet-hero img { width: 100%; height: 100%; object-fit: cover; }
.sheet-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 55%, #11110f); }
.sheet-preview-bar { z-index: 2; }
.sheet-body { padding: 0 2rem 3rem; margin-top: -1.2rem; position: relative; z-index: 2; }
.sheet-body h2 { font: 600 clamp(2.2rem, 6vw, 3.8rem)/1 var(--font-display); letter-spacing: -.05em; margin: .7rem 0; }
.sheet-location { color: var(--gold); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.sheet-lede { color: #c7c2b8; font-size: 1.03rem; line-height: 1.65; }
.sheet-divider { height: 1px; background: var(--line); margin: 1.6rem 0; }
.sheet-latest { display: grid; grid-template-columns: 70px 1fr; gap: 1rem; align-items: start; }
.sheet-latest span { color: #817d75; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.sheet-latest strong { font-weight: 500; }
.sheet-actions { display: flex; gap: .7rem; margin-top: 1.7rem; }
.sheet-actions .button { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; text-decoration: none; }
.button-secondary { color: var(--cream); background: transparent; border-color: var(--line); }
.button-secondary:hover { background: rgba(255,255,255,.07); }

.submit-dialog { width: min(570px, calc(100% - 2rem)); border: 1px solid var(--line); border-radius: 26px; color: var(--cream); background: #141412; padding: 2rem; box-shadow: 0 30px 100px rgba(0,0,0,.6); }
.submit-dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(8px); }
.dialog-close { position: absolute; right: 1rem; top: 1rem; }
.dialog-heading h2 { font: 600 2.3rem var(--font-display); letter-spacing: -.04em; margin: .25rem 0 .5rem; }
.dialog-heading > p:last-child { color: var(--cream-muted); margin: 0 0 1.5rem; }
.submit-dialog form { display: grid; gap: 1rem; }
.submit-dialog label { color: #d7d2c9; font-size: .85rem; }
.submit-dialog label span { color: #77736c; }
.submit-dialog input, .submit-dialog textarea, .submit-dialog select { width: 100%; margin-top: .4rem; border: 1px solid var(--line); border-radius: 12px; color: var(--cream); background: #1a1a18; padding: .8rem .9rem; resize: vertical; }
.submit-dialog .button { justify-self: start; margin-top: .4rem; }
.submit-dialog .consent-row { display: grid; grid-template-columns: 18px 1fr; gap: .65rem; align-items: start; color: #8f8b84; line-height: 1.4; }
.submit-dialog .consent-row input { width: 16px; height: 16px; margin: .15rem 0 0; accent-color: var(--gold); }
.identity-note { margin: -.2rem 0 0; color: #77736c; font-size: .76rem; }
.contact-note { margin: -.45rem 0 0; color: #77736c; font-size: .76rem; }
.contact-note a, .trust-dialog-inner section a { color: var(--gold-bright); text-decoration-color: rgba(240,207,138,.35); text-underline-offset: 3px; }
.contact-note a:hover, .trust-dialog-inner section a:hover { text-decoration-color: currentColor; }
.founder-dialog { border-color: rgba(217,179,108,.38); background: radial-gradient(circle at 85% 4%, rgba(115,78,151,.2), transparent 31%), #101016; }

.founder-panel { position: relative; overflow: hidden; display: grid; grid-template-columns: 72px 1fr; gap: 1rem; margin-top: 1rem; border: 1px solid rgba(217,179,108,.22); border-radius: 22px; padding: 1.25rem; background: radial-gradient(circle at 10% 10%, rgba(217,179,108,.1), transparent 30%), radial-gradient(circle at 90% 80%, rgba(112,72,151,.15), transparent 35%), rgba(255,255,255,.018); }
.founder-panel::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .34; background-image: radial-gradient(circle at 13% 23%, #fff 0 .6px, transparent .9px), radial-gradient(circle at 72% 41%, #d8b6ef 0 .6px, transparent .9px); background-size: 79px 83px, 113px 107px; }
.founder-panel > * { position: relative; z-index: 1; }
.founder-orbit { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid rgba(217,179,108,.45); border-radius: 50%; color: var(--gold-bright); background: radial-gradient(circle, rgba(217,179,108,.2), transparent 68%); box-shadow: 0 0 30px rgba(217,179,108,.12); font-size: 1.35rem; }
.founder-panel h2 { margin: .2rem 0 .55rem; font: 600 1.15rem/1.2 var(--font-display); }
.founder-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.founder-title-row .instrument-info { flex: 0 0 auto; margin-top: .05rem; }
.founder-panel p { margin: 0; color: #8e8a84; font-size: .78rem; line-height: 1.5; }
.founder-panel ul { margin: .8rem 0; padding: 0; list-style: none; color: #b8b2a8; font-size: .74rem; }
.founder-panel li { margin: .3rem 0; }.founder-panel li::before { content: "✦"; margin-right: .5rem; color: var(--gold); font-size: .62rem; }
.founder-panel .founder-price { margin: .8rem 0; color: #aaa39a; }.founder-price strong { color: var(--cream); font: 600 1.3rem var(--font-display); }
.founder-button { width: 100%; }
.founder-panel small { display: block; margin-top: .65rem; color: #68655f; font-size: .65rem; line-height: 1.35; }

.trust-footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; border-top: 1px solid var(--line); padding-top: 1.1rem; color: #6f6b64; font-size: .72rem; }
.trust-links { display: flex; flex-wrap: wrap; gap: 1rem; }
.trust-links button, .trust-links a { border: 0; padding: 0; color: #8d877e; background: transparent; font: inherit; text-decoration: none; cursor: pointer; }
.trust-links button:hover, .trust-links a:hover { color: var(--gold-bright); }
.trust-dialog { width: min(760px, calc(100% - 2rem)); max-height: min(820px, calc(100dvh - 2rem)); overflow-y: auto; }
.trust-dialog-inner { padding: 2.4rem; }
.trust-dialog-inner h2 { margin: .25rem 0 1.5rem; font: 600 clamp(2rem, 5vw, 3.4rem)/1.05 var(--font-display); letter-spacing: -.05em; }
.trust-dialog-inner section { margin: 0 0 1.2rem; border-top: 1px solid rgba(255,255,255,.09); padding-top: 1rem; }
.trust-dialog-inner h3 { margin: 0 0 .45rem; color: var(--gold-bright); font: 600 .86rem var(--font-display); text-transform: uppercase; letter-spacing: .08em; }
.trust-dialog-inner section p { margin: 0; color: #96918a; line-height: 1.65; }
.trust-dialog-inner .button { margin-top: .7rem; }
.signal-info-dialog { width: min(760px, calc(100% - 2rem)); max-width: none; overflow: hidden; border: 1px solid rgba(217,179,108,.28); border-radius: 28px; color: var(--cream); background: #090a12; padding: 0; box-shadow: 0 40px 140px rgba(0,0,0,.82), 0 0 80px rgba(98,70,142,.12); }
.signal-info-dialog::backdrop { background: rgba(0,0,0,.8); backdrop-filter: blur(12px); }
.signal-info-dialog .dialog-close { z-index: 5; background: rgba(9,10,18,.7); backdrop-filter: blur(10px); }
.signal-info-inner { min-height: 430px; display: grid; grid-template-columns: minmax(220px,.78fr) minmax(360px,1.22fr); align-items: center; gap: 1.4rem; padding: 2rem; background: radial-gradient(circle at 20% 50%, rgba(95,63,130,.19), transparent 34%), radial-gradient(circle at 92% 10%, rgba(47,91,115,.12), transparent 33%); }
.signal-info-orbit { width: 220px; height: 220px; position: relative; display: grid; place-items: center; justify-self: center; border: 1px solid rgba(240,207,138,.2); border-radius: 50%; box-shadow: inset 0 0 42px rgba(168,139,200,.09), 0 0 44px rgba(168,139,200,.1); }
.signal-info-orbit::before, .signal-info-orbit::after { content: ""; position: absolute; border: 1px solid rgba(168,139,200,.2); border-radius: 50%; }
.signal-info-orbit::before { inset: 25px; border-style: dashed; animation: engine-spin 28s linear infinite; }
.signal-info-orbit::after { inset: 54px; border-color: rgba(134,217,238,.25); animation: engine-spin-reverse 18s linear infinite; }
.signal-info-orbit > span { width: 8px; height: 8px; position: absolute; border: 1px solid var(--gold-bright); border-radius: 50%; background: #090a12; box-shadow: 0 0 11px rgba(240,207,138,.6); }
.signal-info-orbit > span:nth-child(1) { left: 47%; top: -4px; }.signal-info-orbit > span:nth-child(2) { right: 10px; bottom: 50px; }.signal-info-orbit > span:nth-child(3) { left: 10px; bottom: 50px; }
.signal-info-orbit strong { width: 72px; height: 72px; display: grid; place-items: center; position: relative; z-index: 2; border: 1px solid rgba(240,207,138,.45); border-radius: 50%; color: var(--gold-bright); background: radial-gradient(circle, rgba(217,179,108,.17), rgba(12,12,21,.96) 67%); box-shadow: 0 0 20px rgba(240,207,138,.16), 0 0 44px rgba(168,139,200,.2); font: 400 1.2rem Georgia,serif; text-shadow: 0 0 9px rgba(240,207,138,.75); }
.signal-info-copy { padding-right: 1.8rem; }
.signal-info-copy h2 { margin: .15rem 0 .65rem; font: 600 clamp(1.9rem,3.5vw,3rem)/1.05 var(--font-display); letter-spacing: -.045em; }
.signal-info-copy > p:not(.eyebrow) { margin: 0; color: #9b9aa8; font-size: .88rem; line-height: 1.55; }
.signal-info-points { display: grid; gap: .6rem; margin-top: 1.15rem; }
.signal-info-points > div { display: grid; grid-template-columns: 28px 1fr; align-items: start; gap: .6rem; }
.signal-info-points > div > span { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid rgba(217,179,108,.24); border-radius: 50%; color: var(--gold-bright); font-size: .68rem; }
.signal-info-points p { margin: 0; color: #737482; font-size: .7rem; line-height: 1.35; }
.signal-info-points strong { display: inline-block; min-width: 72px; margin-right: .35rem; color: #d7d3dc; font: 600 .68rem var(--font-display); }
.signal-got-it { min-height: 41px; margin-top: 1.25rem; }
.galaxy-dialog { width: min(1220px, calc(100% - 2rem)); max-width: none; height: min(850px, calc(100dvh - 2rem)); max-height: none; overflow: hidden; border: 1px solid rgba(217,179,108,.26); border-radius: 30px; color: var(--cream); background: #090a12; padding: 0; box-shadow: 0 40px 140px rgba(0,0,0,.8), 0 0 90px rgba(98,70,142,.12); }
.galaxy-dialog::backdrop { background: rgba(0,0,0,.8); backdrop-filter: blur(12px); }
.galaxy-dialog .dialog-close { position: absolute; right: 1.15rem; top: 1.15rem; z-index: 8; background: rgba(9,10,18,.65); backdrop-filter: blur(12px); }
.galaxy-dialog form { height: 100%; display: flex; flex-direction: column; }
.galaxy-header { min-height: 134px; display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; padding: 1.65rem 5.3rem 1.25rem 2rem; border-bottom: 1px solid rgba(255,255,255,.1); background: linear-gradient(100deg, rgba(112,72,151,.12), transparent 50%, rgba(39,77,113,.1)); }
.galaxy-header h2 { margin: 0 0 .38rem; font: 600 clamp(2rem, 3.3vw, 3.4rem)/1 var(--font-display); letter-spacing: -.055em; }
.galaxy-header p:last-child { max-width: 670px; margin: 0; color: #9d9caf; font-size: .92rem; }
.galaxy-privacy { flex: 0 0 auto; display: flex; align-items: center; gap: .45rem; color: #8f91a5; font-size: .72rem; white-space: nowrap; }
.galaxy-privacy span { width: 7px; height: 7px; border-radius: 50%; background: #9cb78a; box-shadow: 0 0 12px #9cb78a; }
.galaxy-layout { min-height: 0; flex: 1; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(350px, .75fr); }
.galaxy-stage { min-height: 0; display: flex; flex-direction: column; padding: 1.1rem 1.2rem 1.2rem; border-right: 1px solid rgba(255,255,255,.1); }
.galaxy-stage-meta { min-height: 28px; display: flex; justify-content: space-between; align-items: center; color: #8c8da0; font-size: .73rem; letter-spacing: .04em; text-transform: uppercase; }
.galaxy-stage-meta span:first-child { color: var(--gold-bright); }
.galaxy-canvas { min-height: 0; flex: 1; position: relative; overflow: hidden; border-radius: 22px; border: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 50% 48%, rgba(119,82,153,.13), transparent 28%), radial-gradient(circle at 18% 18%, rgba(42,91,125,.13), transparent 30%), #070811; isolation: isolate; }
.galaxy-canvas::before, .galaxy-canvas::after { content: ""; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); border: 1px solid rgba(217,179,108,.12); border-radius: 50%; z-index: -1; }
.galaxy-canvas::before { width: 43%; aspect-ratio: 1; }
.galaxy-canvas::after { width: 75%; aspect-ratio: 1; border-style: dashed; border-color: rgba(156,166,205,.1); }
.galaxy-nebula { position: absolute; border-radius: 50%; filter: blur(45px); opacity: .28; z-index: -2; }
.nebula-one { width: 42%; height: 36%; left: -8%; top: 4%; background: #315a77; transform: rotate(-20deg); }
.nebula-two { width: 38%; height: 34%; right: -3%; bottom: -7%; background: #754c8d; transform: rotate(18deg); }
.galaxy-dust { position: absolute; inset: 0; z-index: -1; }
.dust-point { position: absolute; width: 2px; height: 2px; border-radius: 50%; background: rgba(255,255,255,.72); box-shadow: 0 0 5px rgba(255,255,255,.5); animation: twinkle 4s ease-in-out infinite; animation-delay: var(--delay); }
.constellation-lines { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; overflow: visible; pointer-events: none; }
.constellation-lines line { stroke: rgba(240,207,138,.48); stroke-width: .22; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 3px rgba(240,207,138,.38)); stroke-dasharray: 2 1.5; animation: line-arrive .65s ease both; }
.galaxy-core { position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 92px; height: 92px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(240,207,138,.55); background: radial-gradient(circle, rgba(217,179,108,.18), rgba(10,10,18,.94) 67%); box-shadow: 0 0 38px rgba(217,179,108,.17); text-align: center; }
.core-halo { position: absolute; inset: -10px; border: 1px solid rgba(240,207,138,.18); border-radius: 50%; animation: core-pulse 4.5s ease-in-out infinite; }
.galaxy-core strong { color: var(--gold-bright); font: 700 .73rem var(--font-display); letter-spacing: .18em; }
.galaxy-core small { max-width: 70px; margin-top: .3rem; color: #858596; font-size: .58rem; line-height: 1.2; }
.galaxy-star { --star-color: #fff; --star-size: 15px; position: absolute; z-index: 4; left: var(--x); top: var(--y); transform: translate(-50%,-50%); min-width: 82px; border: 0; background: transparent; color: #7d7d8c; padding: 0; cursor: pointer; text-align: center; transition: color .25s, transform .25s; }
.galaxy-star:hover { color: var(--cream); transform: translate(-50%,-50%) scale(1.06); }
.star-light { display: block; width: var(--star-size); height: var(--star-size); margin: 0 auto .42rem; border: 1px solid color-mix(in srgb, var(--star-color) 55%, transparent); border-radius: 50%; background: color-mix(in srgb, var(--star-color) 22%, #0b0c15); box-shadow: 0 0 10px color-mix(in srgb, var(--star-color) 20%, transparent); transition: box-shadow .28s, background .28s, transform .28s; }
.galaxy-star.active { color: var(--cream); }
.galaxy-star.active .star-light { background: var(--star-color); box-shadow: 0 0 8px var(--star-color), 0 0 24px color-mix(in srgb, var(--star-color) 68%, transparent), 0 0 50px color-mix(in srgb, var(--star-color) 32%, transparent); transform: scale(1.12); }
.star-name { display: block; font: 600 .7rem var(--font-display); letter-spacing: .03em; text-shadow: 0 1px 5px #000; }
.star-status { display: block; margin-top: .13rem; color: #626273; font-size: .56rem; }
.galaxy-star.active .star-status { color: color-mix(in srgb, var(--star-color) 70%, #8a8997); }
.galaxy-randomizer { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .8rem; padding: .85rem 1rem; border: 1px solid rgba(168,139,200,.2); border-radius: 17px; background: linear-gradient(100deg, rgba(103,72,139,.12), rgba(42,79,108,.07)); }
.galaxy-randomizer > div { display: flex; flex-direction: column; }
.galaxy-randomizer strong { font: 600 .82rem var(--font-display); }
.galaxy-randomizer span { color: #777889; font-size: .7rem; }
.wormhole-button { flex: 0 0 auto; min-height: 42px; display: flex; align-items: center; gap: .65rem; border: 1px solid rgba(192,160,220,.48); border-radius: 999px; padding: 0 .9rem 0 1rem; color: #e6d7f1; background: rgba(103,72,139,.13); cursor: pointer; font-weight: 600; font-size: .78rem; }
.wormhole-button:hover { background: rgba(103,72,139,.25); }
.wormhole-button svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.galaxy-sidebar { overflow-y: auto; padding: 1.25rem; background: rgba(255,255,255,.018); }
.galaxy-sidebar-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.galaxy-sidebar h3 { margin: 0; font: 600 1.18rem var(--font-display); letter-spacing: -.025em; }
.text-button { border: 0; background: transparent; color: var(--gold-bright); padding: .3rem; cursor: pointer; font-size: .72rem; }
.galaxy-sidebar fieldset { border: 0; margin: 0; padding: 0; }
.interest-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.interest-choice { position: relative; display: block; cursor: pointer; }
.interest-choice input { position: absolute; opacity: 0; pointer-events: none; }
.interest-choice-body { min-height: 75px; display: flex; flex-direction: column; justify-content: space-between; gap: .25rem; border: 1px solid var(--line); border-radius: 13px; padding: .68rem; background: rgba(255,255,255,.018); transition: border-color .2s, background .2s, transform .2s; }
.interest-choice:hover .interest-choice-body { transform: translateY(-1px); border-color: rgba(255,255,255,.28); }
.interest-choice input:focus-visible + .interest-choice-body { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
.interest-choice input:checked + .interest-choice-body { border-color: var(--interest-color); background: color-mix(in srgb, var(--interest-color) 9%, transparent); }
.interest-name { display: flex; align-items: center; justify-content: space-between; color: var(--cream); font: 600 .79rem var(--font-display); }
.interest-name::after { content: ""; width: 13px; height: 13px; border: 1px solid #5f5f6d; border-radius: 50%; }
.interest-choice input:checked + .interest-choice-body .interest-name::after { border: 4px solid var(--interest-color); background: var(--ink); box-shadow: 0 0 9px color-mix(in srgb, var(--interest-color) 55%, transparent); }
.interest-description { color: #747582; font-size: .63rem; line-height: 1.3; }
.tune-actions { display: flex; gap: .55rem; margin-top: .8rem; }
.tune-actions .button { min-height: 41px; margin: 0; font-size: .78rem; }
.community-section { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.09); }
.community-heading { margin-bottom: .75rem; }
.community-galaxies { display: grid; gap: .5rem; }
.community-galaxy { width: 100%; min-height: 64px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: .65rem; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; padding: .55rem .65rem; color: var(--cream); background: rgba(255,255,255,.015); text-align: left; cursor: pointer; }
.community-galaxy:hover { border-color: rgba(217,179,108,.35); background: rgba(255,255,255,.035); }
.mini-galaxy { width: 44px; height: 44px; position: relative; border-radius: 50%; border: 1px solid rgba(255,255,255,.13); background: radial-gradient(circle, rgba(156,122,188,.18), transparent 65%); }
.mini-galaxy span { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--mini-color); box-shadow: 0 0 7px var(--mini-color); }
.community-galaxy strong { display: block; font: 600 .75rem var(--font-display); }
.community-galaxy small { display: block; margin-top: .15rem; color: #747582; font-size: .62rem; }
.community-galaxy > span:last-child { color: #6d6d7c; font-size: .67rem; }

.orbit-dialog, .region-dialog { max-width: none; overflow: hidden; border: 1px solid rgba(217,179,108,.3); border-radius: 28px; color: var(--cream); background: #080912; padding: 0; box-shadow: 0 40px 140px rgba(0,0,0,.86), 0 0 100px rgba(112,72,151,.14); }
.orbit-dialog { width: min(1000px, calc(100% - 2rem)); }
.region-dialog { width: min(760px, calc(100% - 2rem)); }
.orbit-dialog::backdrop, .region-dialog::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(12px); }
.orbit-dialog .dialog-close, .region-dialog .dialog-close { z-index: 9; right: 1.1rem; top: 1.1rem; background: rgba(8,9,18,.7); backdrop-filter: blur(10px); }
.orbit-dialog-shell { position: relative; padding: 2rem; background: radial-gradient(circle at 23% 55%, rgba(88,55,123,.18), transparent 31%), radial-gradient(circle at 87% 15%, rgba(42,91,125,.13), transparent 30%); }
.orbit-dialog-shell::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .32; background-image: radial-gradient(circle at 8% 18%, #fff 0 .7px, transparent 1px), radial-gradient(circle at 32% 81%, #d8b6ef 0 .6px, transparent .9px), radial-gradient(circle at 73% 47%, #f0cf8a 0 .65px, transparent .95px), radial-gradient(circle at 91% 86%, #fff 0 .5px, transparent .8px); background-size: 97px 89px, 121px 107px, 143px 131px, 79px 113px; }
.orbit-dialog-heading { position: relative; z-index: 1; padding-right: 3rem; }
.orbit-dialog-heading h2, .region-heading h2 { margin: .2rem 0 .55rem; font: 600 clamp(2.1rem, 4.4vw, 4rem)/1 var(--font-display); letter-spacing: -.055em; text-shadow: 0 0 32px rgba(168,139,200,.17); }
.orbit-dialog-heading > p:last-child, .region-heading > p:last-child { max-width: 660px; margin: 0; color: #9293a4; }
.orbit-navigation { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(280px, .78fr) minmax(420px, 1.22fr); gap: 2.1rem; align-items: center; margin-top: 1.6rem; }
.orbit-engine { width: min(330px, 100%); aspect-ratio: 1; position: relative; display: grid; place-items: center; justify-self: center; border-radius: 50%; background: radial-gradient(circle, rgba(240,207,138,.1), transparent 18%), radial-gradient(circle, rgba(101,70,139,.18), transparent 52%); filter: drop-shadow(0 0 34px rgba(111,76,150,.18)); }
.engine-stars { width: 2px; height: 2px; position: absolute; left: 50%; top: 50%; border-radius: 50%; background: rgba(255,255,255,.72); box-shadow: 48px 24px 0 0 rgba(255,255,255,.6), -78px -63px 0 0 rgba(240,207,138,.75), 96px -52px 0 0 rgba(168,139,200,.7), -109px 45px 0 0 rgba(255,255,255,.38), 54px 111px 0 0 rgba(134,217,238,.6), -31px 119px 0 0 rgba(240,207,138,.55); animation: engine-breathe 5s ease-in-out infinite; }
.engine-ring { position: absolute; border-radius: 50%; border: 1px solid rgba(217,179,108,.26); }
.engine-ring i { width: 7px !important; height: 7px !important; min-width: 0; min-height: 0; max-width: 7px; max-height: 7px; display: block; position: absolute; padding: 0; margin: 0; border: 1px solid currentColor; border-radius: 50%; background: #0a0b14; box-shadow: 0 0 9px currentColor; }
.engine-ring-outer { inset: 3%; border-style: dashed; color: rgba(240,207,138,.72); animation: engine-spin 44s linear infinite; }
.engine-ring-outer::before, .engine-ring-outer::after { content: ""; position: absolute; inset: 13%; border: 1px solid rgba(168,139,200,.18); transform: rotate(45deg); }
.engine-ring-outer::after { transform: rotate(90deg); border-color: rgba(134,217,238,.12); }
.engine-ring-outer i:nth-child(1) { left: 49%; top: -4px; }.engine-ring-outer i:nth-child(2) { right: 7%; bottom: 20%; }.engine-ring-outer i:nth-child(3) { left: 4%; bottom: 25%; }
.engine-ring-middle { inset: 19%; color: rgba(168,139,200,.8); border-style: dotted; animation: engine-spin-reverse 27s linear infinite; }
.engine-ring-middle i:nth-child(1) { left: -4px; top: 48%; }.engine-ring-middle i:nth-child(2) { right: -4px; top: 48%; }.engine-ring-middle i:nth-child(3) { left: 48%; top: -4px; }.engine-ring-middle i:nth-child(4) { left: 48%; bottom: -4px; }
.engine-ring-inner { inset: 34%; color: rgba(134,217,238,.76); animation: engine-spin 16s linear infinite; }
.engine-ring-inner i:nth-child(1) { right: 5%; top: 12%; }.engine-ring-inner i:nth-child(2) { left: 5%; bottom: 12%; }
.engine-axis { position: absolute; width: 74%; height: 32%; border: 1px solid rgba(240,207,138,.16); border-radius: 50%; transform: rotate(24deg); }
.engine-axis-two { transform: rotate(-37deg); border-color: rgba(168,139,200,.2); }
.engine-core { width: 94px; height: 94px; position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid rgba(240,207,138,.52); border-radius: 50%; background: radial-gradient(circle at 42% 37%, rgba(255,244,206,.18), rgba(28,22,40,.96) 52%, #090a12 72%); box-shadow: inset 0 0 24px rgba(217,179,108,.12), 0 0 18px rgba(240,207,138,.18), 0 0 48px rgba(168,139,200,.26); }
.engine-core::before { content: ""; position: absolute; inset: -9px; border: 1px solid rgba(240,207,138,.14); border-radius: 50%; animation: engine-breathe 4.5s ease-in-out infinite; }
.engine-core b { color: var(--gold-bright); font: 400 1.5rem Georgia, serif; text-shadow: 0 0 12px rgba(240,207,138,.8); }
.engine-core small { margin-top: .2rem; color: #8f8b9b; font: 600 .44rem/1.25 var(--font-display); letter-spacing: .12em; text-align: center; }
.orbit-passages { display: grid; gap: .65rem; }
.orbit-passage { min-height: 92px; display: grid; grid-template-columns: 30px 48px 1fr 22px; align-items: center; gap: .72rem; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: .75rem 1rem; color: var(--cream); background: linear-gradient(105deg, rgba(255,255,255,.025), rgba(255,255,255,.01)); text-align: left; cursor: pointer; transition: transform .25s, border-color .25s, background .25s, box-shadow .25s; }
.orbit-passage::before { content: ""; position: absolute; inset: 0; opacity: 0; background: linear-gradient(100deg, color-mix(in srgb, var(--passage-color) 12%, transparent), transparent 58%); transition: opacity .25s; }
.orbit-passage:hover { transform: translateX(4px); border-color: color-mix(in srgb, var(--passage-color) 58%, transparent); box-shadow: 0 0 26px color-mix(in srgb, var(--passage-color) 10%, transparent); }
.orbit-passage:hover::before { opacity: 1; }
.passage-adjacent { --passage-color: #c99cff; }.passage-local { --passage-color: #e7cb79; }.passage-deep { --passage-color: #86d9ee; }.passage-signal { --passage-color: #e592b8; }
.passage-number { position: relative; z-index: 1; align-self: start; color: #5f6070; font: 600 .52rem var(--font-display); letter-spacing: .12em; }
.passage-glyph { position: relative; z-index: 1; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--passage-color) 47%, transparent); border-radius: 50%; color: var(--passage-color); background: color-mix(in srgb, var(--passage-color) 7%, transparent); box-shadow: 0 0 18px color-mix(in srgb, var(--passage-color) 12%, transparent); font-size: 1rem; }
.passage-copy { position: relative; z-index: 1; }
.passage-copy strong { display: block; font: 600 .88rem var(--font-display); letter-spacing: -.01em; }
.passage-copy small { display: block; margin-top: .28rem; color: #797a8a; font-size: .7rem; line-height: 1.35; }
.passage-arrow { position: relative; z-index: 1; color: var(--passage-color); font-size: 1.1rem; transition: transform .25s; }.orbit-passage:hover .passage-arrow { transform: translate(2px,-2px); }
.orbit-dialog-note { position: relative; z-index: 1; display: flex; align-items: center; gap: .5rem; margin: 1.2rem 0 0; color: #646574; font-size: .68rem; }
.orbit-dialog-note span { width: 5px; height: 5px; border-radius: 50%; background: #9cb78a; box-shadow: 0 0 9px #9cb78a; }

.region-dialog-inner { padding: 2rem; background: radial-gradient(circle at 82% 3%, rgba(79,104,139,.16), transparent 32%), radial-gradient(circle at 12% 78%, rgba(105,70,139,.13), transparent 34%); }
.region-heading { padding-right: 3rem; }
.region-heading h2 { font-size: clamp(2rem, 4.5vw, 3.35rem); }
.current-location-button { width: 100%; min-height: 74px; display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: .85rem; margin-top: 1.4rem; border: 1px solid rgba(134,217,238,.26); border-radius: 16px; padding: .8rem 1rem; color: var(--cream); background: rgba(47,91,115,.08); text-align: left; cursor: pointer; }
.current-location-button:hover { border-color: rgba(134,217,238,.58); background: rgba(47,91,115,.14); }
.current-location-button:disabled { opacity: .65; cursor: wait; }
.current-location-button strong, .current-location-button small { display: block; }.current-location-button strong { font: 600 .84rem var(--font-display); }.current-location-button small { margin-top: .15rem; color: #777b89; font-size: .68rem; }
.current-location-button > span:last-child { color: #86d9ee; font-size: .72rem; }
.locator-pulse { width: 17px; height: 17px; justify-self: center; border: 1px solid #86d9ee; border-radius: 50%; background: #0b1720; box-shadow: 0 0 0 5px rgba(134,217,238,.05), 0 0 16px rgba(134,217,238,.36); animation: locator-pulse 2.4s ease-in-out infinite; }
.region-presets { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .65rem; margin-top: .75rem; }
.region-presets button { min-height: 105px; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; padding: .8rem; color: #858696; background: radial-gradient(circle at 72% 22%, rgba(168,139,200,.16), transparent 31%), rgba(255,255,255,.018); text-align: left; cursor: pointer; }
.region-presets button::before { content: ""; width: 44px; height: 44px; position: absolute; right: 12px; top: 11px; border: 1px solid rgba(217,179,108,.2); border-radius: 50%; box-shadow: inset 0 0 15px rgba(168,139,200,.1); }
.region-presets button:hover { border-color: rgba(217,179,108,.4); color: #aaa8b5; }
.region-presets span { font: 500 .56rem/1.5 var(--font-display); letter-spacing: .04em; }.region-presets strong { margin-top: .3rem; color: var(--cream); font: 600 .72rem var(--font-display); }
.custom-region-form { display: grid; grid-template-columns: 1.4fr .75fr .75fr auto; gap: .65rem; align-items: end; margin-top: 1.2rem; padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,.09); }
.custom-region-heading { grid-column: 1 / -1; display: flex; justify-content: space-between; color: #9b99a8; font: 600 .66rem var(--font-display); }.custom-region-heading span:last-child { color: #5f606e; font: 500 .6rem var(--font-body); }
.custom-region-form label { color: #858490; font-size: .66rem; }.custom-region-form input { width: 100%; height: 42px; display: block; margin-top: .3rem; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; padding: 0 .7rem; color: var(--cream); background: rgba(255,255,255,.025); }
.custom-region-form .button { min-height: 42px; margin: 0; white-space: nowrap; }

@keyframes engine-spin { to { transform: rotate(360deg); } }
@keyframes engine-spin-reverse { to { transform: rotate(-360deg); } }
@keyframes engine-breathe { 0%,100% { opacity: .55; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.035); } }
@keyframes locator-pulse { 0%,100% { transform: scale(.88); opacity: .68; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes twinkle { 0%,100% { opacity: .25; transform: scale(.7); } 50% { opacity: .9; transform: scale(1.25); } }
@keyframes line-arrive { from { opacity: 0; stroke-dashoffset: 12; } to { opacity: 1; stroke-dashoffset: 0; } }
@keyframes core-pulse { 0%,100% { transform: scale(.96); opacity: .45; } 50% { transform: scale(1.08); opacity: .9; } }
.toast { position: fixed; z-index: 60; left: 50%; bottom: 2rem; transform: translate(-50%, 30px); opacity: 0; pointer-events: none; background: var(--cream); color: var(--ink); border-radius: 999px; padding: .75rem 1rem; font-size: .86rem; font-weight: 600; box-shadow: 0 12px 40px rgba(0,0,0,.38); transition: opacity .25s, transform .25s; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.mobile-nav { display: none; }

@media (max-width: 1040px) {
  .topbar { grid-template-columns: auto 1fr auto; padding: 0 1.5rem; }
  .top-actions .button { display: none; }
  main { width: min(100% - 3rem, 1080px); }
  .experience-shell { grid-template-columns: minmax(0, 1fr) 310px; }
}

@media (max-width: 780px) {
  .topbar { height: auto; min-height: 70px; grid-template-columns: 1fr auto; gap: .65rem; padding: .7rem 1rem .8rem; }
  .brand-mark { width: 44px; height: 44px; }
  .brand { gap: .48rem; font-size: .86rem; }
  .brand-word { gap: .06rem; letter-spacing: .02em; }
  .brand-sigil { width: 6px; height: 6px; flex-basis: 6px; }
  .search-shell { grid-row: 2; grid-column: 1 / -1; position: static; width: 100%; background: rgba(20,20,18,.94); z-index: 4; }
  .top-actions { grid-column: 2; }
  .top-actions .saved-toggle { display: none; }
  main { width: 100%; padding: 1rem 1rem 6.5rem; }
  main { display: flex; flex-direction: column; }
  .intro { order: 1; display: block; margin: 0 0 .8rem; }
  .intro .eyebrow { margin-bottom: .42rem; font-size: .58rem; }
  h1 { font-size: clamp(1.72rem, 7.8vw, 2.35rem); line-height: 1.03; }
  .intro-copy { margin: .5rem 0 0; font-size: .82rem; }
  .intro-detail { display: none; }
  .filter-row { order: 2; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .55rem; overflow: hidden; margin-bottom: .7rem; padding-bottom: .7rem; }
  .filters { grid-column: 2; grid-row: 1; min-width: 0; width: 100%; overflow-x: auto; flex-wrap: nowrap; padding: 0 .8rem .15rem 0; scrollbar-width: none; }
  .filters::-webkit-scrollbar { display: none; }
  .filter-chip { flex: 0 0 auto; min-height: 38px; padding-left: .82rem; font-size: .78rem; }
  .location-button { min-height: 38px; padding: 0 .78rem; }
  .coordinate-button { grid-column: 1; grid-row: 1; max-width: 132px; }
  .coordinate-button > svg, .coordinate-copy strong { display: none; }
  .coordinate-copy small { font-size: .62rem; white-space: nowrap; }
  .experience-shell { display: contents; }
  .local-pulse { order:4; margin-bottom:1rem; padding:1rem; scroll-margin-top:150px; }
  .pulse-events{grid-template-columns:1fr}.pulse-heading h2{font-size:1.55rem}.pulse-intro{font-size:.82rem}.pulse-footer{align-items:flex-start;flex-direction:column}.pulse-submit{width:100%}.pulse-radar{opacity:.62}.pulse-submit-dialog form{grid-template-columns:1fr}.pulse-submit-dialog form>*{grid-column:1!important}
  .feed-column { order: 3; }
  .feed-meta { min-height: 30px; margin-bottom: .45rem; }
  .world-grid { grid-template-columns: 1fr; }
  .world-card, .world-card.featured { grid-row: auto; min-height: min(650px, 69svh); }
  .signal-card { min-height: min(590px, 68vh); }
  .world-card h2, .world-card.featured h2 { font-size: 1.72rem; }
  .side-column { display: contents; }
  .drift-panel { order: 5; position: relative; top: 0; margin: 0 0 .8rem; }
  .discovery-instruments { order: 6; margin: 0 0 1.35rem; padding: 1rem; }
  .founder-panel { order: 7; grid-template-columns: 52px 1fr; margin: 0 0 1.35rem; padding: 1rem; }
  .founder-orbit { width: 48px; height: 48px; }
  .trust-footer { order: 8; flex-direction: column; margin: 2rem 0 0; padding-bottom: 1rem; }
  .trust-dialog-inner { padding: 3.6rem 1.2rem 2rem; }
  .instruments-heading h2 { font-size: 1.2rem; }
  .instrument-card { min-height: 74px; }
  .mobile-nav { position: fixed; display: grid; grid-template-columns: repeat(6, 1fr); z-index: 15; bottom: 0; left: 0; right: 0; height: 72px; padding: .45rem .25rem max(.45rem, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(12,12,11,.93); backdrop-filter: blur(18px); }
  .mobile-nav button { border: 0; background: transparent; color: #7f7b74; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .2rem; font-size: .66rem; }
  .mobile-nav button.active { color: var(--gold-bright); }
  .mobile-nav svg { width: 21px; height: 21px; }
  .sheet-body { padding-inline: 1.2rem; }
  .sheet-actions { flex-direction: column; }
  .toast { bottom: 5.5rem; white-space: nowrap; max-width: calc(100% - 2rem); }
  .feed-meta { align-items: flex-start; flex-wrap: wrap; gap: .45rem; }
  .feed-meta > p { width: 100%; }
  .feed-tools { width: 100%; justify-content: space-between; gap: .5rem; }
  .quiet-button { font-size: .78rem; }
  .signal-toggle svg { display: none; }
  .signal-control-group { gap: 0; }
  .signal-toggle { font-size: .73rem; }
  .signal-info-button { width: 21px; height: 21px; }
  .signal-info-dialog { width: 100%; max-height: 100dvh; overflow-y: auto; border: 0; border-radius: 0; }
  .signal-info-inner { min-height: 100dvh; grid-template-columns: 1fr; align-content: center; gap: 1rem; padding: 3.4rem 1.2rem 2rem; }
  .signal-info-orbit { width: 160px; height: 160px; }
  .signal-info-copy { padding: 0; }
  .signal-info-copy h2 { font-size: 2rem; }
  .galaxy-dialog { width: 100%; height: 100dvh; border: 0; border-radius: 0; }
  .galaxy-dialog .dialog-close { top: .75rem; right: .75rem; }
  .galaxy-header { min-height: 150px; display: block; padding: 1.2rem 4rem 1rem 1rem; }
  .galaxy-header h2 { font-size: 2rem; }
  .galaxy-header p:last-child { font-size: .8rem; }
  .galaxy-privacy { margin-top: .65rem; }
  .galaxy-layout { display: block; overflow-y: auto; }
  .galaxy-stage { min-height: 590px; padding: .8rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .galaxy-canvas { flex: none; height: 425px; }
  .galaxy-star { min-width: 68px; }
  .star-name { font-size: .64rem; }
  .galaxy-randomizer { align-items: flex-start; flex-direction: column; }
  .wormhole-button { width: 100%; justify-content: space-between; }
  .galaxy-sidebar { overflow: visible; padding: 1rem 1rem 5rem; }
  .interest-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .interest-choice-body { min-height: 78px; }
  .tune-actions .button { flex: 1; }
  .orbit-dialog, .region-dialog { width: 100%; max-height: 100dvh; border: 0; border-radius: 0; }
  .orbit-dialog { height: 100dvh; overflow-y: auto; }
  .orbit-dialog-shell, .region-dialog-inner { min-height: 100%; padding: 1.2rem 1rem 2rem; }
  .orbit-dialog-heading, .region-heading { padding-right: 3rem; }
  .orbit-dialog-heading h2, .region-heading h2 { margin-top: .35rem; font-size: 2.25rem; }
  .orbit-navigation { grid-template-columns: 1fr; gap: .9rem; margin-top: 1rem; }
  .orbit-engine { width: 220px; }
  .engine-core { width: 74px; height: 74px; }
  .orbit-passage { min-height: 82px; grid-template-columns: 23px 40px 1fr 18px; gap: .55rem; padding: .65rem .75rem; }
  .passage-glyph { width: 36px; height: 36px; }
  .passage-copy small { font-size: .65rem; }
  .orbit-dialog-note { margin-bottom: 1rem; }
  .region-dialog { max-height: 100dvh; overflow-y: auto; }
  .current-location-button { grid-template-columns: 28px 1fr auto; }
  .region-presets { grid-template-columns: 1fr; }
  .region-presets button { min-height: 86px; }
  .custom-region-form { grid-template-columns: 1fr 1fr; }
  .custom-region-heading, .custom-region-form label:first-of-type { grid-column: 1 / -1; }
  .custom-region-heading { display: block; }.custom-region-heading span { display: block; }.custom-region-heading span:last-child { margin-top: .2rem; }
  .custom-region-form .button { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .sigil-wheel, .sigil-star, .orbit-one, .orbit-two, .drift-aura, .drift-runes { animation: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
