/* Generated from tokens.json and shell-contract.json. Do not edit by hand. */
/* brand-2026.08.4 · shell-2026.08.4 */
:root {
  --3001-breakpoint-compact: 760px;
  --3001-canvas: #FFFFFF;
  --3001-canvas-inverse: #101116;
  --3001-downloader-accent: #D97706;
  --3001-downloader-action: #B84D00;
  --3001-family-blue: #2F67E9;
  --3001-family-blue-deep: #1C52CA;
  --3001-flowdeck-accent: #0E7490;
  --3001-focus-ring: #1C52CA;
  --3001-ink: #101116;
  --3001-ink-inverse: #FFFFFF;
  --3001-ink-soft: #2D3038;
  --3001-line: #DFE3E9;
  --3001-line-strong: #CBD1DA;
  --3001-muted: #686F7C;
  --3001-pdf-accent: #E63B46;
  --3001-pdf-action: #C91D26;
  --3001-photo-accent: #1768E5;
  --3001-photo-action: #0D50BD;
  --3001-schedule-accent: #174E87;
  --3001-schedule-action: #0E3A66;
  --3001-success: #08776F;
  --3001-surface: #F5F6F8;
  --3001-surface-blue: #F3F6FF;
  --3001-surface-inverse: #1B2230;
  --3001-warning: #B84D00;
  --3001-focus-offset: 3px;
  --3001-focus-width: 3px;
  --3001-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --3001-font-sans: "Segoe UI", "Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;
  --3001-motion-fast: 160ms;
  --3001-motion-standard: 240ms;
  --3001-radius-md: 8px;
  --3001-radius-sm: 7px;
  --3001-radius-status: 999px;
  --3001-radius-xs: 4px;
  --3001-shadow-quiet: 0 8px 30px rgba(25, 35, 52, 0.08);
  --3001-family-menu-max: 320px;
  --3001-identity-name-min: 14px;
  --3001-identity-symbol-desktop: 28px;
  --3001-identity-symbol-mobile: 24px;
  --3001-page-max: 1380px;
  --3001-header-height: 68px;
  --3001-shell-header-compact: 88px;
  --3001-space-1: 4px;
  --3001-space-2: 8px;
  --3001-space-3: 12px;
  --3001-space-4: 16px;
  --3001-space-5: 24px;
  --3001-space-6: 32px;
  --3001-gutter-desktop: 24px;
  --3001-gutter-mobile: 18px;
  --3001-display-tracking: 0;
  --3001-heading-tracking: 0;
  --3001-label-tracking: 0;
}

[data-3001-family-shell] {
  box-sizing: border-box;
  min-width: 0;
  color: var(--3001-ink);
  background: var(--3001-canvas);
  font-family: var(--3001-font-sans);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
[data-3001-family-shell] *, [data-3001-family-shell] *::before, [data-3001-family-shell] *::after {
  box-sizing: inherit;
}
[data-3001-skip-link] {
  position: fixed;
  inset: 8px auto auto 8px;
  z-index: 1000;
  padding: var(--3001-space-2) var(--3001-space-3);
  color: var(--3001-canvas);
  background: var(--3001-ink);
  transform: translateY(-160%);
  transition: transform var(--3001-motion-fast) ease;
}
[data-3001-skip-link]:focus { transform: translateY(0); }
[data-3001-family-masthead] {
  height: var(--3001-header-height);
  display: grid;
  grid-template-columns: auto minmax(0, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--3001-space-4);
  width: min(100%, var(--3001-page-max));
  margin-inline: auto;
  padding-inline: var(--3001-gutter-desktop);
  border-bottom: 1px solid var(--3001-line);
}
[data-3001-master-identity], [data-3001-product-identity] {
  display: inline-flex;
  align-items: center;
  gap: var(--3001-space-2);
  min-width: 0;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
}
[data-3001-identity-symbol] {
  display: block;
  flex: 0 0 var(--3001-identity-symbol-desktop);
  width: var(--3001-identity-symbol-desktop);
  height: var(--3001-identity-symbol-desktop);
}
[data-3001-identity-name] {
  min-width: 0;
  font-size: var(--3001-identity-name-min);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  white-space: nowrap;
}
[data-3001-product-identity] {
  padding-left: var(--3001-space-4);
  border-left: 1px solid var(--3001-line-strong);
}
[data-3001-product-identity] [data-3001-identity-name] {
  font-weight: 650;
}
[data-3001-environment] {
  width: max-content;
  padding: 2px var(--3001-space-2);
  border: 1px solid var(--3001-line-strong);
  border-radius: var(--3001-radius-status);
  color: var(--3001-muted);
  font-size: 0.75rem;
  letter-spacing: 0;
  text-transform: uppercase;
}
[data-3001-family-menu] { justify-self: end; position: relative; }
[data-3001-family-menu] > summary {
  cursor: pointer;
  list-style: none;
  padding: var(--3001-space-2) var(--3001-space-3);
  border: 1px solid var(--3001-line-strong);
  border-radius: var(--3001-radius-sm);
  background: var(--3001-canvas);
  font-size: var(--3001-identity-name-min);
  font-weight: 650;
  letter-spacing: 0;
  white-space: nowrap;
}
[data-3001-family-menu] > summary::-webkit-details-marker { display: none; }
[data-3001-family-navigation] {
  display: none;
  position: fixed;
  z-index: 20;
  inset-block-start: calc(var(--3001-header-height) + var(--3001-space-2));
  inset-inline-end: max(var(--3001-gutter-desktop), calc((100vw - var(--3001-page-max)) / 2 + var(--3001-gutter-desktop)));
  width: min(var(--3001-family-menu-max), calc(100vw - 2 * var(--3001-gutter-mobile)));
  max-height: min(70vh, 420px);
  overflow-x: hidden;
  overflow-y: auto;
  padding: var(--3001-space-3);
  border: 1px solid var(--3001-line-strong);
  border-radius: var(--3001-radius-md);
  background: var(--3001-canvas);
  box-shadow: var(--3001-shadow-quiet);
}
[data-3001-family-menu][open] [data-3001-family-navigation],
[data-3001-family-menu][data-state='open'] [data-3001-family-navigation] {
  display: block;
}
[data-3001-family-navigation] ul {
  display: grid;
  gap: var(--3001-space-1);
  margin: 0;
  padding: 0;
  list-style: none;
}
[data-3001-family-navigation] a {
  display: flex;
  width: 100%;
  min-width: 0;
  padding: var(--3001-space-2);
  border-bottom: 2px solid transparent;
  color: var(--3001-ink-soft);
  font-size: var(--3001-identity-name-min);
  letter-spacing: 0;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
[data-3001-family-navigation] a[aria-current='page'] {
  border-bottom-color: var(--3001-family-blue);
  color: var(--3001-ink);
  font-weight: 700;
}
[data-3001-main], [data-3001-family-footer] {
  width: min(100%, var(--3001-page-max));
  margin-inline: auto;
  padding-inline: var(--3001-gutter-desktop);
}
[data-3001-family-footer] {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  justify-content: space-between;
  gap: var(--3001-space-3) var(--3001-space-5);
  margin-top: var(--3001-space-6);
  padding-block: var(--3001-space-5);
  border-top: 1px solid var(--3001-line);
  color: var(--3001-muted);
  font-size: 0.875rem;
}
[data-3001-family-footer] > * { min-width: 0; }
[data-3001-family-attribution] {
  display: inline-block;
  max-width: 100%;
  color: inherit;
  font: inherit;
  letter-spacing: 0;
  text-decoration-line: underline;
  text-decoration-thickness: from-font;
  text-underline-offset: 0.18em;
  overflow-wrap: anywhere;
}
[data-3001-family-shell][data-3001-surface='dark'] [data-3001-family-footer] {
  border-top-color: var(--3001-line-strong);
  color: var(--3001-ink-inverse);
}
[data-3001-family-shell] :focus-visible {
  outline: var(--3001-focus-width) solid var(--3001-focus-ring);
  outline-offset: var(--3001-focus-offset);
}

@media (max-width: 760px) {
  [data-3001-family-masthead] {
    height: var(--3001-shell-header-compact);
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: var(--3001-space-2);
    padding: var(--3001-space-2) var(--3001-gutter-mobile);
  }
  [data-3001-identity-symbol] {
    flex-basis: var(--3001-identity-symbol-mobile);
    width: var(--3001-identity-symbol-mobile);
    height: var(--3001-identity-symbol-mobile);
  }
  [data-3001-master-identity] { grid-column: 1; grid-row: 1; }
  [data-3001-family-shell][data-current-identity-role='master'] [data-3001-master-identity] {
    grid-row: 1 / 3;
    align-self: center;
  }
  [data-3001-product-identity] {
    grid-column: 1 / 4;
    grid-row: 2;
    padding-left: 0;
    border-left: 0;
  }
  [data-3001-environment] { grid-column: 2; grid-row: 1; }
  [data-3001-family-menu] { grid-column: 3; grid-row: 1; }
  [data-3001-family-navigation] {
    inset-block-start: calc(var(--3001-shell-header-compact) + var(--3001-space-2));
    inset-inline-end: var(--3001-gutter-mobile);
  }
  [data-3001-main], [data-3001-family-footer] { padding-inline: var(--3001-gutter-mobile); }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --3001-motion-fast: 0.01ms;
    --3001-motion-standard: 0.01ms;
  }
  [data-3001-family-shell], [data-3001-family-shell] * {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
