/* FREQUENCITY // SIGNAL.OS
   Prototype theme layer, isolated from production. No external assets. */
:root {
  color-scheme: dark;
  --bg: #090d1a;
  --shell: #0b1020;
  --layer: #121a30;
  --layer2: #171f39;
  --paper: #f0f2ff;
  --muted: #9ca8c4;
  --faint: #7482aa;
  --line: #283351;
  --line-bright: #44537f;
  --gold: #a69bff;
  --gold-hot: #d5caff;
  --sage: #aebee1;
  --cyan: #75cfff;
  --violet: #a69bff;
  --subtle-glow: rgba(114,125,255,.12);
}
body { background:#060913; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:10; opacity:.15; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='2' seed='5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.07' filter='url(%23n)'/%3E%3C/svg%3E"); }
.site-shell { max-width:1800px; background:var(--bg); border-color:#1c2641; }
::selection { color:#090d1a; background:#a7b8ff; }
/* OS shell */
.notice-strip { height:31px; padding-inline:27px 27px; color:#9bb0dd; background:#10172b; border-bottom:1px solid #263351; font-size:9px; letter-spacing:.11em; }
.notice-strip>span:first-child { color:#e1e7ff; }
.notice-dot { background:#73d8eb; box-shadow:0 0 0 3px #68cfff13,0 0 12px #79ccff88; }
.notice-separator { color:#7e81ff; }
.notice-version { color:#7688b4; }
.site-header { height:79px; padding-inline:28px 30px; background:rgba(9,13,27,.98); border-bottom-color:#2b3555; }
.brand { gap:15px; font-size:13px; letter-spacing:.1em; }
.brand-symbol { position:relative; transform:none; width:32px; height:32px; border:1px solid #857df2; background:linear-gradient(140deg,#24204e,#0d152e); box-shadow:inset 0 0 19px #8582ff1c,0 0 18px #837bff1e; border-radius:7px; }
.brand-symbol i { width:3px; border-radius:3px; background:linear-gradient(#a89fff,#6dbbff); }
.brand-suffix { color:#a89fff; }
.main-nav a { color:#9daacc; padding:9px 0; transition:color .2s; }
.main-nav a:hover { color:#e0daff; }
.nav-index { color:#576586; }
.header-cta { border-color:#3f4e7b; border-radius:5px; padding:13px 16px; color:#dee6ff; background:linear-gradient(135deg,#171d35,#0b1123); }
.header-cta:hover { border-color:#8d91ff; background:#1c2341; }
.header-cta span { color:#8fc8ff; }
.os-dock { position:absolute; top:110px; bottom:0; left:0; z-index:7; display:flex; flex-direction:column; align-items:center; width:72px; background:#0b1020; border-right:1px solid #293552; padding:30px 8px 14px; gap:12px; }
.dock-marker { color:#8d8dff; font:800 14px var(--mono); letter-spacing:-.11em; margin-bottom:16px; }
.dock-item { text-decoration:none; width:54px; min-height:61px; border-radius:9px; display:flex; align-items:center; flex-direction:column; justify-content:center; gap:5px; color:#7987aa; border:1px solid transparent; transition:background .2s,color .2s,border-color .2s; }
.dock-item>span { font-size:24px; line-height:1; font-weight:300; }
.dock-item small { font:700 8px var(--mono); letter-spacing:.04em; }
.dock-item:hover { color:#e2e4ff; background:#1a2240; border-color:#344069; }
.dock-item.dock-active { color:#c6bfff; background:linear-gradient(135deg,#242750,#131c39); border-color:#4c5184; box-shadow:inset 3px 0 #9894ff; }
.dock-spacer { flex:1; }
.dock-version { color:#5b6b98; font:700 10px var(--mono); border-top:1px solid #374261; padding-top:16px; }
.site-shell { position:relative; }
.site-shell > main, .site-shell > .site-footer { margin-left:72px; }
/* First fold / application overview */
.hero { min-height:715px; grid-template-columns:48% 52%; overflow:hidden; background:
  radial-gradient(ellipse 42% 68% at 80% 25%,rgba(68,65,162,.20),transparent 79%),
  radial-gradient(ellipse 37% 50% at 17% 76%,rgba(37,81,145,.11),transparent 87%),
  #090e1e; border-color:#2b3555; }
.hero::before { background-image:linear-gradient(to right,rgba(143,157,250,.065) 1px,transparent 1px),linear-gradient(to bottom,rgba(143,157,250,.065) 1px,transparent 1px); background-size:55px 55px; mask-image:linear-gradient(90deg,transparent 6%,#000 100%); }
.hero::after { content:""; width:670px; height:670px; pointer-events:none; position:absolute; right:-7%; top:-10%; z-index:-1; background:radial-gradient(circle,#615acb1f 0,transparent 65%); filter:blur(22px); }
.hero-noise { opacity:.1; }
.os-coordinates { position:absolute; left:clamp(24px,5vw,78px); top:29px; font:700 9px var(--mono); letter-spacing:.18em; color:#63759c; }
.hero-content { padding:119px 0 68px clamp(30px,5.0vw,86px); }
.eyebrow { color:#9baff3; letter-spacing:.1em; font-size:9px; }
.eyebrow-square { background:#90b8ff; width:6px; height:6px; border-radius:100%; box-shadow:0 0 0 4px #92b3ff18,0 0 14px #869dff; }
.eyebrow-line { background:#4e6088; }
.hero h1 { margin:50px 0 23px; white-space:nowrap; font-size:clamp(59px,6.3vw,113px); letter-spacing:-.085em; line-height:.98; font-weight:710; text-shadow:0 4px 30px #0007; }
.hero h1 .outline-word { -webkit-text-stroke:1px #a8bbf5; text-shadow:0 0 32px rgba(150,168,255,.13); }
.hero h1 em { display:inline-block; background:linear-gradient(105deg,#c9c2ff 4%,#998cff 48%,#87caff 98%); -webkit-background-clip:text; background-clip:text; color:transparent; font-weight:650; letter-spacing:-.07em; filter:drop-shadow(0 0 20px #9286ff30); }
.hero-sub { max-width:425px; color:#aebcda; font-size:clamp(15px,1.23vw,19px); line-height:1.8; }
.hero-actions { margin-top:34px; gap:12px; }
.button { border-radius:5px; min-height:48px; }
.button-primary { color:#0b1125; background:linear-gradient(110deg,#b3a8ff,#88b9fa); box-shadow:0 6px 26px #6c70ff2b,inset 0 1px #f4f3ff76; }
.button-primary:hover { color:#080f24; background:linear-gradient(110deg,#d1caff,#a9d6ff); box-shadow:0 6px 38px #828bff4b; }
.button-text { color:#dbe5ff; background:#131c33; border-color:#405077; }
.button-text:hover { color:#e7e3ff; border-color:#8e94ef; }
.hero-footnote { color:#7181a5; font-size:9px; }
.crossmark { color:#9299ff; }
.vertical-caption { color:#4b5e87; }
/* Instrument window: purposeful, not fake live status */
.hero-instrument { padding:72px clamp(23px,4.4vw,73px) 57px 17px; justify-content:center; }
.hero-instrument:before { content:""; z-index:-1; position:absolute; inset:72px clamp(23px,4.4vw,73px) 57px 17px; pointer-events:none; border:1px solid #394976; border-radius:10px; background:linear-gradient(155deg,#192243df,#0c1227f5 72%); box-shadow:0 24px 70px #0007,0 0 70px #7d7dff12,inset 0 1px #8196e017; }
.window-titlebar { padding:0 18px; display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:43px; border-bottom:1px solid #344166; color:#d9e1ff; position:relative; z-index:2; }
.window-title { display:flex; align-items:center; gap:11px; min-width:0; }
.window-title strong { font:700 9px var(--mono); letter-spacing:.12em; white-space:nowrap; }
.window-symbol { width:20px; height:20px; display:grid; place-items:center; border-radius:5px; color:#b5b0ff; background:#393b7580; font-size:14px; }
.window-path { color:#7586b0; font:10px var(--mono); white-space:nowrap; }
.window-actions { display:flex; align-items:center; gap:9px; }
.window-chip { font:700 8px var(--mono); color:#80d5ff; letter-spacing:.05em; border:1px solid #4b86ae6c; padding:6px; border-radius:4px; }
.ambient-toggle { color:#c5c9ff; background:#252b50; border:1px solid #4c5286; border-radius:4px; padding:7px 8px; font:700 8px var(--mono); letter-spacing:.05em; white-space:nowrap; }
.ambient-toggle:hover { color:#fff; background:#393c71; }
.instrument-meta { padding:17px 19px 3px; color:#7e96c0; }
.instrument-meta>span:first-child { color:#9baaff; }
.tiny-star { color:#7acfff; }
.signal-field { width:min(100%,470px); border:0; background:radial-gradient(circle at 50% 49%,#293062 0%,#151e3d 30%,transparent 69%); }
.signal-field::before { inset:3%; border-color:#989aff19; animation:orbit-breathe 6s ease-in-out infinite; }
.signal-field::after { background:radial-gradient(circle,#a590ff25,transparent 70%); }
.field-map circle[stroke], .field-map path[stroke] { /* SVG palette is embedded in this isolated prototype */ }
.core-halo { filter:drop-shadow(0 0 6px #bba9ffbb); }
.signal-trace { filter:drop-shadow(0 0 5px #85caff); }
.field-mark { color:#8192c288; }
.field-cross::before,.field-cross::after { background:#92a7e479; }
.node { color:#b6c3e1; font-size:clamp(7px,.66vw,9px); gap:8px; }
.node-point { border-color:#92abf2; background:#85bdfd; box-shadow:inset 0 0 0 4px #131a35; }
.node:hover,.node[aria-pressed="true"] { color:#f1edff; }
.node[aria-pressed="true"] .node-point { background:#c0b5ff; border-color:#ddd6ff; box-shadow:0 0 0 5px #a69aff30,0 0 24px #a6a1ffb0; }
.node-0 { top:20%; left:7%; }
.node-1 { top:22%; right:2%; }
.node-2 { bottom:21%; right:6%; }
.node-3 { bottom:19%; left:7%; }
.instrument-readout { padding:2px 19px 14px; color:#8194b9; border-bottom:1px solid #354268; }
.instrument-readout>span:last-child { color:#8caaff; }
.readout-led { background:#6ee9cf; box-shadow:0 0 10px #5bedd09c; }
.live-readout { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:16px 20px 18px; position:relative; }
.live-readout-data { min-width:0; }
.live-kicker { display:block; margin-bottom:6px; font:700 9px var(--mono); color:#8e9ff4; letter-spacing:.07em; }
.live-readout strong { font-size:18px; letter-spacing:-.02em; font-weight:640; }
.live-readout p { margin:4px 0 0; color:#8699be; font-size:11px; line-height:1.5; max-width:330px; }
.live-open { flex:none; display:flex; align-items:center; gap:8px; color:#b7c4ff; border:1px solid #3c4d7e; border-radius:4px; background:#222a4a; padding:11px; text-decoration:none; font:700 9px var(--mono); }
.live-open:hover { background:#313a6b; border-color:#8b96ff; }
/* Editorial content reframed as OS panels */
.principles { background:#0e152a; border-color:#293758; }
.principles>div { border-color:#293758; position:relative; }
.principles>div::before { content:""; position:absolute; top:23px; left:0; width:2px; height:28px; background:linear-gradient(#8a89ff,transparent); opacity:.6; }
.principle-index { color:#94a5ff; }
.principles strong { color:#dce5ff; }
.principles p { color:#94a5c4; }
.section-frame { padding-inline:clamp(32px,5.2vw,85px); }
.section-top { color:#8ea7db; }
.section-top span:last-child { color:#526895; }
.work-section { background:radial-gradient(ellipse at 88% 35%,#20204759,transparent 53%),#0a1020; border-color:#293656; }
.section-intro { padding-top:92px; }
.kicker { color:#99a9ff; }
.section-intro h2 em, .method-copy h2 em, .about-layout h2 em { color:#b1a5ff; }
.section-intro>p, .method-copy>p:not(.kicker), .about-description p { color:#a6b5d0; }
.atlas-list-col { border-color:#344364; background:linear-gradient(145deg,#141b33,#0c1429); }
.atlas-toolbar { background:#11192e; border-color:#344364; }
.filter-button { color:#8999bd; }
.filter-button.active, .filter-button:hover { color:#e5ddff; background:#303059; }
.atlas-search { border-color:#3b4b73; background:#0b1226; }
.atlas-search input { color:#e8ecff; }
.atlas-search input::placeholder { color:#7885a8; }
.project-card { border-color:#293858; }
.project-card:hover { background:#222b49; }
.project-card[aria-pressed="true"] { background:linear-gradient(100deg,#29274d,#1c2844); box-shadow:inset 3px 0 #a699ff; }
.card-index,.card-meta { color:#9daaff; }
.card-sub { color:#98a8c6; }
.card-arrow { color:#9eacff; }
.list-foot,.inspector-foot { border-color:#344364; color:#7b91b8; }
.inspector { border:1px solid #435280; border-radius:7px; background:linear-gradient(150deg,#202342,#121a32 76%); box-shadow:0 24px 65px #0004; }
.inspector-head { border-color:#3a4670; background:#22294a; }
.inspector-head span:last-child { color:#a9b0ff; }
.inspector-kicker,.inspector-section-label { color:#9aa9ff; }
.inspector-tagline,.inspector-statement { color:#b1c0d9; }
.inspector-rule { background:linear-gradient(90deg,#9d99ff,transparent); }
.inspector-tags span { border-color:#465781; color:#afbfee; }
.inspector-note { border-color:#786ec2; color:#a4b3d6; }
.inspector-link { color:#c4c3ff; border-color:#6463a9; }
.inspector-link:hover { background:#aaa5ff14; }
.inspector-foot { background:#1b2340; }
.provenance-note { color:#8295b5; }
.method-section { background:radial-gradient(ellipse at 82% 47%,#1c265e66,transparent 55%),#0b1021; border-color:#293758; }
.method-copy .method-small { color:#7e92b6!important; }
.method-console { border-color:#44537c; border-radius:7px; overflow:hidden; background:#111b33; }
.console-top, .console-bottom { background:#192340; color:#aebfe7; }
.console-top,.process-steps,.console-bottom { border-color:#35436d; }
.console-square { background:#93a4ff; }
.console-top>span:last-child,.console-bottom>span:last-child { color:#aeb4ff; }
.process-step { color:#879aba; border-color:#36436b; }
.process-step span { color:#7489b3; }
.process-step.is-current { background:#35355f; color:#ece5ff; box-shadow:inset 0 -3px #a7a1ff; }
.console-display { background:radial-gradient(ellipse at 90% 20%,#343a7752,transparent 65%); }
.console-label { color:#ada7ff; }
.console-display>p:not(.console-big) { color:#9faecb; }
.console-graph path { stroke:#999aff; }
.about-section { background:linear-gradient(120deg,#0c1327,#171b3a); }
.site-footer { background:#0d1428; border-color:#334160; }
.footer-brand span { color:#a5a1ff; }
.noscript { background:#292043; color:#f2edff; }
/* A little light, only where it means something */
@media(prefers-reduced-motion:no-preference) {
  .signal-field:before { animation:orbit-breathe 7s ease-in-out infinite; }
  .hero-instrument .field-map { animation:map-enter 1s ease-out both; }
  .hero h1 { animation:headline-enter .65s ease-out both; }
  .live-readout { transition:background .25s; }
}
@keyframes map-enter { from { opacity:0; transform:scale(.95) } to { opacity:1; transform:scale(1) } }
@keyframes headline-enter { from { opacity:0; transform:translateY(14px) } to { opacity:1; transform:translateY(0) } }
body.ambient-off .hero::after,body.ambient-off .signal-field::before,body.ambient-off .signal-field::after { display:none; }
body.ambient-off .signal-trace,body.ambient-off .core-halo { animation:none; filter:none; }
body.ambient-off .hero h1 em { filter:none; }
body.ambient-off .button-primary { box-shadow:none; }
/* Responsive OS collapses into normal navigable page on small screens. */
@media(max-width:1350px) {
  .hero { grid-template-columns:49% 51%; }
  .hero-content { padding-left:38px; }
  .hero h1 { font-size:clamp(52px,6vw,83px); }
  .hero-instrument { padding-right:24px; padding-left:12px; }
  .hero-instrument:before { right:24px; left:12px; }
  .window-path { display:none; }
  .live-readout { gap:12px; }
  .live-open { font-size:8px; }
}
@media(max-width:1060px) {
  .os-dock { display:none; }
  .site-shell > main,.site-shell > .site-footer { margin-left:0; }
  .hero { grid-template-columns:48% 52%; }
  .hero-content { padding-left:32px; }
  .hero h1 { font-size:clamp(48px,5.7vw,76px); }
  .hero-instrument { padding:64px 19px 44px 8px; }
  .hero-instrument:before { inset:64px 19px 44px 8px; }
  .site-header { padding-inline:24px; }
}
@media(max-width:920px) {
  .hero { display:block; }
  .hero-content { padding:83px 32px 28px; }
  .hero h1 { font-size:clamp(60px,9.9vw,100px); margin-top:33px; }
  .hero-footnote { padding-top:38px; }
  .hero-instrument { padding:24px 28px 64px; max-width:720px; }
  .hero-instrument:before { inset:24px 28px 64px; }
  .signal-field { max-width:500px; }
  .vertical-caption { display:none; }
  .window-titlebar { padding-inline:17px; }
  .instrument-meta,.instrument-readout { padding-inline:22px; }
  .node-0 { left:10%; }
  .node-3 { left:10%; }
}
@media(max-width:650px) {
  .notice-strip { font-size:7px; height:28px; padding-inline:13px; }
  .site-header { padding:17px 15px; gap:19px; }
  .brand { width:100%; justify-content:center; }
  .main-nav { gap:25px; }
  .main-nav a { font-size:9px; }
  .hero-content { padding:68px 21px 23px; }
  .os-coordinates { top:20px; left:21px; font-size:8px; }
  .hero h1 { font-size:clamp(46px,10.7vw,70px); margin-top:33px; }
  .hero-sub { font-size:15px; max-width:390px; }
  .hero-footnote { font-size:8px; padding-top:39px; }
  .hero-instrument { padding:27px 12px 43px; }
  .hero-instrument:before { inset:27px 12px 43px; }
  .window-titlebar { padding-inline:11px; min-height:42px; }
  .window-title { gap:6px; }
  .window-title strong { font-size:8px; }
  .window-chip { display:none; }
  .ambient-toggle { font-size:8px; padding:7px; }
  .instrument-meta { padding:13px 15px 0; font-size:8px; }
  .instrument-readout { padding:4px 15px 11px; font-size:8px; }
  .signal-field { width:min(100%,450px); }
  .node { font-size:clamp(6.6px,1.7vw,9px); gap:5px; }
  .node-0 { top:15%; left:2%; }
  .node-1 { top:20%; right:-1%; }
  .node-2 { bottom:20%; right:2%; }
  .node-3 { bottom:16%; left:2%; }
  .live-readout { padding:13px 14px 16px; }
  .live-readout strong { font-size:16px; }
  .live-readout p { font-size:10px; }
  .live-open { padding:8px; max-width:120px; line-height:1.5; }
  .section-frame { padding-inline:19px; }
  .section-intro { padding-top:64px; }
  .inspector { border-radius:4px; }
  .site-footer { margin-left:0; }
  .principles>div::before { left:9px; }
}
@media(max-width:370px) {
  .hero h1 { font-size:42px; }
  .main-nav { gap:13px; }
  .window-title strong { letter-spacing:0; }
  .ambient-toggle { font-size:7px; }
  .node { font-size:6.3px; }
  .live-readout { flex-wrap:wrap; }
  .live-open { max-width:none; }
}
@media(prefers-reduced-motion:reduce) {
  .signal-trace,.core-halo,.hero-instrument .field-map,.hero h1 { animation:none!important; }
  .hero-instrument { scroll-behavior:auto; }
}

@media(max-width:650px) {
  .notice-strip .notice-version { display:none; }
}
@media(max-width:370px) {
  .notice-strip { justify-content:center; }
  .notice-strip>span:nth-child(2) { display:none; }
}
