:root {
  /* Cyber Grid Theme (Default) */
  --color-primary: #0891b2; /* cyan-600 */
  --color-primary-hover: #06b6d4; /* cyan-500 */
  --color-accent: #67e8f9; /* cyan-300 */
  --color-accent-hover: #22d3ee; /* cyan-400 */
  --color-text-base: #e5e7eb; /* gray-200 */
  --color-text-muted: #9ca3af; /* gray-400 */
  --color-text-subtle: #6b7280; /* gray-500 */
  --color-surface-base: #020617; /* slate-950 */
  --color-surface-window-rgb: 15, 23, 42; /* slate-900 */
  --color-surface-window: rgba(var(--color-surface-window-rgb), 0.8);
  --color-surface-inset-rgb: 30, 41, 59; /* slate-800 */
  --color-surface-inset: rgba(var(--color-surface-inset-rgb), 0.5);
  --color-surface-hover: rgba(8, 145, 178, 0.1); /* cyan-600 with alpha */
  --color-danger: #f43f5e; /* rose-500 */
  --color-danger-hover: #e11d48; /* rose-600 */
  --color-border: #334155; /* slate-700 */
  --color-border-accent: rgba(8, 145, 178, 0.3);
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'Chakra Petch', sans-serif;
  color: var(--color-text-base);
}

body {
  margin: 0;
  overscroll-behavior: none;
}

.reduce-motion * {
  transition: none !important;
  animation: none !important;
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: rgba(var(--color-surface-inset-rgb), 0.5); }
::-webkit-scrollbar-thumb { background: var(--color-border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--color-text-subtle); }

.prose { --tw-prose-body: var(--color-text-base); --tw-prose-headings: var(--color-accent); --tw-prose-links: var(--color-accent); --tw-prose-bold: var(--color-text-base); --tw-prose-bullets: var(--color-border); --tw-prose-hr: var(--color-border); --tw-prose-quotes: var(--color-text-base); --tw-prose-quote-borders: var(--color-border-accent); --tw-prose-code: var(--color-accent); --tw-prose-pre-bg: rgba(var(--color-surface-inset-rgb), 0.7); }
.prose a { text-decoration: none; font-weight: 600; }
.prose a:hover { text-decoration: underline; }

@keyframes morph-in { from { opacity: 0; transform: scale(0.95) translateY(-5px); } to { opacity: 1; transform: scale(1) translateY(0); } }
.animate-morph-in { animation: morph-in 200ms ease-out forwards; }

.app-background {
    background-color: var(--color-surface-base);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cdefs%3E%3Cstyle%3E.grid %7B stroke: rgba(51, 65, 85, 0.2); stroke-width: 0.2; %7D .stream %7B stroke-width: 0.5; filter: url(%23glow-filter-stream); stroke-dasharray: 25 375; animation: data-stream-anim linear infinite; %7D .stream-light %7B stroke: %2367e8f9; %7D .stream-dark %7B stroke: %230891b2; opacity: 0.6; %7D .stream-random %7B stroke: %23A78BFA; %7D .data-node %7B fill: %2367e8f9; filter: url(%23glow-filter-stream); animation: pulse-node 3s ease-in-out infinite alternate; %7D @keyframes pulse-node %7B from %7B opacity: 0.3; %7D to %7B opacity: 0.9; %7D %7D @keyframes data-stream-anim %7B to %7B stroke-dashoffset: -400; %7D %7D%3C/style%3E%3Cfilter id='glow-filter-stream' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='1.5' result='coloredBlur'/%3E%3CfeMerge%3E%3CfeMergeNode in='coloredBlur'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cg class='grid'%3E%3Cpath d='M0 200 H400 M200 0 V400' stroke-width='0.4'/%3E%3Cpath d='M100 0 V400 M300 0 V400 M0 100 H400 M0 300 H400' stroke-width='0.3'/%3E%3Cpath d='M20 0 V400 M40 0 V400 M60 0 V400 M80 0 V400 M120 0 V400 M140 0 V400 M160 0 V400 M180 0 V400 M220 0 V400 M240 0 V400 M260 0 V400 M280 0 V400 M320 0 V400 M340 0 V400 M360 0 V400 M380 0 V400 M0 20 H400 M0 40 H400 M0 60 H400 M0 80 H400 M0 120 H400 M0 140 H400 M0 160 H400 M0 180 H400 M0 220 H400 M0 240 H400 M0 260 H400 M0 280 H400 M0 320 H400 M0 340 H400 M0 360 H400 M0 380 H400'/%3E%3C/g%3E%3Cg class='data-node'%3E%3Ccircle cx='20' cy='40' r='1.5' style='animation-delay: -1.2s;'/%3E%3Ccircle cx='380' cy='20' r='2' style='animation-delay: -0.8s;'/%3E%3Ccircle cx='40' cy='360' r='2' style='animation-delay: -2.1s;'/%3E%3Ccircle cx='360' cy='380' r='1.5' style='animation-delay: -0.3s;'/%3E%3Ccircle cx='80' cy='120' r='1' style='animation-delay: -1.8s;'/%3E%3Ccircle cx='320' cy='80' r='1' style='animation-delay: -2.5s;'/%3E%3Ccircle cx='120' cy='340' r='1' style='animation-delay: -0.5s;'/%3E%3Ccircle cx='280' cy='280' r='1.5' style='animation-delay: -1.5s;'/%3E%3Ccircle cx='160' cy='20' r='1' style='animation-delay: -2.8s;'/%3E%3Ccircle cx='240' cy='380' r='1.2' style='animation-delay: -0.2s;'/%3E%3Ccircle cx='20' cy='180' r='1.2' style='animation-delay: -1.9s;'/%3E%3Ccircle cx='380' cy='220' r='1' style='animation-delay: -0.9s;'/%3E%3Ccircle cx='60' cy='280' r='1.5' style='animation-delay: -2.3s;'/%3E%3Ccircle cx='340' cy='120' r='1.5' style='animation-delay: -1.1s;'/%3E%3C/g%3E%3Cg%3E%3Cpath class='stream stream-light' d='M20 40 L 200 200' style='animation-duration: 4.2s; animation-delay: -1.2s;'/%3E%3Cpath class='stream stream-dark' d='M380 20 L 200 200' style='animation-duration: 3.8s; animation-delay: -0.8s;'/%3E%3Cpath class='stream stream-random' d='M40 360 L 200 200' style='animation-duration: 4.1s; animation-delay: -2.1s;'/%3E%3Cpath class='stream stream-light' d='M360 380 L 200 200' style='animation-duration: 3.3s; animation-delay: -0.3s;'/%3E%3Cpath class='stream stream-dark' d='M80 120 L 200 200' style='animation-duration: 3.1s; animation-delay: -1.8s;'/%3E%3Cpath class='stream stream-light' d='M320 80 L 200 200' style='animation-duration: 2.5s; animation-delay: -2.5s;'/%3E%3Cpath class='stream stream-random' d='M120 340 L 200 200' style='animation-duration: 3.5s; animation-delay: -0.5s;'/%3E%3Cpath class='stream stream-dark' d='M280 280 L 200 200' style='animation-duration: 2.8s; animation-delay: -1.5s;'/%3E%3Cpath class='stream stream-light' d='M160 20 L 200 200' style='animation-duration: 5s; animation-delay: -2.8s;'/%3E%3Cpath class='stream stream-dark' d='M240 380 L 200 200' style='animation-duration: 4.8s; animation-delay: -0.2s;'/%3E%3Cpath class='stream stream-random' d='M20 180 L 200 200' style='animation-duration: 4.9s; animation-delay: -1.9s;'/%3E%3Cpath class='stream stream-light' d='M380 220 L 200 200' style='animation-duration: 3.9s; animation-delay: -0.9s;'/%3E%3Cpath class='stream stream-dark' d='M60 280 L 340 120' style='animation-duration: 5.5s; animation-delay: -2.3s;'/%3E%3Cpath class='stream stream-random' d='M20 40 L 360 380' style='animation-duration: 6s; animation-delay: -1.1s;'/%3E%3Cpath class='stream stream-light' d='M380 20 L 40 360' style='animation-duration: 6.2s; animation-delay: -0.4s;'/%3E%3C/g%3E%3C/svg%3E");
}
