:root {
  --rh-primary: #3182F6;
  --rh-primary-hover: #1B64DA;
  --rh-primary-soft: #E8F3FF;
  --rh-ink: #191F28;
  --rh-sub: #4E5968;
  --rh-muted: #8B95A1;
  --rh-paper: #FFFFFF;
  --rh-soft: #F2F4F6;
  --rh-border: #E5E8EB;
  --rh-ring: rgba(49, 130, 246, .22);
  --rh-shadow-color: rgba(25, 31, 40, .12);
  --rh-overlay: rgba(25, 31, 40, .32);
  --rh-naver: #03C75A;
  --rh-naver-hover: #02B350;
  --rh-daangn: #FF6F0F;
  --rh-daangn-hover: #E86000;
  --rh-success: #08783E;
  --rh-danger: #B42318;
  --rh-danger-soft: #FFF7F6;
  --rh-surface-muted: #F8FAFC;
  --rh-highlight: #DDFB63;
  --rh-sans: "Pretendard Variable", "Pretendard", "SF Pro Display", "SF Pro Text", "Apple SD Gothic Neo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rh-space-1: 4px;
  --rh-space-2: 8px;
  --rh-space-3: 12px;
  --rh-space-4: 16px;
  --rh-space-5: 20px;
  --rh-space-6: 24px;
  --rh-space-8: 32px;
  --rh-space-10: 40px;
  --rh-space-12: 48px;
  --rh-highlight-mark-height: 8px;
  --rh-admin-editor-width: 600px;
  --rh-admin-editor-control-height: 40px;
  --rh-admin-thumbnail-drop-min-height: 112px;
  --rh-admin-thumbnail-preview-width: 392px;
  --rh-admin-card-action-height: 32px;
  --rh-admin-console-max-width: 1400px;
  --rh-admin-console-table-min-width: 1080px;
  --rh-admin-console-thumbnail-width: 72px;
  --rh-admin-console-row-min-height: 72px;
  --rh-admin-console-search-min-width: 280px;
  --rh-admin-console-metric-min-width: 180px;
  --rh-archive-controls-max-width: 608px;
  --rh-archive-board-title-min-width: 192px;
  --rh-comment-explorer-dialog-width: 760px;
  --rh-admin-console-title-size: 32px;
  --rh-admin-console-metric-size: 24px;
  --rh-admin-console-table-size: 12px;
  --rh-daangn-logo-width: 68px;
  --rh-daangn-logo-height: 40px;
  --rh-daangn-logo-width-compact: 60px;
  --rh-daangn-logo-height-compact: 34px;
  --rh-private-dialog-width: 480px;
  --rh-private-cover-width: 160px;
  --rh-private-card-min-height: 136px;
  --rh-private-viewer-min-height: 720px;
  --rh-control-font-size: 12px;
  --rh-label-font-size: 11px;
  --rh-radius-2: 8px;
  --rh-radius-3: 12px;
  --rh-radius-4: 16px;
  --rh-motion-fast: 180ms;
  --rh-ease: ease-out;
  --rh-logo-width: 196px;
  --rh-logo-height: 44px;
  --rh-logo-width-compact: 158px;
  --rh-logo-height-compact: 36px;
  --rh-logo-mark-width: 52px;
  --rh-logo-mark-height: 44px;
  --rh-logo-mark-width-compact: 42px;
  --rh-logo-mark-height-compact: 36px;
  --rh-logo-mark-width-mobile: 38px;
  --rh-logo-mark-height-mobile: 32px;
  --rh-logo-shimmer-band-width: 44%;
  --rh-logo-shimmer-band: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0) 12%, rgba(255, 255, 255, .82) 50%, rgba(255, 255, 255, 0) 88%, transparent 100%);
  --rh-logo-shimmer-opacity: .68;
  --rh-logo-shimmer-reduced-opacity: .18;
  --rh-logo-shimmer-start: -180%;
  --rh-logo-shimmer-end: 420%;
  --rh-logo-shimmer-reduced-position: 136%;
  --rh-logo-shimmer-skew: -18deg;
  --rh-logo-shimmer-duration: 6800ms;
  --rh-logo-shimmer-ease: cubic-bezier(.22, .61, .36, 1);
  --rh-clock-date-size: 13px;
  --rh-clock-time-size: 22px;
  --rh-clock-date-size-compact: 11px;
  --rh-clock-time-size-compact: 18px;
  --rh-menu-min-height: 72px;
  --rh-report-menu-content-gap: 24px;
  --rh-mobile-top-threshold: 8px;
  --rh-archive-mobile-height: 112px;
}

.report-hub-floating-menu {
  position: fixed;
  top: var(--rh-space-4);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2147483000;
  display: flex;
  align-items: center;
  min-height: var(--rh-menu-min-height);
  max-width: calc(100vw - 32px);
  padding: var(--rh-space-2) var(--rh-space-3);
  border: 1px solid var(--rh-border);
  border-radius: var(--rh-radius-4);
  background: var(--rh-paper);
  box-shadow: 0 8px 24px var(--rh-shadow-color);
  font-family: var(--rh-sans);
}

.report-home-button {
  position: static !important;
  z-index: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 var(--rh-space-1) !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: var(--rh-radius-2) !important;
  color: var(--rh-primary) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: var(--rh-sans) !important;
  text-decoration: none !important;
  transform: none !important;
  transition: color var(--rh-motion-fast) var(--rh-ease), transform var(--rh-motion-fast) var(--rh-ease) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.report-hub-brand-copy {
  position: relative;
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
}

.report-hub-logo-image {
  position: relative;
  z-index: 0;
  display: block;
  width: var(--rh-logo-width);
  height: var(--rh-logo-height);
  object-fit: contain;
  object-position: left center;
}

.report-hub-logo-mark-shimmer {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: var(--rh-logo-mark-width);
  height: var(--rh-logo-mark-height);
  overflow: hidden;
  pointer-events: none;
  opacity: var(--rh-logo-shimmer-opacity);
  -webkit-mask-image: url("./report-hub-logo-mark.png");
  mask-image: url("./report-hub-logo-mark.png");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.report-hub-logo-mark-shimmer::before {
  position: absolute;
  top: -25%;
  left: 0;
  width: var(--rh-logo-shimmer-band-width);
  height: 150%;
  content: "";
  background: var(--rh-logo-shimmer-band);
  opacity: 0;
  transform: translateX(var(--rh-logo-shimmer-start)) skewX(var(--rh-logo-shimmer-skew));
  animation: report-hub-logo-mark-shimmer var(--rh-logo-shimmer-duration) var(--rh-logo-shimmer-ease) infinite;
  will-change: transform, opacity;
}

@keyframes report-hub-logo-mark-shimmer {
  0% { opacity: 0; transform: translateX(var(--rh-logo-shimmer-start)) skewX(var(--rh-logo-shimmer-skew)); }
  7% { opacity: 1; }
  24% { opacity: 1; transform: translateX(var(--rh-logo-shimmer-end)) skewX(var(--rh-logo-shimmer-skew)); }
  27%, 100% { opacity: 0; transform: translateX(var(--rh-logo-shimmer-end)) skewX(var(--rh-logo-shimmer-skew)); }
}

.report-hub-brand-cluster {
  display: flex;
  min-width: 0;
  align-items: center;
}

.report-hub-clock {
  display: flex;
  flex: 0 0 auto;
  align-items: baseline;
  gap: var(--rh-space-2);
  margin-left: var(--rh-space-3);
  padding-left: var(--rh-space-3);
  border-left: 1px solid var(--rh-border);
  color: var(--rh-ink);
  font-family: var(--rh-sans);
  font-style: normal;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

.report-hub-clock-date {
  color: var(--rh-muted);
  font-size: var(--rh-clock-date-size);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.report-hub-clock-time {
  color: var(--rh-ink);
  font-size: var(--rh-clock-time-size);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0;
}

.report-home-button:hover { color: var(--rh-primary-hover) !important; }
.report-home-button:active { transform: scale(.98) !important; }
.report-home-button:focus-visible {
  outline: 3px solid var(--rh-ring) !important;
  outline-offset: 2px !important;
}

.report-hub-floating-menu .report-layout-controls {
  flex: 0 0 auto;
  margin-left: var(--rh-space-3);
  padding-left: var(--rh-space-3);
  border-left: 1px solid var(--rh-border);
}

.report-hub-board-link {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rh-space-1);
  margin-left: var(--rh-space-2);
  padding: 0 var(--rh-space-2);
  border-left: 1px solid var(--rh-border);
  color: var(--rh-muted);
  background: transparent;
  font-family: var(--rh-sans);
  font-size: var(--rh-control-font-size);
  font-weight: 800;
  text-decoration: none;
  transition: color var(--rh-motion-fast) var(--rh-ease), background var(--rh-motion-fast) var(--rh-ease);
}

.report-hub-board-link:hover,
.report-hub-board-link:focus-visible { color: var(--rh-primary-hover); background: var(--rh-primary-soft); }
.report-hub-board-link svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.report-hub-board-link:focus-visible { outline: 3px solid var(--rh-ring); outline-offset: 2px; border-radius: var(--rh-radius-2); }

@media (min-width: 701px) and (max-width: 900px) {
  .report-hub-floating-menu {
    right: var(--rh-space-4);
    left: var(--rh-space-4);
    transform: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    max-width: none;
  }

  .report-hub-floating-menu .report-layout-controls {
    grid-column: 1 / -1;
    width: 100%;
    margin: var(--rh-space-2) 0 0;
    padding: var(--rh-space-2) 0 0;
    border-top: 1px solid var(--rh-border);
    border-left: 0;
  }

  .report-hub-board-link { grid-column: 1 / -1; width: 100%; margin: var(--rh-space-2) 0 0; border-top: 1px solid var(--rh-border); border-left: 0; }
}

@media (max-width: 700px) {
  .report-hub-board-link { width: 44px; margin-left: var(--rh-space-1); padding: 0; border-top: 0; border-left: 1px solid var(--rh-border); }
  .report-hub-board-link span { display: none; }
}

.archive-brand.report-hub-brand-link {
  display: inline-flex;
  align-items: center;
  min-height: 56px;
  padding: 0 var(--rh-space-1);
  border-radius: var(--rh-radius-2);
  color: var(--rh-primary) !important;
  background: transparent !important;
  font-family: var(--rh-sans);
  text-decoration: none;
  transition: color var(--rh-motion-fast) var(--rh-ease), transform var(--rh-motion-fast) var(--rh-ease);
}

.archive-brand.report-hub-brand-link:hover { color: var(--rh-primary-hover) !important; }
.archive-brand.report-hub-brand-link:active { transform: scale(.98); }
.archive-brand.report-hub-brand-link:focus-visible { outline: 3px solid var(--rh-ring); outline-offset: 2px; }

.report-title-top-link {
  cursor: pointer;
  transition: opacity var(--rh-motion-fast) var(--rh-ease);
}

.report-title-top-link:hover { opacity: .82; }
.report-title-top-link:focus-visible {
  outline: 3px solid var(--rh-primary) !important;
  outline-offset: 5px !important;
  border-radius: var(--rh-radius-2);
}

@media (max-width: 700px) {
  .report-hub-floating-menu,
  .archive-topbar {
    transition: transform var(--rh-motion-fast) var(--rh-ease), opacity var(--rh-motion-fast) var(--rh-ease);
  }

  .report-hub-floating-menu {
    right: var(--rh-space-4);
    left: var(--rh-space-4);
    transform: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    max-width: none;
  }

  .report-hub-logo-image { width: var(--rh-logo-width-compact); height: var(--rh-logo-height-compact); }
  .report-hub-logo-mark-shimmer { width: var(--rh-logo-mark-width-compact); height: var(--rh-logo-mark-height-compact); }
  .report-hub-clock {
    gap: var(--rh-space-1);
    margin-left: var(--rh-space-2);
    padding-left: var(--rh-space-2);
  }
  .report-hub-clock-date { font-size: var(--rh-clock-date-size-compact); }
  .report-hub-clock-time { font-size: var(--rh-clock-time-size-compact); }
  .report-hub-floating-menu .report-layout-controls {
    grid-column: 1 / -1;
    width: 100%;
    margin: var(--rh-space-2) 0 0;
    padding: var(--rh-space-2) 0 0;
    border-top: 1px solid var(--rh-border);
    border-left: 0;
  }

  .archive-topbar { height: var(--rh-archive-mobile-height); }
  .archive-topbar-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    gap: var(--rh-space-2);
  }
  .archive-topbar .report-hub-brand-cluster { justify-content: space-between; }
  .archive-topbar-actions { justify-content: flex-end; }
  .archive-brand.report-hub-brand-link .report-hub-brand-copy { display: flex !important; }
}

@media (max-width: 430px) {
  .report-hub-floating-menu {
    top: var(--rh-space-2);
    right: var(--rh-space-2);
    left: var(--rh-space-2);
    max-width: none;
    padding: var(--rh-space-2);
    border-radius: var(--rh-radius-3);
  }

  .archive-brand.report-hub-brand-link .report-hub-logo-image { display: block !important; width: 142px; height: 32px; }
  .archive-brand.report-hub-brand-link .report-hub-logo-mark-shimmer { width: var(--rh-logo-mark-width-mobile); height: var(--rh-logo-mark-height-mobile); }
}

@media (max-width: 700px) {
  body .report-hub-floating-menu.is-mobile-scroll-hidden,
  body .archive-topbar.is-mobile-scroll-hidden {
    transform: translateY(calc(-100% - var(--rh-space-3)));
    opacity: 0;
    pointer-events: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .report-home-button,
  .archive-brand.report-hub-brand-link,
  .report-title-top-link,
  .report-hub-floating-menu,
  .archive-topbar { transition: none !important; }
  .report-hub-logo-mark-shimmer::before {
    opacity: var(--rh-logo-shimmer-reduced-opacity);
    transform: translateX(var(--rh-logo-shimmer-reduced-position)) skewX(var(--rh-logo-shimmer-skew));
    animation: none;
  }
}

@media print {
  .report-hub-floating-menu { display: none !important; }
}
