/* Generated by build.py from tokens.json. Do not edit by hand. */
:root {
  --nn-color-gray-0: #FFFFFF;
  --nn-color-gray-50: #FAFAF9;
  --nn-color-gray-100: #F5F5F3;
  --nn-color-gray-150: #EFEFED;
  --nn-color-gray-200: #E9E9E7;
  --nn-color-gray-300: #D6D6D2;
  --nn-color-gray-500: #7A7A76;
  --nn-color-gray-600: #646460;
  --nn-color-gray-700: #454542;
  --nn-color-gray-800: #343434;
  --nn-color-gray-950: #191919;
  --nn-color-status-error: #A32D2D;
  --nn-color-status-error-bg: #FFF3F2;
  --nn-color-status-success: #266143;
  --nn-color-status-success-bg: #F0F7F2;
  --nn-color-status-warning: #785417;
  --nn-color-status-warning-bg: #FFF7E6;
  --nn-surface-canvas: var(--nn-color-gray-0);
  --nn-surface-raised: var(--nn-color-gray-0);
  --nn-surface-subtle: var(--nn-color-gray-100);
  --nn-surface-hover: var(--nn-color-gray-150);
  --nn-surface-selected: var(--nn-color-gray-150);
  --nn-surface-disabled: var(--nn-color-gray-200);
  --nn-surface-inverse: var(--nn-color-gray-950);
  --nn-text-primary: var(--nn-color-gray-950);
  --nn-text-secondary: var(--nn-color-gray-600);
  --nn-text-disabled: var(--nn-color-gray-600);
  --nn-text-inverse: var(--nn-color-gray-0);
  --nn-border-subtle: var(--nn-color-gray-200);
  --nn-border-control: var(--nn-color-gray-500);
  --nn-border-selected: var(--nn-color-gray-950);
  --nn-focus-ring: var(--nn-color-gray-950);
  --nn-focus-gap: var(--nn-color-gray-0);
  --nn-action-primary: var(--nn-color-gray-950);
  --nn-action-hover: var(--nn-color-gray-800);
  --nn-action-pressed: var(--nn-color-gray-700);
  --nn-status-error: var(--nn-color-status-error);
  --nn-status-error-bg: var(--nn-color-status-error-bg);
  --nn-status-success: var(--nn-color-status-success);
  --nn-status-success-bg: var(--nn-color-status-success-bg);
  --nn-status-warning: var(--nn-color-status-warning);
  --nn-status-warning-bg: var(--nn-color-status-warning-bg);
  --nn-overlay-backdrop: rgba(0, 0, 0, 0.40);
  --nn-font-family-ui: Inter, "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --nn-font-family-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --nn-font-size-caption: .75rem;
  --nn-font-size-meta: .8125rem;
  --nn-font-size-label: .875rem;
  --nn-font-size-body: 1rem;
  --nn-font-size-lead: 1.125rem;
  --nn-font-size-title: 1.5rem;
  --nn-font-size-section: 2rem;
  --nn-font-size-display: 2.5rem;
  --nn-font-weight-regular: 400;
  --nn-font-weight-medium: 500;
  --nn-font-weight-semibold: 600;
  --nn-font-weight-bold: 700;
  --nn-font-line-tight: 1.25;
  --nn-font-line-label: 1.4;
  --nn-font-line-body: 1.6;
  --nn-font-line-prompt: 1.8;
  --nn-font-tracking-tight: -0.02em;
  --nn-font-tracking-normal: 0em;
  --nn-font-tracking-wide: 0.04em;
  --nn-space-0: 0px;
  --nn-space-2: 2px;
  --nn-space-4: 4px;
  --nn-space-8: 8px;
  --nn-space-12: 12px;
  --nn-space-16: 16px;
  --nn-space-20: 20px;
  --nn-space-24: 24px;
  --nn-space-32: 32px;
  --nn-space-40: 40px;
  --nn-space-48: 48px;
  --nn-space-64: 64px;
  --nn-space-80: 80px;
  --nn-inset-mobile: var(--nn-space-16);
  --nn-inset-tablet: var(--nn-space-24);
  --nn-inset-desktop: var(--nn-space-32);
  --nn-inset-wide: var(--nn-space-48);
  --nn-gap-mobile: var(--nn-space-16);
  --nn-gap-desktop: var(--nn-space-24);
  --nn-breakpoint-tablet: 640px;
  --nn-breakpoint-desktop: 1024px;
  --nn-breakpoint-wide: 1440px;
  --nn-width-page: 1680px;
  --nn-width-reading: 680px;
  --nn-width-dialog: 480px;
  --nn-width-detail: 1200px;
  --nn-width-inspector: 400px;
  --nn-grid-columns-mobile: 1;
  --nn-grid-columns-tablet: 2;
  --nn-grid-columns-desktop: 3;
  --nn-grid-columns-wide: 4;
  --nn-layout-gutter: var(--nn-inset-mobile);
  --nn-layout-gap: var(--nn-gap-mobile);
  --nn-layout-columns: var(--nn-grid-columns-mobile);
  --nn-control-min: 44px;
  --nn-control-large: 48px;
  --nn-control-icon: 20px;
  --nn-control-header: 72px;
  --nn-radius-none: 0px;
  --nn-radius-small: 6px;
  --nn-radius-media: 8px;
  --nn-radius-panel: 16px;
  --nn-radius-pill: 999px;
  --nn-border-width: 1px;
  --nn-focus-width: 2px;
  --nn-focus-offset: var(--nn-space-4);
  --nn-shadow-none: none;
  --nn-shadow-popover: 0 8px 24px rgba(0, 0, 0, 0.10);
  --nn-shadow-dialog: 0 16px 48px rgba(0, 0, 0, 0.14);
  --nn-layer-base: 0;
  --nn-layer-sticky: 10;
  --nn-layer-popover: 20;
  --nn-layer-backdrop: 30;
  --nn-layer-dialog: 40;
  --nn-layer-toast: 50;
  --nn-duration-instant: 0ms;
  --nn-duration-fast: 120ms;
  --nn-duration-normal: 180ms;
  --nn-duration-slow: 240ms;
  --nn-motion-hover: var(--nn-duration-fast);
  --nn-motion-panel: var(--nn-duration-normal);
  --nn-motion-reorder: var(--nn-duration-slow);
  --nn-motion-ease: cubic-bezier(0.2, 0, 0, 1);
  --nn-motion-distance: 4px;
  --nn-media-file-ratio: 4 / 3;
  --nn-media-max-height: 70dvh;
  --nn-measure-prompt: 72ch;
  --nn-width-tree: 248px;
  --nn-width-resource: 1320px;
  --nn-width-config: 280px;
  --nn-tree-indent: 12px;
  --nn-inset-resource: 40px;
  --nn-gap-resource: 48px;
  --nn-font-size-resource: 2.375rem;
  --nn-radius-action: 8px;
  --nn-gallery-ink: #2D352A;
  --nn-gallery-muted: #64705B;
  --nn-gallery-surface: #F3F5EF;
  --nn-gallery-selected: #EDF1E6;
  --nn-gallery-control: #7D8971;
  --nn-gallery-accent: #516C3A;
}
@media (min-width: 640px) {
  :root {
    --nn-layout-gutter: var(--nn-inset-tablet);
    --nn-layout-gap: var(--nn-gap-desktop);
    --nn-layout-columns: var(--nn-grid-columns-tablet);
  }
}
@media (min-width: 1024px) {
  :root {
    --nn-layout-gutter: var(--nn-inset-desktop);
    --nn-layout-gap: var(--nn-gap-desktop);
    --nn-layout-columns: var(--nn-grid-columns-desktop);
  }
}
@media (min-width: 1440px) {
  :root {
    --nn-layout-gutter: var(--nn-inset-wide);
    --nn-layout-gap: var(--nn-gap-desktop);
    --nn-layout-columns: var(--nn-grid-columns-wide);
  }
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --nn-motion-hover: var(--nn-duration-instant);
    --nn-motion-panel: var(--nn-duration-instant);
    --nn-motion-reorder: var(--nn-duration-instant);
    --nn-motion-distance: var(--nn-space-0);
  }
}
