/* Projected research interface. Keep content sharp while the instrument field moves. */
:root {
  --bg: #02080e;
  --cyan: #85f2ff;
  --gold: #edce98;
  --muted: #9abccf;
}
body { background: #02080e; }
body::before {
  z-index: -2;
  background: radial-gradient(ellipse at 28% 16%, #0a466558, transparent 49%),
    radial-gradient(ellipse at 91% 19%, #5e43232b, transparent 33%),
    radial-gradient(ellipse at 60% 65%, #073e5d38, transparent 55%);
}
.projection-environment { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.horizon-grid {
  position: absolute; left: -50%; right: -50%; bottom: -45%; height: 100%;
  background-image: linear-gradient(#3dc7fa24 1px, transparent 1px), linear-gradient(90deg, #3dc7fa24 1px, transparent 1px);
  background-size: 74px 74px;
  transform: perspective(500px) rotateX(62deg);
  transform-origin: center top;
  mask-image: linear-gradient(transparent, #0009 35%, #000);
}
.light-column {
  position: absolute; top: -25%; width: 180px; height: 120%; opacity: .15;
  background: linear-gradient(90deg, transparent, #7ce9ff55, transparent);
  filter: blur(30px); transform: rotate(22deg); animation: field-drift 26s ease-in-out infinite alternate;
}
.column-one { left: 20%; }
.column-two { right: 4%; width: 90px; opacity: .1; animation-delay: -12s; }
.orbital-field {
  position: absolute; width: 1050px; height: 1050px; border: 1px solid #52c4f510;
  border-radius: 50%; left: -420px; top: -370px; box-shadow: 0 0 0 40px #56d6f804, 0 0 0 180px #56d6f803;
}
.app-shell {
  width: calc(100% - 56px); max-width: 1770px; margin: 27px auto;
  grid-template-columns: 173px minmax(0, 1fr);
  background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible;
}
.app-shell::before, .app-shell::after { display: none; }
.sidebar {
  border-right: 1px solid #60d2fb35;
  background: linear-gradient(90deg, #03121ba8, #05233517);
  padding-top: 19px;
}
.brand { padding-left: 15px; }
.brand img { width: 74px; height: 74px; filter: drop-shadow(0 0 15px #63e3ff7a); }
.brand-name { font-size: 20px; font-weight: 400; }
.brand-caption { color: #8cbdd3; letter-spacing: .21em; }
.primary-nav { gap: 19px; margin-top: 52px; }
.nav-item { position: relative; padding-left: 16px; height: 44px; font-size: 12px; }
.nav-item::after { content: '01'; position: absolute; right: 16px; font: 8px var(--mono); color: #48778b; }
.nav-item:nth-child(2)::after { content: '02'; }
.nav-item:nth-child(3)::after { content: '03'; }
.nav-item:nth-child(4)::after { content: '04'; }
.nav-item:nth-child(5)::after { content: '05'; }
.nav-item.active { color: #a2f7ff; background: linear-gradient(90deg, #2bafe53d, transparent); border-color: #a4faff; }
.nav-item.active::after { color: #a2f7ff; }
.sidebar-footer { padding-left: 16px; }
main { padding: 13px 0 18px 30px; }
.masthead { padding: 0 5px 17px; margin-bottom: 14px; border-bottom: 1px solid #539eb844; position: relative; }
.masthead::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 42px; height: 2px; background: #9cf5ff; box-shadow: 0 0 14px #68eaff; }
.heading .eyebrow { color: #7ed2e6; letter-spacing: .26em; }
.heading h1 { font-size: 38px; color: #efd6ae; letter-spacing: -.04em; }
.heading>p:last-child { font-size: 12px; color: #aac7d7; }
.paper-badge { border-radius: 0; padding: 7px 12px; box-shadow: 0 0 16px #edbc421a, inset 0 0 14px #f0d37f0a; }
.status-banner { border-radius: 0; border-color: #65b5d05c; padding: 8px 11px; }
.controls { padding: 1px 4px 0; }
.basis-control, .range-control { border-radius: 0; border-color: #4a9bb06b; background: #02121ab0; }
.basis-control button, .range-control button { border-radius: 0; }
.desk-filter select { border-radius: 0; background-color: #061b29; }

/* The aperture is an interface motif, never a claimed AI or collector-health signal. */
.projection-deck {
  --pointer-x: 0; --pointer-y: 0;
  position: relative; display: grid; grid-template-columns: 268px minmax(0, 1fr) 170px;
  align-items: center; gap: 20px; min-height: 269px; margin-bottom: 22px; padding: 29px 25px 29px 13px;
  background: radial-gradient(ellipse at 20% 47%, #0e79a539, transparent 47%), linear-gradient(115deg, #0c354a44, #03121e22 63%, #1e2e3333);
  border-top: 1px solid #66cdea63; border-bottom: 1px solid #66cdea63;
  box-shadow: inset 0 0 50px #0b567515, 0 13px 45px #0005;
  perspective: 900px; isolation: isolate;
}
.projection-deck::before, .projection-deck::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
}
.projection-deck::before {
  inset: 7px -5px; border-left: 1px solid #86e9ff78; border-right: 1px solid #e0c48c7a;
  transform: skewY(-.45deg); box-shadow: -9px 0 14px -14px #78eaff, 9px 0 14px -14px #ffe0aa;
}
.projection-deck::after {
  left: 0; right: 0; height: 1px; top: 42%; opacity: .25;
  background: linear-gradient(90deg, #67ddff00, #67ddff, #67ddff00);
  box-shadow: 0 0 14px #75e6ff; animation: hologram-sweep 12s linear infinite;
}
.deck-rail { position: absolute; top: 9px; left: 16px; right: 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font: 8px var(--mono); letter-spacing: .19em; color: #82c4db; }
.deck-rail button { background: transparent; color: #b4d4e3; font: 8px var(--mono); letter-spacing: .04em; border-bottom: 1px solid #7099ab66; padding: 4px 0; }
.deck-rail button:hover { color: #b4fbff; }
.deck-rail button:disabled { opacity: .7; cursor: default; }
.core-instrument { position: relative; width: 245px; height: 245px; justify-self: center; transform-style: preserve-3d; transform: rotateY(calc(var(--pointer-x) * 8deg)) rotateX(calc(var(--pointer-y) * -6deg)); transition: transform .15s ease-out; }
.core-aura { position: absolute; inset: 18%; border-radius: 50%; background: radial-gradient(circle, #b6faff1a, #43c6ff15 45%, transparent 70%); box-shadow: 0 0 70px #2cc7ff15; animation: core-breathe 7s ease-in-out infinite alternate; }
.core-rings { width: 100%; height: 100%; stroke-width: 1; color: #a1f6ff; overflow: visible; filter: drop-shadow(0 0 4px #58cbff65); transform: translateZ(18px); }
.orbit { transform-origin: 160px 160px; }
.orbit-outer { animation: orbit-turn 65s linear infinite; }
.orbit-middle { animation: orbit-turn 40s linear infinite reverse; }
.orbit-inner { animation: orbit-turn 32s linear infinite; }
.core-mark { position: absolute; width: 63px; height: 63px; top: calc(50% - 31.5px); left: calc(50% - 31.5px); filter: drop-shadow(0 0 9px #5ef4ff99); transform: translateZ(28px); }
.core-coordinate { position: absolute; color: #7eacbf; font: 6px var(--mono); letter-spacing: .13em; }
.coordinate-a { top: 33px; left: -5px; transform: rotate(-90deg); transform-origin: right; }
.coordinate-b { bottom: 33px; right: -10px; transform: rotate(-90deg); transform-origin: left; }
.core-platform { position: absolute; width: 235px; height: 45px; left: 5px; bottom: -4px; border: 1px solid #6cdfff3b; border-radius: 50%; background: radial-gradient(ellipse, #5fe5ff1a, transparent 65%); box-shadow: inset 0 0 0 6px #030f19, inset 0 0 0 7px #66dfff27, 0 0 20px #36c3ff12; transform: rotateX(50deg) translateZ(-30px); }
.core-identity { position: relative; padding-bottom: 5px; min-width: 0; }
.core-identity>.eyebrow { font-size: 7px; letter-spacing: .24em; color: #b4b794; margin-bottom: 9px; }
.core-identity h2 { color: #fff0ce; font-size: clamp(25px, 2.8vw, 43px); font-weight: 300; letter-spacing: .07em; line-height: 1.15; white-space: nowrap; text-shadow: 0 0 23px #9defff16; }
.core-identity h2 span { color: #bdf8ff; }
#core-message { font-size: 11px; line-height: 1.8; color: #accfdf; max-width: 420px; margin-top: 11px; }
.core-tags { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 13px; color: #79aec4; font: 7px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.core-tags>span::before { content: '+'; color: var(--gold); margin-right: 5px; }
.core-shortcuts { display: flex; gap: 19px; margin-top: 21px; }
.core-shortcuts a { font-size: 9px; letter-spacing: .02em; text-decoration: none; color: #b5e2f0; display: inline-flex; align-items: center; gap: 6px; border-bottom: 1px solid #5b9aae69; padding-bottom: 4px; }
.core-shortcuts a:hover { color: #d6fcff; border-color: #c5faff; }
.core-shortcuts svg { width: 9px; height: 9px; }
.deck-readout { border-left: 1px solid #5b9bb34f; padding: 2px 0 5px 22px; }
.deck-readout>div+div { margin-top: 16px; }
.deck-readout span { display: block; color: #8ab2c7; text-transform: uppercase; font: 7px var(--mono); letter-spacing: .1em; }
.deck-readout strong { display: block; font-size: 27px; font-weight: 300; color: #bceefa; font-variant-numeric: tabular-nums; margin-top: 4px; line-height: 1.2; }
.deck-readout p { margin-top: 18px; color: #a99a78; font: 7px/1.8 var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.deck-baseline { position: absolute; bottom: 7px; left: 15px; right: 15px; display: flex; align-items: center; gap: 14px; font: 6px var(--mono); letter-spacing: .2em; color: #5b9bb5; }
.deck-baseline i { flex: 1; height: 1px; background: linear-gradient(90deg, #62bed666, transparent); }

/* Etched planes with cut corners, separated from the background light field. */
.glass {
  animation: none;
  border: 0; border-radius: 0; background: linear-gradient(110deg, #0b3a4c6b, #04121dc2 46%, #06213387);
  box-shadow: inset 0 0 0 1px #4f9bb65c, inset 0 0 40px #0d3d5726;
  backdrop-filter: blur(8px);
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
}
.glass::before { inset: 0; z-index: 0; border: 1px solid transparent; border-radius: 0; background: linear-gradient(120deg, #bcf8ffbb, #2a829d33 12%, #59c6f633 75%, #efcf98cc) border-box; }
.glass::after { content: ''; position: absolute; pointer-events: none; top: 0; bottom: 0; left: 0; width: 2px; background: linear-gradient(transparent 10%, #91ecff66 45%, transparent 90%); }
.metrics { gap: 17px; margin-bottom: 23px; }
.metric { min-height: 111px; padding-top: 14px; }
.metric strong { font-family: var(--mono); font-weight: 400; font-size: 30px; letter-spacing: -.06em; color: #d6f4ff; text-shadow: 0 0 16px #70d3ff18; }
.metric strong .pos { text-shadow: 0 0 17px #6fffe333; }
.metric-label { text-transform: uppercase; font: 8px var(--mono); letter-spacing: .09em; color: #a3cbdc; }
.metric-foot { color: #8fb6c9; }
.metric-decoration { color: #9fefff; filter: drop-shadow(0 0 8px #49cfff55); }
.metric-decoration.ring { border-style: dashed; border-top-style: solid; border-right-style: solid; }
.chart-panel { padding: 20px 20px 14px; }
.command-grid { grid-template-columns: minmax(0, 1fr) 255px; gap: 18px; margin-bottom: 24px; }
.panel-header .eyebrow { color: #7dc0d7; font: 7px var(--mono); letter-spacing: .18em; }
.panel-header h2 { font-size: 14px; letter-spacing: .025em; }
.chart-body { height: 258px; background: repeating-linear-gradient(0deg, transparent 0 3px, #70dfff06 3px 4px); }
.chart-svg .series-line { stroke-width: 2.5; }
.chart-svg .series-glow { stroke-width: 9; opacity: .17; filter: blur(3px); }
.chart-svg .gridline { stroke: #3b8fb652; stroke-dasharray: 1 6; }
.chart-svg .point { filter: drop-shadow(0 0 5px #9dfaff); }
.chart-svg text { fill: #9bc4d9; font-family: var(--mono); font-size: 9px; }
.chart-bottom { font-family: var(--mono); font-size: 8px; }
.brief-panel { background: linear-gradient(110deg, #113f4b45, #04121bba); padding-top: 20px; }
.brief-card { border-radius: 0; border-color: #4d8da760; border-left-color: #d9bd8888; background: linear-gradient(115deg, #2d677c1c, #05142138); }
.brief-card>svg { filter: drop-shadow(0 0 6px #f0d7a52b); }
.source-status { border-top-color: #488caa55; }
.tiny-orbit { border-color: #a8faff; border-left-color: transparent; box-shadow: 0 0 9px #75eaff44; }
.strategy-panel { margin-bottom: 18px; }
.strategy-toolbar { padding: 8px; border-color: #67b5cc45; }
.strategy-tabs button, .search input { border-radius: 0; }
.strategy-tabs button.selected { border-color: #80edff; background: linear-gradient(110deg, #277c9d66, #1a576a22); box-shadow: inset 0 -2px 0 #94edff, 0 0 15px #57dfff11; }
.section-title h2 { letter-spacing: .14em; font: 9px var(--mono); text-transform: uppercase; color: #b9d9e8; }
th { background: #1a4b6026; font-family: var(--mono); color: #9cc9dc; }
td { border-bottom-color: #38738e35; }
.strategy-name>svg { color: #efce98; filter: drop-shadow(0 0 5px #f2c6781c); }
.strategy-link { font-size: 12px; font-weight: 400; }
.status-tag { border-radius: 0; }
.history-panel, .research-panel { background: #0823325c; }
.page-footer { color: #7eb9d2; font-family: var(--mono); font-size: 7px; }
.reticle { width: 48px; height: 48px; border-color: #75dcff66; box-shadow: 0 0 25px #52c9ff13; }
.reticle::after { inset: 7px; border-color: #b1eaff88; }
dialog { border-radius: 0; border-color: #9edff1; background: linear-gradient(125deg, #0b3548f7, #03111dfc); box-shadow: 0 0 0 6px #5ac3eb0a, 0 0 80px #55c5ff1f; }
.dossier-grid>div { border-radius: 0; border-color: #417d9877; }

@keyframes orbit-turn { to { transform: rotate(360deg); } }
@keyframes core-breathe { to { opacity: .6; transform: scale(.94); } }
@keyframes field-drift { to { transform: translateX(50px) rotate(25deg); opacity: .08; } }
@keyframes hologram-sweep { 0%,100% { transform: translateY(-60px); opacity: .05; } 50% { transform: translateY(60px); opacity: .22; } }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .metric { transition: transform .25s, box-shadow .25s; }
  .metric:hover { transform: perspective(800px) translateY(-3px) rotateX(1deg); box-shadow: inset 0 0 0 1px #9ceeffa6, inset 0 0 40px #145b7029, 0 9px 30px #1b9ed00a; }
}
.motion-quiet .orbit, .motion-quiet .core-aura, .motion-quiet .light-column, .motion-quiet .projection-deck::after { animation: none; }
.motion-quiet .core-instrument, .motion-quiet .metric:hover { transform: none; }
.motion-quiet .glass { animation: none; }
@media (min-width: 1600px) {
  .projection-deck { grid-template-columns: 300px minmax(0, 1fr) 195px; min-height: 300px; }
  .core-instrument { width: 275px; height: 275px; }
  .core-platform { width: 260px; }
  .command-grid { grid-template-columns: minmax(0, 1fr) 300px; }
}
@media (max-width: 1190px) {
  .app-shell { grid-template-columns: 140px minmax(0, 1fr); width: calc(100% - 30px); margin: 18px auto; }
  main { padding-left: 22px; }
  .brand { padding-left: 7px; }
  .brand-name { font-size: 18px; }
  .brand img { width: 62px; height: 62px; }
  .nav-item { padding-left: 8px; gap: 10px; font-size: 11px; }
  .nav-item::after { right: 10px; font-size: 7px; }
  .sidebar-footer { padding-left: 8px; }
  .projection-deck { grid-template-columns: 205px minmax(0, 1fr) 130px; gap: 13px; padding: 28px 16px 27px 7px; min-height: 238px; }
  .core-instrument { width: 205px; height: 205px; }
  .core-platform { width: 192px; left: 6px; }
  .core-mark { width: 53px; height: 53px; top: calc(50% - 26.5px); left: calc(50% - 26.5px); }
  .core-identity h2 { font-size: 30px; }
  .core-identity>.eyebrow { font-size: 6px; }
  #core-message { font-size: 10px; }
  .core-tags { font-size: 6px; gap: 6px 9px; }
  .core-shortcuts { gap: 13px; margin-top: 16px; }
  .core-shortcuts a { font-size: 8px; }
  .deck-readout { padding-left: 15px; }
  .deck-readout strong { font-size: 24px; }
  .deck-readout span { font-size: 6px; }
  .deck-readout p { font-size: 6px; }
  .command-grid { grid-template-columns: minmax(0, 1fr) 225px; }
}
@media (max-width: 980px) {
  .heading h1 { font-size: 34px; }
  .projection-deck { grid-template-columns: 190px minmax(0, 1fr); gap: 10px; min-height: 232px; }
  .core-instrument { width: 190px; height: 190px; }
  .core-identity h2 { font-size: 27px; }
  .core-platform { width: 180px; }
  .deck-readout { display: none; }
  .deck-rail { font-size: 6px; letter-spacing: .12em; }
  .core-tags>span:last-child { display: none; }
  .command-grid { grid-template-columns: 1fr; }
  .brief-content { grid-template-columns: 1fr 1fr; }
  .chart-body { height: 260px; }
}
@media (max-width: 700px) {
  .horizon-grid { background-size: 48px 48px; opacity: .5; }
  .light-column { opacity: .07; width: 75px; }
  .app-shell { display: block; width: 100%; margin: 0; }
  .brand { padding: 12px 17px; background: linear-gradient(110deg, #103c4d80, #030f18); }
  .brand img { width: 43px; height: 43px; margin: 0; }
  .brand-name { font-size: 20px; }
  .brand-caption { font-size: 6px; }
  .primary-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0; background: #031621f0; border-top-color: #72d8f5aa; }
  .nav-item { height: 53px; padding: 5px 1px; font-size: 9px; gap: 5px; }
  .nav-item::after { display: none; }
  .nav-item.active { background: linear-gradient(#34c2fb33, transparent); border-color: #a9f7ff; }
  main { padding: 19px 15px calc(85px + env(safe-area-inset-bottom)); }
  .masthead { padding: 0 1px 16px; margin-bottom: 14px; }
  .heading h1 { font-size: 35px; }
  .heading>p:last-child { font-size: 12px; }
  .heading .eyebrow { font-size: 6px; }
  .masthead-status { margin-top: 15px; gap: 10px; }
  .paper-badge { padding: 6px 9px; }
  .freshness { gap: 6px; }
  .freshness time { font-size: 7px; }
  .freshness span { font-size: 8px; }
  .status-banner { font-size: 10px; }
  .controls { padding: 0; }
  .projection-deck { grid-template-columns: 143px minmax(0, 1fr); gap: 5px; min-height: 195px; padding: 29px 8px 24px 0; margin-top: 17px; margin-bottom: 18px; }
  .deck-rail { left: 8px; right: 8px; top: 7px; font-size: 5px; letter-spacing: .04em; }
  .deck-rail button { font-size: 7px; padding: 5px 0; }
  .core-instrument { width: 143px; height: 143px; }
  .core-mark { width: 40px; height: 40px; top: calc(50% - 20px); left: calc(50% - 20px); }
  .core-platform { width: 135px; height: 28px; left: 4px; bottom: -5px; }
  .core-coordinate { display: none; }
  .core-identity { padding: 0; }
  .core-identity>.eyebrow { font-size: 5px; letter-spacing: .05em; margin-bottom: 6px; }
  .core-identity h2 { font-size: 17px; letter-spacing: .035em; white-space: normal; }
  #core-message { margin-top: 6px; font-size: 9px; line-height: 1.6; }
  .core-tags { margin-top: 8px; gap: 5px; font-size: 5px; }
  .core-shortcuts { flex-direction: column; align-items: flex-start; gap: 7px; margin-top: 11px; }
  .core-shortcuts a { font-size: 8px; padding-bottom: 2px; }
  .deck-baseline { left: 9px; right: 9px; font-size: 5px; bottom: 5px; }
  .metrics { gap: 10px; margin-bottom: 18px; }
  .metric { min-height: 102px; padding: 14px 12px 12px; }
  .metric-label { font-size: 7px; line-height: 1.7; }
  .metric strong { font-size: 29px; }
  .metric-foot { font-size: 9px; }
  .metric:last-child { min-height: 88px; padding: 12px 14px; }
  .metric:last-child strong { font-size: 29px; }
  .metric-decoration.ring { width: 32px; height: 32px; right: 23px; }
  .chart-panel { padding: 16px 11px 12px; }
  .command-grid { gap: 17px; margin-bottom: 19px; }
  .chart-body { height: 225px; }
  .panel-header h2 { font-size: 12px; }
  .panel-header .eyebrow { font-size: 6px; }
  .chart-bottom { font-size: 7px; }
  .brief-panel { padding: 16px 12px 13px; }
  .brief-content { grid-template-columns: 1fr; }
  .brief-card p { font-size: 11px; }
  .strategy-card { border-top-color: #5394b24d; padding: 13px 9px; }
  .strategy-card>.card-result strong { font-family: var(--mono); font-size: 12px; }
  .strategy-tabs button { padding: 8px 7px; font-size: 9px; }
  .search { border-radius: 0; }
  .page-footer { font-size: 7px; }
}
@media (max-width: 359px) {
  .projection-deck { grid-template-columns: 119px minmax(0, 1fr); }
  .core-instrument { width: 119px; height: 119px; }
  .core-platform { width: 110px; }
  .core-identity h2 { font-size: 15px; }
  .deck-rail>span { max-width: 150px; }
  .core-tags { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .core-instrument { transform: none; }
}
