/* Import Space Grotesk font from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');

/* FontAwesome fallback and font rendering fixes */
@font-face {
  font-family: 'FontAwesome';
  src: url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
       url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* Improves loading performance */
}

/* Fix FontAwesome rendering issues */
.fa, .icon {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: normal !important;
  font-style: normal !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* CSS Variables for Dark Claymorphism Theme */
:root {
  --primary-color: #7C4DFF;
  --accent-color: #536DFE;
  --text-color: #F5F5F5;
  --text-secondary: #C0C0C0;
  --text-muted: #9E9E9E;
  --bg-color: #2C2C2E;
  --bg-secondary: #3A3A3C;
  --clay-primary: #3A3A3C;
  --clay-secondary: #48484A;
  --clay-highlight: #52525A;
  --border-color: #48484A;
  --border-light: rgba(255, 255, 255, 0.08);
  --shadow-color: rgba(0, 0, 0, 0.4);
  --shadow-light: rgba(255, 255, 255, 0.05);
  --hover-color: #48484A;
  --hover-subtle: rgba(124, 77, 255, 0.1);
  --code-bg: #1E1E20;
  --header-height: 60px;
  --sidebar-width: 300px;
  
  /* Claymorphism specific variables */
  --clay-shadow-inset: inset 2px 2px 5px rgba(0, 0, 0, 0.3), 
                       inset -2px -2px 5px rgba(255, 255, 255, 0.03);
  --clay-shadow-outset: 4px 4px 12px rgba(0, 0, 0, 0.4), 
                        -2px -2px 8px rgba(255, 255, 255, 0.02);
  --clay-shadow-pressed: inset 3px 3px 8px rgba(0, 0, 0, 0.4), 
                         inset -1px -1px 4px rgba(255, 255, 255, 0.02);
}

/* Base typography with Space Grotesk - Dark Claymorphism */
body {
  font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  line-height: 1.6;
  color: var(--text-color) !important;
  font-weight: 400;
  background: var(--bg-color);
  background-image: 
    radial-gradient(circle at 25% 25%, rgba(124, 77, 255, 0.08) 0%, transparent 45%),
    radial-gradient(circle at 75% 75%, rgba(83, 109, 254, 0.06) 0%, transparent 45%);
  min-height: 100vh;
}

/* Text color overrides for content only - exclude code blocks */
.rst-content p, .rst-content li, .rst-content td, .rst-content th {
  color: var(--text-color) !important;
}

/* Headers with Space Grotesk */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1.5em;
  margin-bottom: 0.8em;
  color: var(--text-color) !important;
}

h1 {
  font-size: 2.5rem;
  font-weight: 700;
  border-bottom: 3px solid var(--primary-color);
  padding-bottom: 0.5rem;
}

h2 {
  font-size: 2rem;
  font-weight: 600;
}

h3 {
  font-size: 1.5rem;
  font-weight: 500;
}

/* Code blocks with JetBrains Mono - simplified */
code, pre {
  font-family: 'JetBrains Mono', 'Consolas', 'Monaco', monospace !important;
}

/* Logo and branding - Claymorphism */
.wy-side-nav-search {
  background: var(--clay-primary);
  background-image: 
    linear-gradient(145deg, var(--clay-secondary) 0%, var(--clay-primary) 100%);
  border-bottom: none;
  position: relative;
  padding: 1.5rem;
  border-radius: 0 0 20px 20px;
  box-shadow: var(--clay-shadow-outset);
  border: 1px solid var(--border-light);
}

.wy-side-nav-search .wy-dropdown > a img.logo {
  width: 40px !important;
  height: 40px !important;
  margin-right: 10px;
  filter: brightness(0) invert(1);
}

.wy-side-nav-search > a {
  color: var(--text-color) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  text-decoration: none;
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
  position: relative;
}

/* Completely disable all hover effects on home icon */
.wy-side-nav-search > a:hover {
  color: var(--text-color) !important;
  background: transparent !important;
  background-color: transparent !important;
  text-decoration: none !important;
  transform: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* Also disable hover effects on icon-home specifically */
.icon-home:hover {
  color: inherit !important;
  background: transparent !important;
  background-color: transparent !important;
  text-decoration: none !important;
  transform: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* Disable any additional hover effects from default theme */
.wy-side-nav-search a:hover,
.wy-side-nav-search .wy-dropdown > a:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--text-color) !important;
  text-decoration: none !important;
}

/* Use local PNG logo file */
.wy-side-nav-search > a::before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 12px;
  background-image: url('../logo-icon.png');
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 1;
  flex-shrink: 0;
}

/* Default navigation styling preserved - letting ReadTheDocs theme take over */

/* Simple expansion icons - no background, effects, or animations */
.wy-menu-vertical .toctree-expand {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: inherit !important;
  transition: none !important;
  animation: none !important;
}

.wy-menu-vertical .toctree-expand:hover,
.wy-menu-vertical .toctree-expand:focus,
.wy-menu-vertical .toctree-expand:active {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: inherit !important;
}

.wy-menu-vertical .current .toctree-expand {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: inherit !important;
}

/* Navigation scrollbar styling */
.wy-nav-side {
  overflow-y: auto !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(124, 77, 255, 0.6) rgba(255, 255, 255, 0.1);
}

.wy-nav-side::-webkit-scrollbar {
  width: 8px;
}

.wy-nav-side::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
}

.wy-nav-side::-webkit-scrollbar-thumb {
  background: rgba(124, 77, 255, 0.6);
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.wy-nav-side::-webkit-scrollbar-thumb:hover {
  background: rgba(124, 77, 255, 0.8);
}

/* Completely eliminate rst-versions div from DOM */
.rst-versions {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  pointer-events: none !important;
}

/* Remove any spacing that rst-versions might have created */
.rst-versions * {
  display: none !important;
}

/* Disable any JavaScript interactions with rst-versions */
[data-toggle="rst-versions"],
[data-toggle="rst-current-version"] {
  display: none !important;
  pointer-events: none !important;
}

/* Improved hr styling for dark theme - closer to upper content */
hr {
  display: block !important;
  height: 1px !important;
  border: 0 !important;
  border-top: 1px solid var(--border-color) !important;
  margin: 0.5rem 0 1.5rem 0 !important;
  padding: 0 !important;
  background: none !important;
  opacity: 0.6;
}

/* Alternative subtle hr styling - closer to upper content */
.rst-content hr {
  background: linear-gradient(90deg, transparent, var(--border-color), transparent) !important;
  border: none !important;
  height: 1px !important;
  margin: 0.5rem 0 1.5rem 0 !important;
}

/* Content area improvements - Claymorphism */
.wy-nav-content-wrap {
  background: var(--bg-color);
  min-height: 100vh;
}

.wy-nav-content {
  padding: 2rem 3rem;
  max-width: none;
  background: var(--bg-color);
  border-radius: 20px 0 0 0;
  position: relative;
}

.wy-nav-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 20% 80%, rgba(124, 77, 255, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(83, 109, 254, 0.03) 0%, transparent 50%);
  pointer-events: none;
  z-index: -1;
}

/* Responsive design */
@media screen and (max-width: 768px) {
  .wy-nav-content {
    padding: 1rem;
  }
  
  h1 {
    font-size: 2rem;
  }
  
  h2 {
    font-size: 1.7rem;
  }
}

@media screen and (max-width: 480px) {
  .wy-nav-content {
    padding: 0.5rem;
  }
  
  h1 {
    font-size: 1.8rem;
  }
  
  .wy-side-nav-search > a {
    font-size: 1.5rem !important;
  }
}

/* Image enhancements for zoomable diagrams */
.rst-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px var(--shadow-color);
  cursor: zoom-in;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: block;
  margin: 1rem 0;
  text-align: left;
}

/* Responsive image sizing */
@media screen and (max-width: 768px) {
  .rst-content img {
    margin: 0.5rem 0;
    border-radius: 6px;
  }
}

.rst-content img:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 24px var(--shadow-color);
}

/* SVG specific styling for left alignment */
.rst-content svg {
  display: block;
  margin-left: 0;
  text-align: left;
}

/* Ensure images in figures are left aligned */
.rst-content figure {
  margin: 2rem 0;
  text-align: left;
}

.rst-content figure img {
  margin-left: 0;
  text-align: left;
}

/* Medium-zoom overlay positioning - responsive centered zoom */
.medium-zoom-overlay {
  z-index: 999 !important;
  background: rgba(0, 0, 0, 0.8) !important;
}

.medium-zoom-image--opened {
  z-index: 1000 !important;
  cursor: zoom-out !important;
}

/* Figure captions - left aligned to match images */
.rst-content figcaption {
  margin-top: 0.5rem;
  font-style: italic;
  color: var(--text-muted) !important;
  font-size: 0.9rem;
  font-family: 'Space Grotesk', sans-serif;
  text-align: left;
  padding-left: 0;
}





/* Code block backgrounds - darker background for VS Code theme */
.rst-content .highlight,
.rst-content .codehilite {
  background: #1e1e1e !important;
  border-radius: 8px;
  margin: 1rem 0;
  border: 1px solid #3c3c3c;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.rst-content .highlight pre,
.rst-content .codehilite pre {
  background: transparent !important;
  margin: 0;
  padding: 1rem 1.25rem;
  overflow-x: auto;
  color: #d4d4d4 !important;
}

/* Inline code styling */
.rst-content code {
  font-family: 'JetBrains Mono', 'Consolas', 'Monaco', monospace !important;
  background: #2d2d2d !important;
  color: #d4d4d4 !important;
  padding: 0.2em 0.4em;
  border-radius: 4px;
  border: 1px solid #3c3c3c;
}

/* VS Code Dark+ syntax highlighting theme */
.codehilite .hll { background-color: #264f78 } /* Highlight line */
.codehilite .c { color: #6a9955; font-style: italic } /* Comment */
.codehilite .err { color: #f44747; background-color: transparent } /* Error */
.codehilite .k { color: #569cd6 } /* Keyword */
.codehilite .l { color: #b5cea8 } /* Literal */
.codehilite .n { color: #9cdcfe } /* Name */
.codehilite .o { color: #d4d4d4 } /* Operator */
.codehilite .p { color: #d4d4d4 } /* Punctuation */
.codehilite .cm { color: #6a9955; font-style: italic } /* Comment.Multiline */
.codehilite .cp { color: #9b9b9b } /* Comment.Preproc */
.codehilite .c1 { color: #6a9955; font-style: italic } /* Comment.Single */
.codehilite .cs { color: #6a9955; font-style: italic } /* Comment.Special */
.codehilite .ge { font-style: italic } /* Generic.Emph */
.codehilite .gs { font-weight: bold } /* Generic.Strong */
.codehilite .kc { color: #569cd6 } /* Keyword.Constant */
.codehilite .kd { color: #569cd6 } /* Keyword.Declaration */
.codehilite .kn { color: #c586c0 } /* Keyword.Namespace */
.codehilite .kp { color: #569cd6 } /* Keyword.Pseudo */
.codehilite .kr { color: #569cd6 } /* Keyword.Reserved */
.codehilite .kt { color: #4ec9b0 } /* Keyword.Type */
.codehilite .ld { color: #ce9178 } /* Literal.Date */
.codehilite .m { color: #b5cea8 } /* Literal.Number */
.codehilite .s { color: #ce9178 } /* Literal.String */
.codehilite .na { color: #92c5f8 } /* Name.Attribute */
.codehilite .nb { color: #4ec9b0 } /* Name.Builtin */
.codehilite .nc { color: #4ec9b0 } /* Name.Class */
.codehilite .no { color: #4fc1ff } /* Name.Constant */
.codehilite .nd { color: #dcdcaa } /* Name.Decorator */
.codehilite .ni { color: #d4d4d4 } /* Name.Entity */
.codehilite .ne { color: #4ec9b0 } /* Name.Exception */
.codehilite .nf { color: #dcdcaa } /* Name.Function */
.codehilite .nl { color: #d4d4d4 } /* Name.Label */
.codehilite .nn { color: #4ec9b0 } /* Name.Namespace */
.codehilite .nx { color: #9cdcfe } /* Name.Other */
.codehilite .py { color: #9cdcfe } /* Name.Property */
.codehilite .nt { color: #569cd6 } /* Name.Tag */
.codehilite .nv { color: #9cdcfe } /* Name.Variable */
.codehilite .ow { color: #569cd6 } /* Operator.Word */
.codehilite .w { color: #d4d4d4 } /* Text.Whitespace */
.codehilite .mf { color: #b5cea8 } /* Literal.Number.Float */
.codehilite .mh { color: #b5cea8 } /* Literal.Number.Hex */
.codehilite .mi { color: #b5cea8 } /* Literal.Number.Integer */
.codehilite .mo { color: #b5cea8 } /* Literal.Number.Oct */
.codehilite .sb { color: #ce9178 } /* Literal.String.Backtick */
.codehilite .sc { color: #ce9178 } /* Literal.String.Char */
.codehilite .sd { color: #6a9955; font-style: italic } /* Literal.String.Doc */
.codehilite .s2 { color: #ce9178 } /* Literal.String.Double */
.codehilite .se { color: #d7ba7d } /* Literal.String.Escape */
.codehilite .sh { color: #ce9178 } /* Literal.String.Heredoc */
.codehilite .si { color: #ce9178 } /* Literal.String.Interpol */
.codehilite .sx { color: #ce9178 } /* Literal.String.Other */
.codehilite .sr { color: #d16969 } /* Literal.String.Regex */
.codehilite .s1 { color: #ce9178 } /* Literal.String.Single */
.codehilite .ss { color: #ce9178 } /* Literal.String.Symbol */
.codehilite .bp { color: #4ec9b0 } /* Name.Builtin.Pseudo */
.codehilite .vc { color: #9cdcfe } /* Name.Variable.Class */
.codehilite .vg { color: #9cdcfe } /* Name.Variable.Global */
.codehilite .vi { color: #9cdcfe } /* Name.Variable.Instance */
.codehilite .il { color: #b5cea8 } /* Literal.Number.Integer.Long */

/* Apply the same VS Code theme to .highlight classes */
.highlight .hll { background-color: #264f78 } /* Highlight line */
.highlight .c { color: #6a9955; font-style: italic } /* Comment */
.highlight .err { color: #f44747; background-color: transparent } /* Error */
.highlight .k { color: #569cd6 } /* Keyword */
.highlight .l { color: #b5cea8 } /* Literal */
.highlight .n { color: #9cdcfe } /* Name */
.highlight .o { color: #d4d4d4 } /* Operator */
.highlight .p { color: #d4d4d4 } /* Punctuation */
.highlight .cm { color: #6a9955; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #9b9b9b } /* Comment.Preproc */
.highlight .c1 { color: #6a9955; font-style: italic } /* Comment.Single */
.highlight .cs { color: #6a9955; font-style: italic } /* Comment.Special */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .kc { color: #569cd6 } /* Keyword.Constant */
.highlight .kd { color: #569cd6 } /* Keyword.Declaration */
.highlight .kn { color: #c586c0 } /* Keyword.Namespace */
.highlight .kp { color: #569cd6 } /* Keyword.Pseudo */
.highlight .kr { color: #569cd6 } /* Keyword.Reserved */
.highlight .kt { color: #4ec9b0 } /* Keyword.Type */
.highlight .ld { color: #ce9178 } /* Literal.Date */
.highlight .m { color: #b5cea8 } /* Literal.Number */
.highlight .s { color: #ce9178 } /* Literal.String */
.highlight .na { color: #92c5f8 } /* Name.Attribute */
.highlight .nb { color: #4ec9b0 } /* Name.Builtin */
.highlight .nc { color: #4ec9b0 } /* Name.Class */
.highlight .no { color: #4fc1ff } /* Name.Constant */
.highlight .nd { color: #dcdcaa } /* Name.Decorator */
.highlight .ni { color: #d4d4d4 } /* Name.Entity */
.highlight .ne { color: #4ec9b0 } /* Name.Exception */
.highlight .nf { color: #dcdcaa } /* Name.Function */
.highlight .nl { color: #d4d4d4 } /* Name.Label */
.highlight .nn { color: #4ec9b0 } /* Name.Namespace */
.highlight .nx { color: #9cdcfe } /* Name.Other */
.highlight .py { color: #9cdcfe } /* Name.Property */
.highlight .nt { color: #569cd6 } /* Name.Tag */
.highlight .nv { color: #9cdcfe } /* Name.Variable */
.highlight .ow { color: #569cd6 } /* Operator.Word */
.highlight .w { color: #d4d4d4 } /* Text.Whitespace */
.highlight .mf { color: #b5cea8 } /* Literal.Number.Float */
.highlight .mh { color: #b5cea8 } /* Literal.Number.Hex */
.highlight .mi { color: #b5cea8 } /* Literal.Number.Integer */
.highlight .mo { color: #b5cea8 } /* Literal.Number.Oct */
.highlight .sb { color: #ce9178 } /* Literal.String.Backtick */
.highlight .sc { color: #ce9178 } /* Literal.String.Char */
.highlight .sd { color: #6a9955; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #ce9178 } /* Literal.String.Double */
.highlight .se { color: #d7ba7d } /* Literal.String.Escape */
.highlight .sh { color: #ce9178 } /* Literal.String.Heredoc */
.highlight .si { color: #ce9178 } /* Literal.String.Interpol */
.highlight .sx { color: #ce9178 } /* Literal.String.Other */
.highlight .sr { color: #d16969 } /* Literal.String.Regex */
.highlight .s1 { color: #ce9178 } /* Literal.String.Single */
.highlight .ss { color: #ce9178 } /* Literal.String.Symbol */
.highlight .bp { color: #4ec9b0 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #9cdcfe } /* Name.Variable.Class */
.highlight .vg { color: #9cdcfe } /* Name.Variable.Global */
.highlight .vi { color: #9cdcfe } /* Name.Variable.Instance */
.highlight .il { color: #b5cea8 } /* Literal.Number.Integer.Long */

/* VS Code Dark+ theme for Highlight.js */
.hljs {
  color: #d4d4d4 !important;
  background: transparent !important;
}

.hljs-comment,
.hljs-quote {
  color: #6a9955 !important;
  font-style: italic !important;
}

.hljs-variable,
.hljs-template-variable,
.hljs-tag,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class,
.hljs-regexp,
.hljs-deletion {
  color: #9cdcfe !important;
}

.hljs-number,
.hljs-built_in,
.hljs-builtin-name,
.hljs-literal,
.hljs-type,
.hljs-params,
.hljs-meta,
.hljs-link {
  color: #b5cea8 !important;
}

.hljs-attribute {
  color: #92c5f8 !important;
}

.hljs-string,
.hljs-symbol,
.hljs-bullet,
.hljs-addition {
  color: #ce9178 !important;
}

.hljs-title,
.hljs-section {
  color: #dcdcaa !important;
}

.hljs-keyword,
.hljs-selector-tag {
  color: #569cd6 !important;
}

.hljs-emphasis {
  font-style: italic !important;
}

.hljs-strong {
  font-weight: bold !important;
}

.hljs-function {
  color: #dcdcaa !important;
}

.hljs-class .hljs-title {
  color: #4ec9b0 !important;
}

.hljs-subst {
  color: #d4d4d4 !important;
}

.hljs-doctag {
  color: #6a9955 !important;
  font-weight: bold !important;
}

.hljs-meta-keyword {
  color: #9b9b9b !important;
}

.hljs-meta-string {
  color: #ce9178 !important;
}

/* Specific C/C++ language tokens */
.language-c .hljs-keyword,
.language-cpp .hljs-keyword {
  color: #569cd6 !important;
}

.language-c .hljs-type,
.language-cpp .hljs-type {
  color: #4ec9b0 !important;
}

.language-c .hljs-built_in,
.language-cpp .hljs-built_in {
  color: #4ec9b0 !important;
}

.language-c .hljs-string,
.language-cpp .hljs-string {
  color: #ce9178 !important;
}

.language-c .hljs-number,
.language-cpp .hljs-number {
  color: #b5cea8 !important;
}

.language-c .hljs-comment,
.language-cpp .hljs-comment {
  color: #6a9955 !important;
  font-style: italic !important;
}

.language-c .hljs-function,
.language-cpp .hljs-function {
  color: #dcdcaa !important;
}

.language-c .hljs-variable,
.language-cpp .hljs-variable {
  color: #9cdcfe !important;
}

/* Table improvements */
.rst-content table {
  border-collapse: collapse;
  width: 100%;
  margin: 1.5rem 0;
  box-shadow: var(--clay-shadow-outset);
  border-radius: 8px;
  overflow: hidden;
  background: var(--clay-primary);
  border: 1px solid var(--border-light);
}

.rst-content table th {
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  color: white !important;
  font-weight: 600;
  padding: 1rem;
  text-align: left;
}

.rst-content table td {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--border-color);
  color: var(--text-color) !important;
}

.rst-content table tr:hover {
  background: var(--hover-color);
}

.rst-content table tr:hover td {
  color: var(--text-color) !important;
}

/* Search improvements - Claymorphism */
.wy-side-nav-search input[type=text] {
  border-radius: 15px;
  border: 1px solid var(--border-light);
  background: var(--clay-primary);
  box-shadow: var(--clay-shadow-inset);
  color: var(--text-color) !important;
  padding: 0.8rem 1.2rem;
  font-family: 'Space Grotesk', sans-serif;
  transition: all 0.3s ease;
}

.wy-side-nav-search input[type=text]:focus {
  border-color: var(--accent-color);
  background: var(--clay-secondary);
  box-shadow: var(--clay-shadow-outset);
  outline: none;
  transform: translateY(-1px);
}

.wy-side-nav-search input[type=text]::placeholder {
  color: var(--text-muted) !important;
  opacity: 0.8;
}

/* Minimal breadcrumb styling - no wrapping square */
.wy-breadcrumbs {
  margin-bottom: 1rem !important;
  padding: 0.2rem 0 !important;
  background: transparent !important;
  border-radius: 0;
  font-family: 'Space Grotesk', sans-serif;
  box-shadow: none !important;
  border: none !important;
  font-size: 0.9rem;
}

.wy-breadcrumbs li {
  color: var(--text-secondary) !important;
}

.wy-breadcrumbs li a {
  color: var(--accent-color) !important;
  text-decoration: none;
}

.wy-breadcrumbs li a:hover {
  color: var(--primary-color) !important;
}

/* Admonitions and alerts */
.rst-content .admonition {
  border-radius: 8px;
  border-left: 4px solid var(--primary-color);
  box-shadow: var(--clay-shadow-outset);
  margin: 1.5rem 0;
  background: var(--clay-primary);
  border: 1px solid var(--border-light);
  border-left: 4px solid var(--primary-color);
}

.rst-content .admonition-title {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  color: var(--text-color) !important;
}

.rst-content .admonition p {
  color: var(--text-secondary) !important;
}

/* Links */
.rst-content a {
  color: var(--accent-color) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.rst-content a:hover {
  color: var(--primary-color) !important;
  text-decoration: underline;
}

.rst-content a:visited {
  color: var(--accent-color) !important;
}

/* Footer improvements */
.rst-footer-buttons {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border-color);
}

.rst-footer-buttons .btn {
  background: var(--clay-primary) !important;
  color: var(--text-color) !important;
  border: 1px solid var(--border-light) !important;
  box-shadow: var(--clay-shadow-outset);
  border-radius: 8px;
  transition: all 0.2s ease;
}

.rst-footer-buttons .btn:hover {
  background: var(--clay-highlight) !important;
  transform: translateY(-1px);
  box-shadow: var(--clay-shadow-pressed);
}

/* Button styling to match ReadTheDocs theme buttons like "View on GitHub" */
.rst-content .btn, button, .button {
  background: var(--clay-primary) !important;
  color: var(--text-color) !important;
  border: 1px solid var(--border-light) !important;
  border-radius: 4px;
  padding: 8px 16px;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 400;
  text-decoration: none;
  display: inline-block;
  transition: all 0.2s ease;
  box-shadow: var(--clay-shadow-outset);
  cursor: pointer;
  line-height: 1.5;
  font-size: 14px;
}

.rst-content .btn:hover, button:hover, .button:hover {
  background: var(--clay-highlight) !important;
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: var(--clay-shadow-pressed);
}

.rst-content .btn:visited, button:visited, .button:visited {
  color: var(--text-color) !important;
  background: var(--clay-primary) !important;
}

.rst-content .btn:active, button:active, .button:active {
  background: var(--clay-secondary) !important;
  color: var(--text-color) !important;
  transform: translateY(0px);
  box-shadow: var(--clay-shadow-inset);
}

.rst-content .btn:focus, button:focus, .button:focus {
  outline: 2px solid rgba(124, 77, 255, 0.5);
  outline-offset: 2px;
}

/* Lists */
.rst-content ul, .rst-content ol {
  color: var(--text-color) !important;
}

.rst-content li {
  color: var(--text-color) !important;
  margin-bottom: 0.5rem;
}

/* Blockquotes - Compact styling with proper separation */
.rst-content blockquote {
  background: var(--clay-primary);
  border-left: 4px solid var(--accent-color);
  border-radius: 0 8px 8px 0;
  box-shadow: var(--clay-shadow-inset);
  margin: 1rem 0;
  padding: 0.6rem 1rem;
  border: 1px solid var(--border-light);
  border-left: 4px solid var(--accent-color);
  position: relative;
}

/* Ensure sequential blockquotes are properly separated */
.rst-content blockquote + blockquote {
  margin-top: 1.5rem;
}

.rst-content blockquote p {
  color: var(--text-secondary) !important;
  font-style: italic;
  margin: 0.3rem 0;
  line-height: 1.4;
}

/* Remove extra margin from first and last paragraphs in blockquotes */
.rst-content blockquote p:first-child {
  margin-top: 0;
}

.rst-content blockquote p:last-child {
  margin-bottom: 0;
}

/* Mobile-specific blockquote adjustments - even more compact */
@media screen and (max-width: 768px) {
  .rst-content blockquote {
    margin: 0.8rem 0;
    padding: 0.4rem 0.8rem;
    border-radius: 0 6px 6px 0;
  }
  
  .rst-content blockquote + blockquote {
    margin-top: 1.2rem;
  }
  
  .rst-content blockquote p {
    margin: 0.2rem 0;
    line-height: 1.3;
    font-size: 0.9rem;
  }
} 