/* INF-065 Crypto reference UI v1.0.0 */
[data-inf065-legacy-crypto="true"] { display: none !important; }

[data-inf065-header-slot] {
  display: flex;
  align-items: stretch;
  flex: 0 0 auto;
}

.inf065-header-button {
  appearance: none;
  border: 0;
  margin: 0;
  padding: 0 10px;
  min-width: 42px;
  min-height: 40px;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: rgb(75 85 99);
  background: transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  border-radius: 10px;
  transition: transform 120ms ease, background-color 120ms ease, color 120ms ease;
}
html.dark .inf065-header-button { color: rgb(203 213 225); }
.inf065-header-button:hover,
.inf065-header-button:focus-visible { background: rgba(148,163,184,.12); outline: none; }
.inf065-header-button:focus-visible { box-shadow: 0 0 0 2px rgba(59,130,246,.42); }
.inf065-header-button:active { transform: scale(.97); }
.inf065-header-label { white-space: nowrap; }

.inf065-menu {
  position: fixed;
  z-index: 2147483000;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid rgba(203,213,225,.86);
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  color: rgb(31 41 55);
  box-shadow: 0 18px 48px rgba(15,23,42,.20);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
  opacity: 0;
  transform: translateY(-5px) scale(.985);
  transform-origin: top right;
  transition: opacity 130ms ease, transform 130ms ease;
}
html.dark .inf065-menu {
  border-color: rgba(71,85,105,.9);
  background: rgba(15,23,42,.96);
  color: rgb(226 232 240);
  box-shadow: 0 20px 54px rgba(0,0,0,.42);
}
.inf065-menu-open { opacity: 1; transform: translateY(0) scale(1); }
.inf065-menu-heading {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 14px 10px; font-size: 13px; font-weight: 700;
  color: rgb(71 85 105); border-bottom: 1px solid rgba(226,232,240,.9);
}
html.dark .inf065-menu-heading { color: rgb(203 213 225); border-bottom-color: rgba(51,65,85,.95); }
.inf065-menu-item {
  width: 100%; min-height: 48px; display: flex; align-items: center; gap: 9px;
  border: 0; margin: 0; padding: 10px 14px; background: transparent; color: inherit;
  font: inherit; font-size: 14px; line-height: 1.3; text-align: left; cursor: pointer;
}
.inf065-menu-item:hover,.inf065-menu-item:focus-visible { background: rgba(241,245,249,.92); outline: none; }
html.dark .inf065-menu-item:hover,html.dark .inf065-menu-item:focus-visible { background: rgba(51,65,85,.74); }
.inf065-menu-bullet {
  flex: 0 0 auto; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; background: rgba(59,130,246,.08); color: rgb(71 105 155); font-size: 19px; line-height: 1;
}
html.dark .inf065-menu-bullet { background: rgba(96,165,250,.12); color: rgb(148 184 225); }
.inf065-menu-item-text { min-width: 0; overflow-wrap: anywhere; }

.inf065-modal-overlay {
  position: fixed; inset: 0; z-index: 2147483100; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center; padding: 18px;
  background: rgba(15,23,42,.42); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);
  opacity: 0; transition: opacity 160ms ease;
}
.inf065-modal-overlay.inf065-modal-open { opacity: 1; }
.inf065-modal-dialog {
  width: min(1180px,100%); height: min(90vh,940px); min-height: 420px;
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid rgba(203,213,225,.88); border-radius: 18px;
  background: rgb(248 250 252); color: rgb(15 23 42);
  box-shadow: 0 28px 80px rgba(15,23,42,.30);
  transform: translateY(9px) scale(.992); transition: transform 160ms ease;
}
.inf065-modal-open .inf065-modal-dialog { transform: translateY(0) scale(1); }
html.dark .inf065-modal-dialog {
  border-color: rgba(71,85,105,.92); background: rgb(2 6 23); color: rgb(226 232 240);
  box-shadow: 0 30px 90px rgba(0,0,0,.56);
}
.inf065-modal-top {
  flex: 0 0 auto; min-height: 58px; display: grid; grid-template-columns: 1fr auto;
  align-items: center; gap: 12px; padding: 10px 14px 10px 18px;
  border-bottom: 1px solid rgb(226 232 240); background: rgba(255,255,255,.94);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
html.dark .inf065-modal-top { border-bottom-color: rgb(30 41 59); background: rgba(15,23,42,.94); }
.inf065-modal-title { font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
.inf065-modal-close,.inf065-mobile-back,.inf065-popover-close {
  appearance: none; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer;
  border-radius: 9px;
}
.inf065-modal-close { width: 38px; height: 38px; font-size: 27px; line-height: 1; color: rgb(100 116 139); }
html.dark .inf065-modal-close { color: rgb(148 163 184); }
.inf065-modal-close:hover,.inf065-modal-close:focus-visible,.inf065-mobile-back:hover,.inf065-mobile-back:focus-visible { background: rgba(148,163,184,.13); outline: none; }
.inf065-mobile-back { display: none; }

.inf065-modal-body { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 260px minmax(0,1fr); }
.inf065-tree {
  min-width: 0; overflow-y: auto; padding: 14px 10px;
  border-right: 1px solid rgb(226 232 240); background: rgba(255,255,255,.64);
}
html.dark .inf065-tree { border-right-color: rgb(30 41 59); background: rgba(15,23,42,.48); }
.inf065-tree-group { margin: 2px 0; }
.inf065-tree-item,.inf065-tree-child {
  appearance: none; width: 100%; border: 0; color: inherit; background: transparent; font: inherit;
  text-align: left; cursor: pointer; border-radius: 9px;
}
.inf065-tree-item { min-height: 42px; display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 5px; align-items: center; padding: 8px 9px; font-size: 13px; line-height: 1.28; }
.inf065-tree-child { min-height: 38px; margin: 1px 0; padding: 7px 8px 7px 37px; font-size: 12.5px; line-height: 1.3; color: rgb(71 85 105); }
html.dark .inf065-tree-child { color: rgb(180 194 214); }
.inf065-tree-item:hover,.inf065-tree-item:focus-visible,.inf065-tree-child:hover,.inf065-tree-child:focus-visible { background: rgba(226,232,240,.62); outline: none; }
html.dark .inf065-tree-item:hover,html.dark .inf065-tree-item:focus-visible,html.dark .inf065-tree-child:hover,html.dark .inf065-tree-child:focus-visible { background: rgba(51,65,85,.58); }
.inf065-tree-item[aria-current="page"],.inf065-tree-child[aria-current="page"] { background: rgba(71,105,155,.10); color: rgb(40 75 125); font-weight: 650; }
html.dark .inf065-tree-item[aria-current="page"],html.dark .inf065-tree-child[aria-current="page"] { background: rgba(96,165,250,.12); color: rgb(181 211 245); }
.inf065-tree-chevron { color: rgb(100 116 139); text-align: center; }
.inf065-tree-label { min-width: 0; }

.inf065-main { min-width: 0; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 18px 22px 28px; scroll-behavior: smooth; }
.inf065-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 10px; color: rgb(100 116 139); font-size: 12px; line-height: 1.35; }
html.dark .inf065-breadcrumb { color: rgb(132 151 178); }
.inf065-breadcrumb-sep { opacity: .55; }
.inf065-page-title { margin: 0 0 18px; font-size: clamp(21px,2vw,28px); line-height: 1.16; letter-spacing: -.025em; }
.inf065-section-heading { margin: 24px 0 12px; font-size: 18px; line-height: 1.25; }
.inf065-subheading { margin: 14px 0 7px; font-size: 13px; line-height: 1.3; color: rgb(71 85 105); }
html.dark .inf065-subheading { color: rgb(181 195 216); }
.inf065-lead { margin: 0 0 16px; color: rgb(71 85 105); line-height: 1.55; }
html.dark .inf065-lead { color: rgb(180 194 214); }
.inf065-text,.inf065-text-line,.inf065-documents,.inf065-phase-text,.inf065-role-text { font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.inf065-text-line { margin: 5px 0; }
.inf065-bullets { margin: 6px 0 8px 20px; padding: 0; }
.inf065-bullets li { margin: 5px 0; padding-left: 1px; }

.inf065-term {
  appearance: none; border: 0; padding: 0; margin: 0; background: transparent; color: rgb(68 92 128);
  font: inherit; font-weight: inherit; line-height: inherit; cursor: help;
  border-bottom: 1px dotted rgba(68,92,128,.48); text-decoration: none;
}
html.dark .inf065-term { color: rgb(166 188 217); border-bottom-color: rgba(166,188,217,.44); }
.inf065-term:hover,.inf065-term:focus-visible { color: rgb(48 78 122); border-bottom-color: currentColor; outline: none; }
html.dark .inf065-term:hover,html.dark .inf065-term:focus-visible { color: rgb(191 213 240); }
.inf065-popover {
  position: fixed; z-index: 2147483300; box-sizing: border-box; width: max-content; min-width: 230px;
  max-height: min(58vh,420px); overflow: auto; padding: 0;
  border: 1px solid rgba(203,213,225,.96); border-radius: 12px; background: rgba(255,255,255,.985); color: rgb(30 41 59);
  box-shadow: 0 16px 42px rgba(15,23,42,.22); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  opacity: 0; transform: translateY(3px); transition: opacity 100ms ease, transform 100ms ease;
}
html.dark .inf065-popover { border-color: rgba(71,85,105,.95); background: rgba(15,23,42,.985); color: rgb(226 232 240); box-shadow: 0 18px 46px rgba(0,0,0,.5); }
.inf065-popover-open { opacity: 1; transform: translateY(0); }
.inf065-popover-top { display: grid; grid-template-columns: minmax(0,1fr) 30px; align-items: start; gap: 8px; padding: 10px 9px 5px 12px; }
.inf065-popover-title { min-width: 0; font-size: 13px; line-height: 1.35; }
.inf065-popover-close { width: 28px; height: 28px; font-size: 20px; line-height: 1; color: rgb(100 116 139); }
.inf065-popover-close:hover,.inf065-popover-close:focus-visible { background: rgba(148,163,184,.13); outline: none; }
.inf065-popover-text { padding: 2px 12px 12px; font-size: 13px; line-height: 1.48; overflow-wrap: anywhere; }
.inf065-crossref,.inf065-inline-nav {
  appearance: none; border: 0; background: transparent; color: rgb(55 87 132); font: inherit; cursor: pointer;
  padding: 0; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px;
}
html.dark .inf065-crossref,html.dark .inf065-inline-nav { color: rgb(167 194 226); }
.inf065-inline-nav { display: inline-block; margin-top: 10px; font-weight: 600; text-decoration: none; }

.inf065-card,.inf065-requirement,.inf065-qualification-card,.inf065-official-card,.inf065-decision-card,.inf065-choice-card {
  box-sizing: border-box; border: 1px solid rgb(226 232 240); border-radius: 13px; background: rgba(255,255,255,.83);
  box-shadow: 0 2px 9px rgba(15,23,42,.035);
}
html.dark .inf065-card,html.dark .inf065-requirement,html.dark .inf065-qualification-card,html.dark .inf065-official-card,html.dark .inf065-decision-card,html.dark .inf065-choice-card { border-color: rgb(40 52 71); background: rgba(15,23,42,.74); box-shadow: 0 2px 10px rgba(0,0,0,.12); }
.inf065-transition-card { margin: 0 0 10px; }
.inf065-card-summary,.inf065-requirement-summary,.inf065-qualification-summary { cursor: pointer; list-style: none; }
.inf065-card-summary::-webkit-details-marker,.inf065-requirement-summary::-webkit-details-marker,.inf065-qualification-summary::-webkit-details-marker { display: none; }
.inf065-card-summary { min-height: 50px; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 8px; padding: 10px 13px; }
.inf065-step-number,.inf065-requirement-number {
  flex: 0 0 auto; width: 25px; height: 25px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; background: rgba(71,105,155,.09); color: rgb(65 91 128); font-size: 12px; font-weight: 700;
}
html.dark .inf065-step-number,html.dark .inf065-requirement-number { background: rgba(96,165,250,.11); color: rgb(165 195 229); }
.inf065-card-title { font-size: 14px; font-weight: 650; line-height: 1.35; }
.inf065-card-body { padding: 0 14px 15px; }
.inf065-timeline { display: grid; gap: 9px; margin-top: 9px; }
.inf065-phase { position: relative; padding: 11px 12px 11px 15px; border-left: 2px solid rgba(71,105,155,.28); border-radius: 0 9px 9px 0; background: rgba(241,245,249,.7); }
html.dark .inf065-phase { border-left-color: rgba(148,184,225,.28); background: rgba(30,41,59,.48); }
.inf065-phase-period { margin-bottom: 6px; font-size: 13px; font-weight: 700; line-height: 1.4; }
.inf065-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.inf065-satellite-card { padding: 12px 14px; }
.inf065-static-card-head { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 8px; align-items: start; margin-bottom: 8px; }
.inf065-card-title-block .inf065-text-line { margin: 0; font-weight: 650; }

.inf065-scenario-wrap,.inf065-entity-filter { margin-bottom: 13px; }
.inf065-control-label { margin: 0 0 6px; color: rgb(100 116 139); font-size: 12px; font-weight: 650; }
html.dark .inf065-control-label { color: rgb(148 163 184); }
.inf065-segmented { display: flex; flex-wrap: wrap; gap: 6px; }
.inf065-segment,.inf065-tab {
  appearance: none; border: 1px solid rgb(203 213 225); background: rgba(255,255,255,.8); color: rgb(51 65 85);
  font: inherit; font-size: 12.5px; line-height: 1.3; border-radius: 9px; padding: 8px 10px; cursor: pointer;
}
html.dark .inf065-segment,html.dark .inf065-tab { border-color: rgb(51 65 85); background: rgba(15,23,42,.72); color: rgb(203 213 225); }
.inf065-segment:hover,.inf065-segment:focus-visible,.inf065-tab:hover,.inf065-tab:focus-visible { border-color: rgb(148 163 184); outline: none; }
.inf065-segment.inf065-active,.inf065-tab.inf065-active { border-color: rgba(71,105,155,.48); background: rgba(71,105,155,.10); color: rgb(42 77 126); font-weight: 650; }
html.dark .inf065-segment.inf065-active,html.dark .inf065-tab.inf065-active { border-color: rgba(148,184,225,.46); background: rgba(96,165,250,.11); color: rgb(190 215 243); }
.inf065-mobile-select { display: none; width: 100%; min-height: 44px; margin: 0; padding: 8px 36px 8px 10px; border: 1px solid rgb(203 213 225); border-radius: 10px; background: rgb(255 255 255); color: rgb(30 41 59); font: inherit; font-size: 14px; }
html.dark .inf065-mobile-select { border-color: rgb(51 65 85); background: rgb(15 23 42); color: rgb(226 232 240); }
.inf065-decision-card { display: flex; align-items: baseline; gap: 12px; padding: 11px 13px; margin-bottom: 12px; }
.inf065-decision-label { flex: 0 0 auto; color: rgb(100 116 139); font-size: 12px; }
.inf065-decision-value { min-width: 0; font-size: 13px; line-height: 1.4; }
.inf065-requirements { display: grid; gap: 8px; }
.inf065-requirement-summary,.inf065-qualification-summary { min-height: 48px; display: grid; grid-template-columns: 29px minmax(0,1fr); gap: 8px; align-items: center; padding: 9px 12px; }
.inf065-requirement-title,.inf065-qualification-title { font-size: 13.5px; font-weight: 650; line-height: 1.35; }
.inf065-requirement-body,.inf065-qualification-body { padding: 2px 13px 14px 49px; }
.inf065-requirement-summary-text { padding: 8px 10px; margin-bottom: 10px; border-radius: 9px; background: rgba(241,245,249,.76); }
html.dark .inf065-requirement-summary-text { background: rgba(30,41,59,.5); }
.inf065-explanation,.inf065-reputation-doc { margin-top: 9px; border: 1px solid rgba(203,213,225,.78); border-radius: 9px; background: rgba(248,250,252,.65); }
html.dark .inf065-explanation,html.dark .inf065-reputation-doc { border-color: rgba(51,65,85,.9); background: rgba(30,41,59,.34); }
.inf065-explanation > summary,.inf065-reputation-doc > summary { cursor: pointer; padding: 9px 10px; font-size: 13px; font-weight: 650; }
.inf065-explanation > .inf065-text,.inf065-reputation-doc > .inf065-documents { padding: 0 10px 10px; }

.inf065-tabs { display: flex; gap: 6px; margin-bottom: 15px; }
.inf065-tab { min-height: 42px; padding: 8px 13px; }
.inf065-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.inf065-choice-card { appearance: none; min-height: 146px; padding: 16px; color: inherit; text-align: left; font: inherit; cursor: pointer; display: flex; flex-direction: column; gap: 8px; }
.inf065-choice-card:hover,.inf065-choice-card:focus-visible { border-color: rgba(71,105,155,.38); box-shadow: 0 8px 24px rgba(15,23,42,.08); outline: none; }
.inf065-choice-card strong { font-size: 16px; }
.inf065-choice-card span { font-size: 13px; line-height: 1.45; color: rgb(100 116 139); }
html.dark .inf065-choice-card span { color: rgb(148 163 184); }
.inf065-choice-arrow { margin-top: auto; color: rgb(65 91 128) !important; font-weight: 650; }
html.dark .inf065-choice-arrow { color: rgb(166 196 228) !important; }
.inf065-official-card { padding: 14px; }
.inf065-official-card .inf065-section-heading { margin-top: 0; }
.inf065-lead-block { margin-bottom: 12px; }
.inf065-person-list { margin: 6px 0 16px 20px; padding: 0; }
.inf065-person-list li { margin: 6px 0; font-size: 14px; line-height: 1.45; }
.inf065-qualification-list { display: grid; gap: 8px; }
.inf065-standard-experience { margin-top: 12px; }
.inf065-target-flash { animation: inf065-target-flash 1.35s ease; }
@keyframes inf065-target-flash { 0%,100% { box-shadow: 0 2px 9px rgba(15,23,42,.035); } 30% { box-shadow: 0 0 0 3px rgba(71,105,155,.2), 0 8px 28px rgba(71,105,155,.14); } }
.inf065-loading,.inf065-error { padding: 24px; font-size: 14px; color: rgb(100 116 139); }
.inf065-error { color: rgb(153 27 27); }

@media (max-width: 900px) and (min-width: 769px) {
  .inf065-modal-body { grid-template-columns: 220px minmax(0,1fr); }
  .inf065-tree { padding-left: 8px; padding-right: 8px; }
  .inf065-main { padding-left: 18px; padding-right: 18px; }
}

@media (max-width: 768px) {
  .inf065-header-label { display: none; }
  .inf065-header-button { width: 40px; min-width: 40px; min-height: 40px; padding: 0; }
  .inf065-modal-overlay { padding: 0; background: rgb(248 250 252); }
  html.dark .inf065-modal-overlay { background: rgb(2 6 23); }
  .inf065-modal-dialog { width: 100%; height: 100dvh; min-height: 100%; border: 0; border-radius: 0; box-shadow: none; transform: none; }
  .inf065-modal-top { min-height: 54px; grid-template-columns: auto minmax(0,1fr) auto; padding: 7px 8px; }
  .inf065-mobile-back { display: inline-flex; min-height: 40px; align-items: center; padding: 0 9px; font-size: 13px; color: rgb(71 85 105); }
  html.dark .inf065-mobile-back { color: rgb(203 213 225); }
  .inf065-modal-title { font-size: 15px; text-align: center; }
  .inf065-tree { display: none; }
  .inf065-modal-body { display: block; min-height: 0; }
  .inf065-main { height: calc(100dvh - 54px); padding: 14px 12px 28px; overscroll-behavior: contain; }
  .inf065-breadcrumb { margin-bottom: 8px; font-size: 11px; white-space: normal; }
  .inf065-breadcrumb-item { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  .inf065-page-title { margin-bottom: 14px; font-size: 21px; }
  .inf065-grid,.inf065-choice-grid { grid-template-columns: 1fr; }
  .inf065-choice-card { min-height: 118px; }
  .inf065-segmented { display: none; }
  .inf065-mobile-select { display: block; }
  .inf065-entity-filter .inf065-segmented { display: flex; }
  .inf065-entity-filter .inf065-segment { flex: 1 1 120px; min-height: 44px; }
  .inf065-decision-card { display: block; padding: 10px 11px; }
  .inf065-decision-label { display: block; margin-bottom: 4px; }
  .inf065-requirement-summary,.inf065-qualification-summary { min-height: 50px; padding: 9px 10px; }
  .inf065-requirement-body,.inf065-qualification-body { padding: 2px 10px 13px; }
  .inf065-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .inf065-tab { min-height: 46px; padding: 7px 8px; font-size: 12px; }
  .inf065-popover { min-width: 0; max-height: 48vh; }
  .inf065-card-summary { min-height: 52px; }
  .inf065-phase { padding-left: 12px; }
  .inf065-menu { max-height: calc(100dvh - 16px); overflow-y: auto; }
}

@media (max-width: 420px) {
  .inf065-main { padding-left: 10px; padding-right: 10px; }
  .inf065-tabs { grid-template-columns: 1fr; }
  .inf065-page-title { font-size: 20px; }
  .inf065-text,.inf065-text-line,.inf065-documents,.inf065-phase-text,.inf065-role-text { font-size: 13.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .inf065-menu,.inf065-modal-overlay,.inf065-modal-dialog,.inf065-popover,.inf065-header-button { transition: none !important; animation: none !important; }
  .inf065-target-flash { animation: none !important; box-shadow: 0 0 0 3px rgba(71,105,155,.18); }
}
