.skip-link {
  position: absolute;
  top: -100%;
  left: 0;
  z-index: 9999;
  padding: 0.5rem 1rem;
  background: #111111;
  color: #ffffff;
  text-decoration: none;
  font-family: "Times New Roman", Times, serif;
  font-size: 1rem;
}

.skip-link:focus {
  top: 0;
}

html.dark .skip-link {
  background: #f5f5f5;
  color: #111111;
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  background-color: #ffffff;
  color: #111111;
  font-family: "Times New Roman", Times, serif;
}

html.dark, html.dark body {
  background-color: #111111;
  color: #f5f5f5;
}

.page {
  max-width: 65ch;
  margin: auto;
  padding: 4rem 1.5rem 6rem;
}

.site-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 4rem;
}

.site-name {
  font-size: 1rem;
  line-height: 1.6;
  font-weight: normal;
}

.site-nav {
  display: flex;
  align-items: baseline;
  gap: 1.5rem;
}

.nav-link {
  font-size: 1rem;
  line-height: 1.6;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.nav-link:not(.nav-link--active) {
  text-decoration: underline;
}

.nav-link--active {
  text-decoration: none;
  cursor: default;
  pointer-events: none;
}

.nav-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 2px;
}

.section {
  margin-bottom: 3.5rem;
}

.project-list {
  list-style: none;
}

.project-list li {
  font-size: 1rem;
  line-height: 1.8;
}

.bio {
  font-size: 1rem;
  line-height: 1.8;
}

.contact-label {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

.contact-list {
  list-style: none;
}

.contact-list li {
  font-size: 1rem;
  line-height: 1.8;
}

a {
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}

a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 2px;
}

.theme-toggle {
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 1rem;
  color: inherit;
  text-decoration: underline;
  padding: 0;
  line-height: 1.6;
}

.writing-list {
  list-style: none;
}

.writing-item {
  margin-bottom: 2.5rem;
}

.writing-item:last-child {
  margin-bottom: 0;
}

.writing-item-link {
  display: block;
  text-decoration: none;
}

.writing-item-link:hover .writing-title {
  text-decoration: underline;
}

.writing-title {
  display: block;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0.2rem;
}

.writing-date {
  display: block;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #767676;
  margin-bottom: 0.6rem;
}

html.dark .writing-date {
  color: #a0a0a0;
}

.writing-preview {
  display: block;
  font-size: 1rem;
  line-height: 1.8;
  color: #4d4d4d;
}

html.dark .writing-preview {
  color: #c0c0c0;
}

.writing-back-wrap {
  margin-bottom: 2rem;
}

.writing-back {
  font-size: 0.875rem;
  line-height: 1.6;
  text-decoration: underline;
  color: inherit;
}

.note-title {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: normal;
  margin-bottom: 0.4rem;
}

.note-body {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1.5rem;
}

.admin-topbar {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.admin-heading {
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
}

.admin-subheading {
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.admin-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: 52ch;
}

.admin-label {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #767676;
  margin-top: 0.75rem;
}

html.dark .admin-label {
  color: #a0a0a0;
}

.admin-input {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
  color: inherit;
  background: transparent;
  border: none;
  border-bottom: 1px solid #d0d0d0;
  padding: 0.25rem 0;
  width: 100%;
  outline: none;
}

html.dark .admin-input {
  border-bottom-color: #444;
}

.admin-input:focus {
  border-bottom-color: #111111;
}

html.dark .admin-input:focus {
  border-bottom-color: #f5f5f5;
}

.admin-textarea {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.8;
  color: inherit;
  background: transparent;
  border: 1px solid #d0d0d0;
  padding: 0.5rem;
  width: 100%;
  resize: vertical;
  outline: none;
}

html.dark .admin-textarea {
  border-color: #444;
}

.admin-textarea:focus {
  border-color: #111111;
}

html.dark .admin-textarea:focus {
  border-color: #f5f5f5;
}

.admin-btn {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
  color: inherit;
  background: none;
  border: 1px solid currentColor;
  padding: 0.25rem 0.75rem;
  cursor: pointer;
  text-decoration: none;
  margin-top: 0.75rem;
}

.admin-btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.admin-btn--ghost {
  border-color: transparent;
  text-decoration: underline;
  padding-left: 0;
  padding-right: 0;
}

.admin-btn--danger {
  color: #b00;
}

html.dark .admin-btn--danger {
  color: #f77;
}

.admin-row {
  display: flex;
  gap: 1.5rem;
  align-items: baseline;
  margin-top: 0.5rem;
}

.admin-error {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #b00;
  margin-top: 0.25rem;
}

html.dark .admin-error {
  color: #f77;
}

.admin-note-list {
  list-style: none;
}

.admin-note-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e8e8e8;
}

html.dark .admin-note-item {
  border-bottom-color: #2a2a2a;
}

.admin-note-meta {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.admin-note-title {
  font-size: 1rem;
  line-height: 1.6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-note-date {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #767676;
}

html.dark .admin-note-date {
  color: #a0a0a0;
}

.admin-note-actions {
  display: flex;
  gap: 1rem;
  flex-shrink: 0;
}

.admin-note-actions .admin-btn {
  margin-top: 0;
  font-size: 0.875rem;
}

.admin-badge {
  font-family: "Times New Roman", Times, serif;
  font-size: 0.75rem;
  padding: 0.15rem 0.5rem;
  border-radius: 2px;
  align-self: center;
  white-space: nowrap;
}

.admin-badge--published {
  background: #e8f5e9;
  color: #2e7d32;
}

.admin-badge--draft {
  background: #f5f5f5;
  color: #767676;
}

html.dark .admin-badge--published {
  background: #1b3a1c;
  color: #81c784;
}

html.dark .admin-badge--draft {
  background: #222222;
  color: #a0a0a0;
}

.admin-muted {
  font-size: 1rem;
  line-height: 1.6;
  color: #767676;
}

html.dark .admin-muted {
  color: #a0a0a0;
}

.tiptap-wrap {
  border: 1px solid #d0d0d0;
  margin-top: 0.25rem;
}

html.dark .tiptap-wrap {
  border-color: #444;
}

.tiptap-toolbar {
  display: flex;
  gap: 0;
  border-bottom: 1px solid #d0d0d0;
  padding: 0.25rem 0.25rem;
  flex-wrap: wrap;
}

html.dark .tiptap-toolbar {
  border-bottom-color: #444;
}

.tiptap-tool {
  font-family: inherit;
  font-size: 0.8125rem;
  line-height: 1;
  color: inherit;
  background: none;
  border: none;
  padding: 0.3rem 0.5rem;
  cursor: pointer;
  opacity: 0.5;
}

.tiptap-tool:hover {
  opacity: 1;
}

.tiptap-tool--active {
  opacity: 1;
  text-decoration: underline;
}

.tiptap-editor {
  padding: 0.75rem;
  min-height: 16rem;
  cursor: text;
}

.tiptap-editor .tiptap {
  outline: none;
  font-size: 1rem;
  line-height: 1.8;
  min-height: 14rem;
}

.tiptap-editor .tiptap p.is-editor-empty:first-child::before {
  content: attr(data-placeholder);
  float: left;
  color: #a0a0a0;
  pointer-events: none;
  height: 0;
}

html.dark .tiptap-editor .tiptap p.is-editor-empty:first-child::before {
  color: #666;
}

.tiptap-editor .tiptap > * + * {
  margin-top: 0.75rem;
}

.tiptap-editor .tiptap h2 {
  font-size: 1.15rem;
  font-weight: normal;
  line-height: 1.4;
}

.tiptap-editor .tiptap h3 {
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4;
}

.tiptap-editor .tiptap blockquote {
  border-left: 2px solid #d0d0d0;
  padding-left: 1rem;
  color: #767676;
}

html.dark .tiptap-editor .tiptap blockquote {
  border-left-color: #444;
  color: #a0a0a0;
}

.tiptap-editor .tiptap ul,
.tiptap-editor .tiptap ol {
  padding-left: 1.5rem;
}

.note-body--html {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1.5rem;
}

.note-body--html > * + * {
  margin-top: 0.75rem;
}

.note-body--html h2 {
  font-size: 1.15rem;
  font-weight: normal;
  line-height: 1.4;
}

.note-body--html h3 {
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4;
}

.note-body--html blockquote {
  border-left: 2px solid #d0d0d0;
  padding-left: 1rem;
  color: #767676;
}

html.dark .note-body--html blockquote {
  border-left-color: #444;
  color: #a0a0a0;
}

.note-body--html ul,
.note-body--html ol {
  padding-left: 1.5rem;
}

.note-body--html strong {
  font-weight: bold;
}

.note-body--html em {
  font-style: italic;
}

.note-body--html img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.5rem 0;
}

.tiptap-editor .tiptap img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0.5rem 0;
  outline: 2px solid transparent;
  transition: outline-color 0.1s;
}

.tiptap-editor .tiptap img.ProseMirror-selectednode {
  outline-color: #767676;
}

.tiptap-img-panel {
  border-bottom: 1px solid #d0d0d0;
  padding: 0.5rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

html.dark .tiptap-img-panel {
  border-bottom-color: #444;
}

.tiptap-img-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.tiptap-img-row--upload {
  margin-top: 0.1rem;
}

.tiptap-img-input {
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.4;
  color: inherit;
  background: transparent;
  border: none;
  border-bottom: 1px solid #d0d0d0;
  padding: 0.2rem 0;
  flex: 1;
  outline: none;
  min-width: 0;
}

html.dark .tiptap-img-input {
  border-bottom-color: #444;
}

.tiptap-img-input:focus {
  border-bottom-color: #111;
}

html.dark .tiptap-img-input:focus {
  border-bottom-color: #f5f5f5;
}

.tiptap-img-btn {
  font-family: inherit;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: inherit;
  background: none;
  border: 1px solid currentColor;
  padding: 0.15rem 0.5rem;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}

.tiptap-img-btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.tiptap-img-or {
  font-size: 0.8125rem;
  color: #767676;
}

html.dark .tiptap-img-or {
  color: #a0a0a0;
}

.tiptap-img-error {
  font-size: 0.8125rem;
  color: #b00;
}

html.dark .tiptap-img-error {
  color: #f77;
}

/* ── DISCO MODE ─────────────────────────────────────────────────────────── */

@keyframes disco-bg {
  0%   { background-color: #0e0014; }
  16%  { background-color: #0a0a1e; }
  33%  { background-color: #001a12; }
  50%  { background-color: #1a0008; }
  66%  { background-color: #0d0d00; }
  83%  { background-color: #001218; }
  100% { background-color: #0e0014; }
}

@keyframes disco-text {
  0%   { color: #ff6ec7; }
  14%  { color: #ff9a3c; }
  28%  { color: #f9f43e; }
  42%  { color: #39ff14; }
  57%  { color: #00e5ff; }
  71%  { color: #d44dff; }
  85%  { color: #ff6ec7; }
  100% { color: #ff9a3c; }
}

@keyframes disco-border {
  0%   { border-color: #ff6ec7; }
  20%  { border-color: #00e5ff; }
  40%  { border-color: #39ff14; }
  60%  { border-color: #f9f43e; }
  80%  { border-color: #d44dff; }
  100% { border-color: #ff6ec7; }
}

@keyframes disco-glow {
  0%   { text-shadow: 0 0 8px #ff6ec7, 0 0 20px #ff6ec755; }
  20%  { text-shadow: 0 0 8px #00e5ff, 0 0 20px #00e5ff55; }
  40%  { text-shadow: 0 0 8px #39ff14, 0 0 20px #39ff1455; }
  60%  { text-shadow: 0 0 8px #f9f43e, 0 0 20px #f9f43e55; }
  80%  { text-shadow: 0 0 8px #d44dff, 0 0 20px #d44dff55; }
  100% { text-shadow: 0 0 8px #ff6ec7, 0 0 20px #ff6ec755; }
}

@keyframes disco-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}

@keyframes disco-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.65; }
}

@keyframes disco-sparkle {
  0%   { transform: scale(1)   rotate(0deg);   opacity: 1; }
  25%  { transform: scale(1.4) rotate(90deg);  opacity: 0.7; }
  50%  { transform: scale(1)   rotate(180deg); opacity: 1; }
  75%  { transform: scale(1.4) rotate(270deg); opacity: 0.7; }
  100% { transform: scale(1)   rotate(360deg); opacity: 1; }
}

html.disco,
html.disco body {
  animation: disco-bg 6s ease-in-out infinite;
  color: #ff6ec7;
}

html.disco .skip-link {
  background: #0e0014;
  color: #ff6ec7;
}

html.disco .page {
  position: relative;
}

html.disco .page::before {
  content: "";
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 3px,
    rgba(0, 0, 0, 0.08) 3px,
    rgba(0, 0, 0, 0.08) 4px
  );
  pointer-events: none;
  z-index: 9998;
}

html.disco .site-name {
  background: linear-gradient(
    90deg,
    #ff6ec7, #ff9a3c, #f9f43e, #39ff14, #00e5ff, #d44dff, #ff6ec7
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: disco-shimmer 3s linear infinite;
}

html.disco .nav-link,
html.disco a {
  animation: disco-text 5s linear infinite;
  text-decoration-color: currentColor;
}

html.disco .nav-link--active {
  animation: disco-glow 5s linear infinite;
  -webkit-text-fill-color: unset;
}

html.disco .theme-toggle {
  animation: disco-sparkle 2s linear infinite, disco-text 5s linear infinite;
}

html.disco .writing-date {
  animation: disco-text 5s linear infinite;
  animation-delay: -1s;
  opacity: 0.8;
}

html.disco .writing-preview {
  animation: disco-text 5s linear infinite;
  animation-delay: -2s;
  opacity: 0.85;
}

html.disco .writing-item-link:hover .writing-title {
  animation: disco-glow 5s linear infinite;
}

html.disco .admin-label,
html.disco .admin-muted {
  animation: disco-text 5s linear infinite;
  animation-delay: -1.5s;
}

html.disco .admin-input {
  animation: disco-border 5s linear infinite;
  caret-color: #ff6ec7;
}

html.disco .admin-input:focus {
  animation: disco-border 5s linear infinite;
  box-shadow: 0 2px 0 0 currentColor;
}

html.disco .admin-textarea {
  animation: disco-border 5s linear infinite;
  caret-color: #ff6ec7;
}

html.disco .admin-note-item {
  animation: disco-border 5s linear infinite;
}

html.disco .tiptap-wrap {
  animation: disco-border 5s linear infinite;
}

html.disco .tiptap-toolbar {
  animation: disco-border 5s linear infinite;
}

html.disco .admin-btn {
  animation: disco-text 5s linear infinite, disco-border 5s linear infinite;
}

html.disco .admin-badge--published {
  background: #0d2e10;
  animation: disco-text 5s linear infinite;
  animation-delay: -3s;
}

html.disco .admin-badge--draft {
  background: #1a001a;
  animation: disco-text 5s linear infinite;
  animation-delay: -0.5s;
}

html.disco .note-body--html blockquote {
  animation: disco-border 5s linear infinite;
  color: inherit;
  opacity: 0.75;
}

html.disco .tiptap-editor .tiptap blockquote {
  animation: disco-border 5s linear infinite;
  color: inherit;
  opacity: 0.75;
}

/* ── END DISCO MODE ──────────────────────────────────────────────────────── */

@media (max-width: 480px) {
  .site-header {
    flex-wrap: wrap;
    gap: 1rem;
  }

  .site-name {
    font-size: 1rem;
  }

  .bio,
  .project-list li,
  .contact-list li,
  .writing-title,
  .writing-preview,
  .note-body {
    font-size: 0.95rem;
  }

  .writing-date {
    font-size: 0.825rem;
  }

  .note-title {
    font-size: 1.25rem;
  }
}
/*! tailwindcss v4.2.0 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: .25rem;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
  }
}

@layer components;

@layer utilities {
  .fixed {
    position: fixed;
  }

  .static {
    position: static;
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .inline {
    display: inline;
  }

  .italic {
    font-style: italic;
  }

  .running {
    animation-play-state: running;
  }
}

@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}

@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}

@property --tw-animation-duration {
  syntax: "*";
  inherits: false
}

@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}

@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

:root {
  --radius: .625rem;
  --background: oklch(100% 0 0);
  --foreground: oklch(14.5% 0 0);
  --card: oklch(100% 0 0);
  --card-foreground: oklch(14.5% 0 0);
  --popover: oklch(100% 0 0);
  --popover-foreground: oklch(14.5% 0 0);
  --primary: oklch(20.5% 0 0);
  --primary-foreground: oklch(98.5% 0 0);
  --secondary: oklch(97% 0 0);
  --secondary-foreground: oklch(20.5% 0 0);
  --muted: oklch(97% 0 0);
  --muted-foreground: oklch(55.6% 0 0);
  --accent: oklch(97% 0 0);
  --accent-foreground: oklch(20.5% 0 0);
  --destructive: oklch(57.7% .245 27.325);
  --border: oklch(92.2% 0 0);
  --input: oklch(92.2% 0 0);
  --ring: oklch(70.8% 0 0);
  --chart-1: oklch(64.6% .222 41.116);
  --chart-2: oklch(60% .118 184.704);
  --chart-3: oklch(39.8% .07 227.392);
  --chart-4: oklch(82.8% .189 84.429);
  --chart-5: oklch(76.9% .188 70.08);
  --sidebar: oklch(98.5% 0 0);
  --sidebar-foreground: oklch(14.5% 0 0);
  --sidebar-primary: oklch(20.5% 0 0);
  --sidebar-primary-foreground: oklch(98.5% 0 0);
  --sidebar-accent: oklch(97% 0 0);
  --sidebar-accent-foreground: oklch(20.5% 0 0);
  --sidebar-border: oklch(92.2% 0 0);
  --sidebar-ring: oklch(70.8% 0 0);
}

.dark {
  --background: oklch(14.5% 0 0);
  --foreground: oklch(98.5% 0 0);
  --card: oklch(20.5% 0 0);
  --card-foreground: oklch(98.5% 0 0);
  --popover: oklch(26.9% 0 0);
  --popover-foreground: oklch(98.5% 0 0);
  --primary: oklch(92.2% 0 0);
  --primary-foreground: oklch(20.5% 0 0);
  --secondary: oklch(26.9% 0 0);
  --secondary-foreground: oklch(98.5% 0 0);
  --muted: oklch(26.9% 0 0);
  --muted-foreground: oklch(70.8% 0 0);
  --accent: oklch(37.1% 0 0);
  --accent-foreground: oklch(98.5% 0 0);
  --destructive: oklch(70.4% .191 22.216);
  --border: oklch(100% 0 0 / .1);
  --input: oklch(100% 0 0 / .15);
  --ring: oklch(55.6% 0 0);
  --chart-1: oklch(48.8% .243 264.376);
  --chart-2: oklch(69.6% .17 162.48);
  --chart-3: oklch(76.9% .188 70.08);
  --chart-4: oklch(62.7% .265 303.9);
  --chart-5: oklch(64.5% .246 16.439);
  --sidebar: oklch(20.5% 0 0);
  --sidebar-foreground: oklch(98.5% 0 0);
  --sidebar-primary: oklch(48.8% .243 264.376);
  --sidebar-primary-foreground: oklch(98.5% 0 0);
  --sidebar-accent: oklch(26.9% 0 0);
  --sidebar-accent-foreground: oklch(98.5% 0 0);
  --sidebar-border: oklch(100% 0 0 / .1);
  --sidebar-ring: oklch(43.9% 0 0);
}
