/* Agda CSS for direct HTML files and MkDocs integration */
/* Generated by agda-mkdocs plugin */

/* Import Material Design variables if available */
@import url('stylesheets/extra.css');

/* ============================================
   Basic Page Layout (for direct HTML files)
   ============================================ */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.6;
  color: var(--md-default-fg-color, #333);
  background-color: var(--md-default-bg-color, white);
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem;
}

/* ============================================
   Agda Code Block Layout
   ============================================ */
.Agda, pre.Agda {
  font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
  line-height: 1.4;
  background-color: var(--md-code-bg-color, #f8f8f8);
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1rem 0;
  overflow-x: auto;
  border: 1px solid var(--md-default-fg-color--lightest, #e0e0e0);
  position: relative;
}

/* ============================================
   Agda Syntax Highlighting - Aspects
   ============================================ */
.Agda .Comment       { color: var(--md-default-fg-color--light, #B22222); font-style: italic; }
.Agda .Markup        { color: var(--md-default-fg-color, #000000); }
.Agda .Keyword       { color: #CD6600; font-weight: bold; }
.Agda .String        { color: #B22222; }
.Agda .Number        { color: #A020F0; }
.Agda .Symbol        { color: var(--md-default-fg-color--light, #404040); }
.Agda .PrimitiveType { color: #0000CD; }
.Agda .Pragma        { color: var(--md-default-fg-color, black); }
.Agda .Hole          { background: #B4EEB4; }

/* ============================================
   Agda Syntax Highlighting - NameKinds
   ============================================ */
.Agda .Bound                  { color: var(--md-default-fg-color, black); }
.Agda .Generalizable          { color: var(--md-default-fg-color, black); }
.Agda .InductiveConstructor   { color: #008B00; }
.Agda .CoinductiveConstructor { color: #8B7500; }
.Agda .Datatype               { color: #0000CD; }
.Agda .Field                  { color: #EE1289; }
.Agda .Function               { color: #0000CD; }
.Agda .Macro                  { color: #0000CD; }
.Agda .Module                 { color: #A020F0; }
.Agda .Postulate              { color: #0000CD; }
.Agda .Primitive              { color: #0000CD; }
.Agda .Record                 { color: #0000CD; }

/* ============================================
   Agda Syntax Highlighting - OtherAspects
   ============================================ */
.Agda .UnsolvedMeta         { color: var(--md-default-fg-color, black); background: yellow; }
.Agda .UnsolvedConstraint   { color: var(--md-default-fg-color, black); background: yellow; }
.Agda .TerminationProblem   { color: var(--md-default-fg-color, black); background: #FFA07A; }
.Agda .IncompletePattern    { color: var(--md-default-fg-color, black); background: #F5DEB3; }
.Agda .Error                { color: red; text-decoration: underline; }
.Agda .TypeChecks           { color: var(--md-default-fg-color, black); background: #ADD8E6; }
.Agda .Deadcode             { color: var(--md-default-fg-color, black); background: #808080; }
.Agda .ShadowingInTelescope { color: var(--md-default-fg-color, black); background: #808080; }

/* ============================================
   Agda Links and Hover Effects
   ============================================ */
.Agda a {
  text-decoration: none;
  color: inherit;
}
.Agda a[href]:hover {
  background-color: #B4EEB4;
  border-radius: 2px;
}
.Agda [href].hover-highlight {
  background-color: #B4EEB4;
  border-radius: 2px;
}

/* ============================================
   Dark Mode Support (Catppuccin Mocha)
   ============================================ */
[data-md-color-scheme="slate"] .Agda .Comment       { color: var(--ctp-mocha-overlay1, #7f849c); }
[data-md-color-scheme="slate"] .Agda .Markup        { color: var(--ctp-mocha-text, #cdd6f4); }
[data-md-color-scheme="slate"] .Agda .Keyword       { color: var(--ctp-mocha-mauve, #cba6f7); font-weight: bold; }
[data-md-color-scheme="slate"] .Agda .String        { color: var(--ctp-mocha-green, #a6e3a1); }
[data-md-color-scheme="slate"] .Agda .Number        { color: var(--ctp-mocha-peach, #fab387); }
[data-md-color-scheme="slate"] .Agda .Symbol        { color: var(--ctp-mocha-subtext0, #a6adc8); }
[data-md-color-scheme="slate"] .Agda .PrimitiveType { color: var(--ctp-mocha-blue, #89b4fa); }
[data-md-color-scheme="slate"] .Agda .Pragma        { color: var(--ctp-mocha-text, #cdd6f4); }

[data-md-color-scheme="slate"] .Agda .Bound                  { color: var(--ctp-mocha-text, #cdd6f4); }
[data-md-color-scheme="slate"] .Agda .Generalizable          { color: var(--ctp-mocha-text, #cdd6f4); }
[data-md-color-scheme="slate"] .Agda .InductiveConstructor   { color: var(--ctp-mocha-green, #a6e3a1); }
[data-md-color-scheme="slate"] .Agda .CoinductiveConstructor { color: var(--ctp-mocha-yellow, #f9e2af); }
[data-md-color-scheme="slate"] .Agda .Datatype               { color: var(--ctp-mocha-blue, #89b4fa); }
[data-md-color-scheme="slate"] .Agda .Field                  { color: var(--ctp-mocha-pink, #f5c2e7); }
[data-md-color-scheme="slate"] .Agda .Function               { color: var(--ctp-mocha-blue, #89b4fa); }
[data-md-color-scheme="slate"] .Agda .Macro                  { color: var(--ctp-mocha-blue, #89b4fa); }
[data-md-color-scheme="slate"] .Agda .Module                 { color: var(--ctp-mocha-mauve, #cba6f7); }
[data-md-color-scheme="slate"] .Agda .Postulate              { color: var(--ctp-mocha-blue, #89b4fa); }
[data-md-color-scheme="slate"] .Agda .Primitive              { color: var(--ctp-mocha-blue, #89b4fa); }
[data-md-color-scheme="slate"] .Agda .Record                 { color: var(--ctp-mocha-blue, #89b4fa); }

[data-md-color-scheme="slate"] .Agda .UnsolvedMeta         { color: var(--ctp-mocha-base, #1e1e2e); background: var(--ctp-mocha-yellow, #f9e2af); }
[data-md-color-scheme="slate"] .Agda .UnsolvedConstraint   { color: var(--ctp-mocha-base, #1e1e2e); background: var(--ctp-mocha-yellow, #f9e2af); }
[data-md-color-scheme="slate"] .Agda .TerminationProblem   { color: var(--ctp-mocha-base, #1e1e2e); background: var(--ctp-mocha-peach, #fab387); }
[data-md-color-scheme="slate"] .Agda .IncompletePattern    { color: var(--ctp-mocha-base, #1e1e2e); background: var(--ctp-mocha-yellow, #f9e2af); }
[data-md-color-scheme="slate"] .Agda .Error                { color: var(--ctp-mocha-red, #f38ba8); }
[data-md-color-scheme="slate"] .Agda .TypeChecks           { color: var(--ctp-mocha-base, #1e1e2e); background: var(--ctp-mocha-sky, #89dceb); }
[data-md-color-scheme="slate"] .Agda .Deadcode             { color: var(--ctp-mocha-subtext0, #a6adc8); background: var(--ctp-mocha-surface0, #313244); }
[data-md-color-scheme="slate"] .Agda .ShadowingInTelescope { color: var(--ctp-mocha-subtext0, #a6adc8); background: var(--ctp-mocha-surface0, #313244); }

[data-md-color-scheme="slate"] .Agda a[href]:hover {
  background-color: var(--ctp-mocha-green, #a6e3a1);
  color: var(--ctp-mocha-base, #1e1e2e);
}
[data-md-color-scheme="slate"] .Agda [href].hover-highlight {
  background-color: var(--ctp-mocha-green, #a6e3a1);
  color: var(--ctp-mocha-base, #1e1e2e);
}

/* ============================================
   Copy Button Integration
   ============================================ */
.agda-copy-button {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  padding: 0.5rem;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.25s;
  background: transparent;
  border: none;
  outline: none;
  color: var(--md-default-fg-color--light, #666);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.Agda:hover .agda-copy-button {
  opacity: 1;
}

.agda-copy-button:hover {
  color: var(--md-accent-fg-color, #0066cc);
}

.agda-copy-button svg {
  width: 1.125rem;
  height: 1.125rem;
  fill: currentColor;
}
