:root {
  --bg-0: #050911;
  --bg-1: #0a1220;
  --bg-2: #0f1c2f;
  --surface-0: rgba(8, 16, 28, 0.82);
  --surface-1: rgba(12, 22, 38, 0.92);
  --surface-2: rgba(16, 30, 48, 0.95);
  --line-soft: rgba(115, 156, 204, 0.2);
  --line-strong: rgba(124, 188, 255, 0.48);
  --text-strong: #f5fbff;
  --text-main: #d8e8fa;
  --text-muted: #8ea8c3;
  --accent-cyan: #63d8ff;
  --accent-blue: #4f9cff;
  --accent-gold: #f1ba66;
  --accent-violet: #8c82ff;
  --accent-mint: #4fe7b2;
  --accent-amber: #ffbf66;
  --accent-ice: #b7ecff;
  --accent-rose: #ff5f86;
  --pip-calm: #53e7ab;
  --pip-observing: #5ebeff;
  --pip-preparing: #ffd06a;
  --pip-focused: #aa8dff;
  --pip-caution: #ff6f92;
  --pip-sleep: #8f9caf;
  --good: #38d99d;
  --warn: #ffb24a;
  --bad: #ff6b8a;
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --space-1: 6px;
  --space-2: 10px;
  --space-3: 14px;
  --space-4: 18px;
  --space-5: 24px;
  --space-6: 30px;
  --shadow-soft: 0 10px 24px rgba(0, 4, 10, 0.35);
  --shadow-mid: 0 16px 34px rgba(0, 3, 10, 0.52);
  --shadow-strong: 0 24px 56px rgba(0, 2, 8, 0.66);
  --hud-glow: 0 0 0 1px rgba(99, 216, 255, 0.18), 0 16px 34px rgba(0, 7, 20, 0.5);
  --ring-focus: 0 0 0 2px rgba(99, 216, 255, 0.75), 0 0 0 5px rgba(22, 60, 95, 0.6);
  --atmosphere-a: rgba(79, 156, 255, 0.28);
  --atmosphere-b: rgba(140, 130, 255, 0.14);
  --atmosphere-c: rgba(79, 231, 178, 0.14);
  --atmosphere-line: rgba(99, 216, 255, 0.14);
  --atmosphere-reflection: rgba(214, 237, 255, 0.08);
  --atmosphere-edge: rgba(99, 216, 255, 0.24);
  --atmosphere-pulse-opacity: 0.28;
  --atmosphere-speed: 24s;
  --atmosphere-transition: background 1200ms ease, border-color 1200ms ease, box-shadow 1200ms ease, color 800ms ease;
  --bg-primary: var(--bg-0);
  --bg-secondary: var(--bg-1);
  --accent-main: var(--accent-cyan);
  --accent-secondary: var(--accent-gold);
  --accent-warning: var(--accent-amber);
  --card-bg: var(--surface-1);
  --card-border: var(--line-soft);
  --glow-main: rgba(99, 216, 255, 0.24);
  --jarvis-bg: var(--bg-0);
  --jarvis-panel: var(--surface-1);
  --jarvis-panel-2: var(--surface-2);
  --jarvis-text: var(--text-strong);
  --jarvis-muted: var(--text-muted);
  --jarvis-glow: var(--glow-main);
  --jarvis-bg-glow: var(--glow-main);
  --jarvis-grid: var(--atmosphere-line);
  --jarvis-motion-1: var(--accent-cyan);
  --jarvis-motion-2: var(--accent-gold);
  --jarvis-accent: var(--accent-cyan);
  --jarvis-accent-2: var(--accent-gold);
  --jarvis-button: linear-gradient(135deg, rgba(99, 216, 255, 0.2), rgba(79, 156, 255, 0.12));
  --jarvis-button-text: var(--text-strong);
  --jarvis-button-border: var(--line-strong);
  --jarvis-active: rgba(99, 216, 255, 0.18);
  --theme-nav-bg: linear-gradient(to top, color-mix(in srgb, var(--bg-0), #000 18%) 0%, color-mix(in srgb, var(--bg-1), transparent 18%) 100%);
  --theme-nav-border: color-mix(in srgb, var(--jarvis-accent), transparent 58%);
  --theme-nav-active: linear-gradient(135deg, color-mix(in srgb, var(--jarvis-accent), transparent 74%), color-mix(in srgb, var(--jarvis-accent-2), transparent 84%));
  --theme-surface-tint: linear-gradient(145deg, color-mix(in srgb, var(--surface-1), var(--jarvis-accent) 7%), color-mix(in srgb, var(--surface-2), var(--jarvis-accent-2) 5%));
  --theme-accent-soft: color-mix(in srgb, var(--jarvis-accent), transparent 82%);
  --theme-accent-line: color-mix(in srgb, var(--jarvis-accent), transparent 62%);
  --theme-accent-strong: color-mix(in srgb, var(--jarvis-accent), var(--text-strong) 14%);
  --jarvis-danger: var(--bad);
  --jarvis-success: var(--good);
  --jarvis-warning: var(--warn);
  --z-background: 0;
  --z-panels: 10;
  --z-sticky-nav: 1400;
  --z-pip: 1600;
  --z-ask-jarvis: 900;
  --z-intro: 300;
  --z-modal: 1000;
}

:root[data-theme="jarvis-blue"], body[data-theme="jarvis-blue"] { --bg-0:#050911; --bg-1:#07172a; --surface-1:rgba(8,19,36,.94); --surface-2:rgba(12,31,54,.96); --accent-cyan:#63d8ff; --accent-blue:#4f9cff; --accent-gold:#f1ba66; --glow-main:rgba(99,216,255,.28); }
:root[data-theme="cyber-green"], body[data-theme="cyber-green"] { --bg-0:#020806; --bg-1:#06130d; --surface-1:rgba(7,21,14,.94); --surface-2:rgba(10,34,23,.96); --accent-cyan:#48f0ac; --accent-blue:#1aa67b; --accent-gold:#c9b46a; --glow-main:rgba(72,240,172,.24); }
:root[data-theme="terminal-amber"], body[data-theme="terminal-amber"] { --bg-0:#090806; --bg-1:#17120a; --surface-1:rgba(26,20,11,.94); --surface-2:rgba(42,31,13,.96); --accent-cyan:#ffbf66; --accent-blue:#b96a2c; --accent-gold:#f4c65f; --glow-main:rgba(255,178,74,.24); }
:root[data-theme="institutional-dark"], body[data-theme="institutional-dark"] { --bg-0:#04070b; --bg-1:#0b1118; --surface-1:rgba(13,19,27,.95); --surface-2:rgba(20,29,40,.97); --accent-cyan:#9bb4d3; --accent-blue:#58708c; --accent-gold:#d1b16d; --glow-main:rgba(155,180,211,.18); }
:root[data-theme="bloomberg-style"], body[data-theme="bloomberg-style"] { --bg-0:#050404; --bg-1:#11100d; --surface-1:rgba(20,18,14,.95); --surface-2:rgba(32,27,18,.97); --accent-cyan:#ffb000; --accent-blue:#2c7be5; --accent-gold:#ffcf4a; --glow-main:rgba(255,176,0,.22); }
:root[data-theme="iron-red"], body[data-theme="iron-red"] { --bg-0:#090306; --bg-1:#17060a; --surface-1:rgba(27,7,12,.94); --surface-2:rgba(42,10,18,.96); --accent-cyan:#ff607f; --accent-blue:#b62643; --accent-gold:#ffb15f; --glow-main:rgba(255,96,127,.24); }
:root[data-theme="quantum-purple"], body[data-theme="quantum-purple"] { --bg-0:#060317; --bg-1:#100725; --surface-1:rgba(16,9,42,.94); --surface-2:rgba(27,14,65,.96); --accent-cyan:#29e6ff; --accent-blue:#7c63ff; --accent-gold:#b36cff; --glow-main:rgba(41,230,255,.24); }
:root[data-theme="arctic-white"], body[data-theme="arctic-white"] { --bg-0:#dfeaf2; --bg-1:#f7fbff; --surface-1:rgba(255,255,255,.88); --surface-2:rgba(239,247,255,.94); --text-strong:#07111d; --text-main:#13263a; --text-muted:#496178; --line-soft:rgba(33,70,106,.22); --line-strong:rgba(35,104,170,.52); --accent-cyan:#1069c9; --accent-blue:#0d4d95; --accent-gold:#9b6b14; --glow-main:rgba(16,105,201,.2); }

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  min-height: -webkit-fill-available;
  scroll-behavior: smooth;
  overflow-x: hidden;
  overscroll-behavior-y: none;
  -webkit-overflow-scrolling: touch;
  text-rendering: optimizeLegibility;
}

html {
  scroll-padding-top: calc(var(--sticky-nav-height, 72px) + 18px);
}

:root[data-theme="obsidian-wealth"],
body[data-atmosphere="obsidian-wealth"] {
  --bg-0: #020504; --bg-1: #07110d; --bg-2: #0d1d17;
  --surface-0: rgba(3, 10, 8, 0.84); --surface-1: rgba(6, 17, 13, 0.92); --surface-2: rgba(10, 26, 19, 0.95);
  --accent-cyan: #4fe7b2; --accent-blue: #159b73; --accent-gold: #d6aa52; --accent-amber: #f0c76c; --accent-ice: #e1f8ed;
  --atmosphere-a: rgba(6, 93, 61, 0.38); --atmosphere-b: rgba(210, 163, 70, 0.18); --atmosphere-c: rgba(28, 210, 135, 0.2);
  --atmosphere-line: rgba(224, 176, 83, 0.22); --atmosphere-edge: rgba(32, 222, 145, 0.28); --glow-main: rgba(79, 231, 178, 0.26);
}

:root[data-theme="deep-emerald"], body[data-atmosphere="deep-emerald"],
:root[data-theme="ai-terminal"], body[data-atmosphere="ai-terminal"] {
  --bg-0: #020806; --bg-1: #06130d; --bg-2: #0b2117;
  --surface-0: rgba(4, 14, 10, 0.84); --surface-1: rgba(7, 21, 14, 0.92); --surface-2: rgba(10, 34, 23, 0.95);
  --accent-cyan: #48f0ac; --accent-blue: #1aa67b; --accent-gold: #c9b46a; --accent-amber: #ecd16f; --accent-ice: #e5fff3;
  --atmosphere-a: rgba(26, 166, 123, 0.32); --atmosphere-b: rgba(72, 240, 172, 0.14); --atmosphere-c: rgba(201, 180, 106, 0.12);
  --atmosphere-line: rgba(72, 240, 172, 0.2); --atmosphere-edge: rgba(72, 240, 172, 0.28); --glow-main: rgba(72, 240, 172, 0.2);
}

:root[data-theme="crimson-pulse"], body[data-atmosphere="crimson-pulse"],
:root[data-theme="neon-crimson"], body[data-atmosphere="neon-crimson"],
:root[data-theme="red-alert"], body[data-atmosphere="red-alert"] {
  --bg-0: #090306; --bg-1: #17060a; --bg-2: #280b12;
  --surface-0: rgba(16, 4, 8, 0.84); --surface-1: rgba(27, 7, 12, 0.92); --surface-2: rgba(42, 10, 18, 0.95);
  --accent-cyan: #ff607f; --accent-blue: #b62643; --accent-gold: #ffb15f; --accent-amber: #ffc36d; --accent-ice: #ffe3ea;
  --atmosphere-a: rgba(182, 38, 67, 0.34); --atmosphere-b: rgba(255, 177, 95, 0.14); --atmosphere-c: rgba(255, 96, 127, 0.12);
  --atmosphere-line: rgba(255, 96, 127, 0.2); --atmosphere-edge: rgba(255, 96, 127, 0.28); --glow-main: rgba(255, 96, 127, 0.2);
}

:root[data-theme="tactical-ice"], body[data-atmosphere="tactical-ice"] {
  --bg-0: #030b12; --bg-1: #071522; --bg-2: #0b2638;
  --surface-0: rgba(5, 17, 27, 0.84); --surface-1: rgba(8, 23, 37, 0.92); --surface-2: rgba(12, 37, 58, 0.95);
  --accent-cyan: #91efff; --accent-blue: #4ba8e8; --accent-gold: #dcebf0; --accent-amber: #a9f2ff; --accent-ice: #ffffff;
  --atmosphere-a: rgba(75, 168, 232, 0.28); --atmosphere-b: rgba(145, 239, 255, 0.12); --atmosphere-c: rgba(220, 235, 240, 0.08);
  --atmosphere-line: rgba(145, 239, 255, 0.18); --atmosphere-edge: rgba(145, 239, 255, 0.26); --glow-main: rgba(145, 239, 255, 0.18);
}

:root[data-theme="solar-gold"], body[data-atmosphere="solar-gold"] {
  --bg-0: #080705; --bg-1: #141108; --bg-2: #241a08;
  --surface-0: rgba(14, 12, 7, 0.84); --surface-1: rgba(23, 18, 9, 0.92); --surface-2: rgba(39, 28, 9, 0.95);
  --accent-cyan: #ffc963; --accent-blue: #9f7b30; --accent-gold: #f2d078; --accent-amber: #ffb84f; --accent-ice: #fff2ce;
  --atmosphere-a: rgba(159, 123, 48, 0.28); --atmosphere-b: rgba(255, 201, 99, 0.14); --atmosphere-c: rgba(242, 208, 120, 0.12);
  --atmosphere-line: rgba(255, 201, 99, 0.18); --atmosphere-edge: rgba(255, 201, 99, 0.26); --glow-main: rgba(255, 201, 99, 0.18);
}

:root[data-theme="midnight-reactor"], body[data-atmosphere="midnight-reactor"] {
  --bg-0: #050911; --bg-1: #091421; --bg-2: #0f202d;
  --surface-0: rgba(7, 15, 26, 0.84); --surface-1: rgba(10, 22, 35, 0.92); --surface-2: rgba(15, 32, 45, 0.95);
  --accent-cyan: #5de5d2; --accent-blue: #4b8dff; --accent-gold: #d2c36f; --accent-amber: #f0c76c; --accent-ice: #ecfbff;
  --atmosphere-a: rgba(75, 141, 255, 0.22); --atmosphere-b: rgba(93, 229, 210, 0.13); --atmosphere-c: rgba(210, 195, 111, 0.1);
  --atmosphere-line: rgba(93, 229, 210, 0.18); --atmosphere-edge: rgba(93, 229, 210, 0.24); --glow-main: rgba(93, 229, 210, 0.18);
}

:root[data-theme="crimson-volatility"],
body[data-atmosphere="crimson-volatility"] {
  --bg-0: #070306; --bg-1: #15070a; --bg-2: #250b10;
  --surface-0: rgba(14, 4, 7, 0.86); --surface-1: rgba(24, 7, 10, 0.93); --surface-2: rgba(38, 10, 15, 0.95);
  --accent-cyan: #ff5f7d; --accent-blue: #9f1f32; --accent-gold: #ff9b45; --accent-amber: #ffb24a; --accent-ice: #ffe0e6;
  --atmosphere-a: rgba(151, 20, 35, 0.42); --atmosphere-b: rgba(255, 111, 50, 0.18); --atmosphere-c: rgba(74, 9, 20, 0.24);
  --atmosphere-line: rgba(255, 106, 81, 0.24); --atmosphere-edge: rgba(255, 85, 110, 0.3); --glow-main: rgba(255, 95, 125, 0.26);
}

:root[data-theme="quantum-violet"],
body[data-atmosphere="quantum-violet"] {
  --bg-0: #060317; --bg-1: #100725; --bg-2: #1d1040;
  --surface-0: rgba(9, 5, 31, 0.86); --surface-1: rgba(16, 9, 42, 0.93); --surface-2: rgba(27, 14, 65, 0.95);
  --accent-cyan: #29e6ff; --accent-blue: #7c63ff; --accent-gold: #b36cff; --accent-amber: #d58cff; --accent-ice: #eee9ff;
  --atmosphere-a: rgba(97, 53, 255, 0.32); --atmosphere-b: rgba(35, 221, 255, 0.2); --atmosphere-c: rgba(168, 62, 255, 0.18);
  --atmosphere-line: rgba(47, 230, 255, 0.25); --atmosphere-edge: rgba(141, 112, 255, 0.32); --glow-main: rgba(41, 230, 255, 0.24);
}

:root[data-theme="nuclear-gold"],
body[data-atmosphere="nuclear-gold"] {
  --bg-0: #030704; --bg-1: #0b1007; --bg-2: #1b1b0a;
  --surface-0: rgba(6, 13, 8, 0.86); --surface-1: rgba(12, 18, 9, 0.93); --surface-2: rgba(24, 27, 11, 0.95);
  --accent-cyan: #90ff58; --accent-blue: #2ca45b; --accent-gold: #f0c85a; --accent-amber: #f7d76b; --accent-ice: #efffdc;
  --atmosphere-a: rgba(73, 198, 72, 0.28); --atmosphere-b: rgba(240, 200, 90, 0.22); --atmosphere-c: rgba(139, 255, 88, 0.12);
  --atmosphere-line: rgba(240, 200, 90, 0.24); --atmosphere-edge: rgba(144, 255, 88, 0.28); --glow-main: rgba(240, 200, 90, 0.26);
}

:root[data-theme="deep-ocean"],
body[data-atmosphere="deep-ocean"] {
  --bg-0: #030816; --bg-1: #07152a; --bg-2: #0d2438;
  --surface-0: rgba(6, 17, 33, 0.84); --surface-1: rgba(8, 22, 42, 0.92); --surface-2: rgba(12, 33, 54, 0.95);
  --accent-cyan: #72e4ff; --accent-blue: #2e9eb0; --accent-gold: #9be7da; --accent-amber: #ffd06a; --accent-ice: #e8f4fb;
  --atmosphere-a: rgba(23, 92, 142, 0.3); --atmosphere-b: rgba(95, 218, 239, 0.14); --atmosphere-c: rgba(13, 116, 113, 0.14);
  --atmosphere-line: rgba(127, 220, 232, 0.16); --atmosphere-edge: rgba(104, 218, 255, 0.24); --glow-main: rgba(114, 228, 255, 0.24);
}

:root[data-theme="emerald-matrix"],
body[data-atmosphere="emerald-matrix"] {
  --bg-0: #020806; --bg-1: #06130d; --bg-2: #0d2117;
  --surface-0: rgba(4, 14, 10, 0.86); --surface-1: rgba(7, 21, 14, 0.93); --surface-2: rgba(11, 32, 22, 0.95);
  --accent-cyan: #38f29b; --accent-blue: #149064; --accent-gold: #8ca29a; --accent-amber: #d6c16a; --accent-ice: #dff9eb;
  --atmosphere-a: rgba(32, 210, 122, 0.3); --atmosphere-b: rgba(20, 144, 100, 0.2); --atmosphere-c: rgba(80, 94, 88, 0.18);
  --atmosphere-line: rgba(56, 242, 155, 0.22); --atmosphere-edge: rgba(56, 242, 155, 0.3); --glow-main: rgba(56, 242, 155, 0.24);
}

:root[data-theme="lunar-silver"],
body[data-atmosphere="lunar-silver"] {
  --bg-0: #070a0d; --bg-1: #111820; --bg-2: #182636;
  --surface-0: rgba(14, 18, 22, 0.84); --surface-1: rgba(17, 25, 33, 0.93); --surface-2: rgba(26, 36, 47, 0.95);
  --accent-cyan: #ccefff; --accent-blue: #8fb6d9; --accent-gold: #d9e2e8; --accent-amber: #edf2f5; --accent-ice: #ffffff;
  --atmosphere-a: rgba(126, 155, 178, 0.28); --atmosphere-b: rgba(216, 238, 248, 0.16); --atmosphere-c: rgba(74, 105, 136, 0.18);
  --atmosphere-line: rgba(210, 238, 255, 0.18); --atmosphere-edge: rgba(198, 232, 255, 0.28); --glow-main: rgba(204, 239, 255, 0.2);
}

:root[data-theme="blood-moon"],
body[data-atmosphere="blood-moon"] {
  --bg-0: #070207; --bg-1: #17040f; --bg-2: #26091a;
  --surface-0: rgba(15, 3, 11, 0.86); --surface-1: rgba(25, 5, 16, 0.93); --surface-2: rgba(40, 8, 25, 0.95);
  --accent-cyan: #ff4f72; --accent-blue: #8a174d; --accent-gold: #d34b8c; --accent-amber: #ff7b4f; --accent-ice: #ffe1ec;
  --atmosphere-a: rgba(153, 17, 45, 0.38); --atmosphere-b: rgba(137, 20, 82, 0.25); --atmosphere-c: rgba(72, 6, 36, 0.24);
  --atmosphere-line: rgba(255, 79, 114, 0.24); --atmosphere-edge: rgba(255, 79, 114, 0.28); --glow-main: rgba(255, 79, 114, 0.24);
}

:root[data-theme="solar-amber"],
body[data-atmosphere="solar-amber"] {
  --bg-0: #090806; --bg-1: #17120a; --bg-2: #281d0d;
  --surface-0: rgba(16, 13, 8, 0.86); --surface-1: rgba(26, 20, 11, 0.93); --surface-2: rgba(42, 31, 13, 0.95);
  --accent-cyan: #ffbf66; --accent-blue: #b96a2c; --accent-gold: #f4c65f; --accent-amber: #ffb24a; --accent-ice: #fff1d2;
  --atmosphere-a: rgba(180, 93, 35, 0.32); --atmosphere-b: rgba(244, 198, 95, 0.2); --atmosphere-c: rgba(91, 45, 12, 0.24);
  --atmosphere-line: rgba(255, 178, 74, 0.22); --atmosphere-edge: rgba(244, 198, 95, 0.28); --glow-main: rgba(255, 178, 74, 0.24);
}

:root[data-theme="cyber-ice"],
body[data-atmosphere="cyber-ice"] {
  --bg-0: #020815; --bg-1: #061225; --bg-2: #0b2037;
  --surface-0: rgba(4, 13, 28, 0.86); --surface-1: rgba(6, 18, 37, 0.93); --surface-2: rgba(11, 31, 52, 0.95);
  --accent-cyan: #27e8ff; --accent-blue: #3a8fff; --accent-gold: #eefcff; --accent-amber: #8befff; --accent-ice: #ffffff;
  --atmosphere-a: rgba(39, 232, 255, 0.28); --atmosphere-b: rgba(58, 143, 255, 0.18); --atmosphere-c: rgba(232, 252, 255, 0.1);
  --atmosphere-line: rgba(39, 232, 255, 0.24); --atmosphere-edge: rgba(39, 232, 255, 0.32); --glow-main: rgba(39, 232, 255, 0.24);
}

body {
  color: var(--text-main);
  font-family: "Manrope", "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 8% 0%, var(--atmosphere-a), transparent 30%),
    radial-gradient(circle at 80% 12%, var(--atmosphere-b), transparent 34%),
    radial-gradient(circle at 92% 100%, var(--atmosphere-c), transparent 28%),
    linear-gradient(145deg, var(--bg-0), var(--bg-1));
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  position: relative;
  transition: var(--atmosphere-transition);
}

button,
.tiny-btn,
.cta-ghost,
.ask-jarvis-command,
.paper-trader-command,
input[type="button"],
input[type="submit"] {
  border-color: var(--jarvis-button-border);
  background: var(--jarvis-button);
  color: var(--jarvis-button-text);
}

input,
select,
textarea {
  border-color: var(--jarvis-button-border);
}

body.ask-open {
  overflow: hidden;
}

body[data-atmosphere="wealth"] {
  --bg-0: #020504;
  --bg-1: #07110d;
  --bg-2: #0d1d17;
  --surface-0: rgba(3, 10, 8, 0.84);
  --surface-1: rgba(6, 17, 13, 0.92);
  --accent-cyan: #56e6b3;
  --accent-blue: #159b73;
  --accent-gold: #d6aa52;
  --accent-ice: #dff8ec;
  --atmosphere-a: rgba(6, 93, 61, 0.38);
  --atmosphere-b: rgba(210, 163, 70, 0.18);
  --atmosphere-c: rgba(28, 210, 135, 0.2);
  --atmosphere-line: rgba(224, 176, 83, 0.22);
  --atmosphere-reflection: rgba(245, 213, 140, 0.1);
  --atmosphere-edge: rgba(32, 222, 145, 0.28);
}

body[data-atmosphere="calm"] {
  --bg-0: #030816;
  --bg-1: #07152a;
  --bg-2: #0d2438;
  --surface-0: rgba(6, 17, 33, 0.84);
  --surface-1: rgba(8, 22, 42, 0.92);
  --accent-cyan: #72e4ff;
  --accent-blue: #4d9cff;
  --accent-gold: #cbd8e4;
  --accent-ice: #e8f4fb;
  --atmosphere-a: rgba(23, 92, 142, 0.3);
  --atmosphere-b: rgba(95, 218, 239, 0.14);
  --atmosphere-c: rgba(218, 231, 240, 0.11);
  --atmosphere-line: rgba(127, 220, 232, 0.16);
  --atmosphere-reflection: rgba(227, 240, 248, 0.09);
  --atmosphere-edge: rgba(104, 218, 255, 0.24);
}

body[data-atmosphere="momentum"] {
  --bg-0: #08010a;
  --bg-1: #190316;
  --bg-2: #220b33;
  --surface-0: rgba(20, 4, 17, 0.84);
  --surface-1: rgba(24, 7, 29, 0.92);
  --accent-cyan: #ff4bb1;
  --accent-blue: #8d6cff;
  --accent-gold: #ff746c;
  --accent-ice: #ffe3f1;
  --atmosphere-a: rgba(190, 20, 52, 0.36);
  --atmosphere-b: rgba(235, 28, 168, 0.24);
  --atmosphere-c: rgba(94, 48, 204, 0.22);
  --atmosphere-line: rgba(255, 68, 147, 0.26);
  --atmosphere-reflection: rgba(255, 154, 206, 0.1);
  --atmosphere-edge: rgba(255, 69, 148, 0.34);
  --atmosphere-speed: 18s;
}

body[data-atmosphere="ice"] {
  --bg-0: #070a0d;
  --bg-1: #111820;
  --bg-2: #182636;
  --surface-0: rgba(14, 18, 22, 0.84);
  --surface-1: rgba(17, 25, 33, 0.93);
  --accent-cyan: #ccefff;
  --accent-blue: #8fb6d9;
  --accent-gold: #f3f8fb;
  --accent-ice: #ffffff;
  --atmosphere-a: rgba(126, 155, 178, 0.28);
  --atmosphere-b: rgba(216, 238, 248, 0.16);
  --atmosphere-c: rgba(74, 105, 136, 0.18);
  --atmosphere-line: rgba(210, 238, 255, 0.18);
  --atmosphere-reflection: rgba(255, 255, 255, 0.12);
  --atmosphere-edge: rgba(198, 232, 255, 0.28);
}

body[data-atmosphere="zen"] {
  --bg-0: #020706;
  --bg-1: #071310;
  --bg-2: #0d211c;
  --surface-0: rgba(4, 14, 12, 0.84);
  --surface-1: rgba(8, 24, 20, 0.93);
  --accent-cyan: #5fcbb5;
  --accent-blue: #2e8f86;
  --accent-gold: #d79945;
  --accent-ice: #d8f2eb;
  --atmosphere-a: rgba(19, 80, 66, 0.28);
  --atmosphere-b: rgba(207, 137, 55, 0.18);
  --atmosphere-c: rgba(31, 115, 101, 0.16);
  --atmosphere-line: rgba(222, 157, 65, 0.18);
  --atmosphere-reflection: rgba(224, 171, 89, 0.09);
  --atmosphere-edge: rgba(80, 197, 171, 0.22);
  --atmosphere-speed: 32s;
}

body[data-atmosphere="crypto"] {
  --bg-0: #040318;
  --bg-1: #09052a;
  --bg-2: #15104a;
  --surface-0: rgba(7, 5, 29, 0.84);
  --surface-1: rgba(10, 8, 42, 0.93);
  --accent-cyan: #28f0ff;
  --accent-blue: #5d7cff;
  --accent-gold: #b56cff;
  --accent-violet: #a64dff;
  --accent-ice: #e7e5ff;
  --atmosphere-a: rgba(28, 223, 255, 0.3);
  --atmosphere-b: rgba(116, 50, 255, 0.24);
  --atmosphere-c: rgba(202, 48, 255, 0.16);
  --atmosphere-line: rgba(43, 232, 255, 0.24);
  --atmosphere-reflection: rgba(167, 131, 255, 0.1);
  --atmosphere-edge: rgba(41, 238, 255, 0.32);
  --atmosphere-speed: 16s;
}

body.mode-heat-active {
  --bg-0: #070609;
  --bg-1: #14070b;
  --bg-2: #1d0c10;
  --accent-cyan: #35e4a7;
  --accent-blue: #8a1f31;
  --accent-gold: #d6ad62;
  --atmosphere-a: rgba(108, 14, 28, 0.42);
  --atmosphere-b: rgba(48, 190, 135, 0.16);
  --atmosphere-c: rgba(214, 173, 98, 0.12);
  --atmosphere-line: rgba(214, 173, 98, 0.2);
}

body[data-atmosphere="premarket"] {
  --atmosphere-a: rgba(20, 48, 95, 0.28);
  --atmosphere-b: rgba(45, 202, 148, 0.16);
  --atmosphere-c: rgba(241, 186, 102, 0.1);
  --atmosphere-line: rgba(79, 231, 178, 0.18);
}

body[data-atmosphere="afterhours"] {
  --atmosphere-a: rgba(91, 63, 166, 0.24);
  --atmosphere-b: rgba(83, 211, 235, 0.15);
  --atmosphere-c: rgba(16, 28, 58, 0.2);
  --atmosphere-line: rgba(99, 216, 255, 0.16);
}

body.is-tab-hidden *,
body.is-tab-hidden *::before,
body.is-tab-hidden *::after {
  animation-play-state: paused !important;
}

body[data-atmosphere-intensity="0"] .jarvis-bg-motion,
body[data-atmosphere-intensity="0"]::before,
body[data-atmosphere-intensity="0"]::after {
  opacity: 0.18;
  animation-play-state: paused;
}

body.mode-access-gateway,
body.modal-open {
  overflow: hidden;
  touch-action: none;
}

body.mode-access-gateway .pip-companion {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.mode-pip-active .pip-companion {
  opacity: 0.86;
}

body::before {
  content: "";
  position: fixed;
  inset: -20% -10%;
  z-index: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(112deg, transparent 0 32px, rgba(118, 212, 255, 0.09) 32px 34px, transparent 34px 74px),
    repeating-linear-gradient(-112deg, transparent 0 28px, var(--atmosphere-line) 28px 30px, transparent 30px 68px);
  animation: dataFlow var(--atmosphere-speed) linear infinite;
  opacity: 0.34;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(104deg, transparent 0 18%, var(--atmosphere-reflection) 24%, transparent 34% 100%),
    linear-gradient(175deg, transparent 0 54%, var(--atmosphere-line) 55%, transparent 58% 100%);
  background-size: 240% 100%, 180% 100%;
  mix-blend-mode: screen;
  opacity: var(--atmosphere-pulse-opacity);
  animation: liquidityStreak 34s ease-in-out infinite;
}

.app-shell::before,
.app-shell::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.app-shell::before {
  background:
    linear-gradient(90deg, transparent 0 49%, color-mix(in srgb, var(--jarvis-grid), transparent 72%) 50%, transparent 51% 100%),
    linear-gradient(0deg, transparent 0 49%, color-mix(in srgb, var(--jarvis-grid), transparent 78%) 50%, transparent 51% 100%);
  background-size: 78px 78px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.12));
  opacity: 0.38;
  transform: translate3d(0, 0, 0);
  animation: tacticalGridDrift 36s linear infinite;
}

.app-shell::after {
  background:
    radial-gradient(ellipse at 20% 18%, color-mix(in srgb, var(--jarvis-motion-1), transparent 76%), transparent 34%),
    radial-gradient(ellipse at 82% 28%, color-mix(in srgb, var(--jarvis-motion-2), transparent 82%), transparent 30%),
    linear-gradient(112deg, transparent 0 20%, color-mix(in srgb, var(--jarvis-grid), transparent 88%) 21%, transparent 28% 100%);
  background-size: 140% 140%, 160% 160%, 220% 100%;
  opacity: 0.52;
  animation: holographicWave 28s ease-in-out infinite alternate;
}

body.page-community .app-shell > main,
body.page-community .affirmation-bar,
body.page-community .footer-note {
  display: none;
}

body.page-community {
  --atmosphere-pulse-opacity: 0.2;
}

body.page-community .jarvis-community {
  display: block;
}

body:not(.page-community) .app-shell > main {
  display: block;
}

body[data-active-page="quote"] #tab-live > :not(#jarvis-quote),
body[data-active-page="bias"] #tab-live > :not(#jarvis-bias),
body[data-active-page="search"] #tab-live > :not(#jarvis-global-symbol-search),
body[data-active-page="settings"] #tab-live > :not(#jarvis-settings),
body[data-active-page="university"] #tab-live > :not(#jarvis-university) {
  display: none !important;
}

body[data-active-page="quote"] #tab-live,
body[data-active-page="bias"] #tab-live,
body[data-active-page="search"] #tab-live,
body[data-active-page="settings"] #tab-live,
body[data-active-page="university"] #tab-live {
  display: block;
}

body[data-active-page="heat"] #jarvis-heat-matrix > :is(#jarvis-fresh-movers, #jarvis-congressional-tracker, #jarvis-ai-infrastructure, #jarvis-ai-buildout-map),
body[data-active-page="freshMovers"] #jarvis-heat-matrix > :not(#jarvis-fresh-movers),
body[data-active-page="buildout"] #jarvis-heat-matrix > :not(#jarvis-ai-infrastructure):not(#jarvis-ai-buildout-map),
body[data-active-page="replay"] .tab-pane:not(#jarvis-replay),
body[data-active-page="upload"] .tab-pane:not(#tab-upload),
body[data-active-page="pip"] .tab-pane:not(#jarvis-pip) {
  display: none !important;
}

body[data-active-page="freshMovers"] #jarvis-heat-matrix,
body[data-active-page="buildout"] #jarvis-heat-matrix,
body[data-active-page="heat"] #jarvis-heat-matrix,
body[data-active-page="replay"] #jarvis-replay,
body[data-active-page="upload"] #tab-upload,
body[data-active-page="pip"] #jarvis-pip {
  display: block;
}

body[data-atmosphere-intensity="1"] {
  --atmosphere-pulse-opacity: 0.34;
}

body[data-atmosphere-intensity="2"] {
  --atmosphere-pulse-opacity: 0.42;
}

body[data-atmosphere-intensity="3"] {
  --atmosphere-pulse-opacity: 0.5;
}

.jarvis-update-banner {
  position: fixed;
  top: max(12px, env(safe-area-inset-top));
  left: 50%;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(560px, calc(100vw - 24px));
  padding: 10px 12px;
  border: 1px solid rgba(255, 216, 120, 0.55);
  border-radius: 8px;
  background: rgba(22, 7, 11, 0.96);
  color: #fff4c8;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.38);
  transform: translateX(-50%);
}

.jarvis-update-banner[hidden] {
  display: none;
}

.jarvis-update-banner span {
  flex: 1;
  font-size: 0.86rem;
  font-weight: 700;
}

.jarvis-update-banner button {
  min-height: 34px;
  border: 0;
  border-radius: 6px;
  padding: 0 12px;
  background: #ffd66b;
  color: #17080b;
  font-weight: 800;
  cursor: pointer;
}

.education-modal-overlay,
.access-gateway {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  min-height: 100dvh;
  padding:
    calc(env(safe-area-inset-top, 0px) + 12px)
    12px
    calc(env(safe-area-inset-bottom, 0px) + 12px);
  background: rgba(2, 6, 18, 0.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 1;
  visibility: visible;
  overflow: hidden;
  overscroll-behavior: contain;
  transition: opacity 420ms ease, visibility 420ms ease;
  animation: gatewayFadeIn 500ms ease both;
  isolation: isolate;
  contain: layout paint;
  transform: none;
  pointer-events: auto;
}

.education-modal {
  position: relative;
  width: min(92vw, 720px);
  max-height: 82dvh;
  overflow-y: auto;
  border-radius: 28px;
  contain: layout paint style;
  isolation: isolate;
}

.education-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(0.985);
}

.access-gateway.is-hidden {
  display: none !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.access-gateway.is-exiting {
  opacity: 0;
  pointer-events: none;
}

.access-gateway-bg,
.access-gateway-orb,
.access-gateway-grid,
.access-gateway-scan {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.access-gateway-orb {
  border-radius: 999px;
  filter: blur(48px);
  opacity: 0.44;
}

.access-gateway-orb-a {
  inset: 8% auto auto 6%;
  width: min(42vw, 500px);
  height: min(42vw, 500px);
  background: radial-gradient(circle, rgba(107, 191, 255, 0.36), rgba(107, 191, 255, 0) 68%);
  animation: gatewayFloatA 14s ease-in-out infinite;
}

.access-gateway-orb-b {
  inset: auto 4% 6% auto;
  width: min(36vw, 420px);
  height: min(36vw, 420px);
  background: radial-gradient(circle, rgba(138, 124, 255, 0.32), rgba(138, 124, 255, 0) 72%);
  animation: gatewayFloatB 15s ease-in-out infinite;
}

.access-gateway-grid {
  background-image:
    linear-gradient(rgba(122, 200, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(122, 200, 255, 0.08) 1px, transparent 1px);
  background-size: 30px 30px;
  mask-image: radial-gradient(circle at 50% 45%, black 36%, transparent 88%);
  opacity: 0.26;
}

.access-gateway-scan {
  inset: -30% 0 auto 0;
  height: 38%;
  background: linear-gradient(180deg, transparent, rgba(104, 224, 255, 0.18), transparent);
  filter: blur(6px);
  animation: gatewayScanner 7.8s linear infinite;
}

.access-gateway-shell {
  position: relative;
  z-index: 1;
  width: min(96vw, 720px);
  max-height: 82vh;
  max-height: 82dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: none;
  border-radius: 28px;
  border: 1px solid rgba(100, 255, 216, 0.28);
  background-color: rgba(4, 10, 20, 0.96);
  background-image:
    linear-gradient(170deg, rgba(7, 14, 23, 0.9), rgba(4, 9, 16, 0.96)),
    repeating-linear-gradient(180deg, rgba(110, 255, 229, 0.04) 0 1px, transparent 1px 8px);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.68), inset 0 0 54px rgba(42, 230, 193, 0.07);
}

.access-gateway-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(120, 244, 255, 0.09), transparent);
  transform: translateX(-80%);
  animation: legalScan 5.8s linear infinite;
}

.legal-gate-header {
  flex: 0 0 auto;
  padding: clamp(18px, 3vw, 30px) clamp(18px, 3vw, 30px) 10px;
}

.legal-gate-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 18px;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.access-agreement-section {
  display: block;
  position: relative;
  z-index: 4;
}

.access-agreement-section h3 {
  margin: 0 0 10px;
  color: var(--text-strong);
  font-family: "Space Grotesk", "Segoe UI", sans-serif;
  font-size: 1.12rem;
  line-height: 1.2;
}

.access-seal {
  position: relative;
  width: 74px;
  height: 74px;
  margin-bottom: 12px;
  border-radius: 50%;
  border: 1px solid rgba(115, 255, 213, 0.45);
  background:
    radial-gradient(circle, rgba(250, 206, 112, 0.2) 0 22%, transparent 23%),
    conic-gradient(from 0deg, rgba(116, 246, 217, 0.16), rgba(95, 190, 255, 0.5), rgba(242, 197, 104, 0.62), rgba(116, 246, 217, 0.16));
  box-shadow: 0 0 28px rgba(96, 240, 220, 0.28), inset 0 0 18px rgba(0, 0, 0, 0.42);
  animation: securityRing 7s linear infinite;
}

.access-seal span {
  position: absolute;
  inset: 14px;
  border-radius: 50%;
  border: 1px solid rgba(255, 216, 125, 0.58);
  background: radial-gradient(circle, rgba(4, 12, 20, 0.96), rgba(16, 35, 45, 0.72));
}

.access-gateway-primary-actions,
.access-gateway-footer-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  width: 100%;
}

.access-gateway-footer-buttons {
  flex: 1 1 100%;
}

.access-gateway-review-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.access-gateway-notice {
  min-height: 1.35em;
  margin: 0;
  color: #ffd98a;
  font-weight: 700;
}

.access-gateway-head h2 {
  margin: 8px 0 8px;
  font-family: "Space Grotesk", "Segoe UI", sans-serif;
  font-size: clamp(1.36rem, 2.8vw, 2.1rem);
  line-height: 1.12;
  color: var(--text-strong);
}

.access-gateway-head p {
  margin: 0;
  color: var(--text-muted);
}

.access-gateway-badge {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(114, 202, 255, 0.4);
  color: var(--accent-cyan);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.75rem;
  font-weight: 700;
  background: rgba(9, 22, 38, 0.72);
}

.access-gateway-terms,
.legal-agreement-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
  margin: 18px 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  z-index: 5 !important;
  scroll-padding-bottom: 24px;
  border: 0;
  border-radius: 0;
  background: transparent;
  pointer-events: auto;
}

.access-term-card,
.legal-card {
  display: block !important;
  position: relative !important;
  width: 100%;
  min-height: auto !important;
  margin: 0 0 14px !important;
  border-radius: 18px;
  border: 1px solid rgba(118, 219, 230, 0.23);
  background: rgba(7, 17, 28, 0.82);
  padding: 16px;
  overflow: visible;
  color: var(--text-main);
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025);
  transition: border-color 180ms ease, box-shadow 180ms ease;
  pointer-events: auto;
}

.access-term-card:last-child {
  margin-bottom: 0;
}

.access-term-card[open] {
  border-color: rgba(108, 244, 220, 0.42);
  box-shadow: inset 0 0 24px rgba(77, 227, 199, 0.06), 0 0 18px rgba(70, 216, 196, 0.05);
}

.access-term-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--text-strong);
  cursor: pointer;
  list-style: none;
}

.access-term-card summary::-webkit-details-marker {
  display: none;
}

.access-term-card summary span {
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-strong);
}

.access-term-card summary small {
  flex: 0 0 auto;
  color: #07131d;
  border-radius: 999px;
  padding: 4px 8px;
  background: linear-gradient(120deg, #76f0d4, #ffd27d);
  font-size: 0.72rem;
  font-weight: 800;
}

.access-term-card-optional summary small {
  background: rgba(128, 180, 205, 0.24);
  color: var(--accent-ice);
}

.access-term-card p {
  margin: 10px 0 0;
  color: var(--text-muted);
  line-height: 1.6;
  font-size: clamp(0.92rem, 2vw, 1rem);
  word-break: normal;
  white-space: normal;
}

.access-term-full,
.access-legal-note {
  margin-top: 10px;
  color: rgba(222, 239, 246, 0.82);
  line-height: 1.6;
  font-size: clamp(0.92rem, 2vw, 1rem);
  word-break: normal;
  white-space: normal;
}

.access-legal-note {
  margin: 0;
  padding: 10px 12px;
  border-left: 2px solid rgba(255, 210, 125, 0.7);
  background: rgba(255, 210, 125, 0.08);
}

.access-term-check,
.agreement-check-row {
  display: flex !important;
  position: relative !important;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: nowrap;
  width: 100%;
  padding: 12px 12px 10px;
  border: 1px solid rgba(139, 185, 207, 0.24);
  border-radius: 14px;
  background: rgba(5, 14, 24, 0.5);
  min-height: 52px;
  margin-top: 14px;
  color: var(--text-main);
  font-size: 0.92rem;
  line-height: 1.4;
  cursor: pointer;
  touch-action: manipulation;
  pointer-events: auto;
}

.access-term-check input {
  flex: 0 0 auto;
  appearance: none;
  position: absolute;
  inset: 0 auto auto 0;
  width: 44px;
  height: 44px;
  margin: 0;
  opacity: 0.01;
  cursor: pointer;
}

.access-term-check .custom-check {
  flex: 0 0 auto;
  min-width: 24px;
  width: 30px;
  min-height: 24px;
  height: 30px;
  border: 2px solid rgba(218, 232, 244, 0.72);
  border-radius: 9px;
  background: rgba(242, 248, 252, 0.08);
  box-shadow: inset 0 0 0 2px rgba(4, 12, 20, 0.75);
  display: grid;
  place-content: center;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.access-term-check .custom-check::before {
  content: "";
  width: 12px;
  height: 7px;
  border: 2px solid #06131b;
  border-top: 0;
  border-right: 0;
  opacity: 0;
  transform: rotate(-45deg) translateY(-1px);
  transition: opacity 160ms ease;
}

.access-term-check span:not(.custom-check) {
  min-width: 0;
  overflow-wrap: anywhere;
}

.access-term-check input:checked + .custom-check {
  border-color: rgba(112, 244, 212, 0.95);
  background: linear-gradient(135deg, #79f0d3, #ccefff);
  box-shadow: 0 0 14px rgba(112, 244, 212, 0.28), inset 0 0 0 2px rgba(5, 18, 24, 0.5);
}

.access-term-check input:checked + .custom-check::before {
  opacity: 1;
}

.access-gateway-actions {
  position: sticky;
  bottom: 0;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding:
    14px
    18px
    calc(env(safe-area-inset-bottom, 0px) + 14px);
  border: 1px solid rgba(116, 240, 212, 0.26);
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 0;
  background:
    linear-gradient(
      to top,
      rgba(4, 10, 20, 0.98),
      rgba(4, 10, 20, 0.88)
    );
  box-shadow: 0 -18px 34px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.access-gateway.is-locked .access-gateway-head::after {
  content: "Access remains locked until the required agreements are accepted.";
  display: block;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 121, 145, 0.34);
  border-radius: 14px;
  color: #ffd3d3;
  background: rgba(70, 16, 27, 0.58);
  line-height: 1.45;
}

.access-gateway.is-scrolled .access-gateway-actions {
  border-color: rgba(122, 229, 255, 0.4);
  box-shadow: 0 -22px 42px rgba(0, 0, 0, 0.38), 0 0 22px rgba(82, 231, 195, 0.12);
}

.access-gateway-progress {
  margin: 0;
  color: var(--accent-ice);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.access-gateway-btn,
.legal-btn {
  border: 0;
  border-radius: 16px;
  padding: 12px 18px;
  width: 100%;
  min-height: 54px;
  font-size: 1rem;
  font-weight: 700;
  color: #06111f;
  background: linear-gradient(120deg, #74d6ff, #86f0cc);
  cursor: pointer;
  box-shadow: 0 0 0 rgba(116, 240, 212, 0);
  touch-action: manipulation;
  transition: transform 180ms ease, filter 180ms ease, opacity 180ms ease, box-shadow 180ms ease;
}

body.mode-access-gateway {
  overflow: hidden;
}

.legal-gate-fullscreen {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  z-index: 999999;
  background:
    radial-gradient(circle at top, rgba(79, 240, 214, 0.16), transparent 35%),
    linear-gradient(145deg, #030812, #071525 55%, #02060d);
  display: flex;
  align-items: center;
  justify-content: center;
  padding:
    calc(env(safe-area-inset-top, 0px) + 14px)
    14px
    calc(env(safe-area-inset-bottom, 0px) + 14px);
  overflow: hidden;
}

.legal-gate-fullscreen.is-exiting {
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
}

.legal-gate-card {
  width: min(100%, 760px);
  height: min(100%, 94dvh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 24px;
  background: rgba(6, 15, 27, 0.98);
  border: 1px solid rgba(125, 226, 255, 0.28);
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.58);
}

.legal-gate-card .legal-gate-header {
  flex: 0 0 auto;
  padding: 18px 18px 12px;
}

.legal-gate-card .legal-gate-header h2 {
  margin: 6px 0 8px;
  color: var(--text-strong);
  font-family: "Space Grotesk", "Segoe UI", sans-serif;
  font-size: clamp(1.35rem, 5vw, 2rem);
  line-height: 1.08;
}

.legal-gate-card .legal-gate-header p {
  margin: 0 0 12px;
  color: rgba(224, 241, 248, 0.82);
  line-height: 1.45;
}

.legal-gate-card .legal-gate-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 14px 18px 18px;
  -webkit-overflow-scrolling: touch;
}

.legal-gate-card .legal-gate-footer {
  position: static;
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding:
    14px
    18px
    calc(env(safe-area-inset-bottom, 0px) + 14px);
  background: rgba(4, 10, 19, 0.98);
  border-top: 1px solid rgba(125, 226, 255, 0.18);
}

.legal-gate-card .agreement-card {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 0 12px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(10, 24, 40, 0.95);
  border: 1px solid rgba(125, 226, 255, 0.20);
  overflow: visible;
}

.agreement-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.agreement-card-heading h3 {
  margin: 0;
  color: var(--text-strong);
  font-family: "Space Grotesk", "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.25;
}

.agreement-required-badge {
  flex: 0 0 auto;
  color: #07131d;
  border-radius: 999px;
  padding: 4px 8px;
  background: linear-gradient(120deg, #76f0d4, #ffd27d);
  font-size: 0.72rem;
  font-weight: 800;
}

.legal-gate-card .agreement-card p {
  margin: 10px 0 0;
  color: rgba(222, 239, 246, 0.86);
  line-height: 1.55;
  font-size: 0.95rem;
}

body.mode-access-gateway .app-shell,
body.mode-access-gateway #stickyJumpNav,
body.mode-access-gateway #installPrompt,
body.mode-access-gateway #evolvedBadge,
body.mode-access-gateway #pipCompanion,
body.mode-intro .app-shell,
body.mode-intro #stickyJumpNav,
body.mode-intro #installPrompt,
body.mode-intro #evolvedBadge,
body.mode-intro #pipCompanion {
  display: none !important;
}

.agreement-check-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  width: 100%;
  margin-top: 14px;
  color: var(--text-main);
  cursor: pointer;
}

.agreement-check-row input {
  position: absolute;
  opacity: 0;
}

.agreement-check-visual {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 10px;
  border: 2px solid rgba(220, 240, 255, 0.75);
  background: rgba(255,255,255,0.08);
}

.agreement-check-visual::before {
  content: "";
  display: block;
  width: 13px;
  height: 7px;
  margin: 8px auto 0;
  border: 2px solid #06131b;
  border-top: 0;
  border-right: 0;
  opacity: 0;
  transform: rotate(-45deg);
}

.agreement-check-row input:checked + .agreement-check-visual {
  border-color: rgba(112, 244, 212, 0.95);
  background: linear-gradient(135deg, #79f0d3, #ccefff);
}

.agreement-check-row input:checked + .agreement-check-visual::before {
  opacity: 1;
}

.agreement-check-label {
  flex: 1;
  line-height: 1.35;
}

body.mode-access-gateway .jarvis-bg-motion,
body.mode-access-gateway .ambient-bg,
body.mode-access-gateway::before,
body.mode-access-gateway::after {
  animation-play-state: paused;
}

.access-gateway-btn-ghost {
  color: var(--accent-ice);
  border: 1px solid rgba(121, 220, 255, 0.28);
  background: rgba(9, 24, 38, 0.72);
}

.access-gateway-btn-danger {
  color: #ffd3d3;
  border: 1px solid rgba(255, 121, 145, 0.34);
  background: rgba(70, 16, 27, 0.58);
}

.access-gateway-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  filter: grayscale(0.35);
}

.access-gateway-btn:not(:disabled):hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 0 18px rgba(116, 240, 212, 0.24);
}

.access-gateway-btn:not(:disabled):active {
  transform: translateY(0) scale(0.99);
  filter: brightness(1.1);
}

.access-gateway.is-paused *,
.access-gateway.is-hidden * {
  animation-play-state: paused !important;
}

@keyframes legalScan {
  0% { transform: translateX(-85%); opacity: 0; }
  16% { opacity: 1; }
  54% { opacity: 0.75; }
  100% { transform: translateX(85%); opacity: 0; }
}

@keyframes securityRing {
  to { transform: rotate(360deg); }
}

@media print {
  body > *:not(.access-gateway) {
    display: none !important;
  }

  .access-gateway {
    position: static;
    min-height: auto;
    overflow: visible;
    background: #fff;
    color: #111;
  }

  .access-gateway-bg,
  .access-seal,
  .access-gateway-actions,
  .access-gateway-primary-actions,
  .access-gateway-review-actions {
    display: none !important;
  }

  .access-gateway-shell {
    max-height: none;
    overflow: visible;
    display: block;
    border: 0;
    box-shadow: none;
    background: #fff;
    color: #111;
  }

  .legal-gate-scroll {
    overflow: visible;
  }

  .access-term-card,
  .access-term-card p,
  .access-term-full,
  .access-legal-note,
  .access-gateway-head h2,
  .access-gateway-head p {
    color: #111;
    background: #fff;
  }
}

.app-loader {
  position: fixed;
  inset: 0;
  z-index: var(--z-intro);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  width: 100%;
  min-height: -webkit-fill-available;
  min-height: 100dvh;
  padding:
    max(18px, env(safe-area-inset-top, 0px))
    16px
    max(18px, env(safe-area-inset-bottom, 0px));
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 22%, rgba(67, 168, 255, 0.28), rgba(1, 3, 7, 0.96) 52%),
    radial-gradient(circle at 78% 12%, rgba(139, 130, 255, 0.24), transparent 32%),
    radial-gradient(circle at 22% 80%, rgba(241, 186, 102, 0.22), transparent 34%),
    radial-gradient(circle at 18% 24%, rgba(65, 232, 210, 0.16), transparent 38%),
    radial-gradient(circle at 88% 78%, rgba(232, 165, 84, 0.12), transparent 30%),
    linear-gradient(180deg, #020307, #050911 68%, #020307);
  transition: opacity 320ms ease, visibility 320ms ease;
}

.app-loader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loader-robot {
  position: relative;
  width: min(320px, 90vw);
  height: 156px;
  border-radius: 24px;
  border: 1px solid rgba(155, 214, 255, 0.72);
  background: linear-gradient(160deg, rgba(13, 29, 48, 0.58), rgba(6, 14, 24, 0.94));
  box-shadow:
    0 0 0 1px rgba(93, 180, 255, 0.26),
    inset 0 0 38px rgba(71, 170, 255, 0.12),
    0 26px 48px rgba(0, 0, 0, 0.55);
  overflow: hidden;
  transform: translateY(12px) scale(0.97);
  opacity: 0;
  transition: transform 420ms ease, opacity 420ms ease;
}

.loader-faceplate {
  position: absolute;
  inset: 10px 14px;
  border-radius: 20px;
  border: 1px solid rgba(135, 198, 255, 0.2);
  background: radial-gradient(circle at 50% 22%, rgba(120, 211, 255, 0.14), rgba(6, 14, 24, 0.1) 62%);
  opacity: 0.42;
}

.app-loader.is-ready .loader-robot {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.loader-vignette {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(117, 203, 255, 0.05) 0px,
      rgba(117, 203, 255, 0.05) 1px,
      transparent 1px,
      transparent 4px
    );
  mix-blend-mode: screen;
  opacity: 0.24;
  animation: loaderSweep 1.7s linear infinite;
}

.app-loader::before {
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 46%, rgba(95, 214, 255, 0.14), transparent 38%),
    radial-gradient(circle at 80% 40%, rgba(172, 124, 255, 0.14), transparent 34%),
    radial-gradient(circle at 64% 76%, rgba(243, 183, 96, 0.12), transparent 34%);
  mix-blend-mode: screen;
  filter: blur(8px);
  animation: loaderBloomDrift 8s ease-in-out infinite alternate;
}

.loader-face-line {
  position: absolute;
  left: 18%;
  right: 18%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(140, 220, 255, 0.7), transparent);
  opacity: 0.7;
}

.loader-face-top {
  top: 44px;
}

.loader-face-bottom {
  bottom: 42px;
}

.loader-eye-shell {
  position: absolute;
  top: 52px;
  width: 64px;
  height: 46px;
  border-radius: 24px;
  border: 1px solid rgba(117, 214, 255, 0.68);
  background: radial-gradient(circle at 50% 52%, rgba(27, 85, 130, 0.8), rgba(10, 25, 43, 0.88));
  box-shadow: inset 0 0 22px rgba(112, 201, 255, 0.2);
}

.loader-eye-shell-left {
  left: calc(50% - 90px);
}

.loader-eye-shell-right {
  right: calc(50% - 90px);
}

.loader-eye-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 23px;
  height: 23px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 2px solid rgba(95, 219, 255, 0.98);
  box-shadow:
    0 0 14px rgba(88, 196, 255, 0.82),
    inset 0 0 8px rgba(88, 196, 255, 0.58);
  animation: eyePulse 1.12s ease-in-out infinite;
}

.loader-beam {
  position: absolute;
  top: 74px;
  width: 42%;
  height: 2px;
  opacity: 0;
  background: linear-gradient(90deg, rgba(255, 94, 136, 0.98), rgba(255, 198, 112, 0.8), transparent);
  filter: drop-shadow(0 0 10px rgba(255, 112, 148, 0.75));
  transform-origin: left center;
  transition: opacity 180ms ease;
}

.loader-beam-left {
  left: 50%;
  transform: rotate(12deg) scaleX(0.2);
}

.loader-beam-right {
  left: 50%;
  transform: rotate(-10deg) scaleX(0.2);
}

.loader-candle {
  position: absolute;
  bottom: 28px;
  width: 8px;
  border-radius: 2px;
  background: linear-gradient(180deg, #4ff5bd, #13a476);
  opacity: 0;
  transform: translateY(8px);
}

.loader-candle::before {
  content: "";
  position: absolute;
  left: 3px;
  top: -8px;
  width: 2px;
  height: 8px;
  border-radius: 999px;
  background: rgba(186, 225, 255, 0.9);
}

.loader-candle-a {
  left: 56%;
  height: 30px;
}

.loader-candle-b {
  left: 63%;
  height: 22px;
  background: linear-gradient(180deg, #ff7998, #d53b68);
}

.loader-candle-c {
  left: 69%;
  height: 36px;
}

.loader-fragment,
.loader-value-trail,
.loader-ring {
  position: absolute;
  opacity: 0;
}

.loader-ladder {
  position: absolute;
  width: 46px;
  height: 34px;
  border-left: 2px solid rgba(130, 224, 255, 0.72);
  border-bottom: 2px solid rgba(130, 224, 255, 0.72);
  opacity: 0;
}

.loader-ladder::before,
.loader-ladder::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid rgba(130, 224, 255, 0.65);
}

.loader-ladder::before { top: 10px; }
.loader-ladder::after { top: 20px; }

.loader-ladder-a { left: 76%; top: 72px; transform: skewX(-16deg); }
.loader-ladder-b { left: 70%; top: 52px; transform: skewX(-12deg) scale(0.9); }

.loader-fragment {
  width: 7px;
  height: 7px;
  border-radius: 2px;
  background: linear-gradient(130deg, rgba(96, 228, 255, 0.95), rgba(255, 189, 107, 0.84));
  box-shadow: 0 0 12px rgba(111, 221, 255, 0.6);
}

.loader-fragment-a { left: 61%; top: 78px; }
.loader-fragment-b { left: 68%; top: 60px; }
.loader-fragment-c { left: 73%; top: 88px; }

.loader-value-trail {
  left: 56%;
  right: 6%;
  top: 44px;
  height: 68px;
  background: linear-gradient(120deg, rgba(255, 110, 152, 0.08), rgba(124, 224, 255, 0.32), rgba(255, 201, 126, 0.05));
  clip-path: polygon(0 26%, 32% 12%, 51% 46%, 72% 34%, 100% 66%, 100% 78%, 66% 48%, 49% 62%, 28% 24%, 0 38%);
}

.loader-ring {
  border-radius: 999px;
  border: 1px solid rgba(124, 215, 255, 0.64);
}

.loader-money-pulse,
.loader-data-shard,
.loader-confluence-ring,
.loader-hud-glyph {
  position: absolute;
  opacity: 0;
}

.loader-money-pulse {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 205, 126, 0.9), rgba(255, 121, 152, 0.15) 70%);
  box-shadow: 0 0 12px rgba(255, 208, 132, 0.58);
}

.loader-money-a { left: 66%; top: 58px; }
.loader-money-b { left: 78%; top: 84px; width: 18px; height: 18px; }

.loader-data-shard {
  width: 8px;
  height: 20px;
  border-radius: 3px;
  background: linear-gradient(180deg, rgba(107, 226, 255, 0.96), rgba(70, 152, 255, 0.08));
  box-shadow: 0 0 12px rgba(117, 227, 255, 0.5);
}

.loader-shard-a { left: 58%; top: 52px; transform: rotate(20deg); }
.loader-shard-b { left: 75%; top: 44px; transform: rotate(-14deg); }
.loader-shard-c { left: 72%; top: 94px; transform: rotate(10deg); }

.loader-confluence-ring {
  width: 144px;
  height: 144px;
  right: -18px;
  top: 4px;
  border-radius: 50%;
  border: 1px dashed rgba(255, 181, 93, 0.58);
}

.loader-hud-glyph {
  font: 700 10px "Space Grotesk", sans-serif;
  letter-spacing: 0.12em;
  color: rgba(198, 235, 255, 0.9);
  text-shadow: 0 0 10px rgba(102, 218, 255, 0.6);
}

.loader-hud-glyph-a { left: 20px; top: 22px; }
.loader-hud-glyph-b { right: 16px; top: 20px; }
.loader-hud-glyph-c { right: 20px; bottom: 18px; }

.loader-ring-a {
  width: 70px;
  height: 70px;
  right: 18px;
  top: 44px;
}

.loader-ring-b {
  width: 102px;
  height: 102px;
  right: 3px;
  top: 28px;
  border-color: rgba(255, 146, 184, 0.55);
}

.loader-eye-core::before,
.loader-eye-core::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: rgba(123, 224, 255, 0.95);
  transform: translate(-50%, -50%);
}

.loader-eye-core::before {
  width: 2px;
  height: 15px;
  border-radius: 2px;
}

.loader-eye-core::after {
  width: 15px;
  height: 2px;
  border-radius: 2px;
}

.loader-scan {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent, rgba(118, 233, 255, 0.95), transparent);
  animation: scanLine 1.7s linear infinite;
}

.loader-hud-line {
  position: absolute;
  left: 12%;
  right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(108, 198, 255, 0.5), transparent);
  top: 34px;
}

.loader-hud-line-alt {
  top: auto;
  bottom: 30px;
}

.loader-signal-line {
  position: absolute;
  left: 52%;
  width: 44%;
  height: 1px;
  opacity: 0;
  background: linear-gradient(90deg, rgba(118, 233, 255, 0.1), rgba(241, 186, 102, 0.85), rgba(140, 130, 255, 0.7), transparent);
}

.loader-signal-line-a { top: 52px; transform: rotate(14deg); }
.loader-signal-line-b { top: 74px; transform: rotate(6deg); }
.loader-signal-line-c { top: 96px; transform: rotate(-8deg); }

.loader-particle {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  opacity: 0;
  background: radial-gradient(circle, rgba(188, 240, 255, 0.95), rgba(90, 197, 255, 0.2));
  box-shadow: 0 0 14px rgba(128, 221, 255, 0.74);
}

.loader-particle-a { left: 56%; top: 46px; }
.loader-particle-b { left: 67%; top: 70px; }
.loader-particle-c { left: 79%; top: 58px; }
.loader-particle-d { left: 84%; top: 90px; }

.loader-pip-core,
.loader-pip-orbit {
  position: absolute;
  opacity: 0;
}

.loader-pip-core {
  left: 19%;
  top: 92px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid rgba(137, 222, 255, 0.84);
  background: radial-gradient(circle, rgba(122, 219, 255, 0.92), rgba(135, 125, 255, 0.2) 72%);
  box-shadow: 0 0 16px rgba(107, 213, 255, 0.68);
}

.loader-pip-orbit {
  width: 30px;
  height: 16px;
  border-radius: 999px;
  border: 1px solid rgba(134, 196, 255, 0.55);
}

.loader-pip-orbit-a { left: 13%; top: 86px; transform: rotate(12deg); }
.loader-pip-orbit-b { left: 13%; top: 92px; transform: rotate(-8deg); }
.loader-pip-orbit-c { left: 13%; top: 98px; transform: rotate(4deg); }

.app-loader[data-phase="2"] .loader-robot {
  transform: translateY(0) scale(1.01);
}

.app-loader[data-phase="3"] .loader-eye-core {
  border-color: rgba(255, 128, 171, 0.98);
  box-shadow: 0 0 22px rgba(255, 112, 160, 0.88), inset 0 0 10px rgba(255, 112, 160, 0.5);
}

.app-loader[data-phase="4"] .loader-beam-left,
.app-loader[data-phase="4"] .loader-beam-right {
  opacity: 1;
  animation: beamPulse 520ms ease-in-out infinite alternate;
}

.app-loader[data-phase="4"] .loader-beam-left {
  transform: rotate(12deg) scaleX(1);
}

.app-loader[data-phase="4"] .loader-beam-right {
  transform: rotate(-10deg) scaleX(0.92);
}

.app-loader[data-phase="4"] .loader-candle {
  opacity: 1;
  transform: translateY(0);
  animation: candleRise 460ms ease-out both;
}

.app-loader[data-phase="4"] .loader-fragment {
  opacity: 1;
  animation: wealthFloat 1s ease-in-out infinite alternate;
}

.app-loader[data-phase="4"] .loader-fragment-b {
  animation-delay: 120ms;
}

.app-loader[data-phase="4"] .loader-fragment-c {
  animation-delay: 220ms;
}

.app-loader[data-phase="4"] .loader-value-trail {
  opacity: 1;
  animation: valueTrail 0.9s ease-in-out infinite alternate;
}

.app-loader[data-phase="4"] .loader-ring {
  opacity: 1;
  animation: hudPulse 1.05s ease-in-out infinite;
}

.app-loader[data-phase="5"] .loader-ladder,
.app-loader[data-phase="5"] .loader-candle,
.app-loader[data-phase="5"] .loader-value-trail {
  opacity: 1;
  animation: valueTrail 0.8s ease-in-out infinite alternate;
}

.app-loader[data-phase="6"] .loader-money-pulse,
.app-loader[data-phase="6"] .loader-fragment {
  opacity: 1;
  animation: wealthFloat 0.95s ease-in-out infinite alternate;
}

.app-loader[data-phase="7"] .loader-data-shard,
.app-loader[data-phase="7"] .loader-confluence-ring,
.app-loader[data-phase="7"] .loader-ring,
.app-loader[data-phase="7"] .loader-hud-glyph,
.app-loader[data-phase="7"] .loader-beam,
.app-loader[data-phase="7"] .loader-value-trail,
.app-loader[data-phase="7"] .loader-scan,
.app-loader[data-phase="7"] .loader-signal-line,
.app-loader[data-phase="7"] .loader-particle {
  opacity: 1;
  animation: hudPulse 0.8s ease-in-out infinite;
}

.app-loader[data-phase="5"] .loader-signal-line,
.app-loader[data-phase="6"] .loader-signal-line {
  opacity: 1;
  animation: signalFlow 1.4s linear infinite;
}

.app-loader[data-phase="6"] .loader-particle {
  opacity: 1;
  animation: particleFloat 1s ease-in-out infinite;
}

.app-loader[data-phase="7"] .loader-robot {
  transform: scale(0.985);
  filter: saturate(1.22) brightness(1.12);
}

.app-loader[data-phase="12"] .loader-robot {
  transform: scale(0.985);
  filter: saturate(1.22) brightness(1.12);
}

.app-loader[data-phase="8"] .loader-pip-core,
.app-loader[data-phase="8"] .loader-pip-orbit {
  opacity: 1;
}

.app-loader[data-phase="8"] .loader-pip-core {
  animation: pipCorePulse 780ms ease-in-out infinite;
}

.app-loader[data-phase="8"] .loader-pip-orbit {
  animation: pipOrbitSpin 1.2s linear infinite;
}

.app-loader[data-phase="9"] .loader-pip-core {
  opacity: 1;
  background: radial-gradient(circle, rgba(255, 201, 117, 0.92), rgba(255, 143, 106, 0.2) 72%);
  box-shadow: 0 0 18px rgba(255, 188, 111, 0.6);
}

.app-loader[data-phase="10"] .loader-pip-core {
  opacity: 1;
  background: radial-gradient(circle, rgba(127, 229, 255, 0.96), rgba(111, 171, 255, 0.22) 72%);
}

.app-loader[data-phase="11"] .loader-pip-core {
  opacity: 1;
  background: radial-gradient(circle, rgba(191, 158, 255, 0.95), rgba(152, 118, 255, 0.2) 72%);
  box-shadow: 0 0 22px rgba(178, 144, 255, 0.64);
}

.app-loader[data-phase="9"] .loader-pip-orbit,
.app-loader[data-phase="10"] .loader-pip-orbit,
.app-loader[data-phase="11"] .loader-pip-orbit,
.app-loader[data-phase="12"] .loader-pip-orbit {
  opacity: 1;
  animation: pipOrbitSpin 1s linear infinite;
}

.app-loader[data-phase="12"] .loader-data-shard,
.app-loader[data-phase="12"] .loader-confluence-ring,
.app-loader[data-phase="12"] .loader-ring,
.app-loader[data-phase="12"] .loader-hud-glyph,
.app-loader[data-phase="12"] .loader-beam,
.app-loader[data-phase="12"] .loader-value-trail,
.app-loader[data-phase="12"] .loader-scan,
.app-loader[data-phase="12"] .loader-signal-line,
.app-loader[data-phase="12"] .loader-particle,
.app-loader[data-phase="12"] .loader-pip-core {
  opacity: 1;
  animation: hudPulse 0.8s ease-in-out infinite;
}

.app-loader.intro-lite .loader-vignette,
.app-loader.intro-lite .loader-money-pulse,
.app-loader.intro-lite .loader-data-shard,
.app-loader.intro-lite .loader-fragment-b,
.app-loader.intro-lite .loader-fragment-c,
.app-loader.intro-lite .loader-ring-b,
.app-loader.intro-lite .loader-hud-glyph-c,
.app-loader.intro-lite .loader-particle-c,
.app-loader.intro-lite .loader-particle-d,
.app-loader.intro-lite .loader-signal-line-c {
  display: none;
}

.app-loader.intro-lite::before {
  filter: blur(4px);
  opacity: 0.74;
}

.app-loader.intro-lite .loader-robot {
  box-shadow:
    0 0 0 1px rgba(93, 180, 255, 0.18),
    inset 0 0 24px rgba(71, 170, 255, 0.08),
    0 16px 32px rgba(0, 0, 0, 0.48);
}

.app-loader.intro-lite .loader-beam {
  filter: none;
}

.app-loader.intro-lite[data-phase="7"] .loader-ring,
.app-loader.intro-lite[data-phase="7"] .loader-value-trail,
.app-loader.intro-lite[data-phase="7"] .loader-scan,
.app-loader.intro-lite[data-phase="7"] .loader-signal-line,
.app-loader.intro-lite[data-phase="7"] .loader-particle {
  animation-duration: 1.15s;
}

.app-loader.intro-lite[data-phase="12"] .loader-ring,
.app-loader.intro-lite[data-phase="12"] .loader-value-trail,
.app-loader.intro-lite[data-phase="12"] .loader-scan,
.app-loader.intro-lite[data-phase="12"] .loader-signal-line,
.app-loader.intro-lite[data-phase="12"] .loader-particle,
.app-loader.intro-lite[data-phase="12"] .loader-pip-core {
  animation-duration: 1.2s;
}

.app-loader.intro-balanced::before {
  filter: blur(6px);
  opacity: 0.62;
}

.app-loader.intro-balanced .loader-robot {
  box-shadow:
    0 0 0 1px rgba(93, 180, 255, 0.16),
    inset 0 0 22px rgba(71, 170, 255, 0.06),
    0 14px 28px rgba(0, 0, 0, 0.44);
}

.app-loader.intro-balanced .loader-fragment-c,
.app-loader.intro-balanced .loader-money-pulse,
.app-loader.intro-balanced .loader-ring-b,
.app-loader.intro-balanced .loader-hud-glyph-c,
.app-loader.intro-balanced .loader-particle-d,
.app-loader.intro-balanced .loader-signal-line-c {
  display: none;
}

.app-loader.intro-balanced[data-phase="7"] .loader-data-shard,
.app-loader.intro-balanced[data-phase="7"] .loader-confluence-ring,
.app-loader.intro-balanced[data-phase="7"] .loader-ring,
.app-loader.intro-balanced[data-phase="7"] .loader-hud-glyph,
.app-loader.intro-balanced[data-phase="7"] .loader-beam,
.app-loader.intro-balanced[data-phase="7"] .loader-value-trail,
.app-loader.intro-balanced[data-phase="7"] .loader-scan,
.app-loader.intro-balanced[data-phase="7"] .loader-signal-line,
.app-loader.intro-balanced[data-phase="7"] .loader-particle {
  animation-duration: 1.35s;
  opacity: 0.74;
}

.app-loader.intro-balanced[data-phase="12"] .loader-data-shard,
.app-loader.intro-balanced[data-phase="12"] .loader-confluence-ring,
.app-loader.intro-balanced[data-phase="12"] .loader-ring,
.app-loader.intro-balanced[data-phase="12"] .loader-hud-glyph,
.app-loader.intro-balanced[data-phase="12"] .loader-beam,
.app-loader.intro-balanced[data-phase="12"] .loader-value-trail,
.app-loader.intro-balanced[data-phase="12"] .loader-scan,
.app-loader.intro-balanced[data-phase="12"] .loader-signal-line,
.app-loader.intro-balanced[data-phase="12"] .loader-particle,
.app-loader.intro-balanced[data-phase="12"] .loader-pip-core {
  animation-duration: 1.3s;
  opacity: 0.76;
}

.loader-copy {
  display: grid;
  gap: 6px;
  text-align: center;
  width: min(440px, 100%);
  max-width: 100%;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 280ms ease, transform 280ms ease;
}

.app-loader.is-ready .loader-copy {
  opacity: 1;
  transform: translateY(0);
}

.loader-text {
  margin: 0;
  font-family: "Space Grotesk", "Manrope", sans-serif;
  font-size: 15px;
  color: #e7f6ff;
  letter-spacing: 0.06em;
}

.loader-subtext {
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(172, 214, 243, 0.88);
}

.loader-phase-code {
  margin: 0;
  font-family: "Space Grotesk", "Manrope", sans-serif;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(140, 223, 255, 0.95);
}

.loader-wordmark {
  margin: 2px 0 0;
  font-family: "Space Grotesk", "Manrope", sans-serif;
  font-size: clamp(18px, 4.8vw, 32px);
  line-height: 1.05;
  letter-spacing: 0.08em;
  font-weight: 800;
  color: #f5fbff;
  text-shadow: 0 0 18px rgba(99, 216, 255, 0.35);
  white-space: nowrap;
}

.loader-wordmark span {
  color: var(--accent-gold);
}

.loader-jarvis-track {
  display: inline-flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  transition: opacity 180ms ease, transform 180ms ease;
}

.loader-jarvis-track span {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(122, 200, 242, 0.36);
  background: rgba(12, 28, 46, 0.65);
  color: rgba(155, 192, 220, 0.88);
  font: 700 10px "Space Grotesk", sans-serif;
  transition: transform 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 180ms ease;
}

.loader-jarvis-track span.active {
  transform: scale(1.06);
  border-color: rgba(126, 224, 255, 0.96);
  color: #e9f9ff;
  box-shadow: 0 0 14px rgba(105, 213, 255, 0.44);
}

.loader-jarvis-track span.complete {
  border-color: rgba(79, 231, 178, 0.82);
  color: #b6ffe6;
}

.loader-pip-track {
  display: inline-flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  opacity: 0.5;
  transform: translateY(2px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.loader-pip-track span {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(178, 148, 255, 0.32);
  background: rgba(18, 20, 40, 0.62);
  color: rgba(185, 170, 255, 0.88);
  font: 700 10px "Space Grotesk", sans-serif;
  transition: transform 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 180ms ease;
}

.loader-pip-track span.active {
  transform: scale(1.06);
  border-color: rgba(201, 171, 255, 0.9);
  color: #f6ebff;
  box-shadow: 0 0 16px rgba(185, 154, 255, 0.5);
}

.loader-pip-track span.complete {
  border-color: rgba(127, 220, 255, 0.82);
  color: #cff6ff;
}

.loader-mantra {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(159, 204, 237, 0.88);
  opacity: 0.66;
  transition: opacity 200ms ease, color 200ms ease, text-shadow 200ms ease;
}

.loader-mantra.active {
  opacity: 1;
  color: rgba(214, 234, 255, 0.98);
  text-shadow: 0 0 18px rgba(114, 216, 255, 0.44);
}

.app-loader[data-track="pip"] .loader-pip-track {
  opacity: 1;
  transform: translateY(0);
}

.app-loader[data-track="pip"] .loader-jarvis-track {
  opacity: 0.56;
}

.loader-skip {
  width: auto;
  min-height: 36px;
  border-radius: 999px;
  padding: 7px 14px;
  border-color: rgba(125, 193, 235, 0.5);
  background: rgba(10, 22, 36, 0.7);
  color: #d4ecff;
  font-size: 12px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  box-shadow: none;
}

.ambient-bg {
  position: fixed;
  inset: -18%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 28%, rgba(99, 216, 255, 0.18), transparent 30%),
    radial-gradient(circle at 78% 66%, rgba(79, 156, 255, 0.16), transparent 34%),
    linear-gradient(rgba(99, 216, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99, 216, 255, 0.03) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 46px 46px, 46px 46px;
  animation: drift 36s ease-in-out infinite alternate;
}

.ambient-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 35%, rgba(80, 225, 194, 0.12), transparent 35%),
    radial-gradient(circle at 82% 26%, rgba(122, 191, 255, 0.14), transparent 38%);
  mix-blend-mode: screen;
  animation: breathe 14s ease-in-out infinite alternate;
}

.ambient-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, transparent 34%, var(--bg-0) 84%);
}

.app-shell {
  position: relative;
  z-index: 1;
  max-width: 1560px;
  margin: 0 auto;
  padding: var(--space-4);
  padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px));
  width: 100%;
  overflow-x: clip;
}

canvas,
img,
svg {
  max-width: 100%;
}

main {
  min-width: 0;
  position: relative;
  z-index: 1;
  display: block;
  visibility: visible;
  opacity: 1;
  min-height: 1px;
  overflow-x: hidden;
  overflow-y: visible;
  padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px));
}

.top-dock {
  position: sticky;
  top: 10px;
  z-index: 20;
  margin-bottom: var(--space-5);
  border-radius: 22px;
  border: 1px solid var(--line-soft);
  background: rgba(8, 15, 26, 0.88);
  backdrop-filter: blur(20px);
  box-shadow: var(--shadow-strong);
  padding: 12px;
  max-height: none;
  overflow: visible;
  isolation: isolate;
  box-shadow: var(--hud-glow);
  transition: transform 280ms ease, opacity 220ms ease, background 220ms ease, padding 220ms ease;
  will-change: transform;
}

.top-dock.is-compact {
  background: rgba(7, 13, 22, 0.95);
  padding-block: 9px;
}

@media (min-width: 769px) {
  .top-dock.desktop-collapsed {
    transform: translateY(calc(-100% + 54px));
    opacity: 0.97;
  }
}

.mobile-dock-bar {
  display: none;
}

.dock-collapsible {
  transition: max-height 250ms ease, opacity 250ms ease, transform 250ms ease;
}

.panel {
  background: linear-gradient(165deg, rgba(15, 26, 43, 0.88), rgba(11, 20, 34, 0.95));
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg);
  box-shadow: 0 14px 30px rgba(0, 3, 10, 0.46);
  padding: var(--space-4);
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: auto;
  height: auto;
  backdrop-filter: blur(8px);
  transition: border-color 200ms ease, box-shadow 220ms ease, transform 220ms ease;
  isolation: isolate;
  contain: paint;
}

.priority-panel {
  border-color: rgba(116, 188, 255, 0.5);
  box-shadow: inset 0 1px 0 rgba(183, 226, 255, 0.12), 0 14px 30px rgba(0, 3, 10, 0.46);
}

.panel::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(115deg, rgba(142, 207, 255, 0.08), transparent 22%, transparent 76%, rgba(79, 231, 178, 0.08));
  opacity: 0.8;
}

.panel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(110deg, transparent 45%, rgba(149, 221, 255, 0.08) 50%, transparent 55%);
  transform: translateX(-36%);
  animation: panelSweep 8.8s linear infinite;
}

.panel > * {
  position: relative;
  z-index: 1;
}

.app-header {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 176, 91, 0.2), transparent 46%),
    radial-gradient(circle at 100% 90%, rgba(104, 236, 199, 0.18), transparent 42%),
    linear-gradient(162deg, rgba(14, 28, 46, 0.9), rgba(9, 18, 33, 0.95));
  border-color: rgba(150, 208, 255, 0.45);
}

.brand-block {
  max-width: 900px;
}

.eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  font-weight: 800;
  color: var(--accent-cyan);
}

h1 {
  margin: var(--space-2) 0 8px;
  font-family: "Space Grotesk", "Manrope", sans-serif;
  font-size: clamp(30px, 4.1vw, 52px);
  line-height: 1.05;
  color: var(--text-strong);
}

h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  color: var(--text-strong);
  font-family: "Space Grotesk", "Manrope", sans-serif;
}

.subtitle {
  margin: 0;
  max-width: 840px;
  line-height: 1.6;
  font-size: 14px;
  color: var(--text-muted);
}

.intro-spectrum {
  margin-top: 14px;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.intro-chip {
  border-radius: 12px;
  border: 1px solid rgba(150, 203, 255, 0.34);
  padding: 10px 12px;
  background: rgba(14, 27, 44, 0.68);
  box-shadow: 0 10px 20px rgba(0, 5, 16, 0.34);
}

.intro-chip-a {
  background: linear-gradient(122deg, rgba(56, 217, 157, 0.2), rgba(20, 43, 66, 0.72));
}

.intro-chip-b {
  background: linear-gradient(122deg, rgba(99, 216, 255, 0.2), rgba(20, 43, 66, 0.72));
}

.intro-chip-c {
  background: linear-gradient(122deg, rgba(255, 178, 74, 0.24), rgba(20, 43, 66, 0.72));
}

.intro-chip-label {
  margin: 0;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(230, 245, 255, 0.94);
  font-weight: 800;
}

.intro-chip-text {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: #d7ebff;
}

.status-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  max-width: 100%;
}

.toolbar {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: stretch;
}

.control-group {
  border: 1px solid rgba(115, 156, 204, 0.24);
  border-radius: var(--radius-md);
  padding: 12px;
  background: var(--surface-0);
}

.control-title {
  margin: 0 0 8px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--text-muted);
  font-weight: 800;
}

.control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px;
}

.control-grid > label {
  min-width: 0;
}

.action-grid {
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
}

label {
  display: grid;
  gap: var(--space-1);
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 600;
}

input,
select,
button,
textarea {
  width: 100%;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(115, 156, 204, 0.36);
  background: rgba(14, 26, 43, 0.92);
  color: var(--text-main);
  padding: 10px 12px;
  font: inherit;
  font-size: 14px;
  transition: border-color 200ms ease, box-shadow 200ms ease, background 200ms ease, transform 180ms ease, filter 180ms ease;
  min-height: 42px;
}

select {
  max-width: 100%;
  text-overflow: ellipsis;
}

textarea {
  resize: vertical;
}

button {
  cursor: pointer;
  font-weight: 700;
  color: #f8fdff;
  border-color: rgba(105, 188, 255, 0.45);
  background: linear-gradient(136deg, rgba(42, 123, 224, 0.76), rgba(72, 206, 255, 0.45));
  box-shadow: 0 10px 22px rgba(0, 10, 26, 0.52);
}

button:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  border-color: rgba(130, 206, 255, 0.75);
}

button:active {
  transform: translateY(0) scale(0.985);
  filter: brightness(0.98);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
.tab:focus-visible,
.collapse-toggle:focus-visible,
.quick-nav-btn:focus-visible,
.group-toggle:focus-visible,
.dropzone:focus-visible {
  outline: 2px solid rgba(183, 236, 255, 0.9);
  outline-offset: 3px;
  box-shadow: var(--ring-focus);
  border-color: var(--accent-cyan);
}

.inline-check {
  display: flex;
  align-items: center;
  gap: 8px;
}

.inline-check input {
  width: auto;
}

.tabbar {
  margin-top: var(--space-2);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.top-group {
  margin-top: 10px;
}

.group-toggle {
  width: 100%;
  text-align: left;
  border-radius: 12px;
  background: rgba(12, 24, 40, 0.9);
  border: 1px solid rgba(115, 156, 204, 0.36);
  color: var(--text-strong);
  box-shadow: none;
  position: relative;
  padding-right: 44px;
}

.group-toggle::after {
  content: "▾";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 220ms ease;
  color: var(--text-muted);
}

.group-toggle[aria-expanded="false"]::after {
  transform: translateY(-50%) rotate(-90deg);
}

.group-collapsible {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-6px);
  transition: max-height 250ms ease, opacity 200ms ease, transform 220ms ease;
}

.group-collapsible.open {
  max-height: 520px;
  opacity: 1;
  transform: translateY(0);
}

.tab {
  width: auto;
  border-radius: 999px;
  border-color: transparent;
  background: rgba(18, 33, 54, 0.78);
  color: var(--text-muted);
  padding: 10px 16px;
}

.tab.active {
  color: var(--text-strong);
  border-color: rgba(115, 198, 255, 0.82);
  background: linear-gradient(136deg, rgba(27, 80, 151, 0.92), rgba(21, 123, 172, 0.72));
}

.quick-nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin-top: 10px;
  margin-bottom: 2px;
  align-items: center;
  overflow-x: auto;
  padding: 1px 2px 6px;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.quick-nav-btn {
  border-radius: 999px;
  border-color: var(--jarvis-button-border);
  background: rgba(16, 28, 46, 0.85);
  min-width: 106px;
  flex: 0 0 auto;
  scroll-snap-align: start;
  touch-action: manipulation;
  pointer-events: auto;
}

.quick-nav-btn.active {
  border-color: var(--jarvis-accent);
  background: var(--jarvis-active);
  color: var(--jarvis-text);
  box-shadow: 0 0 0 1px rgba(118, 205, 255, 0.36), 0 10px 20px rgba(2, 16, 34, 0.5), 0 0 20px rgba(79, 231, 178, 0.18);
}

[id^="jarvis-"] {
  scroll-margin-top: 90px;
}

.jarvis-bg-motion::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 9%, rgba(98, 216, 255, .08) 10%, transparent 11% 100%),
    linear-gradient(0deg, transparent 0 12%, rgba(241, 186, 102, .06) 13%, transparent 14% 100%);
  background-size: 180px 180px, 220px 220px;
  opacity: .38;
  transform: translate3d(0, 0, 0);
  animation: intelligence-grid-drift 18s linear infinite;
}

@keyframes intelligence-grid-drift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 360px 180px, -220px 220px; }
}

.command-center-alpha,
.community-command-layer {
  position: relative;
  overflow: hidden;
}

.command-center-alpha::before,
.community-command-layer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 22%, rgba(99, 216, 255, .12), transparent 24%),
    radial-gradient(circle at 78% 18%, rgba(241, 186, 102, .10), transparent 22%),
    linear-gradient(135deg, rgba(255,255,255,.045), transparent 38%);
  opacity: .78;
}

.command-intel-grid,
.command-center-grid,
.theme-intelligence-grid,
.daily-mission-grid,
.deployment-health-grid,
.options-engine-grid,
.swing-engine-grid,
.rss-intelligence-grid,
.academy-level-grid,
.community-room-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  position: relative;
  z-index: 1;
}

.command-center-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin-top: 14px;
}

.command-center-grid > article,
.command-intel-card,
.health-row,
.theme-intel-card,
.mission-card,
.mission-rank,
.option-plan-card,
.swing-plan-card,
.rss-topic-card,
.academy-level-card,
.community-room-grid article {
  border: 1px solid var(--line-soft);
  background: color-mix(in srgb, var(--surface-1), transparent 8%);
  border-radius: 8px;
  padding: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.command-intel-card span,
.health-row span,
.rss-topic-card span,
.mission-card span {
  display: block;
  color: var(--text-muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.command-intel-card strong,
.theme-intel-card strong,
.mission-rank span {
  display: block;
  margin-top: 6px;
  color: var(--text-strong);
  font-size: 1rem;
}

.health-row {
  border-left: 4px solid var(--accent-cyan);
}

.health-healthy { border-left-color: #46d99a; }
.health-warning { border-left-color: #f1ba66; }
.health-error { border-left-color: #ff607f; }

.health-row p,
.theme-intel-card p,
.option-plan-card p,
.swing-plan-card p,
.rss-topic-card p,
.community-room-grid p {
  margin: 6px 0 0;
  color: var(--text-muted);
  font-size: .88rem;
  line-height: 1.45;
}

.coach-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}

.coach-output {
  margin-top: 12px;
  display: grid;
  gap: 8px;
}

.coach-output p {
  margin: 0;
  padding: 10px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  color: var(--text-main);
}

.academy-progress-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}

.academy-progress-strip span {
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  padding: 7px 10px;
  color: var(--text-muted);
}

.academy-level-card {
  display: grid;
  gap: 8px;
}

.academy-level-card h4 {
  margin: 0 0 4px;
}

.academy-level-card button,
.mission-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 42px;
  color: var(--text-main);
  text-align: left;
}

.academy-level-card button.complete,
.mission-card.complete {
  border-color: rgba(70, 217, 154, .58);
  background: rgba(70, 217, 154, .08);
}

.jarvis-onboarding-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(3, 8, 14, .78);
  backdrop-filter: blur(16px);
}

.jarvis-onboarding-overlay[hidden] {
  display: none;
}

.onboarding-shell {
  width: min(720px, 96vw);
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface-2), #050911 18%);
  padding: 18px;
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
}

.onboarding-head,
.onboarding-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.onboarding-body {
  margin: 18px 0;
}

.onboarding-body h3 {
  margin: 0 0 8px;
  font-size: clamp(1.4rem, 4vw, 2.2rem);
}

.onboarding-body p {
  color: var(--text-main);
  line-height: 1.65;
  max-width: 62ch;
}

.onboarding-step-meter {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 5px;
  margin-top: 18px;
}

.onboarding-step-meter span {
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
}

.onboarding-step-meter span.active {
  background: linear-gradient(90deg, var(--accent-cyan), var(--accent-gold));
}

@media (max-width: 720px) {
  .coach-form,
  .command-center-grid {
    grid-template-columns: 1fr;
  }

  .onboarding-actions button {
    flex: 1 1 130px;
  }
}

.market-network-expansion {
  margin: 18px 0;
}

.market-network-grid,
.ipo-watch-grid,
.space-grid,
.sentiment-grid,
.basket-rank-grid,
.community-symbol-feeds {
  display: grid;
  gap: 12px;
}

.market-network-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.85fr);
  align-items: start;
}

.market-intel-panel,
.community-symbol-feed {
  border: 1px solid rgba(130, 240, 214, 0.2);
  background: linear-gradient(135deg, rgba(7, 18, 26, 0.86), rgba(17, 31, 40, 0.72));
  border-radius: 8px;
  padding: 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 18px 44px rgba(0, 0, 0, 0.24);
}

.ipo-intel-panel {
  grid-column: 1 / -1;
}

.ipo-watch-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.ipo-card,
.space-grid article,
.sentiment-grid article,
.basket-rank-grid article,
.capital-flow-columns article,
.community-symbol-feed > div {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.045);
  border-radius: 8px;
  padding: 12px;
}

.ipo-card header,
.space-grid header,
.community-symbol-feed header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.ipo-card header span,
.space-grid header span,
.community-symbol-feed header > span {
  border: 1px solid rgba(130, 240, 214, 0.28);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--accent, #80f0d0);
  font-size: 0.75rem;
  white-space: nowrap;
}

.score-line {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  margin: 10px 0;
}

.score-line span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #80f0d0, #e7d27c);
}

.ipo-card dl,
.space-grid dl {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  margin: 10px 0;
}

.ipo-card dt,
.space-grid dt {
  color: var(--muted, #8ea4aa);
  font-size: 0.68rem;
  text-transform: uppercase;
}

.ipo-card dd,
.space-grid dd {
  margin: 0;
  font-weight: 700;
}

.capital-flow-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.capital-flow-columns h4 {
  margin: 0 0 8px;
}

.capital-flow-columns article strong,
.basket-rank-grid article strong,
.sentiment-grid article strong {
  display: block;
  margin-bottom: 5px;
}

.basket-rank-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin-top: 12px;
}

.basket-rank-grid span,
.sentiment-grid span {
  display: inline-flex;
  margin: 2px 6px 2px 0;
  color: var(--muted, #8ea4aa);
  font-size: 0.8rem;
}

.space-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.community-symbol-feeds {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.community-symbol-feed {
  min-height: 220px;
}

@media (max-width: 900px) {
  .market-network-grid,
  .capital-flow-columns {
    grid-template-columns: 1fr;
  }

  .ipo-card dl,
  .space-grid dl {
    grid-template-columns: repeat(2, 1fr);
  }
}

.daily-brief-grid,
.macro-score-grid,
.paper-sync-grid,
.strategy-share-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}

.macro-relationship-shell {
  margin-top: 14px;
}

.relationship-map-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.relationship-card,
.strategy-share-inner,
.community-paper-test,
.community-strategy-score {
  border: 1px solid color-mix(in srgb, var(--jarvis-accent), transparent 62%);
  border-radius: 8px;
  background: color-mix(in srgb, var(--panel-bg), transparent 10%);
  padding: 12px;
}

.relationship-card header,
.strategy-share-inner header,
.community-paper-test,
.community-strategy-score {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.relationship-card.is-warning {
  border-color: color-mix(in srgb, #ffb347, transparent 30%);
}

.relationship-card.is-confirming {
  border-color: color-mix(in srgb, #4de3a5, transparent 42%);
}

.strategy-share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.strategy-share-grid span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.strategy-share-grid b {
  color: var(--text-muted);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.community-paper-test,
.community-strategy-score {
  margin-top: 10px;
}

.community-strategy-score span {
  font-weight: 800;
  color: var(--jarvis-accent);
}

body::before {
  background:
    radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--jarvis-accent), transparent 86%), transparent 28%),
    linear-gradient(115deg, transparent 0 18%, color-mix(in srgb, var(--jarvis-accent-2), transparent 92%) 18% 19%, transparent 19% 43%, color-mix(in srgb, var(--jarvis-accent), transparent 94%) 43% 44%, transparent 44%),
    var(--bg-0);
}

body[data-active-page="community"]::before {
  background:
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--jarvis-accent-2), transparent 84%), transparent 30%),
    linear-gradient(145deg, transparent 0 22%, color-mix(in srgb, var(--jarvis-accent), transparent 92%) 22% 23%, transparent 23% 54%, color-mix(in srgb, var(--jarvis-accent-2), transparent 94%) 54% 55%, transparent 55%),
    var(--bg-0);
}

@media (prefers-reduced-motion: reduce) {
  .relationship-card,
  .strategy-share-inner,
  .community-paper-test,
  .community-strategy-score {
    transition: none;
  }
}

.jarvis-profile-hud {
  position: sticky;
  top: 0;
  z-index: calc(var(--z-sticky-nav) + 2);
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 8px max(12px, env(safe-area-inset-left));
  background: rgba(5, 9, 17, 0.9);
  border-bottom: 1px solid var(--line-soft);
  backdrop-filter: blur(18px);
}

.jarvis-profile-hud span,
.badge-row span,
.community-category-strip span {
  flex: 0 0 auto;
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  padding: 6px 10px;
  color: var(--text-main);
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.78rem;
}

.my-jarvis-dashboard,
.jarvis-community {
  margin-block: var(--space-4);
}

.jarvis-community {
  display: none;
}

.community-page {
  position: relative;
  isolation: isolate;
  width: min(1180px, calc(100% - 24px));
  margin: var(--space-5) auto;
  padding: var(--space-5);
  padding-bottom: calc(140px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--jarvis-button-border);
  border-bottom: 1px solid var(--line-soft);
  background:
    radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--jarvis-motion-1), transparent 76%), transparent 26%),
    radial-gradient(circle at 78% 0%, color-mix(in srgb, var(--jarvis-motion-2), transparent 82%), transparent 30%),
    linear-gradient(145deg, rgba(8, 16, 28, 0.86), rgba(10, 24, 40, 0.72));
  overflow: hidden;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--jarvis-accent), transparent 72%), 0 24px 70px rgba(0, 0, 0, 0.32);
}

.community-page::before,
.community-page::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.community-page::before {
  background:
    linear-gradient(90deg, transparent 0 48%, color-mix(in srgb, var(--jarvis-grid), transparent 70%) 49% 51%, transparent 52% 100%),
    linear-gradient(0deg, transparent 0 48%, color-mix(in srgb, var(--jarvis-grid), transparent 78%) 49% 51%, transparent 52% 100%),
    radial-gradient(circle at 24% 42%, color-mix(in srgb, var(--jarvis-motion-1), transparent 84%) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 28%, color-mix(in srgb, var(--jarvis-motion-2), transparent 82%) 0 2px, transparent 3px);
  background-size: 64px 64px, 64px 64px, 180px 180px, 220px 220px;
  opacity: 0.46;
  animation: communityGridDrift 32s linear infinite;
}

.community-page::after {
  background:
    linear-gradient(118deg, transparent 0 18%, color-mix(in srgb, var(--jarvis-accent), transparent 84%) 19%, transparent 29% 100%),
    radial-gradient(circle at 18% 72%, color-mix(in srgb, var(--jarvis-motion-1), transparent 78%), transparent 18%),
    radial-gradient(circle at 90% 64%, color-mix(in srgb, var(--jarvis-motion-2), transparent 84%), transparent 20%);
  background-size: 220% 100%, 120% 120%, 120% 120%;
  opacity: 0.58;
  animation: communitySignalMesh 24s ease-in-out infinite alternate;
}

.personal-dashboard-head,
.community-head,
.jarvis-profile-panel header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-3);
}

.personal-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(145px, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.personal-dashboard-grid article,
.community-profile-card,
.community-post-card {
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: var(--theme-surface-tint);
  padding: var(--space-3);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
}

.personal-dashboard-grid span,
.community-post-card small,
.community-post-meta,
.community-disclaimer {
  color: var(--text-muted);
  font-size: 0.82rem;
}

.personal-dashboard-grid strong {
  display: block;
  color: var(--text-strong);
  font-size: 1.28rem;
  margin: 4px 0;
}

.personal-actions,
.community-post-actions,
.community-moderation-actions,
.settings-action-grid,
.profile-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: var(--space-3);
}

.personal-actions button,
.community-form button,
.community-post-actions button,
.community-moderation-actions button,
.profile-form-actions button,
.settings-action-grid button,
.import-profile-btn {
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: var(--jarvis-button);
  color: var(--jarvis-button-text);
  padding: 10px 12px;
  cursor: pointer;
}

.community-controls {
  display: grid;
  grid-template-columns: minmax(170px, .7fr) minmax(240px, 1.6fr) minmax(170px, .7fr);
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.community-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(280px, 1.3fr);
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.community-form,
.jarvis-profile-form {
  display: grid;
  gap: var(--space-3);
}

.community-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.community-content,
.community-disclaimer,
.community-form button {
  grid-column: 1 / -1;
}

.community-form label,
.jarvis-profile-form label {
  display: grid;
  gap: 6px;
  color: var(--text-muted);
  font-weight: 700;
}

.community-form input,
.community-form select,
.community-form textarea,
.jarvis-profile-form input,
.jarvis-profile-form select,
.jarvis-profile-panel textarea {
  width: 100%;
  border: 1px solid var(--jarvis-button-border);
  border-radius: var(--radius-sm);
  background: rgba(3, 8, 15, 0.72);
  color: var(--text-strong);
  padding: 10px 12px;
}

.community-category-strip,
.community-post-meta,
.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: var(--space-3);
}

.structure-lesson-list {
  display: grid;
  gap: 10px;
}

.structure-lesson-card {
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.025);
  overflow: hidden;
}

.structure-lesson-card.is-active {
  border-color: var(--jarvis-accent);
  box-shadow: 0 0 0 1px rgba(64, 224, 255, 0.18);
}

.structure-lesson-trigger {
  width: 100%;
  min-height: 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 0;
  background: transparent;
  color: var(--text-strong);
  padding: 12px 14px;
  cursor: pointer;
  text-align: left;
}

.structure-lesson-trigger:hover,
.structure-lesson-trigger:focus-visible {
  background: rgba(255, 255, 255, 0.055);
  outline: 1px solid var(--jarvis-accent);
}

.structure-lesson-trigger small,
.structure-lesson-panel p,
.lesson-suggested-prompts {
  color: var(--text-muted);
}

.structure-lesson-panel {
  display: grid;
  gap: 8px;
  padding: 0 14px 14px;
}

.structure-lesson-panel p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
}

.lesson-suggested-prompts {
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
  padding: 10px;
}

.lesson-suggested-prompts summary {
  cursor: pointer;
  color: var(--text-strong);
  font-weight: 800;
}

.lesson-suggested-prompts button,
.structure-lesson-actions button,
.structure-lesson-actions a,
.community-vote-row button,
.community-inline-form button,
.ask-jarvis-prompt-toggle {
  border: 1px solid var(--jarvis-button-border);
  border-radius: var(--radius-sm);
  background: var(--jarvis-button);
  color: var(--jarvis-button-text);
  padding: 9px 11px;
  cursor: pointer;
  text-decoration: none;
}

.ask-jarvis-prompt-toggle {
  width: 100%;
  margin: 8px 0;
}

.ask-jarvis-chips.is-collapsed {
  display: none;
}

.lesson-suggested-prompts[open] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lesson-suggested-prompts[open] summary {
  flex-basis: 100%;
}

.structure-lesson-actions,
.community-vote-row,
.community-tab-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.community-tab-strip {
  overflow-x: auto;
  flex-wrap: nowrap;
  padding: 8px 0 4px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.community-tab-strip button {
  flex: 0 0 auto;
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: rgba(3, 8, 15, 0.72);
  color: var(--text-main);
  padding: 9px 11px;
  cursor: pointer;
}

.community-tab-strip button.is-active,
.community-vote-row button.is-active {
  border-color: var(--theme-accent-strong);
  background: var(--theme-nav-active);
  color: var(--jarvis-button-text);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--jarvis-accent), transparent 72%), 0 0 22px color-mix(in srgb, var(--jarvis-bg-glow), transparent 36%);
}

.jarvis-navigation-debug {
  grid-column: 1 / -1;
  margin-top: var(--space-3);
}

.jarvis-navigation-debug dl {
  display: grid;
  grid-template-columns: minmax(130px, 0.35fr) minmax(0, 1fr);
  gap: 8px 12px;
  margin: 0;
  color: var(--text-main);
}

.jarvis-navigation-debug dt {
  color: var(--text-muted);
  font-weight: 800;
}

.jarvis-navigation-debug dd {
  margin: 0;
  color: var(--text-strong);
  word-break: break-word;
}

.community-panel {
  display: none;
  padding-bottom: calc(140px + env(safe-area-inset-bottom));
}

.community-panel.is-active {
  display: block;
}

.community-posts {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.community-replies {
  margin-top: 10px;
  border-top: 1px solid var(--line-soft);
  padding-top: 10px;
}

.community-replies textarea,
.community-inline-form input,
.community-chat-shell select {
  width: 100%;
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: rgba(3, 8, 15, 0.72);
  color: var(--text-strong);
  padding: 10px 12px;
}

.community-message-list {
  display: grid;
  gap: 8px;
  margin: 12px 0;
  max-height: 340px;
  overflow: auto;
  padding-bottom: calc(24px + env(safe-area-inset-bottom));
}

.community-message-list article,
.community-replies article {
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  padding: 10px;
  background: rgba(255, 255, 255, 0.025);
}

.community-inline-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.community-dm-shell .community-inline-form {
  grid-template-columns: minmax(120px, .35fr) minmax(0, 1fr) auto auto auto;
}

.community-dm-head,
.community-conversation-thread header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.community-dm-head > div:last-child,
.community-conversation-thread header > div:last-child,
.community-dm-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.community-dm-workspace {
  display: grid;
  grid-template-columns: minmax(220px, .34fr) minmax(0, 1fr);
  gap: 12px;
  min-height: 420px;
}

.community-conversation-list,
.community-conversation-thread {
  min-width: 0;
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.025);
  padding: 10px;
}

.community-conversation-list {
  max-height: 520px;
  overflow: auto;
}

.community-dm-tabs {
  overflow-x: auto;
  flex-wrap: nowrap;
  padding-bottom: 8px;
}

.community-dm-tabs button,
.community-conversation,
.community-conversation-thread button {
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: rgba(3, 8, 15, 0.62);
  color: var(--text-strong);
  padding: 8px 10px;
}

.community-dm-tabs button.is-active,
.community-conversation.is-active {
  border-color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--jarvis-accent), transparent 84%);
}

.community-conversation.is-disabled {
  opacity: .62;
}

.community-dm-search {
  display: grid;
  gap: 6px;
  margin-bottom: 8px;
}

.community-conversation {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  width: 100%;
  gap: 4px 8px;
  margin-bottom: 8px;
  text-align: left;
}

.community-conversation span {
  grid-row: span 2;
  display: inline-grid;
  place-items: center;
  inline-size: 34px;
  block-size: 34px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--jarvis-accent), transparent 78%);
  font-weight: 900;
}

.community-conversation strong,
.community-conversation small,
.community-conversation-thread header strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-conversation em {
  position: absolute;
  top: 6px;
  right: 8px;
  min-width: 20px;
  min-height: 20px;
  border-radius: 999px;
  background: var(--jarvis-accent);
  color: #031018;
  text-align: center;
  font-style: normal;
  font-weight: 900;
}

.community-thread-messages {
  max-height: 440px;
}

.community-thread-messages article.is-reported {
  border-color: var(--danger, #ff6b6b);
}

#communityModeratorQueue article.is-hidden {
  opacity: .68;
}

.community-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 12px;
}

.community-quick-start {
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.035);
  padding: 10px 12px;
  margin: 8px 0 12px;
}

.community-quick-start summary {
  cursor: pointer;
  color: var(--text-strong);
  font-weight: 800;
}

.community-quick-start ol {
  margin: 10px 0 0 20px;
  color: var(--text-muted);
  line-height: 1.5;
}

.market-network-expansion {
  margin-top: var(--space-4);
}

.ipo-community-module {
  margin: var(--space-4) 0;
}

.ipo-community-module.is-collapsed .ipo-intel-panel {
  padding-bottom: var(--space-3);
}

.ipo-module-actions,
.ipo-status-chips,
.ipo-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ipo-module-actions button,
.ipo-card-actions button,
.ipo-expand-primary,
.ipo-panel-copy button,
.bot-digest-card button {
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: var(--jarvis-button);
  color: var(--jarvis-button-text);
  min-height: 40px;
  padding: 9px 11px;
  cursor: pointer;
}

.ipo-status-chips {
  margin: 10px 0;
}

.ipo-status-chips span,
.ipo-card header span,
.ipo-card header em {
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--text-main);
  background: rgba(255, 255, 255, 0.045);
  font-size: .76rem;
  font-style: normal;
}

.ipo-watch-grid,
.ipo-radar-tabs,
.bot-digest {
  display: grid;
  gap: 10px;
}

.ipo-watch-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.ipo-card {
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.035);
  padding: 12px;
  min-width: 0;
}

.ipo-card header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.ipo-card header strong {
  color: var(--text-strong);
  min-width: 0;
}

.ipo-card p {
  margin: 8px 0;
  color: var(--text-muted);
  line-height: 1.42;
}

.ipo-honesty-note {
  color: var(--warn) !important;
  font-weight: 800;
}

.ipo-card-scores,
.ipo-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 8px 0;
}

.ipo-card-scores span,
.ipo-card dl dt,
.ipo-card dl dd {
  margin: 0;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
  padding: 6px;
  color: var(--text-muted);
  background: rgba(3, 8, 15, 0.4);
  font-size: .78rem;
}

.ipo-card dl dd {
  color: var(--text-strong);
}

.ipo-radar-tab {
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
  padding: 12px;
  background: rgba(255, 255, 255, 0.025);
}

.ipo-radar-tab h4 {
  margin: 0 0 10px;
  color: var(--text-strong);
}

.ipo-radar-modal {
  position: fixed;
  inset: 0;
  z-index: calc(var(--z-modal) + 1400);
  display: grid;
  place-items: center;
  padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));
  background: rgba(1, 5, 10, 0.72);
  backdrop-filter: blur(14px);
}

.ipo-radar-panel {
  width: min(1180px, 100%);
  max-height: calc(100dvh - 28px);
  overflow: auto;
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: var(--surface-1);
  padding: var(--space-4);
  box-shadow: var(--shadow-strong);
}

.ipo-radar-panel header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.bot-digest {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.bot-digest-card {
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.035);
  padding: 12px;
}

.bot-digest-card strong {
  color: var(--text-strong);
}

.empty-state {
  border: 1px dashed var(--line-soft);
  border-radius: var(--radius-sm);
  padding: 14px;
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.025);
}

@media (max-width: 720px) {
  .community-page {
    width: min(100% - 14px, 1180px);
    padding: 14px;
    padding-bottom: calc(150px + env(safe-area-inset-bottom));
  }

  .community-layout,
  .community-controls,
  .community-form,
  .community-dm-shell .community-inline-form {
    grid-template-columns: 1fr;
  }

  .ipo-watch-grid,
  .bot-digest {
    grid-template-columns: 1fr;
  }

  .ipo-module-actions button,
  .ipo-card-actions button {
    flex: 1 1 120px;
  }

  .ipo-card-scores,
  .ipo-card dl {
    grid-template-columns: 1fr;
  }

  .ipo-radar-panel {
    padding: 14px;
  }

  .ipo-radar-panel header {
    display: grid;
  }
}

.community-chat-shell,
.community-dm-shell {
  padding-bottom: calc(150px + env(safe-area-inset-bottom));
}

.community-chat-shell .community-inline-form,
.community-dm-shell .community-inline-form {
  position: sticky;
  bottom: calc(92px + env(safe-area-inset-bottom));
  z-index: 12;
  border: 1px solid var(--theme-accent-line);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--surface-panel), rgba(3, 8, 15, 0.9) 45%);
  padding: 8px;
  box-shadow: 0 -14px 24px rgba(0, 0, 0, 0.22);
}

.community-bot-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 18px;
  margin-left: 6px;
  padding: 2px 6px;
  border: 1px solid var(--theme-accent-strong);
  border-radius: 999px;
  background: color-mix(in srgb, var(--jarvis-accent), transparent 78%);
  color: var(--text-strong);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: 0;
  vertical-align: middle;
}

.community-post-card header {
  display: grid;
  gap: 4px;
}

.community-post-card header strong {
  color: var(--text-strong);
  font-size: 1.05rem;
}

.role-badge,
.moderator-note {
  color: var(--jarvis-accent);
}

.jarvis-profile-modal,
.jarvis-tour-overlay,
.jarvis-explainer-modal {
  position: fixed;
  inset: 0;
  z-index: calc(var(--z-modal) + 1200);
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(1, 5, 10, 0.72);
  backdrop-filter: blur(18px);
}

.jarvis-explainer-modal[hidden] {
  display: none;
}

.jarvis-profile-panel,
.tour-card,
.jarvis-explainer-modal > div {
  width: min(980px, 100%);
  max-height: min(88vh, 920px);
  overflow: auto;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-md);
  background: linear-gradient(145deg, rgba(8, 16, 28, 0.98), rgba(10, 24, 40, 0.96));
  box-shadow: var(--shadow-strong);
  padding: var(--space-5);
  padding-bottom: calc(110px + env(safe-area-inset-bottom));
}

.profile-step-list {
  display: grid;
  grid-template-columns: repeat(8, minmax(80px, 1fr));
  gap: 8px;
  padding: 0;
  list-style: none;
}

.profile-step-list li {
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
  padding: 8px;
  text-align: center;
  color: var(--text-muted);
  font-size: 0.78rem;
}

.profile-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}

.profile-form-section,
.jarvis-profile-form fieldset {
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
  padding: var(--space-3);
  background: rgba(255, 255, 255, 0.025);
}

.profile-form-section h3 {
  margin: 0 0 10px;
  color: var(--jarvis-accent);
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.jarvis-choice-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.jarvis-choice-chip,
.jarvis-choice-pill {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px !important;
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  min-height: 38px;
  padding: 8px 12px;
  background: rgba(3, 8, 15, 0.72);
  color: var(--text-main);
  line-height: 1.1;
  white-space: nowrap;
  cursor: pointer;
}

.jarvis-choice-chip input,
.jarvis-choice-pill input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.jarvis-choice-chip.is-selected,
.jarvis-choice-chip:has(input:checked),
.jarvis-choice-pill:has(input:checked) {
  border-color: var(--jarvis-accent);
  background: linear-gradient(135deg, color-mix(in srgb, var(--jarvis-accent) 36%, transparent), color-mix(in srgb, var(--jarvis-accent-2) 18%, transparent));
  color: var(--jarvis-text);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--jarvis-accent) 30%, transparent), 0 0 18px var(--jarvis-glow);
}

.feature-help-btn {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--line-strong);
  background: rgba(99, 216, 255, 0.12);
  color: var(--accent-cyan);
  margin-left: 6px;
  cursor: pointer;
}

.tour-card {
  max-width: 620px;
}

.tour-progress {
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
  margin: var(--space-4) 0;
}

.tour-progress span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--accent-cyan), var(--accent-gold));
}

@media (max-width: 980px) {
  .personal-dashboard-grid,
  .profile-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .community-layout,
  .community-form {
    grid-template-columns: 1fr;
  }

  .smart-money-grid {
    grid-template-columns: 1fr;
  }

  .smart-money-panel .fresh-row {
    grid-template-columns: 54px minmax(0, 1fr) 44px;
  }

  .smart-money-panel .fresh-row span:nth-of-type(2) {
    grid-column: 1 / -1;
  }

  .profile-step-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .personal-dashboard-head,
  .community-head,
  .jarvis-profile-panel header {
    display: grid;
  }

  .personal-dashboard-grid,
  .profile-form-grid {
    grid-template-columns: 1fr;
  }

  .profile-step-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jarvis-profile-panel,
  .tour-card,
  .jarvis-explainer-modal > div {
    padding: var(--space-4);
  }
}

.paper-trader-command,
.paper-trader-sticky {
  border-color: rgba(80, 220, 170, 0.42);
  background: linear-gradient(135deg, rgba(31, 121, 96, 0.32), rgba(198, 158, 76, 0.18));
  color: var(--text-strong);
}

.global-symbol-panel,
.ai-infra-panel,
.ai-buildout-panel,
.congressional-tracker-panel {
  overflow: visible;
}

.global-symbol-panel {
  max-height: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: calc(18px + env(safe-area-inset-bottom));
}

.global-search-bar input {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(99, 216, 255, 0.38);
  border-radius: 8px;
  background: rgba(3, 12, 18, 0.92);
  color: var(--text-strong);
  padding: 0 14px;
  font: inherit;
  outline: none;
}

.global-search-bar input:focus {
  border-color: var(--jarvis-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--jarvis-accent), transparent 84%);
}

.global-symbol-panel .panel-head { order: 1; }
.global-symbol-panel .global-search-bar { order: 2; }
.global-symbol-panel .global-search-results { order: 3; }
.global-symbol-panel .global-search-meta { order: 4; }
.global-symbol-panel:not(.has-query) .global-search-meta { order: 4; }
.global-symbol-panel:not(.has-query) .global-search-results { order: 3; }

.global-search-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 2px 0;
}

.global-search-meta.is-typing {
  grid-template-columns: 1fr;
}

.global-search-meta.is-typing .global-search-favorites {
  display: none;
}

.global-search-recents,
.global-search-favorites {
  min-width: 0;
}

.global-search-recents {
  order: 2;
}

.global-search-favorites {
  order: 3;
}

.recent-chip-tray {
  max-height: 96px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}

.global-search-meta.is-typing .recent-chip-tray {
  max-height: 38px;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}

.symbol-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 28px;
  align-items: center;
}

.symbol-chip-row button,
.infra-symbol-strip button {
  border: 1px solid var(--theme-accent-line);
  border-radius: 999px;
  background: var(--theme-accent-soft);
  color: var(--text-strong);
  padding: 6px 9px;
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
}

.recent-toggle-chip {
  border-style: dashed !important;
  color: var(--theme-accent-strong) !important;
}

.chip-empty {
  color: var(--text-muted);
  font-size: 0.82rem;
}

.global-search-results {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  min-height: 72px;
  max-height: min(52vh, 520px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 2px 4px 8px 0;
}

.symbol-result-card,
.ai-layer-card,
.buildout-map-card,
.buildout-answer-card {
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px;
  background: rgba(8, 18, 24, 0.62);
  padding: 12px;
  min-width: 0;
}

.symbol-result-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  box-shadow: inset 0 1px 0 rgba(99, 216, 255, 0.08);
  max-width: 100%;
}

.symbol-card-top {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.symbol-card-top strong {
  color: var(--accent-cyan);
  font-size: 1rem;
  letter-spacing: 0;
}

.symbol-card-top span {
  color: var(--text-strong);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.symbol-card-top em {
  border: 1px solid rgba(79, 231, 178, 0.28);
  border-radius: 999px;
  color: var(--accent-mint);
  font-size: 0.72rem;
  font-style: normal;
  padding: 3px 7px;
  white-space: nowrap;
}

.symbol-result-card p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 7px 0 0;
  color: var(--text-main);
  font-size: 0.88rem;
  line-height: 1.35;
}

.symbol-result-card h3,
.ai-layer-card h3,
.buildout-map-card h3 {
  margin: 8px 0;
  letter-spacing: 0;
}

.symbol-result-card h3 small {
  display: block;
  margin-top: 4px;
  font-size: 0.78rem;
  color: var(--text-muted);
}

.symbol-card-meta,
.symbol-card-actions,
.infra-basket-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}

.symbol-card-meta span,
.buildout-map-card span {
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 4px 7px;
  color: var(--text-muted);
  font-size: 0.76rem;
}

.symbol-card-actions {
  justify-content: flex-end;
  margin-top: 0;
  min-width: 268px;
}

.symbol-card-actions button,
.ai-layer-card > button,
.infra-basket-actions button,
.strategy-paper-send,
.ask-paper-send {
  min-height: 38px;
  border: 1px solid rgba(80, 220, 170, 0.35);
  border-radius: 8px;
  background: rgba(35, 110, 92, 0.22);
  color: var(--text-strong);
  padding: 8px 10px;
  font: inherit;
  cursor: pointer;
}

.symbol-card-actions button {
  min-height: 34px;
  padding: 7px 9px;
  font-size: 0.82rem;
}

.symbol-card-actions button[aria-pressed="true"] {
  border-color: rgba(241, 186, 102, 0.6);
  color: var(--accent-gold);
}

.global-search-suggestions,
.empty-state {
  border: 1px solid var(--theme-accent-line);
  border-radius: 8px;
  background: var(--theme-surface-tint);
  padding: 12px;
}

.hud-status-strip,
.quick-command-bar,
.tracker-status-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.hud-status-strip {
  position: sticky;
  top: 0;
  z-index: 80;
  border: 1px solid rgba(99, 216, 255, 0.16);
  border-radius: 8px;
  background: rgba(3, 12, 18, 0.78);
  backdrop-filter: blur(18px);
  padding: 8px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(79, 231, 178, 0.08);
}

.hud-status-strip span,
.tracker-status-strip span {
  border: 1px solid rgba(255,255,255,0.11);
  border-radius: 8px;
  background: rgba(255,255,255,0.045);
  color: var(--text-muted);
  padding: 6px 8px;
  font-size: 0.76rem;
}

.hud-status-strip strong,
.tracker-status-strip strong {
  display: inline-block;
  margin-left: 5px;
  color: var(--text-strong);
}

.quick-command-bar {
  border: 1px solid rgba(80, 220, 170, 0.14);
  border-radius: 8px;
  background: rgba(8, 18, 24, 0.5);
  padding: 8px;
}

.congressional-tracker-panel {
  display: grid;
  gap: 12px;
}

.smart-money-panel {
  display: grid;
  gap: 12px;
}

.smart-money-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.smart-money-grid > article {
  min-width: 0;
}

.smart-money-panel .fresh-row {
  grid-template-columns: 64px minmax(0, 0.95fr) minmax(140px, 1.1fr) 48px;
}

.smart-money-panel .fresh-row small {
  grid-column: 1 / -1;
  color: var(--text-muted);
  font-size: 0.76rem;
}

.congressional-watchlists {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 8px;
}

.congressional-strategy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
  max-height: min(760px, 72vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}

.congressional-strategy-card {
  border: 1px solid rgba(99, 216, 255, 0.14);
  border-radius: 8px;
  background: rgba(8, 18, 24, 0.66);
  padding: 12px;
  box-shadow: inset 0 1px 0 rgba(79, 231, 178, 0.08);
}

.congressional-strategy-card p {
  color: var(--text-main);
  font-size: 0.82rem;
  line-height: 1.35;
}

.strategy-mini-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.strategy-mini-grid section {
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  background: rgba(255,255,255,0.035);
  padding: 9px;
}

.strategy-mini-grid h4 {
  margin: 0 0 6px;
  color: var(--accent-cyan);
  font-size: 0.78rem;
  letter-spacing: 0;
}

.strategy-mini-grid p {
  margin: 5px 0;
  font-size: 0.78rem;
}

.empty-state {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--text-muted);
}

.infra-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0;
}

.infra-flow span {
  position: relative;
  border: 1px solid rgba(198, 158, 76, 0.32);
  border-radius: 8px;
  padding: 10px;
  text-align: center;
  color: var(--text-strong);
  background: rgba(198, 158, 76, 0.08);
}

.ai-infra-grid,
.ai-buildout-map {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.fresh-movers-panel {
  display: grid;
  gap: 16px;
  overflow: visible;
}

.fresh-status-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.fresh-status-strip span,
.fresh-theme-card,
.fresh-rank-card,
.fresh-recommendation-card {
  border: 1px solid rgba(80, 220, 170, 0.18);
  border-radius: 8px;
  background: rgba(5, 14, 20, 0.62);
  padding: 10px;
}

.fresh-status-strip small {
  display: block;
  color: var(--text-muted);
  font-size: 0.72rem;
}

.fresh-status-strip strong {
  color: var(--text-strong);
  font-size: 0.86rem;
}

.fresh-theme-grid,
.fresh-ranking-grid,
.fresh-recommendations {
  display: grid;
  gap: 12px;
}

.fresh-theme-grid {
  grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
}

.fresh-theme-card h3,
.fresh-theme-card p,
.fresh-theme-card span,
.fresh-recommendation-card h3,
.fresh-recommendation-card p {
  margin: 0;
}

.fresh-theme-card {
  min-height: 118px;
  display: grid;
  align-content: space-between;
  background: linear-gradient(145deg, rgba(42, 103, 170, 0.18), rgba(80, 220, 170, 0.07)), rgba(5, 14, 20, 0.72);
}

.fresh-theme-card h3 {
  font-size: 1rem;
  letter-spacing: 0;
}

.fresh-theme-card p,
.fresh-theme-card span {
  color: var(--text-muted);
  font-size: 0.82rem;
}

.fresh-theme-card strong,
.fresh-row b,
.fresh-rank-card b {
  color: var(--accent-mint);
}

.fresh-ranking-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fresh-watchlist,
.fresh-rank-list {
  display: grid;
  gap: 8px;
}

.fresh-row {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) minmax(90px, 0.7fr) 42px;
  gap: 8px;
  align-items: center;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  background: rgba(4, 11, 16, 0.78);
  color: var(--text-main);
}

.fresh-row span,
.fresh-rank-card span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-muted);
  font-size: 0.8rem;
}

.fresh-rank-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(80px, 0.8fr) 42px;
  gap: 8px;
  align-items: center;
}

.fresh-recommendations {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.fresh-recommendation-card {
  display: grid;
  gap: 9px;
  background: linear-gradient(155deg, rgba(214, 173, 98, 0.12), rgba(5, 14, 20, 0.78));
}

.fresh-recommendation-card p {
  color: var(--text-main);
  font-size: 0.86rem;
  line-height: 1.4;
}

.fresh-subhead {
  margin-top: 4px;
}

.ai-layer-card dl {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}

.ai-layer-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding-bottom: 6px;
}

.ai-layer-card dt {
  color: var(--text-muted);
}

.ai-layer-card dd {
  margin: 0;
  font-weight: 800;
}

.ecosystem-gate-open {
  overflow: hidden;
}

.ecosystem-gate-overlay {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
  background: rgba(2, 8, 12, 0.78);
  backdrop-filter: blur(18px);
}

.ecosystem-gate-overlay[hidden] {
  display: none;
}

.ecosystem-gate-panel {
  width: min(94vw, 440px);
  max-height: min(86vh, 560px);
  overflow: auto;
  border: 1px solid rgba(80, 220, 170, 0.3);
  border-radius: 8px;
  background: rgba(12, 23, 30, 0.98);
  box-shadow: 0 24px 70px rgba(0,0,0,0.42);
  padding: 18px;
}

.ecosystem-gate-panel header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.ecosystem-gate-panel input {
  width: 100%;
  min-height: 46px;
  margin-top: 8px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 8px;
  background: rgba(0,0,0,0.24);
  color: var(--text-strong);
  padding: 0 12px;
}

.ecosystem-gate-panel > button {
  width: 100%;
  margin-top: 12px;
}

.ecosystem-gate-error {
  min-height: 22px;
  color: #ffb0a0;
}

@media (max-width: 720px) {
  .global-search-meta,
  .infra-flow {
    grid-template-columns: 1fr;
  }

  .symbol-card-actions,
  .infra-basket-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .symbol-card-actions button,
  .infra-basket-actions button,
  .ai-layer-card > button {
    width: 100%;
  }

  .global-symbol-panel {
    max-height: 65vh;
  }

  .global-search-results {
    max-height: calc(65vh - 250px);
  }

  .symbol-result-card {
    grid-template-columns: 1fr;
  }

  .symbol-card-actions {
    min-width: 0;
  }

  .symbol-card-top {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .symbol-card-top em {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .hud-status-strip {
    top: 0;
    max-height: 34vh;
    overflow-y: auto;
  }

  .quick-command-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quick-command-bar button {
    width: 100%;
  }

  .strategy-mini-grid {
    grid-template-columns: 1fr;
  }

  .congressional-strategy-grid {
    grid-template-columns: 1fr;
    max-height: 68vh;
    padding-bottom: calc(82px + env(safe-area-inset-bottom));
  }
}

/* Ultra refinement pass: scoped compositor hints and repaint reductions. */
.top-dock,
.sticky-jump-nav,
.ask-jarvis-panel,
.pip-companion,
.heat-tile,
.revealable,
.nav-pulse {
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform, opacity;
}

.panel,
.card,
.metric-card,
.tone-card,
.output-box {
  backface-visibility: hidden;
  transition-property: transform, opacity, border-color, box-shadow, background-color;
  transition-duration: 180ms, 180ms, 180ms, 180ms, 240ms;
  transition-timing-function: cubic-bezier(.2, .8, .2, 1);
}

.panel {
  box-shadow: 0 10px 22px rgba(0, 3, 10, 0.38);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.card,
.metric-card,
.tone-card,
.output-box {
  box-shadow: 0 8px 18px rgba(0, 5, 15, 0.3);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.card:hover,
.metric-card:hover,
.tone-card:hover,
.heat-tile:hover {
  transform: translate3d(0, -2px, 0);
  box-shadow: 0 10px 20px rgba(0, 5, 15, 0.34);
}

.ask-jarvis-panel,
.pip-panel,
.sticky-jump-nav {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.heat-tile {
  box-shadow: 0 0 calc(2px + var(--heat, 40) * 0.14px) rgba(55, 228, 166, calc(0.05 + var(--heat, 40) * 0.0012));
}

.ask-response-shell {
  display: grid;
  gap: 10px;
}

.ask-response-shell strong,
.ask-jarvis-detail strong,
.explain-why-grid strong {
  display: block;
  margin-bottom: 4px;
  color: var(--accent-ice);
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.explain-why-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.explain-why-grid span {
  align-content: start;
}

@media (max-width: 760px) {
  .panel,
  .card,
  .metric-card,
  .tone-card,
  .output-box {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: 0 8px 16px rgba(0, 3, 10, 0.3);
  }
}

.ask-jarvis-command,
.ask-jarvis-sticky,
.ask-jarvis-mini {
  border-color: rgba(241, 186, 102, 0.55);
  background: linear-gradient(135deg, rgba(241, 186, 102, 0.2), rgba(79, 231, 178, 0.14));
  color: var(--text-strong);
}

.ask-jarvis-overlay[hidden] {
  display: none;
}

.ask-jarvis-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-ask-jarvis);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding:
    calc(env(safe-area-inset-top, 0px) + 12px)
    12px
    calc(env(safe-area-inset-bottom, 0px) + 88px);
  overflow: hidden;
  pointer-events: auto;
}

.ask-jarvis-panel {
  width: min(96vw, 720px);
  max-height: 82dvh;
  overflow-y: auto;
  border: 1px solid rgba(99, 216, 255, 0.34);
  border-radius: 24px;
  background: rgba(6, 16, 30, 0.96);
  box-shadow: 0 18px 42px rgba(2, 8, 18, 0.48), 0 0 0 1px rgba(241, 186, 102, 0.12) inset;
  padding: 16px;
  backdrop-filter: blur(10px);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  transform: translate3d(0, 0, 0);
  transition: opacity 160ms ease, transform 160ms ease;
}

.ask-jarvis-head,
.ask-jarvis-voice-row,
.ask-jarvis-actions,
.ask-jarvis-chips {
  display: flex;
  gap: 10px;
  align-items: center;
}

.ask-jarvis-head {
  justify-content: space-between;
  margin-bottom: 12px;
}

.ask-jarvis-head h2 {
  margin: 0;
  font-size: clamp(1.35rem, 3vw, 2rem);
}

.ask-jarvis-form label {
  display: block;
  margin-bottom: 6px;
  color: var(--text-muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0;
}

.ask-jarvis-command-row {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.ask-jarvis-mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

.ask-jarvis-mode-grid label {
  display: grid;
  gap: 6px;
  color: var(--text-muted);
  font-size: 0.78rem;
}

.ask-jarvis-mode-grid select {
  width: 100%;
  min-width: 0;
  height: 42px;
  border-radius: 8px;
  border: 1px solid rgba(115, 156, 204, 0.24);
  background: rgba(4, 12, 18, 0.88);
  color: var(--text-main);
  padding: 0 10px;
}

.ask-jarvis-input {
  display: block;
  width: 100%;
  min-width: 0;
  height: 58px;
  padding: 0 18px;
  border-radius: 16px;
  font-size: 1rem;
  line-height: 1.2;
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  box-sizing: border-box;
  scroll-margin-bottom: 120px;
}

.ask-jarvis-input::placeholder {
  writing-mode: horizontal-tb;
  text-orientation: mixed;
}

.ask-jarvis-input-row input,
.ask-jarvis-input-row textarea,
.ask-jarvis-command-row input,
.ask-jarvis-command-row textarea {
  width: 100%;
  min-width: 0;
}

.ask-jarvis-command-row button {
  width: 100%;
}

.ask-jarvis-chips,
.ask-jarvis-actions,
.ask-jarvis-voice-row {
  flex-wrap: wrap;
  margin-top: 12px;
}

.ask-jarvis-chips button {
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  background: rgba(99, 216, 255, 0.08);
}

.ask-jarvis-answer {
  margin-top: 14px;
  padding: 14px;
  border-radius: 8px;
  border: 1px solid rgba(79, 231, 178, 0.24);
  background: rgba(3, 10, 16, 0.62);
  color: var(--text-main);
  line-height: 1.55;
  max-height: min(34vh, 280px);
  overflow: auto;
  overflow-wrap: anywhere;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  animation: askJarvisAnswerIn 160ms ease both;
}

.ask-jarvis-answer.is-loading {
  opacity: 0.86;
}

.ask-jarvis-answer.tone-emerald {
  border-color: rgba(54, 220, 154, 0.42);
}

.ask-jarvis-answer.tone-amber {
  border-color: rgba(232, 184, 82, 0.5);
}

.ask-jarvis-answer.tone-red {
  border-color: rgba(255, 91, 104, 0.5);
}

.ask-jarvis-answer.tone-purple {
  border-color: rgba(177, 121, 255, 0.52);
}

.ask-jarvis-answer.tone-cyan {
  border-color: rgba(78, 213, 255, 0.52);
}

.ask-jarvis-detail {
  margin-top: 10px;
  color: var(--text-muted);
  font-size: 0.9rem;
}

.ask-explain-grid,
.ask-followups {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.ask-explain-chip {
  max-width: 100%;
  border: 1px solid rgba(115, 156, 204, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.035);
}

.ask-explain-chip[open] {
  width: 100%;
  border-radius: 8px;
}

.ask-explain-chip summary,
.ask-followups button {
  cursor: pointer;
  list-style: none;
  border: 0;
  color: var(--text-main);
  background: transparent;
  padding: 8px 10px;
  font-size: 0.78rem;
}

.ask-explain-chip summary::-webkit-details-marker {
  display: none;
}

.ask-explain-chip p {
  padding: 0 10px 10px;
  color: var(--text-muted);
  font-size: 0.88rem;
}

.ask-followups button {
  border: 1px solid rgba(79, 231, 178, 0.24);
  border-radius: 999px;
  background: rgba(79, 231, 178, 0.07);
}

.ask-jarvis-answer p {
  margin: 0;
}

.ask-jarvis-recent {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  max-height: 180px;
  overflow: auto;
  overscroll-behavior: contain;
}

.ask-jarvis-recent article {
  padding: 10px;
  border: 1px solid rgba(115, 156, 204, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.ask-jarvis-recent strong {
  display: block;
  color: var(--accent-gold);
  font-size: 0.78rem;
}

.ask-jarvis-recent p {
  margin: 4px 0 0;
  color: var(--text-muted);
  font-size: 0.86rem;
}

@media (min-width: 900px) {
  .ask-jarvis-overlay {
    align-items: center;
    justify-content: flex-end;
    padding-right: 32px;
  }
}

@media (max-width: 720px) {
  .ask-jarvis-overlay {
    padding:
      calc(env(safe-area-inset-top, 0px) + 10px)
      max(10px, env(safe-area-inset-right, 0px))
      calc(env(safe-area-inset-bottom, 0px) + 76px)
      max(10px, env(safe-area-inset-left, 0px));
  }

  .ask-jarvis-panel {
    width: 100%;
    max-height: min(82dvh, calc(100dvh - 96px));
    padding: 14px;
  }

  .ask-jarvis-mode-grid {
    grid-template-columns: 1fr;
  }

  .ask-jarvis-answer {
    max-height: 30vh;
  }

  .ask-jarvis-chips button,
  .ask-jarvis-voice-row .tiny-btn,
  .ask-jarvis-actions .tiny-btn {
    min-height: 40px;
  }
}

@keyframes askJarvisAnswerIn {
  from {
    opacity: 0;
    transform: translate3d(0, 6px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

button,
a,
input,
select,
textarea,
.tab,
.tiny-btn,
.group-toggle,
.collapse-toggle {
  touch-action: manipulation;
}

.alert-layer-panel {
  display: grid;
  gap: 16px;
  margin-top: var(--space-5);
}

.jarvis-university-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
  gap: 18px;
  align-items: center;
  margin-top: var(--space-4);
  overflow: hidden;
  border-color: rgba(79, 231, 178, 0.38);
  background:
    linear-gradient(135deg, rgba(9, 24, 34, 0.94), rgba(10, 18, 31, 0.96)),
    radial-gradient(circle at 14% 18%, rgba(79, 231, 178, 0.16), transparent 34%),
    radial-gradient(circle at 92% 14%, rgba(241, 186, 102, 0.16), transparent 32%);
  box-shadow: 0 18px 44px rgba(0, 5, 14, 0.44), 0 0 0 1px rgba(95, 218, 255, 0.08) inset;
}

.jarvis-university-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 0 28%, rgba(95, 218, 255, 0.08) 42%, transparent 58% 100%);
  opacity: 0.7;
  transform: translateX(-18%);
  animation: universityEdgeSweep 9s ease-in-out infinite alternate;
}

.university-orbit {
  position: absolute;
  right: 22px;
  top: 18px;
  width: 92px;
  aspect-ratio: 1;
  pointer-events: none;
  opacity: 0.65;
}

.university-orbit span {
  position: absolute;
  inset: 50%;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(79, 231, 178, 0.45);
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(var(--orbit-rotate, 0deg)) skewX(-18deg);
  box-shadow: 0 0 18px rgba(79, 231, 178, 0.12);
}

.university-orbit span:nth-child(2) {
  --orbit-rotate: 58deg;
  border-color: rgba(95, 218, 255, 0.4);
}

.university-orbit span:nth-child(3) {
  --orbit-rotate: 116deg;
  border-color: rgba(241, 186, 102, 0.35);
}

.university-copy,
.university-feature-grid {
  position: relative;
  z-index: 1;
}

.university-copy h3 {
  margin: 4px 0 8px;
  color: var(--text-strong);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
}

.university-copy p {
  margin: 0;
  color: var(--text-main);
  line-height: 1.58;
}

.university-subtitle {
  color: var(--accent-gold) !important;
  font-weight: 800;
  margin-bottom: 10px !important;
}

.university-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.university-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
  touch-action: manipulation;
}

.university-cta.primary {
  color: #03150f;
  background: linear-gradient(135deg, var(--accent-mint), var(--accent-blue));
  border: 1px solid rgba(194, 255, 236, 0.55);
  box-shadow: 0 12px 26px rgba(10, 216, 165, 0.22);
}

.university-cta.secondary {
  color: var(--text-strong);
  background: rgba(13, 28, 44, 0.82);
  border: 1px solid rgba(241, 186, 102, 0.5);
}

.university-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(0, 8, 18, 0.4), 0 0 24px rgba(95, 218, 255, 0.14);
}

.university-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.university-feature-grid span {
  min-height: 42px;
  display: flex;
  align-items: center;
  border: 1px solid rgba(123, 181, 222, 0.22);
  border-left-color: rgba(79, 231, 178, 0.72);
  border-radius: 10px;
  padding: 10px 12px;
  color: var(--text-main);
  background: rgba(6, 17, 29, 0.62);
  box-shadow: 0 0 0 1px rgba(241, 186, 102, 0.04) inset;
}

.alert-layer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.8fr) minmax(280px, 1fr);
  gap: 14px;
  align-items: stretch;
}

.alert-settings-card,
.active-alert-card,
.alert-log-card {
  display: grid;
  gap: 12px;
  align-content: start;
}

.alert-control-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.alert-settings-card .tiny-btn {
  min-height: 44px;
  white-space: normal;
}

.alert-settings-card .inline-check {
  min-height: 44px;
  align-items: center;
  gap: 12px;
  line-height: 1.35;
}

.alert-settings-card .inline-check input[type="checkbox"] {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  margin: 0;
}

.alert-settings-card label:not(.inline-check) {
  display: grid;
  gap: 7px;
  color: var(--text-main);
}

.alert-settings-card select {
  width: 100%;
  min-height: 44px;
}

.alert-types-strip {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 8px;
  -webkit-overflow-scrolling: touch;
}

.alert-types-strip span {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid rgba(119, 190, 224, 0.24);
  border-radius: 999px;
  color: var(--text-muted);
  background: rgba(8, 18, 30, 0.72);
  font-size: 0.78rem;
  font-weight: 700;
}

.active-alert-list,
.alert-log-list {
  display: grid;
  gap: 10px;
  max-height: 340px;
  overflow-y: auto;
  padding-right: 4px;
}

.active-alert-item,
.alert-log-item {
  border: 1px solid rgba(118, 219, 230, 0.18);
  border-left: 3px solid var(--accent-cyan);
  border-radius: 12px;
  padding: 11px 12px;
  background: rgba(6, 16, 28, 0.72);
}

.active-alert-item.caution,
.alert-log-item.caution {
  border-left-color: var(--warn);
}

.active-alert-item.urgent,
.alert-log-item.urgent {
  border-left-color: var(--bad);
}

.active-alert-item strong,
.alert-log-item strong {
  color: var(--text-strong);
}

.active-alert-item span,
.alert-log-item span,
.alert-log-item small {
  display: block;
  color: var(--text-muted);
  font-size: 0.78rem;
}

.active-alert-item p,
.alert-log-item p {
  margin: 7px 0;
  color: var(--text-main);
  line-height: 1.45;
}

.alert-log-item > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}

.tab-pane {
  display: none;
}

.tab-pane.active {
  display: block;
  animation: enter 260ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mode-header {
  margin-bottom: var(--space-4);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-3);
}

.mode-header h2 {
  margin-top: 6px;
  font-size: clamp(22px, 2.5vw, 34px);
}

.mode-live .mode-header {
  border-color: rgba(98, 214, 255, 0.36);
}

.mode-practice .mode-header {
  border-color: rgba(255, 188, 97, 0.4);
  background: linear-gradient(165deg, rgba(34, 24, 15, 0.7), rgba(14, 20, 32, 0.95));
}

.mode-upload .mode-header {
  border-color: rgba(97, 243, 191, 0.4);
  background: linear-gradient(165deg, rgba(12, 30, 26, 0.72), rgba(13, 22, 34, 0.95));
}

.mode-pip .mode-header {
  border-color: rgba(154, 168, 255, 0.42);
  background: linear-gradient(165deg, rgba(24, 20, 46, 0.78), rgba(10, 20, 34, 0.95));
}

.bias-strip {
  margin-bottom: var(--space-4);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr) minmax(0, 1fr);
  gap: var(--space-3);
  background: linear-gradient(140deg, rgba(15, 35, 62, 0.92), rgba(11, 19, 35, 0.96));
  position: relative;
}

.market-tape-banner {
  margin-bottom: var(--space-3);
  display: grid;
  gap: 10px;
  border-color: rgba(133, 217, 255, 0.58);
  background:
    radial-gradient(circle at 0% 100%, rgba(79, 156, 255, 0.2), transparent 48%),
    radial-gradient(circle at 100% 0%, rgba(255, 95, 134, 0.16), transparent 42%),
    linear-gradient(140deg, rgba(14, 30, 52, 0.93), rgba(8, 18, 32, 0.97));
}

.tape-symbol-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.tape-ticker {
  font-family: "Space Grotesk", "Manrope", sans-serif;
  font-size: clamp(20px, 2.6vw, 28px);
  letter-spacing: 0.04em;
  color: var(--accent-ice);
  font-weight: 700;
}

.tape-price {
  font-family: "Space Grotesk", "Manrope", sans-serif;
  font-size: clamp(26px, 3vw, 38px);
  color: #f5fbff;
  font-weight: 800;
  text-shadow: 0 0 18px rgba(110, 201, 255, 0.38);
}

.tape-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.live-quote-hud {
  border: 1px solid rgba(112, 188, 255, 0.38);
  border-radius: 14px;
  padding: 12px;
  background:
    radial-gradient(circle at 100% 0%, rgba(99, 216, 255, 0.18), transparent 58%),
    linear-gradient(145deg, rgba(11, 27, 44, 0.82), rgba(8, 18, 30, 0.95));
  box-shadow: inset 0 0 0 1px rgba(92, 169, 232, 0.16), 0 0 28px color-mix(in srgb, var(--atmosphere-edge) 42%, transparent);
  display: grid;
  align-content: center;
  gap: 8px;
}

.quote-mainline {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.quote-ticker {
  font-family: "Space Grotesk", "Manrope", sans-serif;
  font-size: clamp(17px, 2.2vw, 22px);
  letter-spacing: 0.03em;
  color: var(--accent-ice);
  font-weight: 700;
}

.quote-price {
  font-family: "Space Grotesk", "Manrope", sans-serif;
  font-size: clamp(20px, 2.4vw, 28px);
  color: #f3f9ff;
  font-weight: 700;
  text-shadow: 0 0 16px rgba(114, 206, 255, 0.35);
}

.quote-subline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.bias-main h2 {
  margin: 10px 0 8px;
  font-size: clamp(22px, 3vw, 38px);
}

.small-text,
.chart-help {
  margin: 0;
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.5;
}

.bias-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.metric-card {
  border: 1px solid rgba(116, 188, 255, 0.2);
  border-radius: var(--radius-md);
  background: rgba(12, 23, 39, 0.78);
  padding: 12px;
}

.metric-label {
  margin: 0;
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.metric-value {
  margin: 8px 0 0;
  font-family: "Space Grotesk", "Manrope", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--text-strong);
}

.metric-small {
  font-size: 14px;
  line-height: 1.4;
}

.metric-value.wait {
  color: var(--warn);
}

.metric-value.attack {
  color: var(--good);
}

.metric-value.caution {
  color: var(--bad);
}

.confluence-meter {
  margin-top: 8px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid rgba(133, 168, 199, 0.35);
  background: rgba(6, 14, 24, 0.9);
  overflow: hidden;
}

.confluence-meter span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #ff8a73, #f3bd67, #66deb4, #63d8ff);
  transition: width 280ms ease;
  background-size: 170% 100%;
  animation: meterFlow 2.9s linear infinite;
}

.quick-bias-meta {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, minmax(160px, 1fr));
  gap: 10px;
}

.intelligence-panel {
  margin-bottom: var(--space-3);
}

.intel-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.live-primary-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  grid-template-areas:
    "confluence sniper"
    "confluence battle"
    "confluence scenario"
    "confluence plan"
    "confluence swing"
    "confluence futures"
    "macro options";
  gap: var(--space-4);
  margin-bottom: var(--space-5);
  min-width: 0;
}

.confluence-panel { grid-area: confluence; }
.sniper-panel { grid-area: sniper; }
.battle-panel { grid-area: battle; }
.scenario-panel { grid-area: scenario; }
.plan-panel { grid-area: plan; }
.swing-panel { grid-area: swing; }
.futures-panel { grid-area: futures; }
.options-panel { grid-area: options; }
.macro-panel { grid-area: macro; }

.bias-summary-card {
  align-self: start;
  min-height: auto;
  height: auto;
  gap: 12px;
}

.bias-summary-card .panel-head {
  margin-bottom: 12px;
}

.bias-summary-card .sniper-setup,
.bias-summary-card .confirmation-checklist {
  min-height: 0;
}

.bias-summary-card .card {
  min-height: auto;
}

.bias-fallback-card {
  border-left-color: var(--accent-gold);
}

.battle-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.validation-conflict-card {
  border-color: rgba(255, 183, 77, 0.55);
  background: linear-gradient(135deg, rgba(255, 183, 77, 0.12), rgba(255, 255, 255, 0.04));
}

.macro-instrument-grid,
.community-pulse-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.macro-instrument-grid span,
.community-pulse-grid span {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  min-width: 0;
}

.macro-instrument-grid em,
.community-pulse-grid em {
  font-style: normal;
  color: var(--text-strong);
}

.macro-instrument-grid small,
.community-pulse-grid small {
  color: var(--text-muted);
  line-height: 1.35;
}

.community-pulse {
  margin: 12px 0;
}

.community-pulse-card {
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.055);
}

.community-bot-lanes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.community-bot-lanes span {
  padding: 6px 9px;
  border-radius: 999px;
  border: 1px solid var(--border-soft);
  color: var(--text-muted);
  font-size: 0.78rem;
}

.scenario-grid {
  display: grid;
  gap: 10px;
}

.scenario-card h5 {
  margin-bottom: 5px;
}

.confirmation-checklist {
  margin-top: 10px;
}

.checklist-card {
  border-left-color: var(--accent-mint);
}

.check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}

.check-dot {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  font-weight: 800;
  font-size: 11px;
}

.check-row.ok .check-dot {
  background: rgba(56, 217, 157, 0.25);
  color: #a6ffe0;
  border: 1px solid rgba(56, 217, 157, 0.55);
}

.check-row.not-ok .check-dot {
  background: rgba(255, 107, 138, 0.2);
  color: #ffd6e1;
  border: 1px solid rgba(255, 107, 138, 0.5);
}

.macro-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.macro-hero-card {
  grid-column: 1 / -1;
  border-left-color: var(--accent-amber);
}

.macro-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.macro-chip {
  width: auto;
  border-radius: 999px;
  min-height: 36px;
  padding: 7px 12px;
  border-color: rgba(114, 188, 255, 0.44);
  background: rgba(12, 28, 46, 0.84);
  box-shadow: none;
}

.macro-chip.active {
  border-color: rgba(255, 195, 108, 0.76);
  background: linear-gradient(138deg, rgba(150, 90, 32, 0.75), rgba(67, 116, 190, 0.72));
  box-shadow: 0 0 0 1px rgba(255, 196, 109, 0.34), 0 8px 16px rgba(8, 22, 36, 0.44);
}

.event-risk-meter {
  margin-top: 8px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(133, 168, 199, 0.35);
  background: rgba(6, 14, 24, 0.9);
  overflow: hidden;
}

.event-risk-meter span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #66deb4, #f3bd67, #ff5f86);
  transition: width 260ms ease;
}

.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 6px;
}

.tag {
  border-radius: 999px;
  border: 1px solid rgba(124, 181, 235, 0.42);
  background: rgba(16, 32, 53, 0.74);
  color: #cfe6fb;
  padding: 4px 10px;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.macro-headline-grid {
  margin-top: 10px;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.macro-headline-card {
  border-left-color: var(--accent-cyan);
  background: linear-gradient(95deg, rgba(67, 160, 214, 0.18), rgba(13, 28, 45, 0.62));
}

.futures-panel {
  border-color: rgba(120, 221, 255, 0.55);
  background:
    radial-gradient(circle at 12% 0%, rgba(104, 177, 255, 0.16), transparent 42%),
    radial-gradient(circle at 88% 100%, rgba(79, 231, 178, 0.12), transparent 38%),
    linear-gradient(144deg, rgba(12, 27, 46, 0.93), rgba(8, 18, 31, 0.97));
}

.futures-alignment-card {
  border-left-color: var(--accent-gold);
  background: linear-gradient(106deg, rgba(55, 72, 101, 0.36), rgba(16, 30, 48, 0.7));
}

.futures-columns {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.futures-group-label {
  margin: 0 0 8px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-muted);
}

.futures-grid {
  display: grid;
  gap: 10px;
}

.futures-card {
  border-left-color: rgba(116, 188, 255, 0.45);
  padding: 13px 14px;
}

.futures-card p {
  margin-top: 5px;
}

.futures-card p strong {
  color: #ebf6ff;
}

.futures-card .frame-card-head h5 {
  font-size: 16px;
}

.futures-card[data-bias="Bullish"] {
  border-left-color: var(--good);
  background: linear-gradient(108deg, rgba(45, 130, 104, 0.2), rgba(13, 27, 44, 0.62));
}

.futures-card[data-bias="Bearish"] {
  border-left-color: var(--bad);
  background: linear-gradient(108deg, rgba(102, 36, 52, 0.28), rgba(13, 27, 44, 0.62));
}

.futures-card[data-bias="Neutral"] {
  border-left-color: var(--warn);
  background: linear-gradient(108deg, rgba(102, 77, 38, 0.24), rgba(13, 27, 44, 0.62));
}

.futures-card-lead {
  box-shadow: 0 0 0 1px rgba(110, 207, 255, 0.34), 0 18px 30px rgba(2, 13, 24, 0.44);
}

.live-layout-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: var(--space-4);
  min-width: 0;
}

.secondary-stack {
  display: grid;
  gap: var(--space-3);
}

.module-panel {
  padding-top: 12px;
}

.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.panel-head h3 {
  font-size: 20px;
}

.inline-cluster {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.chart-zoom-controls {
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  background: rgba(10, 18, 32, 0.85);
  padding: 4px 6px;
}

.chart-zoom-controls .tiny-btn {
  border-radius: 999px;
  min-width: 42px;
  border: none;
  background: transparent;
  box-shadow: none;
}

.chart-stage {
  position: relative;
  border: 1px solid rgba(114, 188, 255, 0.22);
  border-radius: 14px;
  overflow: clip;
  background: linear-gradient(180deg, #07101b, #050913);
  box-shadow: inset 0 0 0 1px rgba(132, 194, 255, 0.12);
}

.chart-signal-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.overlay-opacity-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 4px 0 10px;
}

.overlay-opacity-row label {
  width: auto;
  min-width: 98px;
  margin: 0;
}

.overlay-opacity-row input {
  flex: 1;
}

.chart-tape-readout {
  border-color: rgba(137, 222, 255, 0.82);
  background: linear-gradient(135deg, rgba(34, 117, 180, 0.75), rgba(16, 66, 99, 0.86));
  box-shadow: 0 0 0 1px rgba(135, 214, 255, 0.4), 0 12px 24px rgba(1, 14, 30, 0.5);
  color: #eff8ff;
  letter-spacing: 0.1em;
}

#chartTickerPill,
#chartPricePill {
  border-color: rgba(140, 220, 255, 0.68);
  background: linear-gradient(138deg, rgba(23, 81, 126, 0.86), rgba(12, 52, 78, 0.92));
  color: #eff8ff;
}

.overlay-toggle-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.overlay-toggle {
  border-radius: 999px;
  border-color: rgba(129, 174, 215, 0.38);
  background: rgba(13, 25, 42, 0.88);
  min-width: 96px;
}

.overlay-toggle.active {
  border-color: rgba(98, 206, 255, 0.92);
  box-shadow: 0 0 0 1px rgba(83, 196, 255, 0.28);
  background: rgba(28, 74, 117, 0.8);
}

canvas {
  width: 100%;
  height: auto;
  display: block;
  touch-action: none;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

.chart-panel {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--atmosphere-edge) 34%, transparent), 0 18px 44px rgba(0, 5, 16, 0.36);
  transition: box-shadow 420ms ease, border-color 420ms ease;
}

.chart-panel:hover {
  border-color: rgba(126, 203, 255, 0.48);
  box-shadow: 0 0 0 1px rgba(108, 201, 255, 0.24), 0 26px 46px rgba(3, 14, 30, 0.45);
}

.chart-panel.is-refreshing {
  border-color: rgba(97, 238, 197, 0.75);
  box-shadow: 0 0 0 1px rgba(97, 238, 197, 0.34), 0 24px 50px rgba(36, 112, 98, 0.22);
}

.chart-state {
  position: absolute;
  inset: auto 10px 10px 10px;
  background: rgba(5, 11, 18, 0.8);
  border: 1px solid rgba(115, 156, 204, 0.32);
  border-radius: 10px;
  padding: 9px 12px;
  font-size: 12px;
  color: var(--text-main);
  pointer-events: none;
}

.chart-stage[data-state="active"] .chart-state {
  border-color: rgba(79, 231, 178, 0.45);
}

.chart-stage[data-state="error"] .chart-state {
  border-color: rgba(255, 107, 138, 0.55);
  color: #ffd0da;
}

.chart-stage[data-state="empty"] .chart-state,
.chart-stage[data-state="loading"] .chart-state {
  border-color: rgba(255, 178, 74, 0.45);
}

.overlay-list,
.stack,
.glossary-grid,
.control-stack,
.trade-plan,
.sniper-setup,
.options-ladder,
.journal-timeline {
  display: grid;
  gap: 10px;
}

.glossary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.card,
.output-box,
.tone-card,
.journal-item {
  position: relative;
  border: 1px solid rgba(113, 166, 222, 0.26);
  border-left: 4px solid var(--accent-cyan);
  border-radius: var(--radius-md);
  padding: 12px;
  overflow: hidden;
  isolation: isolate;
  z-index: 1;
  background: rgba(15, 28, 46, 0.68);
  transition: transform 140ms ease, border-color 140ms ease, box-shadow 180ms ease;
  backdrop-filter: blur(6px);
}

.card > *,
.output-box > *,
.tone-card > *,
.journal-item > * {
  position: relative;
  z-index: 2;
}

.strategy-card,
.entry-card,
.timeframe-detail-card,
.timeframe-strategy-card,
.adaptive-entry,
.jarvis-card,
.bias-summary-card,
.premium-card,
.conversion-layer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  z-index: 1;
  contain: paint;
}

.strategy-card::before,
.strategy-card::after,
.entry-card::before,
.entry-card::after,
.timeframe-detail-card::before,
.timeframe-detail-card::after,
.timeframe-strategy-card::before,
.timeframe-strategy-card::after,
.bias-summary-card::before,
.bias-summary-card::after,
.premium-card::before,
.premium-card::after,
.conversion-layer::before,
.conversion-layer::after,
.card-glow,
.card-border,
.card-aura {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 0;
}

.strategy-card > *,
.entry-card > *,
.timeframe-detail-card > *,
.timeframe-strategy-card > *,
.adaptive-entry > *,
.jarvis-card > *,
.bias-summary-card > *,
.premium-card > *,
.conversion-layer > *,
.card-content {
  position: relative;
  z-index: 2;
}

.card:hover,
.journal-item:hover,
.output-box:hover,
.tone-card:hover {
  transform: translateY(-1px);
  border-color: rgba(127, 195, 255, 0.42);
  box-shadow: 0 14px 24px rgba(0, 5, 15, 0.38);
}

.section-anchor {
  scroll-margin-top: 136px;
}

@media (min-width: 769px) {
  .section-anchor {
    scroll-margin-top: 104px;
  }
}

.card h4,
.card h5 {
  margin: 0;
  font-size: 15px;
}

.card p,
.output-box p,
li {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--text-main);
  line-height: 1.55;
}

.wick-intel-card {
  border-left-color: var(--accent-gold);
  background: linear-gradient(116deg, rgba(41, 69, 101, 0.34), rgba(13, 28, 45, 0.7));
}

#extendedSessionHud {
  border-color: rgba(244, 189, 106, 0.46);
  background: rgba(92, 64, 24, 0.28);
  color: #ffe4ba;
}

.quote-health {
  margin-top: 10px;
  border-top: 1px solid rgba(124, 188, 255, 0.18);
  padding-top: 8px;
  color: var(--text-muted);
  font-size: 0.78rem;
}

.quote-health summary {
  cursor: pointer;
  color: var(--text-muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.quote-health-grid {
  display: grid;
  grid-template-columns: minmax(96px, 1fr) minmax(90px, 1fr);
  gap: 6px 12px;
  margin-top: 8px;
}

.quote-health-grid strong {
  color: var(--text-main);
  font-weight: 700;
  text-align: right;
}

.strategy-card.call-setup {
  border-left-color: var(--good);
  background: linear-gradient(95deg, rgba(56, 217, 157, 0.12), rgba(13, 27, 45, 0.58));
}

.strategy-card.put-setup {
  border-left-color: var(--bad);
  background: linear-gradient(95deg, rgba(255, 107, 138, 0.1), rgba(13, 27, 45, 0.58));
}

.strategy-card.wait-setup {
  border-left-color: var(--warn);
  background: linear-gradient(95deg, rgba(255, 178, 74, 0.12), rgba(13, 27, 45, 0.58));
}

.strategy-detail {
  margin-top: 10px;
  border-top: 1px solid rgba(124, 188, 255, 0.16);
  padding-top: 8px;
}

.strategy-detail summary {
  cursor: pointer;
  color: var(--accent-ice);
  font-weight: 800;
}

.value-prop-strip,
.guidance-card-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.value-prop-strip span,
.mini-guidance-card {
  border: 1px solid rgba(124, 188, 255, 0.2);
  border-radius: var(--radius-sm);
  background: rgba(8, 18, 31, 0.58);
  padding: 9px 10px;
  color: var(--text-main);
  font-size: 12px;
  line-height: 1.35;
}

.mini-guidance-card {
  display: grid;
  gap: 4px;
}

.mini-guidance-card strong {
  color: var(--accent-ice);
  font-size: 12px;
}

.mini-guidance-card span {
  color: var(--text-muted);
}

.sniper-priority-card {
  padding: 12px;
}

.sniper-priority-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.sniper-priority-grid,
.entry-priority-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.sniper-priority-grid span,
.entry-priority-grid span {
  min-width: 0;
  border: 1px solid rgba(124, 188, 255, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(7, 16, 28, 0.48);
  padding: 8px;
  color: var(--text-main);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.sniper-priority-grid strong,
.entry-priority-grid strong {
  display: block;
  margin-bottom: 3px;
  color: var(--text-muted);
  font-size: 10px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.setup-directive {
  border-left: 3px solid var(--accent-gold);
  padding-left: 9px;
}

#strategyPlaybook .card:first-child {
  border-left-color: var(--accent-gold);
  background:
    radial-gradient(circle at 96% 0%, rgba(79, 156, 255, 0.2), transparent 38%),
    linear-gradient(112deg, rgba(31, 62, 95, 0.4), rgba(13, 27, 45, 0.62));
}

#strategyGlossary .card h5 {
  color: #e8f5ff;
}

.confluence-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.rescan-engine {
  margin: 0 0 12px;
  border: 1px solid rgba(109, 189, 255, 0.35);
  border-radius: 12px;
  padding: 10px 12px;
  background: linear-gradient(116deg, rgba(18, 38, 61, 0.74), rgba(13, 28, 45, 0.72));
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.rescan-engine.is-active {
  border-color: rgba(79, 231, 178, 0.64);
  box-shadow: 0 0 0 1px rgba(79, 231, 178, 0.24), 0 14px 26px rgba(0, 10, 20, 0.42);
}

.timeframe-update-card.is-retrying {
  border-color: rgba(255, 178, 74, 0.44);
  color: var(--accent-amber);
}

.rescan-mainline {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rescan-spinner {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(126, 197, 255, 0.85);
  box-shadow: 0 0 0 0 rgba(126, 197, 255, 0.32);
}

.rescan-spinner.is-active {
  animation: spinnerPulse 1s ease-in-out infinite;
}

.rescan-status-text {
  margin: 0;
  font-weight: 700;
  color: var(--text-strong);
  letter-spacing: 0.04em;
  font-size: 12px;
  text-transform: uppercase;
}

.rescan-status-meta {
  margin: 8px 0 0;
  color: var(--text-muted);
  font-size: 12px;
}

.timeframe-update-grid {
  margin-top: 10px;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
}

.timeframe-update-card {
  border: 1px solid rgba(110, 166, 214, 0.34);
  border-radius: 10px;
  padding: 7px 8px;
  background: rgba(10, 23, 38, 0.72);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.timeframe-update-card.is-loading {
  border-color: rgba(255, 191, 102, 0.68);
  box-shadow: 0 0 0 1px rgba(255, 191, 102, 0.22);
  animation: frameScan 0.8s ease-in-out infinite alternate;
}

.timeframe-update-card.is-updated {
  border-color: rgba(79, 231, 178, 0.56);
}

.timeframe-update-label {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  color: #e3f6ff;
}

.timeframe-update-meta {
  margin: 4px 0 0;
  font-size: 11px;
  color: var(--text-muted);
}

.confluence-card {
  border-left-color: var(--accent-blue);
  position: relative;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.confluence-card::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 12px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(99, 216, 255, 0.9);
  box-shadow: 0 0 14px rgba(99, 216, 255, 0.62);
  animation: confluencePulse 1.9s ease-in-out infinite;
}

.confluence-card[data-quality="Strong Setup"],
.card[data-quality="Strong Setup"] {
  border-left-color: var(--good);
  box-shadow: 0 0 0 1px rgba(80, 225, 166, 0.32), 0 14px 26px rgba(0, 14, 20, 0.34);
}

.confluence-card[data-quality="Moderate Setup"],
.card[data-quality="Moderate Setup"] {
  border-left-color: var(--accent-blue);
}

.confluence-card[data-quality="Weak Setup"],
.card[data-quality="Weak Setup"] {
  border-left-color: var(--warn);
}

.confluence-card[data-quality="No Trade"],
.card[data-quality="No Trade"] {
  border-left-color: var(--bad);
  background: linear-gradient(118deg, rgba(67, 23, 31, 0.38), rgba(12, 22, 36, 0.7));
}

.confluence-card[data-status="Active Setup"] {
  box-shadow: 0 0 0 1px rgba(79, 231, 178, 0.32), 0 16px 28px rgba(0, 10, 20, 0.38);
}

.confluence-card[data-status="Triggered"] {
  border-left-color: var(--accent-gold);
}

.confluence-card[data-status="Invalidated"],
.confluence-card[data-status="Expired"] {
  opacity: 0.9;
}

.cell-bull {
  color: #a5ffe0;
  border-color: rgba(56, 217, 157, 0.5) !important;
  background: rgba(56, 217, 157, 0.18) !important;
}

.cell-bear {
  color: #ffd3df;
  border-color: rgba(255, 107, 138, 0.52) !important;
  background: rgba(255, 107, 138, 0.16) !important;
}

.cell-neutral {
  color: #ffdcae;
  border-color: rgba(255, 178, 74, 0.5) !important;
  background: rgba(255, 178, 74, 0.13) !important;
}

.frame-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.advanced-lock {
  margin-top: 12px;
  border: 1px dashed rgba(116, 188, 255, 0.45);
  border-radius: 12px;
  padding: 12px;
  background: rgba(12, 24, 41, 0.56);
}

.pill {
  border-radius: 999px;
  border: 1px solid rgba(114, 188, 255, 0.52);
  background: rgba(36, 104, 163, 0.3);
  color: var(--text-strong);
  padding: 5px 12px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  white-space: nowrap;
}

.pill-muted {
  border-color: rgba(140, 168, 195, 0.42);
  background: rgba(102, 126, 150, 0.2);
  color: var(--text-muted);
}

.pill-good {
  border-color: rgba(56, 217, 157, 0.65);
  background: rgba(56, 217, 157, 0.2);
  color: #abffe2;
}

.pill-warn {
  border-color: rgba(255, 178, 74, 0.64);
  background: rgba(255, 178, 74, 0.2);
  color: #ffe1b9;
}

.pill-danger {
  border-color: rgba(255, 107, 138, 0.72);
  background: rgba(255, 107, 138, 0.22);
  color: #ffd2df;
}

.risk-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 10px;
}

.risk-form button {
  grid-column: 1 / -1;
}

#riskOutput .risk-summary {
  display: grid;
  gap: 8px;
}

#riskOutput .risk-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(113, 166, 222, 0.2);
  padding-bottom: 6px;
}

.output-box {
  min-height: 110px;
}

.collapse-toggle {
  text-align: left;
  border-radius: 12px;
  background: rgba(14, 26, 43, 0.82);
  border: 1px solid rgba(116, 188, 255, 0.28);
  color: var(--text-strong);
  margin-bottom: 10px;
  font-size: 14px;
}

.collapse-content {
  display: block;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-4px);
  transition: max-height 240ms ease, opacity 210ms ease, transform 210ms ease;
}

.collapse-content.open {
  opacity: 1;
  transform: translateY(0);
}

.section-toggle {
  margin-bottom: 12px;
  border-color: rgba(132, 210, 255, 0.45);
  background: linear-gradient(132deg, rgba(17, 42, 68, 0.84), rgba(14, 31, 50, 0.9));
}

.entry-tag,
.setup-clarity {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11px;
  font-weight: 700;
}

.is-pulsing {
  animation: panelBeat 0.9s ease;
}

.confidence-meter span.is-recalc,
.confluence-meter span.is-recalc {
  animation: meterFlow 1.1s linear infinite, meterRecalc 0.85s ease;
}

.swing-summary-card {
  border-left-color: rgba(80, 225, 194, 0.7);
  background: linear-gradient(112deg, rgba(36, 85, 93, 0.28), rgba(14, 30, 48, 0.7));
}

.swing-entry-tag-card {
  border-left-color: rgba(255, 191, 102, 0.62);
}

.nav-pulse {
  animation: navPulse 0.9s ease;
}

.journal-item {
  border-left-color: var(--accent-blue);
}

.journal-item.win {
  border-left-color: var(--good);
}

.journal-item.loss {
  border-left-color: var(--bad);
}

.journal-item.breakeven {
  border-left-color: var(--warn);
}

.replay-snapshot {
  border-left-color: var(--accent-violet);
  background:
    linear-gradient(135deg, rgba(99, 216, 255, 0.08), transparent 42%),
    rgba(15, 28, 46, 0.72);
}

.journal-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
}

.journal-replay-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 10px;
}

.adaptive-journal-panel {
  border-color: color-mix(in srgb, var(--atmosphere-line) 60%, rgba(241, 186, 102, 0.28));
}

.adaptive-journal-head,
.journal-briefing-toolbar,
.journal-voice-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-bottom: var(--space-3);
}

.adaptive-journal-head h3 {
  margin: 4px 0 4px;
  color: var(--text-strong);
  font-family: "Space Grotesk", "Segoe UI", sans-serif;
}

.discipline-toggle {
  min-width: max-content;
}

.journal-briefing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.briefing-card {
  border-color: rgba(99, 216, 255, 0.16);
}

.briefing-card.active {
  border-color: color-mix(in srgb, var(--atmosphere-line) 70%, var(--accent-gold));
  box-shadow: 0 0 0 1px rgba(99, 216, 255, 0.12), 0 14px 34px rgba(0, 8, 18, 0.34);
}

.briefing-card h5,
.discipline-card h5 {
  margin: 0 0 8px;
}

.discipline-card {
  margin-bottom: var(--space-3);
  border-color: rgba(241, 186, 102, 0.28);
}

.adaptive-journal-form {
  display: grid;
  gap: var(--space-3);
}

.quick-tag-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.quick-tag-row .tiny-btn.active {
  color: var(--text-strong);
  border-color: rgba(79, 231, 178, 0.72);
  background: rgba(79, 231, 178, 0.14);
  box-shadow: 0 0 0 1px rgba(79, 231, 178, 0.12);
}

.eod-recap-card {
  margin-top: var(--space-3);
}

.eod-recap-card .panel-head {
  align-items: start;
}

.eod-recap-card .inline-cluster {
  justify-content: flex-end;
}

.output-box pre {
  margin: 0;
  white-space: pre-wrap;
  font: inherit;
  color: inherit;
}

.adaptive-entry {
  border-color: rgba(79, 231, 178, 0.18);
}

.ai-explain-card .explain-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 8px;
}

.ai-explain-card .explain-reasons span {
  border: 1px solid rgba(115, 166, 222, 0.24);
  border-radius: 999px;
  padding: 6px 9px;
  color: var(--text-main);
  background: rgba(5, 13, 25, 0.42);
  font-size: 12px;
}

.timeframe-strategy-card {
  padding: 12px;
}

.timeframe-compact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.timeframe-compact-grid span {
  min-width: 0;
  border: 1px solid rgba(115, 166, 222, 0.18);
  border-radius: 10px;
  padding: 8px;
  background: rgba(5, 13, 25, 0.32);
  color: var(--text-main);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.timeframe-compact-grid strong {
  display: block;
  margin-bottom: 3px;
  color: var(--text-muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

#journalSaveStatus {
  margin: 4px 0 8px;
}

.replay-grid,
.upload-grid {
  grid-template-columns: 1fr 1.4fr;
}

.replay-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.dropzone {
  border: 2px dashed rgba(99, 216, 255, 0.46);
  border-radius: 12px;
  padding: 18px;
  text-align: center;
  background: rgba(14, 28, 46, 0.56);
  cursor: pointer;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.dropzone:hover,
.dropzone.is-dragging {
  border-color: rgba(97, 243, 191, 0.78);
  background: rgba(27, 65, 67, 0.32);
  transform: translateY(-1px);
}

.dropzone.is-loading {
  border-color: rgba(255, 187, 96, 0.84);
  background: rgba(59, 43, 17, 0.34);
}

.upload-preview {
  width: 100%;
  border: 1px solid var(--line-soft);
  border-radius: 12px;
  max-height: 260px;
  object-fit: cover;
  display: none;
}

.upload-preview.active {
  display: block;
}

.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.feature-list {
  margin: 12px 0;
  padding-left: 18px;
  color: var(--text-main);
}

.cta-ghost,
.ghost-btn {
  background: rgba(14, 26, 43, 0.8);
  border: 1px solid rgba(115, 156, 204, 0.36);
  color: var(--text-main);
  box-shadow: none;
}

.conversion-layer {
  margin-top: var(--space-4);
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: var(--space-3);
  background: linear-gradient(145deg, rgba(14, 31, 52, 0.9), rgba(9, 17, 31, 0.95));
  border-color: rgba(115, 198, 255, 0.4);
}

.conversion-main h3 {
  margin-bottom: 8px;
}

.conversion-main p {
  margin: 0;
  color: var(--text-main);
  line-height: 1.55;
}

.conversion-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.affirmation-bar {
  margin-top: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  border-color: rgba(97, 238, 197, 0.56);
  background: linear-gradient(95deg, rgba(18, 44, 43, 0.82), rgba(12, 23, 39, 0.95));
}

.affirmation-actions {
  display: grid;
  gap: 10px;
  justify-items: end;
}

.tiny-check {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.affirmation-text {
  margin: 8px 0 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-strong);
}

.confidence-meter {
  margin-top: 10px;
  width: min(460px, 100%);
  border: 1px solid rgba(115, 156, 204, 0.4);
  height: 10px;
  border-radius: 999px;
  background: rgba(5, 13, 22, 0.86);
  overflow: hidden;
}

.confidence-meter span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--warn), var(--accent-gold), var(--accent-mint));
  transition: width 300ms ease;
  background-size: 180% 100%;
  animation: meterFlow 3.2s linear infinite;
}

.mobile-actions {
  display: none !important;
}

.pip-companion {
  --pip-accent: var(--pip-calm);
  --pip-accent-soft: rgba(83, 231, 171, 0.34);
  --pip-bottom-offset: calc(env(safe-area-inset-bottom, 0px) + 118px);
  position: fixed !important;
  right: 16px;
  bottom: var(--pip-bottom-offset);
  left: auto;
  z-index: var(--z-pip);
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  gap: 8px;
  pointer-events: auto;
  width: auto;
  max-width: min(314px, calc(100vw - 28px));
  transform: none;
  isolation: isolate;
  contain: layout style;
}

.pip-companion[data-pip-state="observing"] {
  --pip-accent: var(--pip-observing);
  --pip-accent-soft: rgba(94, 190, 255, 0.33);
}

.pip-companion[data-pip-state="preparing"] {
  --pip-accent: var(--pip-preparing);
  --pip-accent-soft: rgba(255, 208, 106, 0.34);
}

.pip-companion[data-pip-state="focused"] {
  --pip-accent: var(--pip-focused);
  --pip-accent-soft: rgba(170, 141, 255, 0.33);
}

.pip-companion[data-pip-state="caution"] {
  --pip-accent: var(--pip-caution);
  --pip-accent-soft: rgba(255, 111, 146, 0.36);
}

.pip-companion[data-pip-state="sleep"] {
  --pip-accent: var(--pip-sleep);
  --pip-accent-soft: rgba(143, 156, 175, 0.26);
}

.pip-toggle,
.pip-panel {
  pointer-events: auto;
}

.pip-toggle {
  width: auto;
  min-height: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  justify-self: end;
  border-radius: 999px;
  padding: 6px 9px 6px 6px;
  border: 1px solid rgba(134, 190, 239, 0.46);
  background: linear-gradient(135deg, rgba(12, 26, 43, 0.96), rgba(9, 18, 31, 0.94));
  box-shadow: 0 10px 22px rgba(0, 4, 12, 0.52), 0 0 0 1px rgba(136, 214, 255, 0.13);
  backdrop-filter: blur(8px);
}

.pip-toggle:hover {
  border-color: rgba(147, 222, 255, 0.72);
  box-shadow: 0 12px 26px rgba(0, 4, 12, 0.58), 0 0 0 1px rgba(136, 214, 255, 0.2);
}

.pip-shell {
  position: relative;
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border-radius: 12px;
  border: 1px solid rgba(140, 210, 255, 0.42);
  background: radial-gradient(circle at 40% 20%, rgba(123, 213, 255, 0.24), rgba(10, 24, 40, 0.96) 70%);
  box-shadow: inset 0 0 18px rgba(100, 182, 255, 0.2);
  animation: pipBreath 3.3s ease-in-out infinite;
}

.pip-aura {
  position: absolute;
  inset: -8px;
  border-radius: 18px;
  background: radial-gradient(circle, var(--pip-accent-soft), transparent 68%);
  filter: blur(1px);
  animation: pipAura 2.8s ease-in-out infinite;
}

.pip-face {
  display: inline-flex;
  gap: 6px;
  position: relative;
  z-index: 1;
}

.pip-eye {
  width: 12px;
  height: 10px;
  border-radius: 8px;
  border: 1px solid rgba(164, 223, 255, 0.72);
  background: rgba(7, 21, 35, 0.92);
  box-shadow: 0 0 8px var(--pip-accent-soft);
  overflow: hidden;
}

.pip-eye-core {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 52%, var(--pip-accent), rgba(6, 20, 33, 0.2) 72%);
  animation: pipBlink 4.8s ease-in-out infinite;
}

.pip-particle {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--pip-accent);
  box-shadow: 0 0 8px var(--pip-accent-soft);
  opacity: 0.65;
}

.pip-particle-a { left: 4px; top: 11px; animation: pipParticleA 2.7s ease-in-out infinite; }
.pip-particle-b { right: 5px; top: 8px; animation: pipParticleB 3s ease-in-out infinite; }
.pip-particle-c { right: 8px; bottom: 9px; animation: pipParticleC 2.4s ease-in-out infinite; }

.pip-copy {
  display: grid;
  gap: 0;
  text-align: left;
  min-width: 0;
}

.pip-name {
  font: 700 10px "Space Grotesk", "Manrope", sans-serif;
  letter-spacing: 0.16em;
  color: #ecf8ff;
}

.pip-state-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pip-accent);
}

.pip-panel {
  justify-self: end;
  width: min(314px, calc(100vw - 22px));
  max-height: min(68vh, 470px);
  max-height: min(68vh, calc(100dvh - var(--pip-bottom-offset) - 86px), 470px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable both-edges;
  border-radius: 16px;
  border: 1px solid rgba(130, 192, 240, 0.42);
  background: linear-gradient(160deg, rgba(12, 28, 46, 0.97), rgba(8, 18, 32, 0.96));
  box-shadow: 0 18px 34px rgba(0, 3, 10, 0.64), 0 0 0 1px rgba(138, 220, 255, 0.14);
  padding: 12px 13px;
  animation: pipPanelIn 200ms ease both;
}

.pip-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 9px;
}

.pip-panel-title {
  margin: 0;
  font: 700 12px "Space Grotesk", "Manrope", sans-serif;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
  color: #ebf8ff;
}

.pip-dismiss {
  width: auto;
  min-height: 0;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.pip-panel-body {
  display: grid;
  gap: 8px;
}

.pip-panel-body p {
  margin: 0;
  font-size: 12px;
  line-height: 1.48;
  color: var(--text-main);
}

.pip-panel-row strong {
  color: #eef7ff;
}

.pip-panel-actions {
  margin-top: 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.pip-hub-launch {
  padding: 7px 12px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pip-mantra-line {
  margin: 0;
  font-size: 10px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(180, 216, 243, 0.84);
}

.pip-alert-line {
  margin: 9px 0 0;
  padding-top: 8px;
  border-top: 1px solid rgba(116, 168, 214, 0.28);
  font-size: 11px;
  color: var(--pip-accent);
}

.pip-companion.is-alerting .pip-toggle {
  box-shadow: 0 14px 34px rgba(0, 4, 12, 0.62), 0 0 0 1px rgba(136, 214, 255, 0.13), 0 0 18px var(--pip-accent-soft);
}

.pip-hub {
  display: block;
  padding: 0;
  border-color: rgba(143, 214, 255, 0.4);
  background:
    radial-gradient(circle at 78% -10%, rgba(174, 137, 255, 0.16), transparent 36%),
    radial-gradient(circle at 0% 100%, rgba(95, 232, 195, 0.14), transparent 34%),
    linear-gradient(165deg, rgba(12, 26, 43, 0.92), rgba(8, 17, 31, 0.95));
}

.pip-hub-shell {
  width: 100%;
  max-height: none;
  overflow: visible;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.pip-hub-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  position: sticky;
  top: 0;
  z-index: 3;
  padding: 4px 0 8px;
  background: linear-gradient(180deg, rgba(10, 22, 37, 0.96), rgba(10, 22, 37, 0.76) 72%, transparent);
  backdrop-filter: blur(3px);
}

.pip-hub-head h3 {
  margin: 2px 0 0;
  font-size: clamp(22px, 3.2vw, 30px);
}

.pip-hub-subtitle {
  margin: 6px 0 0;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(166, 216, 248, 0.9);
}

.pip-hub-head-actions {
  display: grid;
  justify-items: end;
  gap: 8px;
}

.pip-hub-tabs {
  margin-top: 14px;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  border: 1px solid rgba(127, 188, 228, 0.34);
  background: rgba(7, 19, 33, 0.72);
}

.pip-hub-tab {
  width: auto;
  min-height: 0;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 1px solid rgba(120, 176, 220, 0.2);
  background: transparent;
  color: rgba(187, 218, 244, 0.86);
}

.pip-hub-tab.active {
  border-color: rgba(131, 225, 255, 0.74);
  background: linear-gradient(130deg, rgba(70, 181, 255, 0.23), rgba(117, 92, 236, 0.26));
  color: #f0f9ff;
  box-shadow: 0 0 10px rgba(96, 195, 255, 0.26);
}

.pip-hub-pane {
  display: none;
  margin-top: 14px;
  animation: pipPanelIn 180ms ease both;
}

.pip-hub-pane.active {
  display: grid;
  gap: 10px;
}

.pip-current-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.pip-card-wide {
  grid-column: span 3;
}

.pip-guide-list,
.pip-insights-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
  color: var(--text-main);
  font-size: 13px;
  line-height: 1.5;
}

.tiny-btn {
  width: auto;
  border-radius: 10px;
  font-size: 13px;
  padding: 8px 14px;
}

.tab,
.quick-nav-btn,
.overlay-toggle,
.tiny-btn,
.collapse-toggle,
.group-toggle {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.tab::before,
.quick-nav-btn::before,
.overlay-toggle::before,
.tiny-btn::before,
.group-toggle::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  background: radial-gradient(circle at 50% 0%, rgba(152, 225, 255, 0.18), transparent 70%);
  transition: opacity 180ms ease;
}

.tab > *,
.quick-nav-btn > *,
.overlay-toggle > *,
.tiny-btn > *,
.collapse-toggle > *,
.group-toggle > * {
  position: relative;
  z-index: 1;
}

.tab:hover::before,
.quick-nav-btn:hover::before,
.overlay-toggle:hover::before,
.tiny-btn:hover::before,
.group-toggle:hover::before {
  opacity: 1;
}

.tab:active,
.quick-nav-btn:active,
.overlay-toggle:active,
.tiny-btn:active,
.group-toggle:active {
  transform: translateY(0) scale(0.985);
}

.metric-card,
.pill {
  animation: pulseIdle 5s ease-in-out infinite;
}

.pill {
  backdrop-filter: blur(4px);
}

.revealable {
  opacity: 0;
  transform: translateY(8px);
}

.is-visible.revealable {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 380ms ease, transform 420ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.footer-note {
  margin: 18px 0 8px;
  text-align: center;
  color: var(--text-muted);
  font-size: 12px;
}

.is-live {
  box-shadow: 0 0 0 1px rgba(56, 217, 157, 0.72), 0 0 18px rgba(56, 217, 157, 0.32);
}

@keyframes enter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes drift {
  from {
    transform: translateX(-3%) scale(1);
  }
  to {
    transform: translateX(3%) scale(1.04);
  }
}

@keyframes breathe {
  from {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.78;
  }
  to {
    transform: translate3d(1.3%, -1.2%, 0) scale(1.04);
    opacity: 1;
  }
}

@keyframes loaderBloomDrift {
  0% {
    transform: scale(1) translate3d(0, 0, 0);
    opacity: 0.92;
  }
  100% {
    transform: scale(1.04) translate3d(0.8%, -1.2%, 0);
    opacity: 1;
  }
}

@keyframes gatewayFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes gatewayScanner {
  from {
    transform: translateY(-36vh);
  }
  to {
    transform: translateY(138vh);
  }
}

@keyframes gatewayFloatA {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(3vw, 3vh);
  }
}

@keyframes gatewayFloatB {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(-2vw, -2.5vh);
  }
}

@keyframes panelSweep {
  0% {
    transform: translateX(-34%);
  }
  100% {
    transform: translateX(38%);
  }
}

@keyframes pulseIdle {
  0%, 100% {
    box-shadow: none;
  }
  50% {
    box-shadow: 0 0 0 1px rgba(113, 190, 255, 0.15);
  }
}

@keyframes meterFlow {
  from {
    background-position: 0% 0;
  }
  to {
    background-position: 170% 0;
  }
}

@keyframes dataFlow {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(4%, -4%, 0);
  }
}

@keyframes liquidityStreak {
  0%, 100% {
    background-position: 0% 0, 0% 0;
    opacity: calc(var(--atmosphere-pulse-opacity) * 0.72);
  }
  50% {
    background-position: 100% 0, 85% 0;
    opacity: var(--atmosphere-pulse-opacity);
  }
}

@keyframes confluencePulse {
  0%, 100% {
    transform: scale(0.8);
    opacity: 0.56;
  }
  50% {
    transform: scale(1.18);
    opacity: 1;
  }
}

@keyframes navPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(104, 220, 255, 0.42);
  }
  100% {
    box-shadow: 0 0 0 16px rgba(104, 220, 255, 0);
  }
}

@keyframes universityEdgeSweep {
  from {
    opacity: 0.35;
    transform: translateX(-18%);
  }
  to {
    opacity: 0.78;
    transform: translateX(18%);
  }
}

@keyframes spinnerPulse {
  0%, 100% {
    transform: scale(0.8);
    box-shadow: 0 0 0 0 rgba(126, 197, 255, 0.34);
  }
  50% {
    transform: scale(1.2);
    box-shadow: 0 0 0 8px rgba(126, 197, 255, 0);
  }
}

@keyframes frameScan {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-1px);
  }
}

@keyframes panelBeat {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.012);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes meterRecalc {
  0% {
    filter: brightness(0.9);
  }
  50% {
    filter: brightness(1.25);
  }
  100% {
    filter: brightness(1);
  }
}

@keyframes eyePulse {
  0%, 100% { opacity: 0.52; transform: scale(0.94); }
  50% { opacity: 1; transform: scale(1.08); }
}

@keyframes scanLine {
  0% { top: 16px; opacity: 0.25; }
  50% { opacity: 0.92; }
  100% { top: 130px; opacity: 0.2; }
}

@keyframes loaderSweep {
  from {
    transform: translateY(-22px);
  }
  to {
    transform: translateY(22px);
  }
}

@keyframes beamPulse {
  from {
    opacity: 0.58;
    filter: drop-shadow(0 0 8px rgba(255, 112, 152, 0.72));
  }
  to {
    opacity: 1;
    filter: drop-shadow(0 0 16px rgba(255, 122, 163, 0.95));
  }
}

@keyframes candleRise {
  from {
    opacity: 0;
    transform: translateY(10px) scaleY(0.8);
  }
  to {
    opacity: 1;
    transform: translateY(0) scaleY(1);
  }
}

@keyframes wealthFloat {
  from {
    transform: translateY(0) scale(0.92);
  }
  to {
    transform: translateY(-6px) scale(1.06);
  }
}

@keyframes valueTrail {
  from {
    transform: translateX(-2px);
    filter: saturate(0.9);
  }
  to {
    transform: translateX(2px);
    filter: saturate(1.2);
  }
}

@keyframes hudPulse {
  0%, 100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 1px rgba(117, 214, 255, 0.3);
  }
  50% {
    transform: scale(1);
    box-shadow: 0 0 0 1px rgba(117, 214, 255, 0.56), 0 0 14px rgba(123, 221, 255, 0.32);
  }
}

@keyframes signalFlow {
  0% {
    opacity: 0.2;
    transform: translateX(-8px) scaleX(0.88);
  }
  100% {
    opacity: 1;
    transform: translateX(8px) scaleX(1.05);
  }
}

@keyframes particleFloat {
  0%, 100% {
    transform: translateY(0) scale(0.9);
  }
  50% {
    transform: translateY(-6px) scale(1.05);
  }
}

@keyframes pipCorePulse {
  0%, 100% {
    transform: scale(0.9);
    filter: saturate(0.95);
  }
  50% {
    transform: scale(1.1);
    filter: saturate(1.2);
  }
}

@keyframes pipOrbitSpin {
  from {
    transform: rotate(0deg) scale(0.92);
  }
  to {
    transform: rotate(360deg) scale(1);
  }
}

@keyframes pipBreath {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-1px) scale(1.03);
  }
}

@keyframes pipAura {
  0%, 100% {
    opacity: 0.7;
    transform: scale(0.94);
  }
  50% {
    opacity: 1;
    transform: scale(1.03);
  }
}

@keyframes pipBlink {
  0%, 46%, 52%, 100% {
    transform: scaleY(1);
  }
  49% {
    transform: scaleY(0.2);
  }
}

@keyframes pipParticleA {
  0%, 100% {
    transform: translate3d(0, 0, 0);
    opacity: 0.4;
  }
  50% {
    transform: translate3d(2px, -3px, 0);
    opacity: 0.95;
  }
}

@keyframes pipParticleB {
  0%, 100% {
    transform: translate3d(0, 0, 0);
    opacity: 0.5;
  }
  50% {
    transform: translate3d(-2px, -2px, 0);
    opacity: 0.95;
  }
}

@keyframes pipParticleC {
  0%, 100% {
    transform: translate3d(0, 0, 0);
    opacity: 0.42;
  }
  50% {
    transform: translate3d(-3px, 2px, 0);
    opacity: 0.9;
  }
}

@keyframes pipPanelIn {
  from {
    opacity: 0;
    transform: translateY(6px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 1280px) {
  .toolbar,
  .live-layout-grid,
  .live-primary-grid,
  .jarvis-university-panel,
  .conversion-layer,
  .replay-grid,
  .upload-grid {
    grid-template-columns: 1fr;
  }

  .university-feature-grid {
    grid-template-columns: 1fr;
  }

  .live-primary-grid {
    grid-template-areas:
      "confluence"
      "sniper"
      "battle"
      "scenario"
      "plan"
      "swing"
      "futures"
      "macro"
      "options";
  }

  .control-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }

  .action-grid {
    grid-template-columns: 1fr;
  }

  .conversion-stats,
  .bias-stats,
  .battle-grid,
  .intel-status-grid,
  .macro-instrument-grid,
  .community-pulse-grid,
  .quick-bias-meta {
    grid-template-columns: 1fr;
  }

  .bias-strip {
    grid-template-columns: 1fr;
  }

  .app-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .intro-spectrum {
    grid-template-columns: 1fr 1fr;
  }

  .pip-current-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pip-card-wide {
    grid-column: span 2;
  }

  .status-cluster {
    justify-content: flex-start;
  }
}

@media (max-width: 860px) {
  .app-shell {
    padding: 12px;
    padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px));
  }

  .group-collapsible.open {
    max-height: 380px;
  }

  .mode-header {
    flex-direction: column;
  }

  .section-anchor {
    scroll-margin-top: 96px;
  }

  .chart-signal-row {
    gap: 6px;
  }

  .chart-signal-row .pill {
    font-size: 10px;
    padding: 5px 9px;
  }

  .chart-tape-readout {
    width: 100%;
    text-align: center;
  }

  .chart-help {
    font-size: 11px;
  }

  .overlay-opacity-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .overlay-opacity-row label {
    min-width: 0;
  }

  .tape-symbol-row {
    flex-wrap: wrap;
  }

  .tape-price {
    font-size: clamp(24px, 8vw, 34px);
  }

  .macro-grid {
    grid-template-columns: 1fr;
  }

  .futures-columns {
    grid-template-columns: 1fr;
  }

  .futures-card p {
    font-size: 12.5px;
    line-height: 1.45;
  }

  .intro-spectrum {
    grid-template-columns: 1fr;
  }

  .pip-hub {
    padding: 0;
  }

  .pip-hub-shell {
    width: 100%;
    max-height: none;
  }

  .pip-current-grid {
    grid-template-columns: 1fr;
  }

  .pip-card-wide {
    grid-column: auto;
  }
}

@media (max-width: 768px) {
  .access-gateway {
    align-items: stretch;
    justify-items: center;
    padding:
      max(10px, env(safe-area-inset-top, 0px))
      10px
      max(10px, env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
  }

  .access-gateway-shell {
    align-self: stretch;
    width: 100%;
    max-height: calc(100dvh - 20px);
    max-height: calc(100dvh - max(20px, calc(env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + 20px)));
    border-radius: 18px;
    padding: 14px;
    gap: 10px;
  }

  .access-gateway-head h2 {
    font-size: clamp(1.16rem, 6vw, 1.48rem);
    line-height: 1.14;
    margin: 6px 0;
  }

  .access-gateway-head p:not(.access-gateway-badge) {
    font-size: 0.88rem;
    line-height: 1.45;
  }

  .access-gateway-badge {
    padding: 7px 10px;
    font-size: 0.68rem;
  }

  .access-gateway-terms {
    gap: 14px;
    max-height: 45dvh;
    padding: 16px;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 96px);
  }

  .access-term-card {
    border-radius: 18px;
    padding: 16px;
  }

  .access-term-card summary {
    align-items: flex-start;
  }

  .access-term-card p {
    font-size: 0.84rem;
    line-height: 1.42;
  }

  .access-term-check {
    margin-top: 10px;
    padding: 10px 12px;
    gap: 12px;
    font-size: 0.86rem;
    line-height: 1.35;
  }

  .access-term-check input {
    width: 28px;
    height: 28px;
  }

  .access-gateway-primary-actions,
  .access-gateway-review-actions,
  .access-gateway-footer-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
  }

  .access-gateway-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    padding: 16px 0 calc(env(safe-area-inset-bottom, 0px) + 16px);
  }

  .access-gateway-btn {
    width: 100%;
    min-height: 48px;
  }

  .access-gateway-review-actions .tiny-btn {
    width: 100%;
    min-height: 44px;
  }

  .top-dock {
    position: sticky;
    top: 0;
    padding: 10px;
    border-radius: 16px;
    max-height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable both-edges;
  }

  .mobile-dock-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
  }

  .mobile-dock-title {
    margin: 0;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-weight: 700;
    color: var(--text-strong);
  }

  .mobile-dock-toggle {
    width: auto;
    border-radius: 999px;
    padding: 8px 14px;
    min-height: 44px;
  }

  .dock-collapsible {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-8px);
    pointer-events: none;
  }

  .top-dock.mobile-expanded .dock-collapsible {
    max-height: min(70vh, 620px);
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 2px;
  }

  .tabbar {
    overflow-x: visible;
    overflow-y: visible;
    flex-wrap: wrap;
    padding-bottom: 2px;
    scrollbar-width: thin;
  }

  .structure-lesson-trigger {
    align-items: flex-start;
    flex-direction: column;
  }

  .community-inline-form,
  .community-dm-shell .community-inline-form {
    grid-template-columns: 1fr;
  }

  .community-dm-workspace {
    grid-template-columns: 1fr;
  }

  .community-dm-head,
  .community-conversation-thread header {
    flex-direction: column;
  }

  .community-conversation-list {
    max-height: 320px;
  }

  .community-dm-shell {
    padding-bottom: calc(150px + env(safe-area-inset-bottom));
  }

  .community-tab-strip {
    margin-inline: -4px;
    padding-bottom: 10px;
  }

  .quick-nav {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    padding: 0 3px 2px;
    scrollbar-width: thin;
  }

  .tab,
  .group-toggle {
    flex: 1 1 210px;
    min-width: 0;
    min-height: 44px;
  }

  .quick-nav-btn {
    flex: 0 0 auto;
    min-width: 96px;
    min-height: 44px;
    white-space: nowrap;
  }

  .alert-layer-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .alert-control-row,
  .alert-log-card .panel-head .inline-cluster {
    grid-template-columns: 1fr;
    display: grid;
    width: 100%;
  }

  .alert-layer-panel {
    gap: 12px;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 88px);
  }

  .alert-settings-card {
    gap: 10px;
  }

  .alert-settings-card .inline-check {
    width: 100%;
    min-height: 48px;
  }

  .alert-log-item > div {
    display: grid;
    gap: 2px;
  }

  .intro-chip {
    padding: 11px 12px;
  }

  h1 {
    font-size: clamp(26px, 8vw, 38px);
  }

  .panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .panel-head h3 {
    font-size: 18px;
  }

  .confluence-grid {
    grid-template-columns: 1fr;
  }

  .risk-form,
  .glossary-grid,
  .journal-briefing-grid,
  .journal-replay-row,
  .replay-actions,
  .control-grid {
    grid-template-columns: 1fr;
  }

  main {
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 155px);
  }

  .timeframe-compact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .journal-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .action-grid {
    grid-template-columns: 1fr;
  }

  .quick-bias-meta {
    grid-template-columns: 1fr;
  }

  .chart-zoom-controls {
    border-radius: 12px;
    width: 100%;
    justify-content: space-between;
  }

  .overlay-toggle-row {
    overflow-x: visible;
    overflow-y: visible;
    flex-wrap: wrap;
    padding-bottom: 2px;
  }

  .overlay-toggle {
    flex: 1 1 110px;
    min-width: 0;
  }

  .panel {
    padding: 14px;
    box-shadow: 0 10px 22px rgba(0, 3, 10, 0.36);
    transform: none;
  }

  .bias-summary-card {
    padding: 18px;
    gap: 12px;
    min-height: auto;
    height: auto;
    overflow: hidden;
    position: relative;
    isolation: isolate;
    contain: paint;
  }

  .bias-summary-card::after {
    animation: none;
    opacity: 0.35;
  }

  .bias-summary-card .sniper-setup,
  .bias-summary-card .confirmation-checklist {
    gap: 12px;
  }

  .nested-glass,
  .card-inner-glow,
  .metric-card,
  .strategy-card,
  .entry-card,
  .timeframe-detail-card,
  .timeframe-strategy-card,
  .adaptive-entry {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .metric-card,
  .pill {
    animation: none;
  }

  .panel-head {
    gap: 8px;
  }

  .panel-head .inline-cluster {
    width: 100%;
  }

  .inline-cluster .tiny-btn {
    min-width: 70px;
  }

  .live-quote-hud {
    order: 3;
  }

  .quote-mainline {
    flex-wrap: wrap;
  }

  .quote-price {
    font-size: clamp(21px, 8vw, 28px);
  }

  .chart-stage {
    border-radius: 12px;
    padding-right: 2px;
  }

  .chart-state {
    left: 6px;
    right: 6px;
    bottom: 6px;
    padding: 8px 10px;
    font-size: 11px;
  }

  .chart-signal-row {
    margin-bottom: 8px;
  }

  #chartTickerPill,
  #chartPricePill {
    font-size: 11px;
    padding: 6px 10px;
  }

  #chartTapeReadout {
    font-size: 11px;
    padding: 7px 10px;
  }

  .mode-header,
  .toolbar,
  .control-group,
  .control-grid,
  .action-grid {
    width: 100%;
    min-width: 0;
  }

  .control-grid > label,
  .action-grid > label {
    min-width: 0;
  }

  .mobile-actions {
    display: none !important;
  }

  .card:hover,
  .journal-item:hover,
  .output-box:hover,
  .tone-card:hover,
  .dropzone:hover,
  .chart-panel:hover {
    transform: none;
  }

  .strategy-card,
  .entry-card,
  .timeframe-detail-card,
  .timeframe-strategy-card,
  .adaptive-entry,
  .confluence-card,
  .timeframe-update-card {
    transform: none !important;
  }

  .strategy-card,
  .timeframe-strategy-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .pip-companion {
    --pip-bottom-offset: calc(env(safe-area-inset-bottom, 0px) + 118px);
    right: 16px;
    max-width: calc(100vw - 20px);
  }

  .pip-toggle {
    border-radius: 999px;
    padding: 6px 7px;
  }

  .pip-copy {
    display: none;
  }

  .pip-panel {
    width: min(330px, calc(100vw - 28px));
    max-height: min(56vh, 390px);
    max-height: min(56vh, calc(100dvh - var(--pip-bottom-offset) - 70px), 390px);
    padding: 11px 12px;
    border-radius: 14px;
  }

  .pip-panel-head {
    margin-bottom: 7px;
    gap: 8px;
  }

  .pip-panel-title {
    font-size: 11px;
    letter-spacing: 0.07em;
  }

  .pip-panel-body {
    gap: 7px;
  }

  .pip-panel-body p {
    font-size: 11.5px;
    line-height: 1.4;
  }

  .pip-panel-secondary {
    display: none;
  }

  .pip-panel .pip-dismiss,
  .pip-panel .tiny-btn,
  .pip-panel .pip-hub-launch {
    min-height: 36px;
    padding: 6px 10px;
    font-size: 10px;
    letter-spacing: 0.08em;
  }

  .pip-panel-dismiss {
    margin-right: 2px;
    flex: 0 0 auto;
  }

  .pip-panel-actions {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 8px;
    gap: 8px;
  }

  .pip-mantra-line {
    font-size: 9.5px;
    line-height: 1.35;
  }

  .pip-alert-line {
    margin-top: 8px;
    padding-top: 7px;
    margin-bottom: calc(env(safe-area-inset-bottom, 0px) * 0.2);
    font-size: 10.5px;
  }

  .pip-hub-head {
    flex-direction: column;
  }

  .pip-hub-head-actions {
    width: 100%;
    justify-items: start;
  }

  .pip-hub-tabs {
    width: 100%;
    border-radius: 14px;
  }

  .pip-hub-tab {
    flex: 1 1 90px;
    min-height: 42px;
  }

  .affirmation-bar {
    flex-direction: column;
    align-items: flex-start;
  }

  .affirmation-actions {
    width: 100%;
    justify-items: start;
  }

  input,
  select,
  button,
  textarea {
    font-size: 16px;
    min-height: 46px;
  }

  .loader-robot {
    width: min(300px, 88vw);
    height: clamp(126px, 36vw, 142px);
    border-radius: 20px;
  }

  .loader-copy {
    gap: 5px;
  }

  .loader-text {
    font-size: 13px;
    letter-spacing: 0.04em;
  }

  .loader-subtext,
  .loader-phase-code,
  .loader-mantra {
    font-size: 10px;
  }

  .loader-wordmark {
    font-size: clamp(18px, 7vw, 26px);
  }

  .loader-jarvis-track,
  .loader-pip-track {
    gap: 5px;
  }

  .loader-jarvis-track span,
  .loader-pip-track span {
    width: 22px;
    height: 22px;
  }

  .app-loader::before {
    filter: blur(5px);
  }

  .loader-eye-shell-left {
    left: calc(50% - 78px);
  }

  .loader-eye-shell-right {
    right: calc(50% - 78px);
  }

  .loader-skip {
    min-height: 42px;
    padding-inline: 16px;
  }

  #uploadForm > button,
  #refreshBtn,
  #loadPracticeBtn {
    min-height: 48px;
  }

  .dropzone {
    padding: 16px 12px;
  }
}

.mode-heat {
  position: relative;
}

.mode-heat::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 7px),
    linear-gradient(90deg, transparent, rgba(51, 229, 165, 0.045), transparent);
  mix-blend-mode: screen;
  opacity: 0.55;
  animation: heatScan 9s linear infinite;
  z-index: var(--z-background);
}

.heat-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  border-color: rgba(214, 173, 98, 0.34);
  background: linear-gradient(135deg, rgba(36, 7, 13, 0.94), rgba(8, 12, 14, 0.9));
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.48), inset 0 0 36px rgba(127, 24, 42, 0.2);
  overflow: hidden;
}

.heat-hero h2 {
  margin: 0;
  font-size: clamp(28px, 5vw, 58px);
  letter-spacing: 0;
}

.heat-mantra {
  color: var(--accent-gold);
  font-weight: 800;
  margin: 10px 0 0;
}

.heat-status-stack,
.heat-side-stack,
.heat-commentary,
.heat-macro-engine,
.heat-university-lessons,
.heat-leaderboard,
.heat-watchlists,
.heat-intel-grid,
.heat-matrix-grid {
  display: grid;
  gap: 12px;
}

.heat-command-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.72fr);
  gap: 18px;
  margin-top: 18px;
}

.heat-map-panel,
.heat-commentary-panel,
.heat-leaderboard-panel {
  overflow: hidden;
}

.heat-cluster {
  border: 1px solid rgba(214, 173, 98, 0.22);
  border-radius: var(--radius-sm);
  padding: 14px;
  background: linear-gradient(135deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015));
}

.heat-sector-intel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.heat-sector-intel span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(132, 194, 236, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(5, 14, 24, 0.38);
  color: var(--text-muted);
  font-size: 11px;
  line-height: 1.35;
}

.heat-sector-intel strong {
  color: var(--text-strong);
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.heat-cluster-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.heat-cluster h4,
.heat-cluster p {
  margin: 0;
}

.heat-cluster-head span,
.heat-cluster p,
.heat-price,
.heat-meta {
  color: var(--text-muted);
  font-size: 12px;
}

.heat-tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.heat-tile {
  min-height: 190px;
  display: grid;
  align-content: space-between;
  gap: 4px;
  text-align: left;
  border: 1px solid rgba(57, 232, 168, calc(0.12 + var(--heat) * 0.004));
  border-radius: var(--radius-sm);
  padding: 11px;
  color: var(--text-main);
  background: linear-gradient(160deg, rgba(58, 228, 166, calc(0.03 + var(--heat) * 0.0015)), rgba(113, 16, 33, calc(0.06 + var(--vol) * 0.0018))), rgba(7, 10, 12, 0.88);
  box-shadow: 0 0 calc(4px + var(--heat) * 0.24px) rgba(55, 228, 166, calc(0.08 + var(--heat) * 0.002));
  cursor: pointer;
  transform: translateZ(0);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.heat-tile:hover,
.heat-watch-row:hover {
  transform: translateY(-2px);
  border-color: rgba(214, 173, 98, 0.56);
}

.heat-ticker {
  color: var(--text-strong);
  font-size: 18px;
  font-weight: 900;
}

.heat-company {
  color: var(--accent-ice);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}

.heat-description {
  color: var(--text-main);
  font-size: 11px;
  line-height: 1.36;
}

.heat-action {
  justify-self: start;
  margin-top: 4px;
  color: #f7d894;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.heat-change.positive,
.heat-rank-card b {
  color: #42e0a2;
}

.heat-change.negative {
  color: #ff7185;
}

.heat-level {
  color: var(--accent-gold);
  font-size: 12px;
}

.heat-rank-card,
.heat-macro-engine div {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: center;
  border: 1px solid rgba(214, 173, 98, 0.18);
  border-radius: var(--radius-sm);
  padding: 10px;
  background: rgba(255, 255, 255, 0.035);
}

.heat-rank-card small,
.heat-rank-card em,
.heat-macro-engine span {
  color: var(--text-muted);
  font-size: 11px;
  font-style: normal;
}

.heat-rank-card em {
  grid-column: 2 / -1;
}

.heat-intel-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr) minmax(260px, 0.8fr);
  margin-top: 18px;
}

.heat-watchlist {
  border: 1px solid rgba(214, 173, 98, 0.2);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.028);
}

.heat-custom-list-form {
  display: grid;
  grid-template-columns: minmax(140px, 0.7fr) minmax(180px, 1fr) auto;
  gap: 10px;
  margin: 0 0 12px;
}

.heat-custom-list-form input {
  min-width: 0;
  border: 1px solid rgba(214, 173, 98, 0.22);
  border-radius: var(--radius-sm);
  background: rgba(5, 8, 10, 0.72);
  color: var(--text-main);
  padding: 10px 12px;
}

.heat-watchlist summary {
  cursor: pointer;
  padding: 12px;
  color: var(--text-strong);
  font-weight: 800;
}

.heat-watchlist summary span {
  float: right;
  color: var(--text-muted);
  font-size: 12px;
}

.heat-watchlist > div {
  display: grid;
  gap: 8px;
  padding: 0 12px 12px;
}

.heat-watch-row {
  display: grid;
  grid-template-columns: 74px repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-height: 42px;
  align-items: center;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-sm);
  background: rgba(5, 8, 10, 0.72);
  color: var(--text-main);
  transition: transform 160ms ease, border-color 160ms ease;
}

.heat-watch-row.is-favorite {
  border-color: rgba(65, 225, 160, 0.58);
}

.heat-university-lessons p,
.heat-commentary p {
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

@keyframes heatScan {
  from { transform: translateY(-10%); }
  to { transform: translateY(10%); }
}

@media (max-width: 980px) {
  .heat-command-grid,
  .heat-intel-grid,
  .heat-hero {
    grid-template-columns: 1fr;
  }

  .fresh-ranking-grid {
    grid-template-columns: 1fr;
  }

  .fresh-row {
    grid-template-columns: 58px minmax(0, 1fr) 40px;
  }

  .fresh-row span:nth-of-type(2) {
    display: none;
  }

  .heat-matrix-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
  }

  .heat-cluster {
    min-width: min(88vw, 440px);
    scroll-snap-align: start;
  }
}

@media (max-width: 620px) {
  .heat-sort-controls {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .heat-watch-row {
    grid-template-columns: 64px 1fr;
  }

  .heat-custom-list-form {
    grid-template-columns: 1fr;
  }

  .heat-watch-row span:nth-of-type(n + 2) {
    display: none;
  }
}

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

  .pip-aura,
  .pip-particle,
  .access-gateway-orb,
  .access-gateway-scan,
  .access-gateway-shell::before,
  .access-seal,
  .loader-vignette,
  .loader-scan,
  .loader-signal-line,
  .loader-pip-orbit,
  .app-shell::before,
  .app-shell::after,
  .community-page::before,
  .community-page::after,
  body::before,
  body::after {
    display: none !important;
  }
}

/* Ultimate safe recovery + reactive motion layer */
:root {
  --flow-color-a: rgba(61, 255, 188, 0.08);
  --flow-color-b: rgba(61, 150, 255, 0.08);
  --flow-speed: 14s;
  --flow-opacity: 0.72;
  --flow-angle: 120deg;
}

.jarvis-bg-motion {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 28% 28%, var(--flow-color-a), transparent 42%),
    radial-gradient(circle at 70% 62%, var(--flow-color-b), transparent 55%),
    linear-gradient(var(--flow-angle), transparent, rgba(255,255,255,0.028), transparent);
  opacity: var(--flow-opacity);
  animation: jarvisFlow var(--flow-speed) ease-in-out infinite alternate;
  will-change: transform, opacity;
}

.jarvis-bg-motion::after {
  content: "";
  position: absolute;
  inset: -50%;
  background: linear-gradient(120deg, transparent, rgba(0,255,220,0.042), transparent);
  animation: jarvisSweep calc(var(--flow-speed) * 0.8) linear infinite;
}

.app-loader::after {
  content: "";
  position: absolute;
  inset: 10% 8%;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 10%, rgba(79, 231, 178, 0.16) 10% 10.4%, transparent 10.4% 100%),
    linear-gradient(0deg, transparent 0 22%, rgba(241, 186, 102, 0.12) 22% 22.3%, transparent 22.3% 100%),
    repeating-linear-gradient(105deg, transparent 0 44px, rgba(99, 216, 255, 0.08) 44px 46px, transparent 46px 88px);
  border: 1px solid rgba(79, 231, 178, 0.1);
  border-radius: 18px;
  opacity: 0.42;
  mix-blend-mode: screen;
  animation: loaderHudEmerge 3.8s ease-in-out infinite alternate;
}

.loader-candle,
.loader-ladder,
.loader-value-trail {
  box-shadow: 0 0 18px rgba(241, 186, 102, 0.2), 0 0 28px rgba(79, 231, 178, 0.14);
}

.voice-unavailable {
  margin: 0;
  color: var(--warn);
  font-size: 0.78rem;
  align-self: end;
}

.evolved-badge {
  position: fixed;
  right: clamp(14px, 3vw, 28px);
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  z-index: 60;
  display: grid;
  gap: 5px;
  width: min(330px, calc(100vw - 28px));
  padding: 15px 16px;
  border: 1px solid rgba(79, 231, 178, 0.42);
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgba(7, 16, 25, 0.96), rgba(11, 27, 34, 0.94)),
    radial-gradient(circle at 14% 0%, rgba(241, 186, 102, 0.18), transparent 54%);
  color: var(--text-main);
  box-shadow: 0 18px 46px rgba(0, 5, 14, 0.62), 0 0 0 1px rgba(241, 186, 102, 0.08) inset;
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition: opacity 520ms ease, transform 520ms ease;
}

.evolved-badge.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.evolved-badge strong {
  color: var(--accent-gold);
  font-family: "Space Grotesk", "Segoe UI", sans-serif;
  letter-spacing: 0.08em;
  font-size: 0.95rem;
}

.evolved-badge span {
  color: var(--text-muted);
  font-size: 0.76rem;
  letter-spacing: 0.04em;
}

@keyframes jarvisFlow {
  0% { transform: scale(1) translate3d(0,0,0); }
  100% { transform: scale(1.08) translate3d(0,-18px,0); }
}

@keyframes jarvisSweep {
  from { transform: translateX(-22%); }
  to { transform: translateX(22%); }
}

@keyframes tacticalGridDrift {
  from { transform: translate3d(0, 0, 0); background-position: 0 0; }
  to { transform: translate3d(-24px, 18px, 0); background-position: 78px 78px; }
}

@keyframes holographicWave {
  from { opacity: 0.36; transform: translate3d(-1.5%, 0, 0) scale(1); background-position: 0% 0%, 100% 0%, 0% 0%; }
  to { opacity: 0.58; transform: translate3d(1.5%, -1%, 0) scale(1.02); background-position: 100% 40%, 0% 70%, 100% 0%; }
}

@keyframes communityGridDrift {
  from { transform: translate3d(0, 0, 0); background-position: 0 0, 0 0, 0 0, 0 0; }
  to { transform: translate3d(-18px, 14px, 0); background-position: 64px 64px, 64px 64px, 180px 120px, -160px 220px; }
}

@keyframes communitySignalMesh {
  from { opacity: 0.42; transform: translate3d(-1%, 0, 0); background-position: 0% 0%, 20% 50%, 90% 30%; }
  to { opacity: 0.62; transform: translate3d(1%, -1%, 0); background-position: 100% 0%, 45% 70%, 70% 52%; }
}

@keyframes loaderHudEmerge {
  from { opacity: 0.26; transform: translate3d(-6px, 4px, 0); }
  to { opacity: 0.52; transform: translate3d(6px, -4px, 0); }
}

.app-shell {
  position: relative;
}

.app-shell { z-index: var(--z-panels); }
.bottom-action-dock { position: relative; z-index: calc(var(--z-sticky-nav) - 10); }
.pip-companion { z-index: var(--z-pip); }

@media (max-width: 860px) {
  .app-shell::before {
    opacity: 0.2;
    background-size: 96px 96px;
  }

  .app-shell::after,
  .community-page::after {
    opacity: 0.32;
  }

  .community-page::before {
    opacity: 0.26;
  }

  .community-page {
    width: min(100% - 12px, 100%);
    padding: 14px;
    padding-bottom: calc(140px + env(safe-area-inset-bottom));
  }

  .community-controls,
  .community-layout,
  .community-form,
  .profile-form-grid,
  .personal-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .global-search-meta {
    grid-template-columns: 1fr;
  }

  .symbol-result-card {
    grid-template-columns: 1fr;
  }

  .symbol-card-actions {
    justify-content: flex-start;
    min-width: 0;
  }

  .symbol-card-top {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .symbol-card-top em {
    grid-column: 1 / -1;
    width: fit-content;
  }

  .profile-step-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jarvis-choice-grid {
    gap: 8px;
  }

  .jarvis-choice-chip,
  .jarvis-choice-pill {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .jarvis-profile-panel {
    max-height: min(88dvh, 920px);
    padding: 14px;
    padding-bottom: calc(110px + env(safe-area-inset-bottom));
  }
}
.access-gateway { position: fixed; z-index: var(--z-modal); }
#appLoader { position: fixed; z-index: var(--z-intro); }

.tab-pane.active {
  display: block !important;
}

main, #tab-live, .live-primary-grid, #jarvis-entries, #confluenceGrid, #timeframeStrategyGrid {
  min-height: 1px;
  visibility: visible;
}

main {
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 155px);
}

.jarvis-main,
.tab-pane:last-of-type,
.section-anchor:last-child,
#jarvis-settings,
#jarvis-premium {
  margin-bottom: 120px;
}

.app-mode-panel {
  margin-top: 14px;
}

.app-mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  align-items: center;
  padding-top: 12px;
}

.app-mode-grid span {
  color: var(--text-muted);
}

.jarvis-sticky-nav,
.sticky-jump-nav {
  position: fixed !important;
  left: 0;
  right: 0;
  bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  transform: none !important;
  width: 100vw;
  max-width: none;
  z-index: var(--z-sticky-nav);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  pointer-events: auto;
  touch-action: manipulation;
}

.jarvis-sticky-nav-inner {
  width: min(96vw, 980px);
  display: flex;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 10px;
  border: 1px solid var(--theme-nav-border);
  border-radius: 18px;
  background: var(--theme-nav-bg);
  box-shadow: 0 -12px 40px rgba(0,0,0,.45), 0 0 32px color-mix(in srgb, var(--jarvis-bg-glow), transparent 56%);
}

.sticky-jump-nav::-webkit-scrollbar,
.jarvis-sticky-nav-inner::-webkit-scrollbar {
  display: none;
}

.sticky-jump-btn {
  min-width: auto;
  min-height: 38px;
  padding: 7px 11px;
  border-color: var(--theme-accent-line);
  background: color-mix(in srgb, var(--surface-1), transparent 12%);
}

.sticky-jump-btn:hover,
.sticky-jump-btn:focus-visible,
.sticky-jump-btn[aria-current="page"],
.sticky-jump-btn.active {
  border-color: var(--theme-accent-strong);
  background: var(--theme-nav-active);
  color: var(--text-strong);
}

.install-prompt {
  position: fixed;
  right: max(14px, env(safe-area-inset-right, 0px));
  bottom: calc(env(safe-area-inset-bottom, 0px) + 74px);
  left: max(14px, env(safe-area-inset-left, 0px));
  z-index: calc(var(--z-sticky-nav) - 10);
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(116, 240, 212, 0.3);
  border-radius: 14px;
  background: rgba(5, 14, 24, 0.92);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  pointer-events: auto;
}

.install-prompt[hidden] {
  display: none;
}

.install-prompt p {
  margin: 4px 0 0;
  color: var(--text-muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.offline-shell {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.offline-card {
  max-width: 520px;
  padding: 28px;
  border: 1px solid rgba(116, 240, 212, 0.28);
  border-radius: 18px;
  background: rgba(5, 14, 24, 0.88);
}

.jarvis-bg-motion,
.ambient-bg,
.university-orbit,
.access-gateway-bg,
.access-gateway-shell::before,
.loader-vignette {
  pointer-events: none;
}

button,
a,
input,
select,
textarea,
.pip-companion,
.pip-companion *,
.sticky-jump-nav,
.sticky-jump-nav *,
.quick-nav,
.quick-nav *,
.mobile-actions,
.mobile-actions *,
.install-prompt,
.access-gateway:not(.is-hidden),
.access-gateway:not(.is-hidden) * {
  pointer-events: auto;
  touch-action: manipulation;
}

.access-gateway-bg,
.access-gateway-bg *,
.access-gateway-orb,
.access-gateway-grid,
.access-gateway-scan,
.access-gateway-shell::before {
  pointer-events: none !important;
}

body.mode-access-gateway .sticky-jump-nav {
  display: flex;
}

body.mode-access-gateway #appLoader {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Final artifact containment pass: keeps glass panels physically bounded on mobile scroll. */
.jarvis-card,
.live-market-bias,
#jarvis-bias,
.premium-card,
.conversion-layer,
.panel-shell,
.glass-panel,
.workspace-panel,
.entry-card,
.quick-summary,
.bias-summary-card,
.strategy-card,
.timeframe-detail-card,
.timeframe-strategy-card,
.adaptive-entry,
.panel,
.card,
.metric-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  contain: layout paint;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.jarvis-card::before,
.jarvis-card::after,
.live-market-bias::before,
.live-market-bias::after,
#jarvis-bias::before,
#jarvis-bias::after,
.premium-card::before,
.premium-card::after,
.conversion-layer::before,
.conversion-layer::after,
.panel-shell::before,
.panel-shell::after,
.glass-panel::before,
.glass-panel::after,
.workspace-panel::before,
.workspace-panel::after,
.entry-card::before,
.entry-card::after,
.quick-summary::before,
.quick-summary::after,
.bias-summary-card::before,
.bias-summary-card::after,
.strategy-card::before,
.strategy-card::after,
.timeframe-detail-card::before,
.timeframe-detail-card::after,
.timeframe-strategy-card::before,
.timeframe-strategy-card::after,
.adaptive-entry::before,
.adaptive-entry::after,
.panel::before,
.panel::after,
.card::before,
.card::after,
.metric-card::before,
.metric-card::after,
.card-glow,
.card-border,
.card-aura {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  overflow: hidden;
  max-width: 100%;
  max-height: 100%;
}

.jarvis-card > *,
.live-market-bias > *,
#jarvis-bias > *,
.premium-card > *,
.conversion-layer > *,
.panel-shell > *,
.glass-panel > *,
.workspace-panel > *,
.entry-card > *,
.quick-summary > *,
.bias-summary-card > *,
.strategy-card > *,
.timeframe-detail-card > *,
.timeframe-strategy-card > *,
.adaptive-entry > *,
.panel > *,
.card > *,
.metric-card > * {
  position: relative;
  z-index: 1;
}

.conversion-layer {
  align-items: start;
  min-height: 0;
  height: auto;
  gap: 16px;
}

.conversion-main,
.conversion-stats {
  min-width: 0;
}

.conversion-main {
  display: grid;
  gap: 12px;
}

.conversion-main h3,
.conversion-main p,
.conversion-main .feature-list {
  margin: 0;
}

.conversion-main .feature-list {
  display: grid;
  gap: 8px;
  padding-left: 18px;
}

.conversion-layer .cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  margin-top: 0;
}

.conversion-layer .cta-row > * {
  flex: 1 1 150px;
  min-height: 44px;
  min-width: 0;
}

.sticky-jump-nav {
  margin-inline: auto;
  overflow-x: auto;
  overflow-y: hidden;
  isolation: isolate;
  contain: layout paint;
  max-height: 86px;
}

.sticky-jump-nav::before,
.sticky-jump-nav::after {
  content: none !important;
}

.sticky-jump-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

main,
.jarvis-main,
.app-shell {
  padding-bottom: calc(130px + env(safe-area-inset-bottom, 0px));
}

.tab-pane:last-of-type,
.section-anchor:last-child,
#jarvis-settings,
#jarvis-premium {
  margin-bottom: 150px;
}

body.is-tab-hidden .jarvis-bg-motion,
body.is-tab-hidden .ambient-bg,
body.is-tab-hidden .pip-aura,
body.is-tab-hidden .pip-shell,
body.is-tab-hidden .loader-robot * {
  animation-play-state: paused !important;
}

@media (max-width: 768px) {
  .value-prop-strip,
  .guidance-card-row,
  .sniper-priority-grid,
  .entry-priority-grid {
    grid-template-columns: 1fr;
  }

  .intro-spectrum {
    gap: 8px;
  }

  .panel,
  .card,
  .metric-card {
    border-radius: var(--radius-md);
  }

  .jarvis-bg-motion {
    opacity: calc(var(--flow-opacity) * 0.65);
    animation-duration: calc(var(--flow-speed) * 1.4);
  }

  .jarvis-card,
  .premium-card,
  .conversion-layer,
  .panel-shell,
  .glass-panel,
  .workspace-panel,
  .entry-card,
  .quick-summary,
  .bias-summary-card,
  .strategy-card,
  .timeframe-detail-card,
  .timeframe-strategy-card,
  .adaptive-entry,
  .panel,
  .card,
  .metric-card {
    min-height: unset;
    height: auto;
    transform: none !important;
    will-change: auto;
    box-shadow: 0 10px 22px rgba(0, 3, 10, 0.34);
  }

  .nested-glass,
  .glass-child,
  .inner-blur,
  .card-inner-glow,
  .metric-card,
  .card,
  .entry-card,
  .strategy-card,
  .timeframe-detail-card,
  .timeframe-strategy-card,
  .adaptive-entry,
  .conversion-stats .metric-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .panel::after,
  .conversion-layer::after,
  .bias-summary-card::after,
  .premium-card::after,
  .jarvis-card::after {
    animation: none !important;
    opacity: 0.28;
  }

  .conversion-layer {
    padding: 18px;
    gap: 14px;
    border-radius: 18px;
  }

  .conversion-main {
    gap: 10px;
  }

  .conversion-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .conversion-layer .cta-row {
    gap: 8px;
  }

  .conversion-layer .cta-row > * {
    flex: 1 1 132px;
    min-height: 46px;
  }

  .sticky-jump-nav {
    left: 0;
    right: 0;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    transform: none !important;
    width: 100vw;
    padding: 0 max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .sticky-jump-btn {
    min-height: 38px;
    padding: 7px 10px;
  }

  .heat-sector-intel {
    grid-template-columns: 1fr;
  }

  .heat-tile-grid {
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  }

  .heat-tile {
    min-height: 176px;
  }

  .app-loader::after {
    opacity: 0.22;
    animation-duration: 6s;
  }

  .evolved-badge {
    right: 14px;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }

  .access-gateway {
    min-height: 100dvh;
  }

  .access-gateway-shell {
    border-radius: 22px;
    width: min(96vw, 720px);
    max-height: 92dvh;
    min-height: auto;
    padding: 0;
    gap: 0;
  }

  .access-gateway-terms,
  .legal-agreement-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    padding-bottom: 0 !important;
    margin: 18px 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    z-index: 5 !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 0;
  }

  .access-term-card {
    padding: 14px;
    border-radius: 14px;
  }

  .access-term-card p,
  .access-term-full {
    font-size: clamp(0.92rem, 2vw, 1rem);
    line-height: 1.6;
  }

  .access-term-card summary {
    align-items: flex-start;
  }

  .access-term-check {
    align-items: flex-start;
    padding: 10px;
    min-height: 48px;
  }

  .access-term-check input {
    width: 44px;
    height: 44px;
  }

  .access-term-check .custom-check {
    width: 30px;
    height: 30px;
  }

  .access-gateway-actions {
    margin-inline: 0;
    width: 100%;
    margin-top: 0;
    padding: 12px 16px calc(env(safe-area-inset-bottom, 0px) + 14px);
  }

  .app-mode-grid,
  .access-gateway-review-actions {
    grid-template-columns: 1fr;
  }

  .install-prompt {
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jarvis-bg-motion, .jarvis-bg-motion::after, .app-loader::after, .access-gateway *, .pip-companion *, .mode-heat::before {
    animation: none;
  }
}

[id^="jarvis-"] {
  scroll-margin-top: 90px;
}
