:root {
  color-scheme: dark;
  --canvas: #080d13;
  --surface: rgba(15, 23, 32, 0.93);
  --surface-2: #111b26;
  --surface-3: #0b131c;
  --line: rgba(153, 177, 198, 0.16);
  --line-strong: rgba(153, 177, 198, 0.3);
  --text: #f3f7fa;
  --muted: #9aaab7;
  --subtle: #677887;
  --cyan: #65e7d0;
  --blue: #76aefc;
  --amber: #efbd68;
  --red: #ff777d;
  --violet: #ac9cff;
  --cyan-soft: rgba(101, 231, 208, 0.11);
  --blue-soft: rgba(118, 174, 252, 0.11);
  --amber-soft: rgba(239, 189, 104, 0.11);
  --red-soft: rgba(255, 119, 125, 0.11);
  --shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
  font-family: "Pretendard Variable", Pretendard, "Noto Sans KR",
    "Apple SD Gothic Neo", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 18% -10%, rgba(44, 119, 126, 0.18), transparent 32%),
    radial-gradient(circle at 90% 8%, rgba(81, 75, 144, 0.13), transparent 26%),
    linear-gradient(180deg, #0a1118, var(--canvas) 74%);
}
button, a { font: inherit; }
button { color: inherit; }
.is-hidden { display: none !important; }

.office-shell {
  width: min(1580px, 100%);
  margin: 0 auto;
  padding: 0 28px 56px;
}

.topbar {
  position: sticky;
  z-index: 50;
  top: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 76px;
  border-bottom: 1px solid var(--line);
  background: rgba(8, 13, 19, 0.84);
  backdrop-filter: blur(22px);
}
.brand {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 12px;
  color: inherit;
  text-decoration: none;
}
.brand-mark {
  display: grid;
  grid-template-columns: repeat(3, 5px);
  align-items: end;
  gap: 3px;
  width: 30px;
  height: 30px;
  padding: 6px;
  border: 1px solid rgba(101, 231, 208, 0.28);
  border-radius: 9px;
  background: var(--cyan-soft);
}
.brand-mark i { display: block; border-radius: 2px; background: var(--cyan); }
.brand-mark i:nth-child(1) { height: 8px; opacity: .48; }
.brand-mark i:nth-child(2) { height: 16px; }
.brand-mark i:nth-child(3) { height: 11px; opacity: .72; }
.brand small, .brand strong { display: block; }
.brand small {
  margin-bottom: 2px;
  color: var(--subtle);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.brand strong { font-size: 15px; letter-spacing: -.01em; }
.topnav {
  display: flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(17, 27, 38, .74);
}
.nav-link {
  padding: 8px 16px;
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}
.nav-link.is-current { color: var(--text); background: rgba(255,255,255,.07); }
.surface-heartbeat {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.heartbeat-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 0 4px rgba(101,231,208,.08);
}

main { padding-top: 26px; }
.loading-state, .error-state {
  display: grid;
  place-items: center;
  min-height: 64vh;
  text-align: center;
}
.loading-state p, .error-state > p:not(.eyebrow) { color: var(--muted); }
.loading-orbit {
  width: 48px;
  height: 48px;
  margin-bottom: 18px;
  border: 1px solid var(--line-strong);
  border-top-color: var(--cyan);
  border-radius: 50%;
  animation: spin 1.1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.error-state h1 { margin: 8px 0; font-size: clamp(28px, 4vw, 48px); }
.primary-button {
  margin-top: 16px;
  padding: 11px 18px;
  border: 1px solid rgba(101,231,208,.35);
  border-radius: 12px;
  color: #071410;
  background: var(--cyan);
  font-weight: 850;
  cursor: pointer;
}

.office-content { display: grid; gap: 18px; }
.command-strip, .topology-panel, .panel {
  border: 1px solid var(--line);
  background:
    linear-gradient(145deg, rgba(255,255,255,.025), transparent 46%),
    var(--surface);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}
.command-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  padding: 27px 30px;
  border-radius: 22px;
}
.command-topline {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.status-badge, .state-chip, .count-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
}
.status-badge {
  gap: 6px;
  padding: 6px 10px;
  color: var(--amber);
  background: var(--amber-soft);
}
.status-badge::before, .state-chip::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}
.timestamp { color: var(--subtle); font-size: 11px; font-variant-numeric: tabular-nums; }
.eyebrow {
  margin: 0 0 7px;
  color: var(--cyan);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.command-copy h1 {
  margin: 0;
  font-size: clamp(27px, 3.2vw, 44px);
  letter-spacing: -.05em;
  line-height: 1.08;
}
.command-copy > p:last-child {
  max-width: 760px;
  margin: 11px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.metric-rail { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.metric {
  display: grid;
  min-width: 92px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(5,10,15,.28);
}
.metric strong { font-size: 18px; font-variant-numeric: tabular-nums; }
.metric span { margin-top: 3px; color: var(--subtle); font-size: 9px; font-weight: 750; }

.topology-panel { padding: 26px; overflow: hidden; border-radius: 24px; }
.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}
.section-heading.compact { align-items: center; margin-bottom: 17px; }
.section-heading h2 { margin: 0; font-size: 21px; letter-spacing: -.035em; }
.section-heading.compact h2 { font-size: 18px; }
.section-copy { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.topology-heading { align-items: center; }
.topology-command-deck { display: flex; align-items: stretch; justify-content: flex-end; gap: 10px; }
.topology-summary {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 2px 10px;
  min-width: 210px;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(5,10,15,.32);
}
.topology-summary span { color: var(--muted); font-size: 10px; font-weight: 750; }
.topology-summary strong { color: var(--cyan); font-size: 24px; }
.topology-summary small { grid-column: 1 / -1; color: var(--subtle); font-size: 9px; }
.integrated-power-console {
  display: grid;
  grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr);
  align-items: center;
  gap: 20px;
  margin: -2px 0 16px;
  padding: 16px;
  border: 1px solid rgba(101,231,208,.24);
  border-radius: 17px;
  background:
    radial-gradient(circle at 0 50%, rgba(81,218,156,.12), transparent 34%),
    linear-gradient(120deg,rgba(9,33,35,.86),rgba(6,14,21,.86));
  box-shadow: inset 0 1px rgba(255,255,255,.035);
}
.power-console-copy { min-width: 0; }
.power-console-kicker { display: block; color: var(--cyan); font-size: 8px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.power-console-copy > strong { display: block; margin-top: 6px; font-size: 16px; }
.power-console-copy p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.circuit-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 14px;
  color: var(--subtle);
  font-size: 10px;
  font-weight: 750;
}
.circuit-legend span { display: inline-flex; align-items: center; gap: 7px; }
.edge-key { display: inline-block; width: 28px; height: 0; border-top: 2px solid; }
.edge-key.is-live { border-color: var(--cyan); box-shadow: 0 0 8px rgba(101,231,208,.5); }
.edge-key.is-cycle { border-color: #ffd45e; box-shadow: 0 0 10px rgba(255,212,94,.72); }
.edge-key.is-complete { border-color: #e7b84b; box-shadow: 0 0 7px rgba(231,184,75,.42); }
.edge-key.is-idle { border-color: var(--blue); }
.edge-key.is-shadow { border-color: var(--violet); border-top-style: dashed; }
.edge-key.is-off { border-color: #52606c; border-top-style: dashed; }
.edge-key.is-stop { border-color: var(--red); }

.map-viewport {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 18px;
  outline: none;
  background:
    linear-gradient(rgba(115,143,164,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(115,143,164,.035) 1px, transparent 1px),
    #080f16;
  background-size: 24px 24px;
  scrollbar-color: var(--line-strong) transparent;
}
.map-viewport:focus-visible { box-shadow: inset 0 0 0 2px var(--cyan); }
.topology-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.office-map {
  position: relative;
  min-width: 1320px;
  height: 870px;
  overflow: hidden;
}
.floor-zone {
  position: absolute;
  right: 18px;
  left: 18px;
  border: 1px solid rgba(129,159,181,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.012);
}
.floor-zone span {
  position: absolute;
  top: 10px;
  left: 13px;
  color: rgba(142,166,183,.25);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .16em;
}
.zone-command { top: 16px; height: 318px; }
.zone-intelligence { top: 346px; height: 266px; }
.zone-assurance { top: 624px; bottom: 16px; }
.topology-svg, .office-rooms {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.topology-svg { z-index: 2; overflow: visible; }
.office-rooms {
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(7, 164px);
  grid-template-rows: repeat(5, 130px);
  justify-content: center;
  align-content: start;
  gap: 36px 20px;
  padding-top: 42px;
  pointer-events: none;
}
.office-node {
  position: relative;
  display: grid;
  align-content: start;
  min-width: 0;
  padding: 13px;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  color: var(--text);
  background:
    linear-gradient(145deg, rgba(255,255,255,.045), transparent 55%),
    rgba(16,27,38,.97);
  box-shadow: 0 14px 30px rgba(0,0,0,.27);
  text-align: left;
  cursor: pointer;
  pointer-events: auto;
  transition: border-color .16s ease, transform .16s ease, background .16s ease;
}
.office-node:hover { border-color: rgba(101,231,208,.48); transform: translateY(-2px); }
.office-node:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.office-node[data-kind="SECRETARY"] {
  border-color: rgba(101,231,208,.46);
  background:
    radial-gradient(circle at 100% 0, rgba(101,231,208,.15), transparent 50%),
    #10242a;
  box-shadow: 0 0 0 1px rgba(101,231,208,.07), 0 18px 44px rgba(0,0,0,.34);
}
.office-node[data-kind="USER"] {
  border-color: rgba(239,189,104,.42);
  background:
    radial-gradient(circle at 100% 0, rgba(239,189,104,.12), transparent 56%),
    #211d17;
}
.office-node[data-kind="SURFACE"] { background: #101b27; }
.office-node[data-node-id="USER"] { grid-column: 4; grid-row: 1; }
.office-node[data-node-id="TELEGRAM"] { grid-column: 3; grid-row: 2; }
.office-node[data-node-id="ACTION_BOARD"] { grid-column: 4; grid-row: 2; }
.office-node[data-node-id="OFFICE"] { grid-column: 5; grid-row: 2; }
.office-node[data-node-id="DIVINE_SECRETARY"] { grid-column: 4; grid-row: 3; }
.office-node[data-node-id="DATA_EVIDENCE"] { grid-column: 1; grid-row: 4; }
.office-node[data-node-id="RESEARCH_ROOM"] { grid-column: 2; grid-row: 4; }
.office-node[data-node-id="OPPORTUNITY_STRATEGY"] { grid-column: 3; grid-row: 4; }
.office-node[data-node-id="PORTFOLIO_DECISION"] { grid-column: 4; grid-row: 4; }
.office-node[data-node-id="POLICY_CONTROL"] { grid-column: 5; grid-row: 4; }
.office-node[data-node-id="REALTIME_MONITORING"] { grid-column: 6; grid-row: 4; }
.office-node[data-node-id="DELIVERY"] { grid-column: 7; grid-row: 4; }
.office-node[data-node-id="OPERATIONS_RELIABILITY"] { grid-column: 7; grid-row: 5; }
.office-node[data-node-id="INDEPENDENT_AUDIT"] { grid-column: 1; grid-row: 5; }
.office-node[data-node-id="INDEPENDENT_RISK_VALIDATION"] { grid-column: 2; grid-row: 5; }
.office-node[data-node-id="ML_IMPROVEMENT"] { grid-column: 3; grid-row: 5; }
.office-node[data-node-id="TRADE_LEDGER"] { grid-column: 4; grid-row: 5; }
.node-lamps { display: inline-flex; align-items: center; gap: 6px; }
.node-topline { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.node-zone {
  color: var(--subtle);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .12em;
}
.node-state-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--subtle);
  box-shadow: 0 0 0 3px rgba(103,120,135,.08);
}
.node-cycle-dot { width: 8px; height: 8px; border: 1px solid rgba(154,170,183,.32); border-radius: 50%; background: #26323d; }
.office-node[data-cycle-status="RUNNING"] { border-color: rgba(124,247,219,.78); box-shadow: 0 0 0 1px rgba(124,247,219,.16), 0 0 34px rgba(71,232,205,.24); animation: node-cycle-pulse 1.4s ease-in-out infinite; }
.office-node[data-cycle-status="RUNNING"] .node-cycle-dot { background: #7cf7db; box-shadow: 0 0 12px rgba(124,247,219,.9); }
.office-node[data-cycle-status="COMPLETE"] { border-color: rgba(81,218,156,.55); background: linear-gradient(145deg,rgba(81,218,156,.1),transparent 58%),rgba(13,34,34,.97); }
.office-node[data-cycle-status="COMPLETE"] .node-cycle-dot { background: #51da9c; box-shadow: 0 0 8px rgba(81,218,156,.62); }
.office-node[data-cycle-status="REVIEW_ONLY"] { border-color: rgba(239,189,104,.55); background: linear-gradient(145deg,rgba(239,189,104,.09),transparent 58%),rgba(25,29,27,.97); }
.office-node[data-cycle-status="REVIEW_ONLY"] .node-cycle-dot { background: var(--amber); box-shadow: 0 0 8px rgba(239,189,104,.6); }
.office-node[data-cycle-status="SKIPPED"] { border-style: dashed; opacity: .78; }
.office-node[data-cycle-status="BLOCKED"] { border-color: rgba(255,107,123,.72); box-shadow: 0 0 24px rgba(255,107,123,.16); }
.office-node[data-cycle-status="BLOCKED"] .node-cycle-dot { background: var(--red); box-shadow: 0 0 8px rgba(255,107,123,.72); }
.node-cycle-state { display: block; min-height: 24px; margin-bottom: 3px; overflow: hidden; color: var(--text); font-size: 8px; font-weight: 780; line-height: 1.35; text-overflow: ellipsis; }
@keyframes node-cycle-pulse { 50% { transform: translateY(-2px); filter: brightness(1.08); } }
.office-node[data-state="VERIFIED_LIVE"] .node-state-dot { background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }
.office-node[data-state="RUNNING"] .node-state-dot,
.office-node[data-state="WIRED"] .node-state-dot { background: var(--blue); }
.office-node[data-state="BUILT"] .node-state-dot { background: var(--amber); }
.office-node[data-state="BLOCKED"] .node-state-dot,
.office-node[data-state="FAILED_CODE_OR_CONFIG"] .node-state-dot { background: var(--red); }
.office-node h3 {
  display: -webkit-box;
  min-height: 32px;
  margin: 8px 0 4px;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.22;
  letter-spacing: -.025em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.node-status { color: var(--muted); font-size: 8px; font-weight: 750; }
.worker-desks {
  display: flex;
  gap: 4px;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}
.worker-desk {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
  max-width: 64px;
  overflow: hidden;
  color: var(--subtle);
  font-size: 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.worker-desk::before {
  width: 8px;
  height: 5px;
  border: 1px solid rgba(153,177,198,.28);
  border-radius: 2px;
  background: rgba(118,174,252,.08);
  content: "";
}
.worker-desk[data-state="VERIFIED_LIVE"]::before {
  border-color: rgba(101,231,208,.72);
  background: rgba(101,231,208,.38);
}
.worker-desk[data-state="RUNNING"]::before,
.worker-desk[data-state="WIRED"]::before {
  border-color: rgba(118,174,252,.68);
  background: rgba(118,174,252,.32);
}
.worker-desk[data-state="BLOCKED"]::before {
  border-color: rgba(255,107,123,.72);
  background: rgba(255,107,123,.34);
}
.worker-more { margin-left: auto; color: var(--muted); font-size: 7px; }

.topology-edge { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; pointer-events: none; }
.topology-edge[data-state="LIVE_PULSE"] {
  stroke: var(--cyan);
  filter: drop-shadow(0 0 5px rgba(101,231,208,.5));
  marker-end: url(#arrow-live);
  stroke-dasharray: 9 8;
  animation: edge-flow 1.25s linear infinite;
}
.topology-edge[data-state="WIRED_IDLE"] { stroke: var(--blue); marker-end: url(#arrow-idle); }
.topology-edge[data-state="SHADOW_TEST"] { stroke: var(--violet); stroke-dasharray: 7 6; marker-end: url(#arrow-idle); }
.topology-edge[data-state="DISCONNECTED"] { stroke: #52606c; stroke-dasharray: 4 8; marker-end: url(#arrow-off); opacity: .78; }
.topology-edge[data-state="RED_STOP"] { stroke: var(--red); marker-end: url(#arrow-stop); }
.topology-edge[data-cycle-state="RUNNING"] { stroke: #ffd45e; stroke-width: 3.2; stroke-linecap: round; stroke-dasharray: 3 11; filter: drop-shadow(0 0 8px rgba(255,212,94,.82)); marker-end: url(#arrow-cycle); animation: electric-current .58s linear infinite; }
.topology-edge[data-cycle-state="COMPLETE"] { stroke: #e7b84b; stroke-width: 2.7; stroke-linecap: round; stroke-dasharray: 2 15; filter: drop-shadow(0 0 6px rgba(231,184,75,.58)); marker-end: url(#arrow-complete); animation: electric-afterglow 1.8s linear infinite; }
.topology-edge[data-cycle-state="REVIEW_ONLY"] { stroke: var(--amber); stroke-dasharray: 5 7; marker-end: url(#arrow-idle); }
.topology-edge[data-cycle-state="BLOCKED"] { stroke: var(--red); stroke-width: 3; marker-end: url(#arrow-stop); }
.edge-hit {
  fill: none;
  stroke: transparent;
  stroke-width: 16;
  cursor: pointer;
  pointer-events: stroke;
}
.edge-hit:focus { outline: none; }
.edge-selected { stroke-width: 3.5; opacity: 1 !important; }
@keyframes edge-flow { to { stroke-dashoffset: -17; } }
@keyframes electric-current { to { stroke-dashoffset: -28; } }
@keyframes electric-afterglow { to { stroke-dashoffset: -34; } }
.topology-svg marker path { fill: #52606c; }
#arrow-live path { fill: var(--cyan); }
#arrow-cycle path { fill: #ffd45e; }
#arrow-complete path { fill: #e7b84b; }
#arrow-idle path { fill: var(--blue); }
#arrow-stop path { fill: var(--red); }

.map-help { margin: 11px 2px 0; color: var(--subtle); font-size: 10px; }
.cycle-evidence-drawer { margin-top: 14px; border: 1px solid var(--line); border-radius: 15px; background: rgba(4,10,15,.36); }
.cycle-evidence-drawer summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 15px; color: var(--muted); cursor: pointer; list-style: none; }
.cycle-evidence-drawer summary::-webkit-details-marker { display: none; }
.cycle-evidence-drawer summary::after { color: var(--cyan); content: "+"; font-size: 20px; }
.cycle-evidence-drawer[open] summary::after { content: "−"; }
.cycle-evidence-drawer summary span:first-child { display: grid; gap: 3px; }
.cycle-evidence-drawer summary strong { color: var(--text); font-size: 11px; }
.cycle-evidence-drawer summary small,.cycle-evidence-drawer summary span:last-child { color: var(--subtle); font-size: 9px; }
.cycle-evidence-drawer .office-cycle-rail { margin: 4px 14px 14px; }
.cycle-evidence-drawer .data-room-run-footer { padding: 0 14px 14px; }
.edge-inspector {
  position: static;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 4px 16px;
  min-height: 0;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(101,231,208,.06), transparent 55%),
    rgba(5,10,15,.58);
}
.edge-inspector .inspector-kicker { grid-row: 1 / span 3; }
.edge-inspector strong,.edge-inspector small { grid-column: 2; }
.inspector-kicker { color: var(--cyan); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.edge-inspector strong { font-size: 15px; line-height: 1.45; }
.edge-inspector small { color: var(--muted); font-size: 11px; line-height: 1.55; }

.operations-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(340px,.75fr); gap: 18px; }
.panel { padding: 25px; border-radius: 22px; }
.count-pill { min-width: 30px; justify-content: center; padding: 5px 9px; color: var(--amber); background: var(--amber-soft); }
.attention-list { display: grid; gap: 8px; }
.attention-item {
  display: grid;
  grid-template-columns: 7px minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(5,10,15,.24);
}
.attention-marker { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }
.attention-item strong, .attention-item small { display: block; }
.attention-item strong { margin-bottom: 3px; font-size: 12px; }
.attention-item small { overflow: hidden; color: var(--subtle); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.attention-state { color: var(--muted); font-size: 9px; font-weight: 800; }
.gate-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.gate-card { padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: rgba(5,10,15,.26); }
.gate-card span, .gate-card strong, .gate-card small { display: block; }
.gate-card span { color: var(--muted); font-size: 10px; font-weight: 750; }
.gate-card strong { margin: 11px 0 6px; color: var(--amber); font-size: 16px; }
.gate-card small { color: var(--subtle); font-size: 9px; }
.trace-summary {
  display: flex;
  justify-content: space-between;
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 10px;
}
.trace-summary strong { color: var(--text); }
.coverage-monitor {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(80,224,204,.2);
  border-radius: 15px;
  background:
    linear-gradient(135deg, rgba(45,209,188,.08), transparent 58%),
    rgba(5,10,15,.3);
}
.coverage-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.coverage-kicker {
  color: var(--mint);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.coverage-heading h3 {
  margin: 4px 0 0;
  font-size: 13px;
}
.coverage-heading > strong {
  color: var(--amber);
  font-size: 10px;
}
.coverage-summary {
  margin: 12px 0;
  color: var(--text);
  font-size: 11px;
  line-height: 1.55;
}
.coverage-families {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px;
}
.coverage-family {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(8,17,24,.58);
}
.coverage-family strong,
.coverage-family span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.coverage-family strong {
  color: var(--text);
  font-size: 9px;
}
.coverage-family span {
  margin-top: 5px;
  color: var(--subtle);
  font-size: 8px;
}

.departments-heading { align-items: center; }
.filter-bar { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-button {
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: transparent;
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
}
.filter-button.is-active { color: var(--text); border-color: rgba(101,231,208,.25); background: var(--cyan-soft); }
.department-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.department-card {
  position: relative;
  min-height: 196px;
  padding: 17px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: inherit;
  background: rgba(6,12,18,.32);
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, transform .16s ease;
}
.department-card:hover { border-color: var(--line-strong); transform: translateY(-2px); }
.card-topline { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 17px; }
.line-label { color: var(--subtle); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.state-chip { gap: 5px; padding: 5px 8px; }
.state-chip[data-state="VERIFIED_LIVE"] { color: var(--cyan); background: var(--cyan-soft); }
.state-chip[data-state="RUNNING"], .state-chip[data-state="WIRED"] { color: var(--blue); background: var(--blue-soft); }
.state-chip[data-state="BUILT"] { color: var(--amber); background: var(--amber-soft); }
.state-chip[data-state="FAILED_CODE_OR_CONFIG"], .state-chip[data-state="BLOCKED"] { color: var(--red); background: var(--red-soft); }
.state-chip[data-state="UNKNOWN"], .state-chip[data-state="NOT_BUILT"] { color: var(--muted); background: rgba(154,170,183,.08); }
.department-card h3 { margin: 0 0 9px; font-size: 16px; letter-spacing: -.03em; }
.department-purpose {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.card-footer {
  position: absolute;
  right: 17px;
  bottom: 15px;
  left: 17px;
  display: flex;
  justify-content: space-between;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: var(--subtle);
  font-size: 9px;
  font-weight: 750;
}
.open-detail { color: var(--text); }
.empty-state { padding: 25px; border: 1px dashed var(--line-strong); border-radius: 13px; color: var(--muted); font-size: 12px; text-align: center; }

.department-dialog {
  width: min(690px, calc(100% - 28px));
  max-height: min(87vh, 890px);
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 22px;
  color: var(--text);
  background: var(--surface-2);
  box-shadow: 0 40px 100px rgba(0,0,0,.6);
}
.department-dialog::backdrop { background: rgba(2,5,8,.78); backdrop-filter: blur(8px); }
.dialog-shell { display: grid; grid-template-rows: auto minmax(0,1fr); max-height: inherit; }
.dialog-header { display: flex; justify-content: space-between; gap: 18px; padding: 24px 25px 19px; border-bottom: 1px solid var(--line); }
.dialog-header h2 { margin: 0; font-size: 24px; letter-spacing: -.04em; }
.icon-button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--muted);
  background: rgba(255,255,255,.025);
  font-size: 21px;
  cursor: pointer;
}
.dialog-body { display: grid; gap: 19px; overflow-y: auto; padding: 23px 25px 29px; }
.detail-status { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.detail-stat { padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(5,10,15,.27); }
.detail-stat span, .detail-stat strong { display: block; }
.detail-stat span { margin-bottom: 5px; color: var(--subtle); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.detail-stat strong { overflow-wrap: anywhere; font-size: 11px; }
.detail-section h3 { margin: 0 0 8px; color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.detail-section p { margin: 0; font-size: 12px; line-height: 1.65; }
.token-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.token-list li {
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(5,10,15,.25);
  font-family: "Cascadia Code", Consolas, monospace;
  font-size: 9px;
  overflow-wrap: anywhere;
}
.resolution-card { padding: 14px; border: 1px solid rgba(239,189,104,.22); border-radius: 12px; background: var(--amber-soft); }
.resolution-card strong, .resolution-card span { display: block; }
.resolution-card strong { margin-bottom: 6px; color: var(--amber); font-size: 11px; }
.resolution-card span { color: var(--muted); font-size: 10px; line-height: 1.55; }
.market-worker-grid { display: grid; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 10px; }
.market-worker-state { border: 1px solid var(--line); border-radius: 8px; padding: 8px; background: rgba(5,10,15,.3); }
.market-worker-state strong { color: var(--cyan); margin: 0 0 3px; }
.market-worker-state small { display: block; color: var(--muted); font-size: 9px; line-height: 1.55; }
.canonical-worker-card { position: relative; overflow: hidden; margin-bottom: 9px; background: linear-gradient(135deg, rgba(239,189,104,.09), rgba(8,18,27,.72)); }
.canonical-worker-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--amber); opacity: .85; }
.canonical-worker-card[data-tone="complete"]::before { background: var(--cyan); }
.canonical-worker-card[data-tone="off"]::before { background: #748394; }
.canonical-worker-card[data-tone="stored"]::before { background: #e7b452; }
.canonical-worker-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.canonical-worker-heading strong { margin: 0; }
.canonical-worker-heading em { flex: 0 0 auto; padding: 4px 7px; border: 1px solid rgba(239,189,104,.32); border-radius: 999px; color: #f4cf89; background: rgba(239,189,104,.08); font-size: 9px; font-style: normal; font-weight: 700; }
.canonical-worker-card[data-tone="complete"] .canonical-worker-heading em { border-color: rgba(91,222,201,.34); color: var(--cyan); background: rgba(91,222,201,.08); }
.canonical-worker-card[data-tone="off"] .canonical-worker-heading em { border-color: rgba(148,163,184,.28); color: #a9b4c0; background: rgba(148,163,184,.07); }
.canonical-worker-breakdown { display: grid; gap: 5px; margin-top: 9px; }
.canonical-worker-breakdown span { padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; background: rgba(5,10,15,.34); }
.canonical-worker-breakdown b { display: inline-block; min-width: 86px; color: var(--cyan); }

.filter-button:focus-visible, .icon-button:focus-visible, .nav-link:focus-visible,
.primary-button:focus-visible, .department-card:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 3px;
}
.data-room-run-panel { padding: 22px; border: 1px solid rgba(95,224,255,.28); border-radius: 20px; background: linear-gradient(135deg,rgba(13,31,42,.94),rgba(8,16,24,.9)); box-shadow: 0 18px 48px rgba(0,0,0,.2); }
.data-room-run-head,.data-room-run-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.data-room-run-head h2 { margin:4px 0 7px; font-size:22px; }
.run-button { min-width:190px; }
.run-button:disabled { opacity:.45; cursor:not-allowed; }
.data-room-run-rail { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:8px; margin:20px 0 14px; }
.run-stage { position:relative; min-height:76px; padding:11px 9px; border:1px solid var(--line); border-radius:12px; background:rgba(4,10,15,.5); }
.run-stage::after { content:""; position:absolute; top:50%; right:-9px; width:9px; height:2px; background:var(--line); }
.run-stage:last-child::after { display:none; }
.run-stage strong,.run-stage small { display:block; }
.run-stage strong { font-size:10px; color:var(--muted); }
.run-stage small { margin-top:8px; font-size:9px; line-height:1.35; color:var(--dim); overflow-wrap:anywhere; }
.run-stage em { display:block; margin-top:8px; color:var(--cyan); font-size:9px; font-style:normal; }
.stage-index { color:rgba(95,224,255,.42); font-size:8px; letter-spacing:.12em; }
.run-stage.is-running { border-color:var(--cyan); box-shadow:0 0 20px rgba(95,224,255,.16); animation:runPulse 1.2s ease-in-out infinite; }
.run-stage.is-complete { border-color:rgba(81,218,156,.55); background:rgba(20,76,57,.22); }
.run-stage.is-blocked { border-color:rgba(255,107,120,.58); background:rgba(91,25,34,.24); }
.run-stage.is-skipped { border-style:dashed; opacity:.72; }
.run-stage.is-substage { border-color:rgba(239,189,104,.5); background:linear-gradient(145deg,rgba(239,189,104,.12),rgba(4,10,15,.58)); }
.run-stage.is-substage strong,.run-stage.is-substage em,.run-stage.is-substage .stage-index { color:var(--amber); }
.run-stage.is-substage.is-running { box-shadow:0 0 24px rgba(239,189,104,.22); animation:runPulse 1.2s ease-in-out infinite; }
.office-cycle-rail .run-stage.is-substage::after { background:linear-gradient(90deg,var(--amber),rgba(239,189,104,.3)); box-shadow:0 0 9px rgba(239,189,104,.7); }
.office-cycle-rail .run-stage:has(+ .run-stage.is-substage)::after { background:linear-gradient(90deg,rgba(239,189,104,.35),var(--amber)); box-shadow:0 0 9px rgba(239,189,104,.7); }
.data-room-run-footer { color:var(--muted); font-size:10px; }
.power-breaker { min-width:210px; display:flex; align-items:center; gap:14px; padding:14px 20px; border:1px solid rgba(255,255,255,.15); border-radius:18px; color:var(--ink); background:rgba(5,11,17,.76); cursor:pointer; transition:.25s ease; }
.power-breaker:disabled { opacity:.48; cursor:not-allowed; }
.power-breaker-light { width:42px; height:42px; border-radius:50%; background:#34414d; box-shadow:inset 0 0 0 8px rgba(0,0,0,.26); }
.power-breaker-copy { display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.power-breaker-copy small { font-size:8px; letter-spacing:.16em; color:var(--muted); }
.power-breaker-copy strong { font-size:20px; }
.power-breaker.is-on { border-color:rgba(81,218,156,.7); background:linear-gradient(135deg,rgba(14,80,58,.72),rgba(5,19,21,.9)); box-shadow:0 0 30px rgba(81,218,156,.16); }
.power-breaker.is-on .power-breaker-light { background:#51da9c; box-shadow:0 0 24px rgba(81,218,156,.75),inset 0 0 0 8px rgba(255,255,255,.14); }
.power-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:18px; }
.integrated-power-console .power-facts { margin-top:0; }
.operator-console { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr); gap:18px; margin-top:14px; padding:18px; border:1px solid rgba(239,189,104,.26); border-radius:18px; background:linear-gradient(135deg,rgba(35,27,12,.42),rgba(4,11,17,.82)); box-shadow:inset 0 1px 0 rgba(255,255,255,.03); }
.operator-console-copy > strong { display:block; margin-top:6px; font-size:17px; }
.operator-console-copy p { margin:7px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }
.operator-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.operator-action { display:grid; gap:7px; padding:14px; border:1px solid var(--line); border-radius:14px; background:rgba(3,9,14,.58); }
.operator-action.is-combined { grid-column:1/-1; }
.operator-action > span { color:var(--amber); font-size:8px; font-weight:900; letter-spacing:.12em; }
.operator-action > strong { font-size:12px; }
.operator-action > small { min-height:30px; color:var(--muted); font-size:9px; line-height:1.45; }
.operator-stage-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.operator-stage-row > span { display:grid; gap:3px; padding:8px 9px; border:1px solid rgba(239,189,104,.16); border-radius:9px; background:rgba(239,189,104,.045); }
.operator-stage-row b { color:var(--amber); font-size:8px; letter-spacing:.08em; }
.operator-stage-row small { min-height:0; color:var(--muted); font-size:9px; line-height:1.35; }
.operator-action[data-operator-state="RUNNING"],.operator-action[data-operator-state="SENDING"] { border-color:#ffd45e; box-shadow:0 0 22px rgba(255,212,94,.15); }
.operator-action[data-operator-state="COMPLETE"],.operator-action[data-operator-state="SENT"] { border-color:rgba(81,218,156,.65); }
.operator-action[data-operator-state="BLOCKED"],.operator-action[data-operator-state="UNKNOWN"] { border-color:rgba(255,107,123,.45); }
.operator-progress { display:grid; grid-template-columns:minmax(0,1fr) 34px; align-items:center; gap:9px; }
.operator-progress-track { position:relative; display:block; height:8px; overflow:hidden; border:1px solid rgba(239,189,104,.2); border-radius:999px; background:rgba(239,189,104,.08); box-shadow:inset 0 1px 4px rgba(0,0,0,.35); }
.operator-progress-track i { position:relative; display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#d89628,#ffd45e); box-shadow:0 0 12px rgba(255,212,94,.72); transition:width .45s ease; }
.operator-progress b { color:var(--amber); font-size:10px; font-variant-numeric:tabular-nums; text-align:right; }
.operator-action[data-operator-state="RUNNING"] .operator-progress-track i::after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.72) 50%,transparent 80%); transform:translateX(-100%); animation:operatorGaugeFlow 1.25s linear infinite; }
.operator-action[data-operator-state="COMPLETE"] .operator-progress-track i { background:linear-gradient(90deg,#36b981,#68efb2); box-shadow:0 0 12px rgba(81,218,156,.72); }
.operator-action[data-operator-state="BLOCKED"] .operator-progress-track i { background:linear-gradient(90deg,#9f4252,#ff6b7b); box-shadow:0 0 10px rgba(255,107,123,.45); }
.operator-action > time { min-height:14px; color:var(--subtle); font-size:8px; line-height:1.4; font-variant-numeric:tabular-nums; }
.operator-button { width:100%; min-height:42px; border:1px solid rgba(255,212,94,.45); border-radius:11px; color:#171207; background:linear-gradient(135deg,#ffd45e,#e7b84b); font-size:10px; font-weight:900; cursor:pointer; }
.operator-button.is-telegram { border-color:rgba(95,224,255,.45); background:linear-gradient(135deg,#77ead7,#5fdfff); }
.operator-button:disabled { cursor:not-allowed; filter:saturate(.25); opacity:.42; }
.operator-scope-details { margin-top:2px; color:var(--muted); font-size:9px; line-height:1.5; }
.operator-scope-details summary { color:var(--amber); cursor:pointer; font-weight:800; }
.operator-scope-details p { margin:7px 0 0; }
.operator-boundary { grid-column:1/-1; margin:0; padding-top:2px; color:var(--subtle); font-size:9px; }
.operator-boundary b { color:var(--amber); }
.power-facts span { padding:10px 12px; border:1px solid var(--line); border-radius:11px; background:rgba(4,10,15,.42); min-width:0; }
.power-facts small,.power-facts strong { display:block; }
.power-facts small { color:var(--muted); font-size:8px; }
.power-facts strong { margin-top:5px; color:var(--ink); font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.office-cycle-rail .run-stage.is-running::after,.office-cycle-rail .run-stage.is-complete::after { background:linear-gradient(90deg,var(--cyan),#51da9c); box-shadow:0 0 8px rgba(95,224,255,.8); animation:edgeFlow 1s linear infinite; }
.office-cycle-rail .run-stage.is-substage.is-running::after,.office-cycle-rail .run-stage.is-substage.is-complete::after { background:linear-gradient(90deg,rgba(239,189,104,.3),var(--amber),rgba(239,189,104,.3)); background-size:200% 100%; box-shadow:0 0 12px rgba(239,189,104,.9); animation:amberCurrent 1.1s linear infinite; }
.us-stage-meter { display:block; height:3px; margin-top:9px; overflow:hidden; border-radius:999px; background:rgba(239,189,104,.12); }
.us-stage-meter i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,rgba(239,189,104,.45),var(--amber)); box-shadow:0 0 10px rgba(239,189,104,.8); transition:width .35s ease; }
@keyframes edgeFlow { 0% { opacity:.35; transform:scaleX(.35); transform-origin:left; } 100% { opacity:1; transform:scaleX(1); transform-origin:left; } }
@keyframes amberCurrent { from { background-position:100% 0; } to { background-position:-100% 0; } }
@keyframes runPulse { 50% { transform:translateY(-2px); } }
@keyframes operatorGaugeFlow { to { transform:translateX(100%); } }
@media (max-width:940px) { .data-room-run-head { align-items:stretch; flex-direction:column; } .topology-command-deck { width:100%; justify-content:space-between; } .integrated-power-console,.operator-console { grid-template-columns:1fr; } .run-button,.power-breaker { width:100%; } .data-room-run-rail,.power-facts { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:640px) { .data-room-run-head,.data-room-run-footer,.topology-command-deck { align-items:stretch; flex-direction:column; } .run-button,.power-breaker { width:100%; } .data-room-run-rail,.power-facts,.operator-actions { grid-template-columns:repeat(1,minmax(0,1fr)); } .cycle-evidence-drawer summary { align-items:flex-start; flex-direction:column; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
@media (max-width: 1180px) {
  .department-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .command-strip { grid-template-columns: 1fr; }
  .metric-rail { justify-content: flex-start; }
}
@media (max-width: 940px) {
  .office-shell { padding-right: 18px; padding-left: 18px; }
  .topbar { grid-template-columns: 1fr auto auto; }
  .operations-grid { grid-template-columns: 1fr; }
  .department-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .topology-workspace { grid-template-columns: 1fr; }
  .edge-inspector { min-height: 0; }
}
@media (max-width: 640px) {
  .office-shell { padding: 0 12px 36px; }
  .topbar { grid-template-columns: 1fr auto auto; min-height: 64px; }
  .topnav { display: flex; padding: 0; border: 0; background: transparent; }
  .topnav .nav-link.is-current { display: none; }
  .topnav .nav-link { padding: 7px 9px; border: 1px solid var(--line); font-size: 9px; }
  .brand small, .surface-heartbeat span:last-child { display: none; }
  .brand strong { font-size: 12px; }
  main { padding-top: 16px; }
  .office-content { gap: 12px; }
  .command-strip, .topology-panel, .panel { border-radius: 18px; }
  .command-strip { gap: 20px; padding: 21px 18px; }
  .command-topline { justify-content: space-between; }
  .command-copy h1 { font-size: 29px; }
  .metric { min-width: calc(50% - 4px); }
  .topology-panel, .panel { padding: 18px; }
  .topology-heading { align-items: flex-start; flex-direction: column; }
  .topology-summary { width: 100%; }
  .circuit-legend { gap: 10px 13px; }
  .office-map { min-width: 1240px; }
  .office-rooms { grid-template-columns: repeat(7,158px); gap: 36px 18px; }
  .section-heading { align-items: flex-start; }
  .section-heading.compact { align-items: center; }
  .gate-grid, .detail-status, .coverage-families { grid-template-columns: 1fr; }
  .departments-heading { flex-direction: column; }
  .filter-bar { width: 100%; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .filter-button { flex: 0 0 auto; }
  .department-grid { grid-template-columns: 1fr; }
  .department-card { min-height: 184px; }
  .dialog-header, .dialog-body { padding-right: 19px; padding-left: 19px; }
  .edge-inspector { grid-template-columns: 1fr; }
  .edge-inspector .inspector-kicker,.edge-inspector strong,.edge-inspector small { grid-column: 1; grid-row: auto; }
}
