/* Generated by tools/build-ui.mjs. Edit sources, never this file. */
@layer reset, tokens, base, layout, components, modules, utilities;
@layer tokens {
:root, [data-appearance="light"] {
  --ik-color-blue-50: #EFF6FF;
  --ik-color-blue-100: #DBEAFE;
  --ik-color-blue-200: #BFDBFE;
  --ik-color-blue-300: #93C5FD;
  --ik-color-blue-500: #3B82F6;
  --ik-color-blue-600: #2563EB;
  --ik-color-blue-700: #1D4ED8;
  --ik-color-blue-800: #1E40AF;
  --ik-color-blue-900: #1E3A8A;
  --ik-color-gray-50: #F9FAFB;
  --ik-color-gray-100: #F3F4F6;
  --ik-color-gray-200: #E5E7EB;
  --ik-color-gray-300: #D1D5DB;
  --ik-color-gray-400: #9CA3AF;
  --ik-color-gray-500: #6B7280;
  --ik-color-gray-600: #4B5563;
  --ik-color-gray-700: #374151;
  --ik-color-gray-800: #1F2937;
  --ik-color-gray-900: #111827;
  --ik-color-white: #FFFFFF;
  --ik-text: var(--ik-color-gray-900);
  --ik-text-secondary: var(--ik-color-gray-600);
  --ik-text-muted: var(--ik-color-gray-600);
  --ik-surface: var(--ik-color-white);
  --ik-surface-subtle: var(--ik-color-gray-50);
  --ik-canvas: var(--ik-color-gray-100);
  --ik-border: var(--ik-color-gray-200);
  --ik-control-border: var(--ik-color-gray-500);
  --ik-action: var(--ik-color-blue-800);
  --ik-action-hover: var(--ik-color-blue-900);
  --ik-on-action: var(--ik-color-white);
  --ik-link: var(--ik-color-blue-800);
  --ik-focus: var(--ik-color-blue-700);
  --ik-context-user: var(--ik-color-blue-800);
  --ik-context-moderator: #7C3AED;
  --ik-context-admin: #DC2626;
  --ik-context-public: #059669;
  --ik-public-action: #047857;
  --ik-public-action-hover: #065F46;
  --ik-success-bg: #DCFCE7;
  --ik-success-text: #166534;
  --ik-success-border: #86EFAC;
  --ik-error-bg: #FEE2E2;
  --ik-error-text: #991B1B;
  --ik-error-border: #FCA5A5;
  --ik-warning-bg: #FEF3C7;
  --ik-warning-text: #92400E;
  --ik-warning-border: #FCD34D;
  --ik-info-bg: var(--ik-color-blue-100);
  --ik-info-text: var(--ik-color-blue-800);
  --ik-info-border: var(--ik-color-blue-300);
  --ik-danger: #B91C1C;
  --ik-danger-hover: #991B1B;
  --ik-font-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ik-font-mono: 'JetBrains Mono', ui-monospace, Consolas, monospace;
  --ik-text-xs: 0.75rem;
  --ik-text-sm: 0.875rem;
  --ik-text-base: 1rem;
  --ik-text-lg: 1.125rem;
  --ik-text-xl: 1.25rem;
  --ik-text-2xl: 1.5rem;
  --ik-text-3xl: 1.875rem;
  --ik-weight-normal: 400;
  --ik-weight-medium: 500;
  --ik-weight-semibold: 600;
  --ik-weight-bold: 700;
  --ik-leading-body: 1.5;
  --ik-leading-heading: 1.25;
  --ik-space-1: 0.25rem;
  --ik-space-2: 0.5rem;
  --ik-space-3: 0.75rem;
  --ik-space-4: 1rem;
  --ik-space-6: 1.5rem;
  --ik-space-8: 2rem;
  --ik-space-12: 3rem;
  --ik-space-16: 4rem;
  --ik-radius-control: 0.375rem;
  --ik-radius-card: 0.75rem;
  --ik-radius-shell: 1rem;
  --ik-radius-pill: 9999px;
  --ik-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.05);
  --ik-shadow-md: 0 1px 3px rgb(0 0 0 / 0.1), 0 1px 2px rgb(0 0 0 / 0.06);
  --ik-shadow-lg: 0 4px 6px rgb(0 0 0 / 0.1);
  --ik-touch-min: 44px;
  --ik-control-large: 48px;
  --ik-topbar-mobile: 56px;
  --ik-topbar-desktop: 64px;
  --ik-width-feed: 56rem;
  --ik-width-editor: 64rem;
  --ik-width-public: 80rem;
  --ik-width-auth: 25rem;
  --ik-width-prose: 70ch;
  --ik-motion-fast: 120ms;
  --ik-layer-header: 10;
  --ik-layer-dialog: 100;
}
[data-appearance="slate"] {
  --ik-text: #F1F5F9;
  --ik-text-secondary: #CBD5E1;
  --ik-text-muted: #CBD5E1;
  --ik-surface: #1E293B;
  --ik-surface-subtle: #334155;
  --ik-canvas: #0F172A;
  --ik-border: #475569;
  --ik-control-border: #94A3B8;
  --ik-action: #93C5FD;
  --ik-action-hover: #BFDBFE;
  --ik-on-action: #0F172A;
  --ik-link: #93C5FD;
  --ik-focus: #BFDBFE;
  --ik-info-bg: #172554;
  --ik-info-text: #BFDBFE;
  --ik-info-border: #60A5FA;
  --ik-success-bg: #14532D;
  --ik-success-text: #DCFCE7;
  --ik-success-border: #4ADE80;
  --ik-error-bg: #7F1D1D;
  --ik-error-text: #FEE2E2;
  --ik-error-border: #F87171;
  --ik-warning-bg: #451A03;
  --ik-warning-text: #FEF3C7;
  --ik-warning-border: #FBBF24;
  --ik-danger: #FCA5A5;
  --ik-danger-hover: #FECACA;
  --ik-public-action: #6EE7B7;
  --ik-public-action-hover: #A7F3D0;
}
}
/* Values belong in tokens.json. This source is compiled; do not serve it directly. */
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }
  button, input, select, textarea { font: inherit; }
  img, svg { max-inline-size: 100%; }
  img { block-size: auto; }
  [hidden] { display: none !important; }
}
@layer base {
  html { font-family: var(--ik-font-sans); line-height: var(--ik-leading-body); color: var(--ik-text); background: var(--ik-canvas); }
  body { font-size: var(--ik-text-base); overflow-wrap: anywhere; }
  h1, h2, h3, h4 { line-height: var(--ik-leading-heading); margin-block: 0 var(--ik-space-4); }
  h1 { font-size: var(--ik-text-3xl); font-weight: var(--ik-weight-bold); }
  h2 { font-size: var(--ik-text-2xl); font-weight: var(--ik-weight-semibold); }
  h3 { font-size: var(--ik-text-xl); font-weight: var(--ik-weight-semibold); }
  h4 { font-size: var(--ik-text-lg); }
  p { margin-block: 0 var(--ik-space-4); }
  a { color: var(--ik-link); text-underline-offset: var(--ik-space-1); }
  :focus-visible { outline: 3px solid var(--ik-focus); outline-offset: 3px; }
  button, summary { cursor: pointer; }
  button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; }
  input, select, textarea { max-inline-size: 100%; }
  fieldset { min-inline-size: 0; border: 1px solid var(--ik-border); border-radius: var(--ik-radius-control); padding: var(--ik-space-4); }
  legend { font-weight: var(--ik-weight-semibold); }
  code { font-family: var(--ik-font-mono); }
}
@layer utilities {
  .ik-muted { color: var(--ik-text-muted); }
  .ik-small { font-size: var(--ik-text-sm); }
  .ik-sr-only { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  .ik-skip { position: absolute; inset-block-start: var(--ik-space-2); inset-inline-start: var(--ik-space-2); z-index: var(--ik-layer-dialog); transform: translateY(-200%); background: var(--ik-surface); padding: var(--ik-space-3); }
  .ik-skip:focus { transform: translateY(0); }
  .ik-prose { max-inline-size: var(--ik-width-prose); }
  @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
}

@layer layout {
  .ik-container { inline-size: 100%; max-inline-size: var(--ik-width-editor); margin-inline: auto; padding: var(--ik-space-4); }
  .ik-container--feed { max-inline-size: var(--ik-width-feed); }
  .ik-container--public { max-inline-size: var(--ik-width-public); }
  .ik-stack { display: flex; flex-direction: column; gap: var(--ik-space-4); }
  .ik-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ik-space-3); }
  .ik-grid, .ik-split { display: grid; gap: var(--ik-space-4); }
  .ik-grid > *, .ik-split > * { min-inline-size: 0; }
  .ik-topbar { position: relative; display: flex; align-items: center; justify-content: space-between; gap: var(--ik-space-3); min-block-size: var(--ik-topbar-mobile); padding: var(--ik-space-2) var(--ik-space-4); background: var(--ik-surface); box-shadow: var(--ik-shadow-sm); }
  .ik-topbar--app { display: grid; grid-template-columns: var(--ik-touch-min) minmax(0, 1fr); grid-template-rows: auto auto; column-gap: var(--ik-space-3); row-gap: 0; }
  .ik-brand { color: var(--ik-text); font-size: var(--ik-text-xl); font-weight: var(--ik-weight-bold); text-decoration: none; min-block-size: var(--ik-touch-min); display: inline-flex; align-items: center; }
  .ik-auth { min-block-size: 100svh; display: grid; place-items: center; padding: var(--ik-space-4); }
  .ik-auth__panel { inline-size: 100%; max-inline-size: var(--ik-width-auth); }
  .ik-section { padding-block: var(--ik-space-8); }
  .ik-feed { padding-block: var(--ik-space-3) var(--ik-space-8); }
  .ik-site-menu { margin-inline-start: auto; }
  .ik-topbar--app .ik-site-menu { grid-column: 1; grid-row: 1 / span 2; align-self: center; margin: 0; }
  .ik-topbar--app .ik-brand { grid-column: 2; grid-row: 1; min-inline-size: 0; min-block-size: auto; }
  .ik-mobile-current { grid-column: 2; grid-row: 2; min-inline-size: 0; overflow: hidden; color: var(--ik-text-secondary); font-size: var(--ik-text-sm); line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
  .ik-site-menu__content { position: absolute; z-index: 10; inset-block-start: 100%; inset-inline: 0; display: grid; gap: var(--ik-space-3); padding: var(--ik-space-3) var(--ik-space-4) var(--ik-space-4); border-block-start: 1px solid var(--ik-border); background: var(--ik-surface); box-shadow: var(--ik-shadow-md); }
  .ik-site-menu__content .ik-nav { flex-direction: column; align-items: stretch; }
  .ik-site-menu__content .ik-nav a { inline-size: 100%; }
  .ik-site-menu__actions { display: grid; gap: var(--ik-space-2); }
  .ik-site-menu__actions form, .ik-site-menu__actions .ik-button { inline-size: 100%; margin: 0; }
  .ik-public { --ik-action: var(--ik-public-action); --ik-action-hover: var(--ik-public-action-hover); --ik-context: var(--ik-context-public); background: var(--ik-surface); }
  [data-context="user"] { --ik-context: var(--ik-context-user); }
  [data-context="moderator"] { --ik-context: var(--ik-context-moderator); }
  [data-context="admin"] { --ik-context: var(--ik-context-admin); }
  .ik-hero { padding-block: var(--ik-space-16); border-block-end: 1px solid var(--ik-border); }
  .ik-footer { padding-block: var(--ik-space-8); border-block-start: 1px solid var(--ik-border); }
  @media (min-width: 640px) {
    .ik-container { padding: var(--ik-space-6); }
    .ik-feed { padding-block-start: var(--ik-space-6); }
    .ik-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ik-split { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
    .ik-topbar--app { display: flex; }
    .ik-topbar--app .ik-brand { order: 1; min-block-size: var(--ik-touch-min); }
    .ik-site-menu, .ik-topbar--app .ik-site-menu { order: 2; flex: 1; margin-inline-start: auto; }
    .ik-mobile-current { display: none; }
    .ik-site-menu > summary { display: none; }
    .ik-site-menu:not([open]) > .ik-site-menu__content { display: flex; }
    .ik-site-menu__content { position: static; align-items: center; justify-content: flex-end; padding: 0; border: 0; box-shadow: none; }
    .ik-site-menu__content .ik-nav { flex-direction: row; align-items: center; }
    .ik-site-menu__content .ik-nav a { inline-size: auto; }
    .ik-site-menu__actions { display: flex; align-items: center; }
    .ik-site-menu__actions form, .ik-site-menu__actions .ik-button { inline-size: auto; }
  }
  @media (min-width: 1025px) {
    .ik-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ik-topbar { min-block-size: var(--ik-topbar-desktop); }
  }
}

@layer components {
  .ik-brand img { display: block; max-block-size: 2.5rem; max-inline-size: 12rem; inline-size: auto; block-size: auto; object-fit: contain; }
  .ik-brand__name { min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ik-brand--has-logo .ik-brand__name { display: none; }
  .ik-topbar--app .ik-brand--has-logo img { display: none; }
  .ik-topbar--app .ik-brand--has-logo .ik-brand__name { display: block; }
  .ik-button { display: inline-flex; justify-content: center; align-items: center; gap: var(--ik-space-2); min-block-size: var(--ik-touch-min); min-inline-size: var(--ik-touch-min); padding: var(--ik-space-2) var(--ik-space-4); border: 1px solid transparent; border-radius: var(--ik-radius-control); background: var(--ik-action); color: var(--ik-on-action); font-weight: var(--ik-weight-semibold); font-size: var(--ik-text-sm); text-decoration: none; transition: background-color var(--ik-motion-fast); }
  .ik-button:hover:not(:disabled) { background: var(--ik-action-hover); }
  .ik-button:active:not(:disabled) { box-shadow: inset var(--ik-shadow-sm); }
  .ik-button--secondary { background: var(--ik-surface); border-color: var(--ik-control-border); color: var(--ik-text); }
  .ik-button--ghost { background: transparent; color: var(--ik-action); }
  .ik-button--secondary:hover:not(:disabled), .ik-button--ghost:hover:not(:disabled) { background: var(--ik-surface-subtle); }
  .ik-button--danger { background: var(--ik-danger); }
  .ik-button--danger:hover:not(:disabled) { background: var(--ik-danger-hover); }
  .ik-button--large { min-block-size: var(--ik-control-large); font-size: var(--ik-text-base); }
  .ik-button:disabled { background: var(--ik-color-gray-200); color: var(--ik-color-gray-600); border-color: var(--ik-color-gray-300); }
  .ik-button[aria-busy="true"] { cursor: progress; }
  .ik-field { display: grid; gap: var(--ik-space-2); }
  .ik-field__label { font-size: var(--ik-text-sm); font-weight: var(--ik-weight-medium); }
  .ik-input { inline-size: 100%; min-block-size: var(--ik-touch-min); border: 1px solid var(--ik-control-border); border-radius: var(--ik-radius-control); padding: var(--ik-space-2) var(--ik-space-3); color: var(--ik-text); background: var(--ik-surface); }
  textarea.ik-input { min-block-size: 8rem; resize: vertical; }
  .ik-input::placeholder { color: var(--ik-text-secondary); opacity: 1; }
  .ik-input[aria-invalid="true"] { border-color: var(--ik-error-text); }
  .ik-field__hint, .ik-field__error { margin: 0; font-size: var(--ik-text-sm); }
  .ik-field__hint { color: var(--ik-text-secondary); }
  .ik-field__error { color: var(--ik-error-text); }
  .ik-choice { display: flex; align-items: center; gap: var(--ik-space-3); min-block-size: var(--ik-touch-min); }
  .ik-choice input { inline-size: var(--ik-space-6); block-size: var(--ik-space-6); accent-color: var(--ik-action); }
  .ik-otp { font-family: var(--ik-font-mono); text-align: center; letter-spacing: var(--ik-space-1); }
  .ik-panel, .ik-card, .ik-dashboard-card { padding: var(--ik-space-4); border: 1px solid var(--ik-border); border-radius: var(--ik-radius-card); background: var(--ik-surface); box-shadow: var(--ik-shadow-sm); }
  .ik-card { display: block; color: var(--ik-text); text-decoration: none; min-block-size: var(--ik-touch-min); }
  .ik-card:hover { border-color: var(--ik-info-border); box-shadow: var(--ik-shadow-md); }
  .ik-card__title { font-size: var(--ik-text-lg); font-weight: var(--ik-weight-medium); margin-block: var(--ik-space-3) var(--ik-space-2); }
  .ik-card__teaser { color: var(--ik-text-secondary); font-size: var(--ik-text-sm); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .ik-card__meta { color: var(--ik-text-muted); font-size: var(--ik-text-sm); }
  .ik-dashboard-card { border-block-start: var(--ik-space-1) solid var(--ik-context, var(--ik-action)); }
  .ik-badge { display: inline-flex; align-items: center; gap: var(--ik-space-1); border-radius: var(--ik-radius-pill); padding: var(--ik-space-1) var(--ik-space-2); font-size: var(--ik-text-xs); font-weight: var(--ik-weight-medium); color: var(--ik-info-text); background: var(--ik-info-bg); }
  .ik-badge--success, .ik-notice--success { --ik-notice-bg: var(--ik-success-bg); --ik-notice-text: var(--ik-success-text); --ik-notice-border: var(--ik-success-border); }
  .ik-badge--error, .ik-notice--error { --ik-notice-bg: var(--ik-error-bg); --ik-notice-text: var(--ik-error-text); --ik-notice-border: var(--ik-error-border); }
  .ik-badge--warning, .ik-notice--warning { --ik-notice-bg: var(--ik-warning-bg); --ik-notice-text: var(--ik-warning-text); --ik-notice-border: var(--ik-warning-border); }
  .ik-badge--success, .ik-badge--error, .ik-badge--warning { background: var(--ik-notice-bg); color: var(--ik-notice-text); }
  .ik-context { border-inline-start: var(--ik-space-1) solid var(--ik-context, var(--ik-action)); padding-inline-start: var(--ik-space-2); color: var(--ik-text); font-size: var(--ik-text-sm); }
  .ik-notice { padding: var(--ik-space-4); border: 1px solid var(--ik-notice-border, var(--ik-info-border)); border-radius: var(--ik-radius-control); background: var(--ik-notice-bg, var(--ik-info-bg)); color: var(--ik-notice-text, var(--ik-info-text)); }
  .ik-notice p:last-child { margin-block-end: 0; }
  .ik-nav, .ik-tabs, .ik-filters, .ik-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ik-space-2); }
  .ik-nav a, .ik-tabs a, .ik-pagination a, .ik-pagination span { display: inline-flex; align-items: center; min-block-size: var(--ik-touch-min); min-inline-size: var(--ik-touch-min); padding: var(--ik-space-2) var(--ik-space-3); text-decoration: none; }
  .ik-nav [aria-current="page"], .ik-pagination [aria-current="page"] { background: var(--ik-info-bg); border-radius: var(--ik-radius-control); font-weight: var(--ik-weight-semibold); }
  .ik-site-menu > summary { display: inline-flex; align-items: center; justify-content: center; inline-size: var(--ik-touch-min); block-size: var(--ik-touch-min); padding: 0; border: 1px solid var(--ik-control-border); border-radius: var(--ik-radius-control); cursor: pointer; list-style: none; }
  .ik-site-menu > summary::-webkit-details-marker { display: none; }
  .ik-menu-icon { display: grid; gap: 4px; inline-size: 1.25rem; }
  .ik-menu-icon > span { display: block; block-size: 2px; border-radius: var(--ik-radius-pill); background: currentColor; }
  .ik-nav--vertical { flex-direction: column; align-items: stretch; }
  .ik-tabs { border-block-end: 1px solid var(--ik-border); }
  .ik-tabs a { color: var(--ik-text-secondary); border-block-end: 3px solid transparent; }
  .ik-tabs [aria-current="page"] { border-color: var(--ik-action); color: var(--ik-text); }
  .ik-filter { min-block-size: var(--ik-touch-min); min-inline-size: var(--ik-touch-min); padding: var(--ik-space-2) var(--ik-space-3); border: 1px solid var(--ik-control-border); border-radius: var(--ik-radius-pill); background: var(--ik-surface); color: var(--ik-text); }
  .ik-filter[aria-pressed="true"] { background: var(--ik-action); color: var(--ik-on-action); border-color: var(--ik-action); }
  .ik-feed-tools { display: grid; gap: var(--ik-space-3); }
  .ik-search-inline { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--ik-space-2); }
  .ik-filter-strip { display: flex; gap: var(--ik-space-2); overflow-x: auto; padding-block-end: var(--ik-space-2); scrollbar-width: thin; overscroll-behavior-inline: contain; scroll-snap-type: inline proximity; }
  .ik-filter-strip .ik-filter { flex: 0 0 auto; text-decoration: none; display: inline-flex; align-items: center; scroll-snap-align: start; }
  .ik-table-scroll { overflow-x: auto; }
  .ik-table { inline-size: 100%; border-collapse: collapse; text-align: start; background: var(--ik-surface); }
  .ik-table caption { text-align: start; font-weight: var(--ik-weight-semibold); padding-block: var(--ik-space-3); }
  .ik-table th, .ik-table td { padding: var(--ik-space-3); border-block-end: 1px solid var(--ik-border); vertical-align: top; }
  .ik-table tbody tr:nth-child(odd) { background: var(--ik-surface-subtle); }
  .ik-tree, .ik-tree ul { list-style: none; padding-inline-start: var(--ik-space-6); }
  .ik-tree { padding-inline-start: 0; }
  .ik-tree summary, .ik-tree a { min-block-size: var(--ik-touch-min); padding: var(--ik-space-2); }
  .ik-tree a { display: inline-flex; align-items: center; }
  .ik-tree [aria-current="true"] { background: var(--ik-info-bg); }
  .ik-tree--compact, .ik-tree--compact ul { padding-inline-start: var(--ik-space-4); }
  .ik-tree--compact { padding-inline-start: 0; }
  .ik-tree--compact li { margin: 0; }
  .ik-tree--compact summary { padding-block: var(--ik-space-1); }
  .ik-tree--compact summary .ik-tree__row { inline-size: calc(100% - var(--ik-space-6)); }
  .ik-tree__row { display: flex; align-items: center; justify-content: space-between; gap: var(--ik-space-3); min-block-size: var(--ik-touch-min); }
  .ik-tree__row > span > a { min-block-size: auto; padding: 0; }
  .ik-tree__action { flex: 0 0 auto; font-size: var(--ik-text-sm); }
  .ik-module-list { list-style: none; padding: 0; display: grid; gap: var(--ik-space-3); }
  .ik-editor-actions { display: flex; flex-wrap: wrap; gap: var(--ik-space-3); padding-block: var(--ik-space-4); }
  .ik-editor-actions form { margin: 0; }
  .ik-editor-nav { position: sticky; inset-block-start: 0; z-index: 2; display: flex; gap: var(--ik-space-2); overflow-x: auto; padding: var(--ik-space-2); background: var(--ik-surface); border: 1px solid var(--ik-border); border-radius: var(--ik-radius-control); box-shadow: var(--ik-shadow-sm); }
  .ik-editor-nav a { flex: 0 0 auto; display: inline-flex; align-items: center; min-block-size: var(--ik-touch-min); padding-inline: var(--ik-space-3); }
  .ik-editor-module { border: 1px solid var(--ik-border); border-radius: var(--ik-radius-card); background: var(--ik-surface); box-shadow: var(--ik-shadow-sm); }
  .ik-editor-module > details > summary { min-block-size: var(--ik-touch-min); padding: var(--ik-space-3) var(--ik-space-4); cursor: pointer; }
  .ik-editor-module > details > summary > span { display: flex; align-items: center; justify-content: space-between; gap: var(--ik-space-3); margin-inline-start: var(--ik-space-2); }
  .ik-editor-module__body { padding: 0 var(--ik-space-4) var(--ik-space-4); border-block-start: 1px solid var(--ik-border); }
  .ik-editor-target { scroll-margin-block-start: var(--ik-space-4); }
  .ik-editor-target:target { outline: 3px solid var(--ik-focus); outline-offset: var(--ik-space-1); }
  .ik-publication-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: var(--ik-space-3); }
  .ik-publication-summary > div { display: grid; gap: var(--ik-space-1); padding: var(--ik-space-3); border: 1px solid var(--ik-border); border-radius: var(--ik-radius-control); background: var(--ik-surface-subtle); }
  .ik-publication-summary span { color: var(--ik-text-secondary); font-size: var(--ik-text-sm); }
  .ik-list-target { scroll-margin-block-start: var(--ik-space-4); }
  .ik-list-target:target { outline: 3px solid var(--ik-focus); outline-offset: calc(-1 * var(--ik-space-1)); }
  .EasyMDEContainer .CodeMirror, .EasyMDEContainer .editor-toolbar, .EasyMDEContainer .editor-statusbar { color: var(--ik-text); background: var(--ik-surface); border-color: var(--ik-control-border); }
  .EasyMDEContainer .CodeMirror { min-block-size: 12rem; }
  .EasyMDEContainer .editor-toolbar button { color: var(--ik-text); }
  .EasyMDEContainer .editor-toolbar button:hover, .EasyMDEContainer .editor-toolbar button.active { color: var(--ik-text); background: var(--ik-surface-subtle); border-color: var(--ik-control-border); }
  .EasyMDEContainer .editor-toolbar .fa::before { display: inline-block; min-inline-size: 1.25em; font-family: inherit; font-style: normal; font-weight: var(--ik-weight-bold); text-align: center; }
  .EasyMDEContainer .fa-bold::before { content: "B"; }
  .EasyMDEContainer .fa-italic::before { content: "I"; font-style: italic; }
  .EasyMDEContainer .fa-header::before { content: "H"; }
  .EasyMDEContainer .fa-quote-left::before { content: "“"; }
  .EasyMDEContainer .fa-list-ul::before { content: "•"; }
  .EasyMDEContainer .fa-list-ol::before { content: "1."; font-size: 0.8em; }
  .EasyMDEContainer .fa-link::before { content: "↗"; }
  .EasyMDEContainer .fa-undo::before { content: "↶"; }
  .EasyMDEContainer .fa-repeat::before { content: "↷"; }
  .ik-empty { text-align: center; padding: var(--ik-space-8); border: 1px dashed var(--ik-control-border); border-radius: var(--ik-radius-card); }
  .ik-loading { padding: var(--ik-space-4); color: var(--ik-text-secondary); }
  .ik-dialog { max-inline-size: min(var(--ik-width-feed), calc(100% - var(--ik-space-8))); border: 1px solid var(--ik-border); border-radius: var(--ik-radius-card); padding: var(--ik-space-6); box-shadow: var(--ik-shadow-lg); color: var(--ik-text); background: var(--ik-surface); }
  .ik-dialog::backdrop { background: rgb(0 0 0 / 0.5); }
  @media (min-width: 640px) {
    .ik-topbar--app .ik-brand--has-logo img { display: block; }
    .ik-topbar--app .ik-brand--has-logo .ik-brand__name { display: none; }
  }
}

/* Shared rendering styles for all eleven content-module types. */
@layer modules {
  .ik-modules { display: grid; gap: var(--ik-space-6); }
  .ik-module { min-inline-size: 0; }
  .ik-module > :last-child { margin-block-end: 0; }
  .ik-markdown > :first-child { margin-block-start: 0; }
  .ik-markdown > :last-child { margin-block-end: 0; }
  .ik-markdown pre { overflow-x: auto; padding: var(--ik-space-3); border-radius: var(--ik-radius-control); background: var(--ik-surface-subtle); }
  .ik-markdown code { overflow-wrap: anywhere; }
  .ik-markdown blockquote { margin-inline: 0; padding-inline-start: var(--ik-space-4); border-inline-start: var(--ik-space-1) solid var(--ik-border); color: var(--ik-text-secondary); }
  .ik-module--text, .ik-module--list { max-inline-size: var(--ik-width-prose); }
  .ik-module--list li + li { margin-block-start: var(--ik-space-2); }
  .ik-module--action { padding: var(--ik-space-4); border-inline-start: var(--ik-space-1) solid var(--ik-action); background: var(--ik-info-bg); color: var(--ik-info-text); }
  .ik-module--contact { padding: var(--ik-space-4); background: var(--ik-surface-subtle); border-radius: var(--ik-radius-card); font-style: normal; }
  .ik-module--link a, .ik-module--download a, .ik-module--contact a { display: inline-flex; align-items: center; min-block-size: var(--ik-touch-min); }
  .ik-module--info { padding: var(--ik-space-4); background: var(--ik-info-bg); color: var(--ik-info-text); border: 1px solid var(--ik-info-border); border-radius: var(--ik-radius-control); }
  .ik-module--warning { padding: var(--ik-space-4); background: var(--ik-warning-bg); color: var(--ik-warning-text); border: 1px solid var(--ik-warning-border); border-radius: var(--ik-radius-control); }
  .ik-module--image { margin: 0; }
  .ik-module--image img { display: block; margin-inline: auto; border-radius: var(--ik-radius-control); }
  .ik-module--image figcaption { color: var(--ik-text-secondary); font-size: var(--ik-text-sm); margin-block-start: var(--ik-space-2); }
}
