/* Sapphire / matte steel theme, shared look with k-app.tech and the bazaar. Loaded last, overrides cloud_style.css. */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Rajdhani:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');
:root {
  --bg-primary: #05080f;
  --bg-card: transparent;
  --accent-blue: #2b5fd9;
  --accent-cyan: #2b5fd9;
  --accent-blue-glow: rgba(43,95,217, .55);
  --border-neon: rgba(255, 255, 255, .06);
  --text-main: #f1f5f9;
  --text-muted: #64748b;
  --font-hud: 'Orbitron', 'Rajdhani', sans-serif;
  --glow-cyan: drop-shadow(0 0 10px rgba(43,95,217, .7));
}
body {
  background:
    radial-gradient(ellipse at 15% 0%, rgba(43,95,217, .10), transparent 55%),
    radial-gradient(ellipse at 90% 100%, rgba(255, 77, 157, .05), transparent 50%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .012) 0 1px, transparent 1px 3px),
    #05080f;
}

/* login: no boxed input or button */
.k-login-card { background: rgba(11, 15, 23, .6); border: 0; box-shadow: none; clip-path: none; backdrop-filter: blur(14px); }
.k-login-card::before, .k-login-card::after { display: none; }
.k-login-input {
  background: transparent; border: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 0; box-shadow: none !important; color: #f1f5f9; text-shadow: none; text-align: center;
}
.k-login-input:focus { border-bottom-color: #2b5fd9 !important; box-shadow: 0 1px 0 #2b5fd9 !important; }
.k-login-btn {
  background: transparent; border: 0; box-shadow: none; color: #2b5fd9; clip-path: none;
  font-family: var(--font-hud); letter-spacing: 2px; text-shadow: 0 0 10px rgba(43,95,217, .6);
}
.k-login-btn:hover { background: transparent; color: #4d88ff; text-shadow: 0 0 14px rgba(43,95,217, .9); box-shadow: none; }

/* flat everywhere: no borders, no box backgrounds, no shadows (inline styles included) */
.cloud-container :where(div, section, article, button, input, select, textarea, span, table, thead, tbody, tr, th, td, li, a, label):not([class*="loader"]):not(.ae-dot-indicator):not(#headerMatrixSquares *) {
  border-color: transparent !important; box-shadow: none !important; clip-path: none !important;
}
.cloud-container [class*="card"]:not(#headerMatrixSquares *), .cloud-container [class*="box"], .cloud-container [class*="pill"], .cloud-container [class*="badge"],
.cloud-container [class*="chip"], .cloud-container [class*="panel"], .cloud-container [class*="item"], .cloud-container [class*="btn"],
.cloud-container [class*="tab"], .cloud-container [class*="square"], .cloud-container [class*="row"] {
  background: transparent !important; background-image: none !important;
}
.cloud-container [style*="background: rgba"], .cloud-container [style*="background:rgba"],
.cloud-container [style*="background: linear-gradient"], .cloud-container [style*="background:linear-gradient"],
.cloud-container [style*="background: radial-gradient"] { background: transparent !important; }
.cloud-container :where(button, input, select, textarea) { background: transparent !important; outline: none; font-family: inherit; }
.cloud-container :where(input, select, textarea) { border-bottom: 1px solid rgba(255, 255, 255, .18) !important; border-radius: 0 !important; }
.cloud-container :where(input, select, textarea):focus { border-bottom-color: #2b5fd9 !important; }
.cloud-container [style*="color: #2b5fd9"], .cloud-container [style*="color:#2b5fd9"] { color: #2b5fd9 !important; }
.cloud-container ::-webkit-scrollbar { width: 6px; height: 6px; }
.cloud-container ::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .12); border-radius: 3px; }

/* sidebar tabs: transparent, blue glow + underline when active */
.mon-sidebar { background: rgba(11, 15, 23, .55) !important; backdrop-filter: blur(14px); border-right: 1px solid rgba(255, 255, 255, .05) !important; }
.mon-sidebar-btn { font-family: 'Rajdhani', sans-serif; letter-spacing: .3px; font-size: 10px; text-transform: uppercase; color: #94a3b8 !important; position: relative; }
.mon-sidebar-btn span { color: inherit !important; font-weight: 700 !important; font-size: 10px !important; letter-spacing: .3px !important; }
.mon-sidebar-btn svg { stroke: currentColor !important; }
.mon-sidebar-btn:hover { color: #f1f5f9 !important; }
.mon-sidebar-btn.active { color: #2b5fd9 !important; text-shadow: 0 0 10px rgba(43,95,217, .7); }
.mon-sidebar-btn.active::after { content: ''; position: absolute; left: 12%; right: 12%; bottom: 0; height: 2px; background: #2b5fd9; box-shadow: 0 0 8px #2b5fd9 !important; border-radius: 2px; }
.mon-icon-square { background: transparent !important; }

/* header: steel glass, node chips flat with an underline when selected */
.cloud-header { background: rgba(11, 15, 23, .7) !important; backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255, 255, 255, .05) !important; box-shadow: none !important; }
.matrix-square-chip { position: relative; background: transparent !important; border-color: transparent !important; box-shadow: none !important; clip-path: none !important; }
.matrix-square-chip.selected::after { content: ''; position: absolute; left: 10%; right: 10%; bottom: 0; height: 2px; background: #2b5fd9; box-shadow: 0 0 8px #2b5fd9 !important; }
.brand-title-text { font-family: var(--font-hud); }

/* inner tabs of the views (Money, Memories...): same flat underline style */
.cloud-container [class*="tab"].active, .cloud-container [class*="tab"].selected, .cloud-container [class*="btn"].active, .cloud-container [class*="btn"].selected {
  color: #2b5fd9 !important; text-shadow: 0 0 10px rgba(43,95,217, .6);
}
.mon-card-title, .mon-vm-title { font-family: var(--font-hud); letter-spacing: 1.5px; color: #f1f5f9; }

/* apps diagram */
.apps-root { padding: 8px 16px; overflow: auto; height: 100%; box-sizing: border-box; }
.apps-svg { width: 100%; max-width: 1100px; height: auto; display: block; margin: 0 auto; }
.apps-head { fill: #64748b; font-family: 'Orbitron', sans-serif; font-size: 11px; letter-spacing: 2px; }
.apps-app { fill: #f1f5f9; font-size: 14px; font-weight: 600; }
.apps-domain { fill: #cbd5e1; font-family: 'JetBrains Mono', monospace; font-size: 13px; }
.apps-none { fill: #475569; font-family: 'JetBrains Mono', monospace; font-size: 12px; }
.apps-vm { font-family: 'Orbitron', sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 1.5px; }
.apps-note { fill: #64748b; font-size: 12px; }

/* docs tabs */
.docs-pane { flex: 1; min-height: 0; overflow: auto; padding: 4px 12px; }
.docs-root { display: flex; flex-direction: column; height: 100%; min-height: 0; gap: 10px; font-family: 'Inter', sans-serif; }
.docs-tabs { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.docs-tab { background: transparent; border: 0; box-shadow: none; color: #94a3b8; font-family: var(--font-hud); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; padding: 8px 12px; cursor: pointer; position: relative; }
.docs-tab:hover { color: #f1f5f9; }
.docs-tab.active { color: #2b5fd9; text-shadow: 0 0 10px rgba(43,95,217, .7); }
.docs-tab.active::after { content: ''; position: absolute; left: 10%; right: 10%; bottom: 0; height: 2px; background: #2b5fd9; box-shadow: 0 0 8px #2b5fd9; }
.docs-loading { color: #64748b; font-family: var(--font-mono); padding: 20px; }
.docs-md { max-width: 860px; margin: 0 auto; color: #cbd5e1; line-height: 1.6; font-size: 14px; }
.docs-md h1, .docs-md h2, .docs-md h3 { font-family: var(--font-hud); color: #f1f5f9; letter-spacing: 1px; margin: 1.4em 0 .5em; }
.docs-md h1 { font-size: 22px; } .docs-md h2 { font-size: 17px; color: #2b5fd9; } .docs-md h3 { font-size: 14px; }
.docs-md code { font-family: var(--font-mono); background: rgba(255, 255, 255, .06); padding: 1px 5px; border-radius: 3px; font-size: 12.5px; }
.docs-md pre { background: rgba(0, 0, 0, .35); padding: 10px 12px; overflow: auto; border-radius: 4px; }
.docs-md pre code { background: none; padding: 0; }
.docs-md a, .docs-link { color: #4d88ff; }
.docs-md table { border-collapse: collapse; font-size: 13px; display: block; overflow: auto; }
.docs-md th, .docs-md td { padding: 4px 10px; border-bottom: 1px solid rgba(255, 255, 255, .07); text-align: left; }
.docs-diagram-box { display: flex; align-items: flex-start; justify-content: center; }
.docs-diagram { max-width: 100%; height: auto; cursor: zoom-in; }
.docs-diagram.zoom { max-width: none; width: 200%; cursor: zoom-out; }


/* no delimiters, hover/active are colour effects only */
.cloud-container hr, .cloud-container [class*="divider"], .cloud-container [class*="separator"] { display: none !important; }
.cloud-container *, .cloud-container *::before, .cloud-container *::after { border-top-color: transparent !important; border-bottom-color: transparent !important; border-left-color: transparent !important; border-right-color: transparent !important; }
.cloud-container :where(input, select, textarea) { border-bottom: 0 !important; }
.cloud-container :where(input, select, textarea):focus { color: #6b94ff; text-shadow: 0 0 8px rgba(43,95,217,.6); }
.cloud-container :hover:not(#headerMatrixSquares *):not([class*="loader"]), .cloud-container :active, .cloud-container :focus-visible {
  background: transparent !important; background-image: none !important; box-shadow: none !important; outline: none !important;
}
.cloud-container :where(button, a, [onclick], [class*="btn"], [class*="tab"], [class*="chip"], [class*="item"]):hover { color: #6b94ff; text-shadow: 0 0 10px rgba(43,95,217,.6); }
.cloud-container :where(.active, .selected, .sel):not(#headerMatrixSquares *) { color: #2b5fd9; text-shadow: 0 0 10px rgba(43,95,217,.6); }
.mon-sidebar, .cloud-header { border: 0 !important; }
.mon-sidebar-btn.active { box-shadow: none !important; }

/* login: nothing boxed, no lines, colour-only states */
.k-login-card, .k-login-card * { border: 0 !important; box-shadow: none !important; clip-path: none !important; border-radius: 0 !important; }
.k-login-card { background: transparent !important; backdrop-filter: none !important; }
.k-login-header-block { border: 0 !important; }
.k-login-glitch-title { color: #ff0055 !important; animation: none !important; text-shadow: 0 0 14px rgba(255,0,85,.6) !important; }
.brand-title-text, .loading-title { color: #ff0055 !important; text-shadow: 0 0 12px rgba(255,0,85,.6) !important; }
.k-login-input, .k-login-input:focus { background: transparent !important; border: 0 !important; box-shadow: none !important; outline: none !important; }
.k-login-input:focus { color: #6b94ff; text-shadow: 0 0 8px rgba(43,95,217,.6); }
.k-login-btn, .k-login-btn:hover, .k-login-btn:active, .k-login-btn:focus { background: transparent !important; border: 0 !important; box-shadow: none !important; outline: none !important; color: #2b5fd9 !important; text-shadow: 0 0 10px rgba(43,95,217,.6) !important; font-weight: 800 !important; }
.k-login-btn:hover { color: #6b94ff !important; text-shadow: 0 0 16px rgba(43,95,217,.9) !important; }

/* memories tree */
.mem-name { font-family: 'JetBrains Mono', monospace; font-size: 12px; }
.mem-count { font-family: 'JetBrains Mono', monospace; font-size: 11px; opacity: .85; }
g[onclick]:hover .mem-name { fill: #6b94ff; }

/* docs in the APPS-page style: left index, text only, dots and spacing instead of lines and boxes */
.docs-root { flex-direction: row; gap: 28px; padding: 8px 16px; box-sizing: border-box; }
.docs-tabs { flex-direction: column; align-items: flex-start; flex-wrap: nowrap; gap: 2px; width: 150px; flex-shrink: 0; padding-top: 4px; }
.docs-head { font-family: 'Orbitron', sans-serif; font-size: 11px; letter-spacing: 2px; color: #64748b; margin: 0 0 14px 2px; }
.docs-tab { display: flex; align-items: center; gap: 10px; padding: 7px 2px !important; width: 100%; text-align: left; font-size: 12px !important; letter-spacing: 1.5px !important; }
.docs-tab::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #3a4a6b; flex-shrink: 0; }
.docs-tab.active::before { background: #ff0055; box-shadow: 0 0 8px #ff0055; }
.docs-tab.active::after { display: none; }
.docs-tab.active { color: #f1f5f9; text-shadow: none; }
.docs-pane { padding: 4px 0; }
.docs-md { margin: 0; max-width: 820px; color: #b4c0d8; }
.docs-md h1 { font-family: 'Orbitron', sans-serif; font-size: 20px; letter-spacing: 1px; color: #f1f5f9; margin-top: 4px; }
.docs-md h2 { font-family: 'Orbitron', sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #64748b; margin: 2.2em 0 .8em; display: flex; align-items: center; gap: 10px; }
.docs-md h2::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #2b5fd9; flex-shrink: 0; }
.docs-md h3 { font-size: 14px; color: #f1f5f9; font-weight: 600; margin: 1.6em 0 .4em; }
.docs-md strong { color: #f1f5f9; font-weight: 600; }
.docs-md code { background: none !important; padding: 0; color: #9fb3e6; }
.docs-md pre { background: none !important; padding: 4px 0 4px 16px; color: #9fb3e6; }
.docs-md ul, .docs-md ol { padding-left: 20px; } .docs-md li { margin: 3px 0; } .docs-md li::marker { color: #2b5fd9; }
.docs-md blockquote { margin: 1em 0; padding-left: 16px; color: #94a3b8; }
.docs-md table { border-collapse: separate; border-spacing: 0; } 
.docs-md th { font-family: 'Orbitron', sans-serif; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: #64748b; font-weight: 500; padding: 6px 22px 8px 0; border: 0 !important; }
.docs-md td { padding: 5px 22px 5px 0; border: 0 !important; vertical-align: top; }
.docs-md a, .docs-link { color: #6b94ff; text-decoration: none; cursor: pointer; }
@media (max-width: 700px) {
  .docs-root { flex-direction: column; gap: 8px; }
  .docs-tabs { flex-direction: row; flex-wrap: wrap; width: auto; gap: 4px 16px; }
  .docs-head { display: none; }
  .docs-tab { width: auto; }
}

/* ---- River navigation: one stream across the top, the tabs are towns along it, the active one feeds the page ---- */
.mon-dashboard { flex-direction: column !important; }
.mon-sidebar { width: 100% !important; min-width: 0 !important; height: auto !important; max-height: none !important; flex-direction: row !important; align-items: stretch; padding: 8px 0 0 !important; background: transparent !important; backdrop-filter: none !important; box-shadow: none !important; overflow: visible !important; flex-shrink: 0; }
.mon-sidebar-nav { position: relative; flex: 1; flex-direction: row !important; align-items: flex-start; gap: 0 !important; overflow-x: auto !important; overflow-y: hidden !important; padding: 14px 24px 46px; scrollbar-width: none; }
.mon-sidebar-nav::-webkit-scrollbar { display: none; }
.rv-nav-svg { position: absolute; left: 0; top: 0; pointer-events: none; z-index: 0; overflow: visible; }
.mon-sidebar-btn, .mon-sidebar-switch-btn, .mon-sidebar-group { display: flex !important; flex-shrink: 0; width: auto !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start !important; gap: 8px !important; padding: 0 16px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; animation: none !important; text-shadow: none !important; position: relative; z-index: 1; min-height: 0 !important; margin: 0; }
.mon-sidebar-nav > :nth-child(odd) { transform: translateY(-7px); }
.mon-sidebar-nav > :nth-child(even) { transform: translateY(7px); }
.mon-sidebar-btn .mon-icon-square, .mon-sidebar-switch-btn .mon-icon-square { display: none !important; }
.mon-sidebar-btn::before, .mon-sidebar-switch-btn::before, .mon-sidebar-group::before { content: ''; width: 9px; height: 9px; border-radius: 50%; box-sizing: border-box; flex-shrink: 0; transition: background .2s, box-shadow .2s; }
.mon-sidebar-btn::before, .mon-sidebar-switch-btn::before { background: #3a4a6b; }
.mon-sidebar-group::before { border: 1.5px solid #2b5fd9; background: #070a10; }
.mon-sidebar-btn span, .mon-sidebar-switch-btn span, .mon-sidebar-group { font-family: 'Orbitron', sans-serif !important; font-size: 10px !important; letter-spacing: 1.5px !important; font-weight: 500 !important; white-space: nowrap; text-transform: uppercase; }
.mon-sidebar-btn span, .mon-sidebar-switch-btn span { color: #94a3b8 !important; transition: color .2s; }
.mon-sidebar-group { color: #475569; font-size: 8px !important; letter-spacing: 2px !important; }
.mon-sidebar-btn:hover span, .mon-sidebar-switch-btn:hover span { color: #6b94ff !important; }
.mon-sidebar-btn:hover::before, .mon-sidebar-switch-btn:hover::before { background: #6b94ff; }
.mon-sidebar-btn.active span { color: #f1f5f9 !important; }
.mon-sidebar-btn.active::before { background: #ff0055; box-shadow: 0 0 10px #ff0055; }
.mon-sidebar-btn.active::after { display: none !important; }
.mon-sidebar-nav { overscroll-behavior-x: contain; cursor: grab; }
.mon-sidebar-nav::after { content: ''; flex: 0 0 40vw; }
.mon-sidebar-switch-btn { margin: 0 !important; }
.mon-main-content { min-height: 0; }
@media (max-width: 768px) { .mon-sidebar-nav { padding: 12px 12px 42px; } .mon-sidebar-btn, .mon-sidebar-group { padding: 0 11px !important; } .mon-sidebar-btn span { font-size: 9px !important; letter-spacing: 1px !important; } }

/* docs: its pages are a branch of the same river */
.docs-root { flex-direction: column !important; gap: 6px !important; }
.docs-tabs { position: relative; flex-direction: row !important; width: auto !important; align-items: flex-start !important; flex-wrap: nowrap !important; overflow-x: auto; gap: 0 !important; padding: 10px 4px 40px !important; scrollbar-width: none; }
.docs-tabs::-webkit-scrollbar { display: none; }
.docs-tabs { overscroll-behavior-x: contain; }
.docs-head { display: none !important; }
.docs-tab { flex-direction: column !important; align-items: center !important; width: auto !important; gap: 8px !important; padding: 0 16px !important; position: relative; z-index: 1; white-space: nowrap; }
.docs-tabs > .docs-tab:nth-child(even) { transform: translateY(-6px); }
.docs-tabs > .docs-tab:nth-child(odd) { transform: translateY(6px); }
.docs-tab::before { width: 8px !important; height: 8px !important; }

/* ---- River diagrams (docs) ---- */
.rv-wrap { margin: 0 0 56px; }
.rv-title { font-family: 'Orbitron', sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #64748b; margin: 0 0 4px; display: flex; align-items: center; gap: 10px; }
.rv-title::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #ff0055; }
.rv-sub { color: #64748b; font-size: 12px; margin: 0 0 22px 17px; }
.rv-scroll { overflow-x: auto; padding-bottom: 6px; }
.rv-grid { position: relative; display: flex; gap: 72px; min-width: max-content; }
.rv-svg { position: absolute; left: 0; top: 0; pointer-events: none; z-index: 0; overflow: visible; }
.rv-col { position: relative; z-index: 1; width: 200px; display: flex; flex-direction: column; gap: 22px; }
.rv-head { font-family: 'Orbitron', sans-serif; font-size: 10px; letter-spacing: 2px; color: #64748b; text-transform: uppercase; margin-bottom: 2px; }
.rv-grp { font-family: 'Orbitron', sans-serif; font-size: 9px; letter-spacing: 2px; color: #475569; text-transform: uppercase; margin: 14px 0 -8px; }
.rv-node { display: flex; gap: 10px; align-items: flex-start; }
.rv-dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; flex-shrink: 0; }
.rv-t { color: #f1f5f9; font-size: 13.5px; font-weight: 600; line-height: 1.3; }
.rv-l { color: #8a97ad; font-size: 11.5px; line-height: 1.45; font-family: 'JetBrains Mono', monospace; }
.rv-lab { fill: #64748b; font-family: 'JetBrains Mono', monospace; font-size: 10px; text-anchor: middle; }
.rv-facts { margin: 6px 0 0 0; display: grid; grid-template-columns: max-content 1fr; gap: 6px 26px; font-size: 12.5px; }
.rv-facts b { font-family: 'Orbitron', sans-serif; font-weight: 500; font-size: 10px; letter-spacing: 1.5px; color: #64748b; text-transform: uppercase; padding-top: 2px; }
.rv-facts span { color: #b4c0d8; }
.rv-note { color: #64748b; font-size: 12px; margin-top: 14px; max-width: 820px; line-height: 1.5; }

.rv-leaves { margin: 6px 0 0 18px; display: flex; flex-direction: column; gap: 3px; }
.rv-leaf { display: flex; align-items: center; gap: 8px; color: #8a97ad; font-family: 'JetBrains Mono', monospace; font-size: 11px; line-height: 1.35; padding-left: 12px; }
.rv-ldot { width: 5px; height: 5px; border-radius: 50%; box-sizing: border-box; border: 1px solid currentColor; flex-shrink: 0; opacity: .8; }
.rv-n { display: flex; flex-direction: column; }

/* One river: the page content sits right of the trunk */
.mon-dashboard { position: relative; }
.rv-page-svg { position: absolute; left: 0; top: 0; pointer-events: none; z-index: 3; overflow: visible; }
#monViewArea.mon-view-container { padding-left: 44px !important; box-sizing: border-box; }
@media (max-width: 768px) { #monViewArea.mon-view-container { padding-left: 34px !important; } }

/* cards are towns on the river: no frame, no fill, no accent bars */
.mon-card { background: transparent !important; border: 0 !important; box-shadow: none !important; clip-path: none !important; }
.mon-card::before, .mon-card::after { display: none !important; }
.mon-card:hover { background: transparent !important; box-shadow: none !important; }
.mon-card-header { background: transparent !important; border: 0 !important; box-shadow: none !important; }

/* River canvas: page data drawn as one pannable river */
.rv-canvas-box{position:absolute;z-index:3;overflow:hidden;transition:opacity 1.2s ease}
.rv-canvas-box.rv-idle{opacity:.5}
.rv-canvas-svg{width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.rv-conn{z-index:4}
.rv-canvas #monViewArea{visibility:hidden}
.rv-canvas .rv-page-svg:not(.rv-conn){display:none}
.rv-canvas.rv-raw-on #monViewArea{visibility:visible;animation:rvIn .35s ease-out}
.rv-canvas.rv-raw-on .rv-conn,.rv-canvas.rv-raw-on .rv-nav-svg{display:none}
.rv-auto{position:absolute;inset:0;z-index:8;overflow:auto;padding:56px 7% 130px;background:rgba(5,7,13,.3);animation:rvIn .3s ease-out}
.rv-auto h2{margin:0 0 26px;font:700 24px var(--font-hud,sans-serif);letter-spacing:5px;color:#f1f5f9;text-transform:uppercase}
.rv-agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:34px 44px}
.rv-ap h3{margin:0 0 12px;padding-bottom:8px;font:700 11px var(--font-hud,sans-serif);letter-spacing:3px;color:#6b94ff;text-transform:uppercase;border-bottom:1px solid rgba(107,148,255,.18)}
.rv-ar{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:4px 0;font:400 14px/1.35 'Inter',system-ui,sans-serif;letter-spacing:.1px;color:#c3cde0;text-transform:none}
.rv-ar.v .rv-av{font:700 22px var(--font-hud,sans-serif);color:#fff;letter-spacing:.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rv-ar.sub{padding-left:14px;font-size:12px;color:#7d8aa5}
@keyframes rvIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
.rv-m{fill:none;stroke:#2b5fd9;stroke-width:3;stroke-linecap:round;stroke-opacity:.55}
.rv-b{fill:none;stroke:#2b5fd9;stroke-width:2;stroke-opacity:.5}
.rv-flow{stroke:#6b94ff;stroke-width:1.6;stroke-opacity:.9;stroke-dasharray:2 18;animation:rvf 2.4s linear infinite}
@keyframes rvf{to{stroke-dashoffset:-20}}
.rv-st{stroke:#2b5fd9;stroke-opacity:.45;stroke-width:1}
.rv-tn{fill:#070a10;stroke:#ff0055;stroke-width:2}
.rv-lf{fill:#6b94ff}
.rv-ttl{fill:#f1f5f9;font:700 14px var(--font-hud,sans-serif);letter-spacing:1.5px;pointer-events:none}
.rv-tx{fill:#aab6cc;font:11px var(--font-mono,monospace);pointer-events:none}
.rv-raw{position:absolute;z-index:9;right:14px;bottom:10px;background:none;border:0;color:#6b94ff;font:700 10px var(--font-hud,sans-serif);letter-spacing:2px;cursor:pointer;opacity:.6}
.rv-raw:hover{opacity:1}

.rv-hit{cursor:pointer}
.rv-sub{fill:#8a98b4;font:700 12px var(--font-hud,sans-serif);letter-spacing:2px}
.rv-sub.on{fill:#6b94ff}
.rv-hit:hover .rv-sub{fill:#fff}
.rv-tn.on{stroke:#ff0055;fill:#ff0055}
.rv-hit .rv-tn{stroke:#2b5fd9}
.rv-hit .rv-tn.on{stroke:#ff0055}

/* Single river: no menu. Sections are towns on the stream, the box covers the whole dashboard */
.mon-sidebar { position: absolute !important; width: 0 !important; height: 0 !important; padding: 0 !important; overflow: hidden !important; opacity: 0; pointer-events: none; }
#monViewArea.mon-view-container { padding-left: 0 !important; }
.mon-main-content { flex: 1; min-height: 0; }
.rv-canvas-box { background: radial-gradient(ellipse at 30% 42%, rgba(43,95,217,.10), transparent 60%); }
.rv-ttl { font-size: 19px; paint-order: stroke; stroke: #05070d; stroke-width: 5px; stroke-linejoin: round; }
.rv-tx { fill: #d3dcee; font-size: 14px; paint-order: stroke; stroke: #05070d; stroke-width: 4px; stroke-linejoin: round; }
.rv-lf { r: 4; }
.rv-tn { stroke-width: 3; }
.rv-nav { fill: #aebbd6; font: 700 15px var(--font-hud,sans-serif); letter-spacing: 2.5px; text-transform: uppercase; paint-order: stroke; stroke: #05070d; stroke-width: 5px; stroke-linejoin: round; }
.rv-nav.on { fill: #fff; font-size: 18px; }
.rv-town:hover .rv-nav { fill: #6b94ff; }
.rv-grp { fill: #55637f; font: 700 10px var(--font-hud,sans-serif); letter-spacing: 3px; }
.rv-b { fill: none; stroke: #2b5fd9; stroke-width: 5; stroke-opacity: .55; stroke-linecap: round; }
.rv-b.on { stroke: #4f7dff; stroke-opacity: .95; stroke-width: 6; }
.rv-b.lf { stroke-width: 1.6; stroke-opacity: .6; }
.rv-root { fill: #ff0055; font: 700 20px var(--font-hud,sans-serif); letter-spacing: 3px; }
.rv-node .rv-tn, .rv-node .rv-lf { stroke: #ff0055; }
.rv-node .rv-lf { fill: #6b94ff; stroke: none; }
.rv-grp { fill: #7d8cab; font: 700 12px var(--font-hud,sans-serif); letter-spacing: 3px; }
.rv-pad { pointer-events: none; }
.rv-hit .rv-pad { pointer-events: all; }
/* tree v2: thin colored lines, labels above the line */
.rv-b { stroke-opacity: .75 !important; }
.rv-b.on { stroke-width: 2.2; }
.rv-join { fill: #070a10; stroke-width: 1.6; }
.rv-node .rv-tn { fill: #070a10; stroke-width: 2; }
.rv-node .rv-tn.on { fill: #ff0055; }
.rv-node .rv-lf { fill: #8fa6d6; }
.rv-nav { font-size: 14px; } .rv-nav.on { font-size: 14px; fill: #fff; }
.rv-ttl { font-size: 14px; stroke-width: 4px; }
.rv-tx { font-size: 12px; fill: #b4c0d8; }
.rv-grp { font-size: 11px; fill: #8a98b4; }
.rv-root { font-size: 18px; }
.rv-node .rv-tn.cur, .rv-node .rv-lf.cur { fill: #ff0055; stroke: #ff0055; r: 6; filter: drop-shadow(0 0 6px #ff0055); }
.rv-node .rv-tn.on:not(.cur) { fill: #070a10; }
/* AI search bar */
.rv-ask { position: absolute; z-index: 11; bottom: 14px; left: 50%; transform: translateX(-50%); width: min(560px, calc(100% - 32px)); display: flex; align-items: center; gap: 10px; }
.rv-ask-ic { color: #ff0055; font-size: 16px; text-shadow: 0 0 10px #ff0055; }
.rv-ask-in { flex: 1; background: transparent !important; border: 0 !important; outline: 0; box-shadow: none !important; color: #f1f5f9; font: 500 15px var(--font-hud, sans-serif); letter-spacing: 1.5px; padding: 8px 0; }
.rv-ask-in::placeholder { color: #55637f; }
.rv-ask-x { background: none; border: 0; color: #8a98b4; font-size: 20px; cursor: pointer; }
.rv-tx.hit, .rv-ttl.hit, .rv-nav.hit, .rv-grp.hit { fill: #ffd54a; }
.rv-ask.busy .rv-ask-ic { animation: rvthink .8s ease-in-out infinite alternate; }
@keyframes rvthink { from { opacity: .3; } to { opacity: 1; } }

.rv-ask-n { color: #fff; font: 600 13px var(--font-hud, sans-serif); letter-spacing: 1px; min-width: 2ch; text-align: right; font-variant-numeric: tabular-nums; }
.rv-say { position: absolute; z-index: 11; bottom: 58px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 32px); text-align: center; color: #f1f5f9; font: 500 16px var(--font-hud, sans-serif); letter-spacing: 1px; text-shadow: 0 0 6px #000, 0 0 12px #000, 0 1px 2px #000; opacity: 0; transition: opacity .5s; pointer-events: none; }
.rv-say.on { opacity: 1; }
.rv-auto [data-k]{cursor:pointer}
.rv-ar[data-k]:hover .rv-an{color:#fff}
.rv-ap h3[data-k]:hover{color:#9db8ff}
.river-switch{width:34px;height:34px;padding:0;background:none !important;border:0 !important;box-shadow:none !important;color:#8fa6d8;cursor:pointer;display:flex;align-items:center;justify-content:center}
.river-switch i{display:none}
.river-switch svg{width:24px;height:24px}
.river-switch.on svg:first-of-type,.river-switch:not(.on) svg:last-of-type{display:none}
.river-switch.on{color:#fff}
.rv-raw{display:none !important}
.rv-crumb{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px;font:500 12px 'Inter',system-ui,sans-serif;color:#7d8aa5}
.rv-crumb a{cursor:pointer;color:#9db8ff}.rv-crumb a:hover{color:#fff}
