:root{
 --bg:#0f172a;
 --panel:#111827;
 --card:#ffffff;
 --text:#0f172a;
 --muted:#64748b;
 --line:#e2e8f0;
 --accent:#005CFF;
 --accent2:#00A6FF;
 --soft:#f8fafc;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f8fafc;color:var(--text)}
a{color:inherit}
.topbar{position:sticky;top:0;z-index:10;display:flex;gap:18px;align-items:center;justify-content:space-between;padding:14px 28px;background:rgba(15,23,42,.92);backdrop-filter:blur(10px);color:white;border-bottom:1px solid rgba(255,255,255,.12)}
.brand{display:flex;align-items:center;gap:12px;min-width:260px}
.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#60a5fa,#14b8a6);display:grid;place-items:center;font-weight:800;letter-spacing:.5px}
.brand-title{font-weight:800;font-size:18px}
.brand-subtitle{font-size:12px;color:#cbd5e1}
.nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center}
.nav a{text-decoration:none;font-size:14px;color:#e2e8f0;padding:8px 10px;border-radius:999px}
.nav a:hover{background:rgba(255,255,255,.12)}
.language-box{display:flex;align-items:center;gap:8px;font-size:13px;color:#e2e8f0}
select{border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:8px 10px;background:#0b1224;color:white}
main{max-width:1180px;margin:0 auto;padding:32px 22px}
.hero{display:grid;grid-template-columns:1fr;gap:16px;align-items:start;color:white;padding-top:14px;padding-bottom:0;min-height:0}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#dbeafe;font-size:13px;margin:0 0 10px}
.hero h1{font-size:46px;line-height:1.04;margin:0 0 12px}
.hero p{font-size:18px;color:#dbeafe;max-width:900px;margin:0;line-height:1.35}
.hero-actions,.card-actions,.links-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:14px;padding:12px 18px;font-weight:700;border:1px solid var(--line);transition:.16s ease}
.button.primary{background:var(--accent);color:white;border-color:var(--accent)}
.button.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}
.button.ghost{background:rgba(255,255,255,.08);color:inherit;border-color:rgba(255,255,255,.22)}
.app-card .button.ghost,.info-card .button.ghost{background:white;color:var(--text);border-color:var(--line)}
.hero-panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:26px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.status-card{background:white;color:var(--text);border-radius:20px;padding:18px}
.status-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#22c55e;margin-right:8px}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.mini-grid span{background:rgba(255,255,255,.12);padding:12px;border-radius:14px;text-align:center}
.apps-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px}
.app-card,.info-card,.stat-card{background:white;border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 18px 45px rgba(15,23,42,.08)}
.app-icon{width:60px;height:60px;border-radius:20px;display:grid;place-items:center;font-weight:900;color:white;margin-bottom:16px}
.app-icon.latency{background:linear-gradient(135deg,#2563eb,#7c3aed)}
.app-icon.disk{background:linear-gradient(135deg,#0f766e,#16a34a)}
.app-card h2{font-size:26px;margin:0 0 10px}
.app-card p,.info-card p,.note{color:var(--muted);line-height:1.55}
.meta-row{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;color:var(--muted)}
.meta-row strong{color:var(--text)}
.section{margin-top:34px;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:30px;padding:26px}
.section h2{margin-top:0;font-size:30px}
.info-grid,.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
pre{white-space:pre-wrap;word-break:break-word;background:#0f172a;color:#e2e8f0;border-radius:16px;padding:16px;font-size:13px;line-height:1.5}
.stat-card span{display:block;color:var(--muted);margin-bottom:8px}
.stat-card strong{font-size:22px}

/* V76: Center only the numeric/stat value line inside Statistics cards. */
.counters-grid .stat-card > strong {
 display: block;
 width: 100%;
 text-align: center;
}

/* V119: keep the statistics numeric value line aligned across cards only. */
.counters-grid .stat-card {
 display: flex;
 flex-direction: column;
}
.counters-grid .stat-card > span {
 min-height: calc(1.35em * 2);
 display: flex;
 align-items: flex-start;
}
.counters-grid .stat-card > strong {
 margin-top: 2px;
}
.links-row a{background:white;border:1px solid var(--line);border-radius:14px;text-decoration:none;padding:12px 16px}
footer{max-width:1180px;margin:20px auto 40px;padding:0 22px;color:#64748b;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
[dir="rtl"] body{text-align:right}
[dir="rtl"] .brand,[dir="rtl"] .hero-actions,[dir="rtl"] .card-actions,[dir="rtl"] .links-row{flex-direction:row-reverse}
@media (max-width:900px){
 .topbar{position:relative;align-items:flex-start;flex-direction:column}
 .hero,.apps-grid,.info-grid,.stats-grid{grid-template-columns:1fr}
 .hero{padding-top:10px;padding-bottom:0}
 .hero h1{font-size:34px}
 .site-header{padding-bottom:48px;margin-bottom:34px}
 .brand{min-width:unset}
}


/* Electric-blue, underlined normal links */
main a:not(.button),
footer a,
.links-row a {
 color:#005CFF !important;
 text-decoration:underline !important;
 text-decoration-thickness:2px;
 text-underline-offset:3px;
 font-weight:700;
}
main a:not(.button):hover,
footer a:hover,
.links-row a:hover {
 color:#00A6FF !important;
}

.links-row a {
 background:transparent;
 border-color:#93C5FD;
}


.release-notes {
 color: var(--muted);
 line-height: 1.55;
 white-space: pre-wrap;
 background: #f8fafc;
 border: 1px solid var(--line);
 border-radius: 16px;
 padding: 14px;
 max-height: 280px;
 overflow: auto;
}


.operation-list {
 margin: 14px 0 0;
 padding-left: 20px;
 color: var(--muted);
 line-height: 1.55;
}
[dir="rtl"] .operation-list {
 padding-left: 0;
 padding-right: 20px;
}
.operation-list li {
 margin: 8px 0;
}


.counters-grid {
 grid-template-columns: repeat(4, minmax(0, 1fr));
}
.stat-card small {
 display: block;
 margin-top: 8px;
 color: var(--muted);
 line-height: 1.35;
}
.stats-detail-grid {
 margin-top: 18px;
}
.counter-table {
 width: 100%;
 overflow: auto;
}
.counter-table table {
 width: 100%;
 border-collapse: collapse;
 font-size: 14px;
}
.counter-table th,
.counter-table td {
 border-bottom: 1px solid var(--line);
 padding: 9px 8px;
 text-align: left;
}
[dir="rtl"] .counter-table th,
[dir="rtl"] .counter-table td {
 text-align: right;
}
.counter-table th {
 color: var(--muted);
 font-weight: 800;
}

.counter-table tr.country-total-row td {
 font-weight: 800;
}
.counter-badge {
 display: inline-flex;
 align-items: center;
 gap: 6px;
 border: 1px solid var(--line);
 border-radius: 999px;
 padding: 4px 9px;
 background: #f8fafc;
 color: var(--muted);
 font-size: 12px;
}
@media (max-width: 1100px) {
 .counters-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
}
@media (max-width: 650px) {
 .counters-grid {
  grid-template-columns: 1fr;
 }
}

.hero-content{max-width:980px;margin-top:0;padding-bottom:0}


/* v17: the GitHub Releases hero panel is intentionally removed/hidden */
.hero-panel {
 display: none !important;
}

/* v18 compact hero header: hero text moved higher in the blue frame */

/* v19 blue frame and bottom gap: hero text stays within blue area with ~1cm space below */

.site-header{background:linear-gradient(180deg,#0f172a 0%,#172554 100%);color:white;padding-bottom:56px;margin-bottom:38px;overflow:hidden}


.hero-actions .button.ghost {
 color: #ffffff;
 border-color: rgba(255,255,255,.55);
 background: rgba(255,255,255,.10);
}

.hero-actions .button.ghost:hover,
.hero-actions .button.ghost:focus {
 color: #ffffff;
 background: rgba(255,255,255,.18);
 border-color: rgba(255,255,255,.80);
}

/* v28: blue header contains hero/buttons; clear blank gap below */


/* v29 DEFINITIVE HEADER FIX
  - Solid blue frame stays visible.
  - All hero text/buttons stay inside blue.
  - Real blank gap exists below blue before next content.
  - No faded/washed-out hero text. */
body {
 margin: 0 !important;
 font-family: Segoe UI, Arial, sans-serif !important;
 background: #f8fafc !important;
 color: var(--text) !important;
}

.site-header {
 background: linear-gradient(180deg, #0f172a 0%, #172554 100%) !important;
 color: #ffffff !important;
 margin: 0 0 38px 0 !important;
 padding: 0 0 34px 0 !important;
 opacity: 1 !important;
 filter: none !important;
 overflow: visible !important;
}

.site-header .topbar {
 color: #ffffff !important;
}

.hero {
 display: block !important;
 color: #ffffff !important;
 padding-top: 18px !important;
 padding-bottom: 0 !important;
 min-height: 0 !important;
 opacity: 1 !important;
 filter: none !important;
}

.hero-content {
 max-width: 980px !important;
 margin: 0 !important;
 padding: 0 !important;
 opacity: 1 !important;
 filter: none !important;
}

.eyebrow {
 text-transform: uppercase !important;
 letter-spacing: .18em !important;
 color: #dbeafe !important;
 font-size: 13px !important;
 margin: 0 0 10px 0 !important;
 opacity: 1 !important;
 background: transparent !important;
}

.hero h1 {
 font-size: 46px !important;
 line-height: 1.04 !important;
 margin: 0 0 12px 0 !important;
 color: #ffffff !important;
 opacity: 1 !important;
 text-shadow: none !important;
}

.hero p {
 font-size: 18px !important;
 line-height: 1.35 !important;
 color: #dbeafe !important;
 max-width: 900px !important;
 margin: 0 !important;
 opacity: 1 !important;
}

.hero-actions {
 display: flex !important;
 gap: 12px !important;
 flex-wrap: wrap !important;
 margin-top: 18px !important;
 margin-bottom: 0 !important;
 position: relative !important;
 z-index: 2 !important;
}

.hero-actions .button {
 position: relative !important;
 z-index: 2 !important;
 opacity: 1 !important;
}

.hero-actions .button.ghost {
 color: #ffffff !important;
 border-color: rgba(255,255,255,.65) !important;
 background: rgba(255,255,255,.10) !important;
}

.hero-actions .button.ghost:hover,
.hero-actions .button.ghost:focus {
 color: #ffffff !important;
 background: rgba(255,255,255,.18) !important;
 border-color: rgba(255,255,255,.90) !important;
}

main.container,
.container.main,
main {
 margin-top: 0 !important;
}

/* Ensure first content starts only after header's bottom gap, not underneath it. */
.site-header + main,
.site-header + .container,
.site-header + section {
 margin-top: 0 !important;
}

@media (max-width: 900px) {
 .site-header {
  margin-bottom: 34px !important;
  padding-bottom: 30px !important;
 }
 .hero {
  padding-top: 12px !important;
 }
 .hero h1 {
  font-size: 34px !important;
 }
}


/* v30 REAL STRUCTURE HEADER FIX
  The HTML now has a real .site-header wrapper around .topbar + .hero.
  This fixes the faded/white hero by giving the header an actual blue background. */
html {
 scroll-behavior: smooth !important;
}

body {
 margin: 0 !important;
 font-family: Segoe UI, Arial, sans-serif !important;
 background: #f8fafc !important;
 color: var(--text) !important;
}

.site-header {
 display: block !important;
 background: linear-gradient(180deg, #0f172a 0%, #172554 100%) !important;
 color: #ffffff !important;
 margin: 0 0 38px 0 !important;   /* THE REQUESTED BLANK GAP BELOW BLUE */
 padding: 0 0 34px 0 !important;  /* blue area continues below the buttons */
 opacity: 1 !important;
 filter: none !important;
 overflow: visible !important;
}

.site-header .topbar {
 position: sticky !important;
 top: 0 !important;
 z-index: 20 !important;
 display: flex !important;
 gap: 18px !important;
 align-items: center !important;
 justify-content: space-between !important;
 padding: 14px 28px !important;
 background: rgba(15, 23, 42, .92) !important;
 color: #ffffff !important;
 border-bottom: 1px solid rgba(255,255,255,.12) !important;
 backdrop-filter: blur(10px) !important;
}

.site-header .hero {
 display: block !important;
 max-width: 1180px !important;
 margin: 0 auto !important;
 color: #ffffff !important;
 padding: 18px 22px 0 22px !important;
 min-height: 0 !important;
 opacity: 1 !important;
 filter: none !important;
}

.site-header .hero-content {
 max-width: 980px !important;
 margin: 0 !important;
 padding: 0 !important;
 opacity: 1 !important;
 filter: none !important;
}

.site-header .eyebrow {
 text-transform: uppercase !important;
 letter-spacing: .18em !important;
 color: #dbeafe !important;
 font-size: 13px !important;
 margin: 0 0 10px 0 !important;
 opacity: 1 !important;
 background: transparent !important;
}

.site-header .hero h1 {
 font-size: 46px !important;
 line-height: 1.04 !important;
 margin: 0 0 12px 0 !important;
 color: #ffffff !important;
 opacity: 1 !important;
 text-shadow: none !important;
}

.site-header .hero p {
 font-size: 18px !important;
 line-height: 1.35 !important;
 color: #dbeafe !important;
 max-width: 900px !important;
 margin: 0 !important;
 opacity: 1 !important;
}

.site-header .hero-actions {
 display: flex !important;
 gap: 12px !important;
 flex-wrap: wrap !important;
 margin-top: 18px !important;
 margin-bottom: 0 !important;
 position: relative !important;
 z-index: 2 !important;
}

.site-header .hero-actions .button {
 position: relative !important;
 z-index: 2 !important;
 opacity: 1 !important;
}

.site-header .hero-actions .button.ghost {
 color: #ffffff !important;
 border-color: rgba(255,255,255,.65) !important;
 background: rgba(255,255,255,.10) !important;
}

.site-header .hero-actions .button.ghost:hover,
.site-header .hero-actions .button.ghost:focus {
 color: #ffffff !important;
 background: rgba(255,255,255,.18) !important;
 border-color: rgba(255,255,255,.90) !important;
}

/* main starts after the blue-header blank gap */
body > main {
 max-width: 1180px !important;
 margin: 0 auto !important;
 padding: 32px 22px !important;
 background: transparent !important;
}

/* Remove old hero-panel completely */
.hero-panel {
 display: none !important;
}

@media (max-width: 900px) {
 .site-header {
  margin-bottom: 34px !important;
  padding-bottom: 30px !important;
 }
 .site-header .topbar {
  position: relative !important;
  align-items: flex-start !important;
  flex-direction: column !important;
 }
 .site-header .hero {
  padding-top: 12px !important;
 }
 .site-header .hero h1 {
  font-size: 34px !important;
 }
}


.counter-empty {
 padding: 12px 14px;
 border: 1px dashed var(--line);
 border-radius: 14px;
 color: var(--muted);
 background: #f8fafc;
}


/* v34 F.I.C. emblem in the top header */
.brand {
 display: flex !important;
 align-items: center !important;
 gap: 14px !important;
}

.brand-mark.emblem-mark {
 width: 64px !important;
 height: 64px !important;
 min-width: 64px !important;
 border-radius: 50% !important;
 padding: 0 !important;
 background: #ffffff !important;
 border: 2px solid rgba(255,255,255,.75) !important;
 box-shadow: 0 8px 22px rgba(0,0,0,.25) !important;
 overflow: hidden !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
}

.brand-mark.emblem-mark img {
 width: 100% !important;
 height: 100% !important;
 object-fit: contain !important;
 display: block !important;
 border-radius: 50% !important;
}

.brand-title,
.brand strong {
 color: #ffffff !important;
}

.brand-subtitle,
.brand small,
.brand span:not(.brand-mark):not(.emblem-mark) {
 color: #dbeafe !important;
}

@media (max-width: 900px) {
 .brand-mark.emblem-mark {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
 }
}


.keyword-pills {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 margin-top: 14px;
}

.keyword-pills span {
 display: inline-flex;
 align-items: center;
 border: 1px solid var(--line);
 background: #ffffff;
 color: var(--muted);
 border-radius: 999px;
 padding: 7px 11px;
 font-size: 13px;
 font-weight: 700;
}


#professional-profile p {
 max-width: 900px;
 color: var(--muted);
 line-height: 1.6;
}


/* v42: restore app icon in top bar and move large personal emblem into blue hero panel */
.brand-mark.app-mark {
 width: 44px !important;
 height: 44px !important;
 min-width: 44px !important;
 border-radius: 14px !important;
 padding: 0 !important;
 background: transparent !important;
 border: none !important;
 box-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
 overflow: hidden !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
}
.brand-mark.app-mark img {
 width: 100% !important;
 height: 100% !important;
 object-fit: cover !important;
 display: block !important;
 border-radius: 14px !important;
}
.hero.hero-with-emblem {
 grid-template-columns: minmax(0,1.1fr) minmax(240px, 420px) !important;
 align-items: center !important;
 gap: 28px !important;
}
.hero-emblem-wrap {
 display: flex;
 justify-content: center;
 align-items: center;
 padding: 8px 0 0;
}
.hero-emblem {
 width: min(100%, 360px);
 max-width: 360px;
 height: auto;
 display: block;
 filter: drop-shadow(0 16px 28px rgba(0,0,0,.22));
 background: rgba(255,255,255,.92);
 border-radius: 50%;
 padding: 6px;
}
@media (max-width: 980px) {
 .hero.hero-with-emblem {
  grid-template-columns: 1fr !important;
 }
 .hero-emblem {
  width: min(82vw, 320px);
 }
 .hero-emblem-wrap {
  order: 2;
  margin-top: 8px;
 }
}


/* v43: move personal emblem to the left of the hero text and make it slightly smaller */
.hero.hero-with-emblem.hero-emblem-left {
 grid-template-columns: minmax(220px, 310px) minmax(0, 1fr) !important;
 align-items: center !important;
 gap: 34px !important;
}
.hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
 justify-content: flex-start;
 align-items: center;
 padding: 0;
}
.hero.hero-with-emblem.hero-emblem-left .hero-content {
 max-width: 980px;
}
.hero.hero-with-emblem.hero-emblem-left .hero-emblem {
 width: min(100%, 290px) !important;
 max-width: 290px !important;
}
@media (max-width: 980px) {
 .hero.hero-with-emblem.hero-emblem-left {
  grid-template-columns: 1fr !important;
  gap: 16px !important;
 }
 .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
  justify-content: center;
  order: 2;
 }
 .hero.hero-with-emblem.hero-emblem-left .hero-emblem {
  width: min(78vw, 280px) !important;
  max-width: 280px !important;
 }
}


/* v44 DEFINITIVE: emblem LEFT of the text, not above.
  Fixes previous display:block override by forcing grid on the exact selector. */
.site-header .hero.hero-with-emblem.hero-emblem-left,
.hero.hero-with-emblem.hero-emblem-left {
 display: grid !important;
 grid-template-columns: 260px minmax(0, 920px) !important;
 align-items: center !important;
 justify-content: center !important;
 column-gap: 34px !important;
 row-gap: 0 !important;
 max-width: 1180px !important;
 margin: 0 auto !important;
 padding: 20px 22px 18px 22px !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
.hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
 display: flex !important;
 justify-content: flex-end !important;
 align-items: center !important;
 padding: 0 !important;
 margin: 0 !important;
 order: 1 !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-content,
.hero.hero-with-emblem.hero-emblem-left .hero-content {
 order: 2 !important;
 max-width: 920px !important;
 margin: 0 !important;
 padding: 0 !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem,
.hero.hero-with-emblem.hero-emblem-left .hero-emblem {
 width: 240px !important;
 max-width: 240px !important;
 height: auto !important;
 display: block !important;
 padding: 5px !important;
 background: rgba(255,255,255,.94) !important;
 border-radius: 50% !important;
 filter: drop-shadow(0 14px 24px rgba(0,0,0,.20)) !important;
}

@media (max-width: 980px) {
 .site-header .hero.hero-with-emblem.hero-emblem-left,
 .hero.hero-with-emblem.hero-emblem-left {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
 .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
  justify-content: center !important;
  order: 1 !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-content,
 .hero.hero-with-emblem.hero-emblem-left .hero-content {
  order: 2 !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem,
 .hero.hero-with-emblem.hero-emblem-left .hero-emblem {
  width: min(72vw, 230px) !important;
  max-width: 230px !important;
 }
}


/* v45: more horizontal breathing room between emblem and text,
  and lower the action buttons so they are not glued to the paragraph */
.site-header .hero.hero-with-emblem.hero-emblem-left,
.hero.hero-with-emblem.hero-emblem-left {
 grid-template-columns: 340px minmax(0, 860px) !important;
 column-gap: 72px !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
.hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
 justify-content: center !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-actions,
.hero.hero-with-emblem.hero-emblem-left .hero-actions {
 margin-top: 30px !important;
}

@media (max-width: 980px) {
 .site-header .hero.hero-with-emblem.hero-emblem-left,
 .hero.hero-with-emblem.hero-emblem-left {
  grid-template-columns: 1fr !important;
  column-gap: 0 !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-actions,
 .hero.hero-with-emblem.hero-emblem-left .hero-actions {
  margin-top: 22px !important;
 }
}


/* v46: match the 2nd reference layout
  - emblem farther LEFT in the blue area
  - large empty space between emblem and text block
  - buttons remain lower */
.site-header .hero.hero-with-emblem.hero-emblem-left,
.hero.hero-with-emblem.hero-emblem-left {
 grid-template-columns: 430px minmax(0, 820px) !important;
 column-gap: 22px !important;
 max-width: 1450px !important;
 padding: 18px 24px 22px 24px !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
.hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
 justify-content: flex-start !important;
 padding-left: 6px !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-content,
.hero.hero-with-emblem.hero-emblem-left .hero-content {
 max-width: 820px !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-actions,
.hero.hero-with-emblem.hero-emblem-left .hero-actions {
 margin-top: 38px !important;
}

@media (max-width: 980px) {
 .site-header .hero.hero-with-emblem.hero-emblem-left,
 .hero.hero-with-emblem.hero-emblem-left {
  grid-template-columns: 1fr !important;
  max-width: 100% !important;
  column-gap: 0 !important;
  padding: 16px 18px 20px 18px !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
 .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
  justify-content: center !important;
  padding-left: 0 !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-actions,
 .hero.hero-with-emblem.hero-emblem-left .hero-actions {
  margin-top: 24px !important;
 }
}


/* v47: push emblem much further LEFT, closer to the 2nd reference photo */
.site-header .hero.hero-with-emblem.hero-emblem-left,
.hero.hero-with-emblem.hero-emblem-left {
 grid-template-columns: 560px minmax(0, 760px) !important;
 column-gap: 0 !important;
 max-width: 1520px !important;
 padding: 18px 26px 22px 26px !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
.hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
 justify-content: flex-start !important;
 padding-left: 46px !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-content,
.hero.hero-with-emblem.hero-emblem-left .hero-content {
 max-width: 760px !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem,
.hero.hero-with-emblem.hero-emblem-left .hero-emblem {
 width: 220px !important;
 max-width: 220px !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-actions,
.hero.hero-with-emblem.hero-emblem-left .hero-actions {
 margin-top: 38px !important;
}

@media (max-width: 980px) {
 .site-header .hero.hero-with-emblem.hero-emblem-left,
 .hero.hero-with-emblem.hero-emblem-left {
  grid-template-columns: 1fr !important;
  max-width: 100% !important;
  padding: 16px 18px 20px 18px !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
 .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
  justify-content: center !important;
  padding-left: 0 !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem,
 .hero.hero-with-emblem.hero-emblem-left .hero-emblem {
  width: min(72vw, 220px) !important;
  max-width: 220px !important;
 }
}


/* v48: move the WHOLE hero composition more LEFT together */
.site-header .hero.hero-with-emblem.hero-emblem-left,
.hero.hero-with-emblem.hero-emblem-left {
 transform: translateX(-170px) !important;
}

@media (max-width: 1400px) {
 .site-header .hero.hero-with-emblem.hero-emblem-left,
 .hero.hero-with-emblem.hero-emblem-left {
  transform: translateX(-110px) !important;
 }
}

@media (max-width: 980px) {
 .site-header .hero.hero-with-emblem.hero-emblem-left,
 .hero.hero-with-emblem.hero-emblem-left {
  transform: none !important;
 }
}


/* v50 RESPONSIVE RESOLUTION FIX
  Προσαρμογή σε ανάλυση/πλάτος οθόνης χωρίς αλλαγή worker/download/statistics logic.
  Κρατά το v48 layout, αλλά τα σταθερά px γίνονται ρευστά όπου χρειάζεται. */

.site-header .topbar {
 padding-left: clamp(14px, 1.6vw, 28px) !important;
 padding-right: clamp(14px, 1.6vw, 28px) !important;
 gap: clamp(10px, 1.2vw, 18px) !important;
}

.nav {
 gap: clamp(6px, .8vw, 12px) !important;
}

.nav a {
 padding: 8px clamp(7px, .7vw, 10px) !important;
 font-size: clamp(12px, .78vw, 14px) !important;
}

body > main,
main {
 width: min(1180px, calc(100vw - clamp(24px, 4vw, 44px))) !important;
 padding-left: 0 !important;
 padding-right: 0 !important;
}

.section {
 padding: clamp(18px, 2.1vw, 26px) !important;
 border-radius: clamp(20px, 2vw, 30px) !important;
}

.app-card,
.info-card,
.stat-card {
 padding: clamp(18px, 2vw, 24px) !important;
 border-radius: clamp(18px, 2vw, 26px) !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left,
.hero.hero-with-emblem.hero-emblem-left {
 width: min(1520px, calc(100vw - 32px)) !important;
 max-width: min(1520px, calc(100vw - 32px)) !important;
 grid-template-columns: clamp(220px, 32vw, 560px) minmax(0, 760px) !important;
 transform: translateX(clamp(-170px, -9vw, -40px)) !important;
 padding-left: clamp(16px, 1.7vw, 26px) !important;
 padding-right: clamp(16px, 1.7vw, 26px) !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
.hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
 padding-left: clamp(0px, 3vw, 46px) !important;
}

.site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem,
.hero.hero-with-emblem.hero-emblem-left .hero-emblem {
 width: clamp(160px, 13vw, 220px) !important;
 max-width: clamp(160px, 13vw, 220px) !important;
}

.site-header .hero h1 {
 font-size: clamp(34px, 2.55vw, 46px) !important;
 line-height: 1.05 !important;
}

.site-header .hero p {
 font-size: clamp(15px, 1vw, 18px) !important;
 max-width: min(900px, 100%) !important;
}

.site-header .hero-actions {
 margin-top: clamp(22px, 2.2vw, 38px) !important;
}

.button {
 padding: clamp(10px, .9vw, 12px) clamp(14px, 1.2vw, 18px) !important;
 font-size: clamp(13px, .9vw, 15px) !important;
}

/* Μεσαίες αναλύσεις: κρατάμε την ίδια αισθητική, αλλά αποφεύγουμε overflow. */
@media (max-width: 1250px) {
 .site-header .hero.hero-with-emblem.hero-emblem-left,
 .hero.hero-with-emblem.hero-emblem-left {
  grid-template-columns: clamp(190px, 30vw, 380px) minmax(0, 1fr) !important;
  transform: translateX(clamp(-95px, -7vw, -28px)) !important;
 }

 .brand {
  min-width: 220px !important;
 }

 .brand-title {
  font-size: 16px !important;
 }

 .brand-subtitle {
  font-size: 11px !important;
 }
}

/* Laptop / μικρό desktop: το topbar τυλίγει καθαρά, όχι στρίμωγμα. */
@media (max-width: 1050px) {
 .site-header .topbar {
  align-items: flex-start !important;
  flex-wrap: wrap !important;
 }

 .nav {
  justify-content: flex-start !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left,
 .hero.hero-with-emblem.hero-emblem-left {
  grid-template-columns: clamp(170px, 28vw, 300px) minmax(0, 1fr) !important;
  transform: translateX(clamp(-45px, -4vw, -18px)) !important;
 }
}

/* Tablet / κινητό: κάθετη διάταξη χωρίς οριζόντια μετατόπιση. */
@media (max-width: 980px) {
 .site-header .hero.hero-with-emblem.hero-emblem-left,
 .hero.hero-with-emblem.hero-emblem-left {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: 1fr !important;
  transform: none !important;
  padding-left: clamp(16px, 4vw, 22px) !important;
  padding-right: clamp(16px, 4vw, 22px) !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
 .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
  justify-content: center !important;
  padding-left: 0 !important;
 }

 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem,
 .hero.hero-with-emblem.hero-emblem-left .hero-emblem {
  width: min(68vw, 220px) !important;
  max-width: 220px !important;
 }

 .site-header .hero h1 {
  font-size: clamp(30px, 7vw, 40px) !important;
 }

 .site-header .hero p {
  font-size: 16px !important;
 }

 .apps-grid,
 .info-grid,
 .stats-grid {
  grid-template-columns: 1fr !important;
 }
}

/* Μικρές οθόνες: κουμπιά και κάρτες χωρίς κόψιμο. */
@media (max-width: 680px) {
 .topbar,
 .site-header .topbar {
  flex-direction: column !important;
  align-items: stretch !important;
 }

 .brand {
  min-width: 0 !important;
 }

 .nav {
  width: 100% !important;
  justify-content: flex-start !important;
 }

 .hero-actions,
 .card-actions,
 .links-row {
  width: 100% !important;
 }

 .hero-actions .button,
 .card-actions .button {
  flex: 1 1 100% !important;
 }

 .section h2 {
  font-size: clamp(24px, 7vw, 30px) !important;
 }

 .release-notes {
  max-height: 360px !important;
 }

 .counter-table {
  overflow-x: auto !important;
 }
}


/* v51 BOTH APPS INSTALL INSTRUCTIONS */
.install-guides {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 18px;
 margin-top: 14px;
}

.install-guide-app {
 border: 1px solid rgba(137, 153, 180, .28);
 border-radius: 18px;
 padding: 14px 16px;
 background: rgba(255, 255, 255, .55);
}

.install-guide-app h4 {
 margin: 0 0 10px;
 font-size: 16px;
 color: var(--ink);
}

.install-guide-app ol {
 margin: 0;
 padding-left: 20px;
}

.install-guide-app li {
 margin: 4px 0;
}

@media (max-width: 760px) {
 .install-guides {
  grid-template-columns: 1fr;
 }
}


/* v52 INSTALL REQUIREMENTS PER APP */
.install-requirements {
 margin: 0 0 12px;
 color: var(--muted);
 line-height: 1.55;
 font-size: 14px;
}


/* v55 PREVIOUS VERSIONS SMART BOX */
.previous-versions-panel {
 margin-top: 24px;
 border: 1px solid rgba(137, 153, 180, .28);
 border-radius: 26px;
 padding: clamp(18px, 2vw, 24px);
 background: rgba(255, 255, 255, .72);
 box-shadow: 0 18px 42px rgba(15, 35, 70, .06);
}

.previous-versions-panel h3 {
 margin: 0 0 8px;
 font-size: 22px;
 color: var(--ink);
}

.previous-versions-panel > p {
 margin: 0 0 18px;
 color: var(--muted);
 line-height: 1.55;
}

.previous-versions-grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 18px;
}

.previous-versions-card {
 border: 1px solid rgba(137, 153, 180, .30);
 border-radius: 22px;
 padding: 16px;
 background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,255,.88));
}

.previous-versions-card-head {
 display: flex;
 align-items: baseline;
 justify-content: space-between;
 gap: 12px;
 margin-bottom: 12px;
}

.previous-versions-card-head h4 {
 margin: 0;
 font-size: 17px;
 color: var(--ink);
}

.previous-versions-card-head span {
 color: var(--muted);
 font-size: 12px;
 white-space: nowrap;
}

.previous-versions-list {
 display: grid;
 gap: 10px;
 max-height: 360px;
 overflow: auto;
 padding-right: 4px;
 color: var(--muted);
}

.previous-version-item {
 display: grid;
 gap: 6px;
 border: 1px solid rgba(137, 153, 180, .22);
 border-radius: 16px;
 padding: 12px;
 background: rgba(255,255,255,.78);
}

.previous-version-top {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 12px;
}

.previous-version-name {
 font-weight: 800;
 color: var(--ink);
}

.previous-version-date {
 color: var(--muted);
 font-size: 12px;
 white-space: nowrap;
}

.previous-version-meta {
 color: var(--muted);
 font-size: 13px;
}

.previous-version-actions {
 display: flex;
 gap: 10px;
 flex-wrap: wrap;
}

.previous-version-actions a {
 color: #0b63ff;
 font-weight: 700;
 text-decoration: none;
}

.previous-version-actions a:hover {
 text-decoration: underline;
}

@media (max-width: 900px) {
 .previous-versions-grid {
  grid-template-columns: 1fr;
 }
}


/* v59 APPLICATION DESCRIPTION MODALS */
.app-description-open {
 cursor: pointer;
}

.app-modal-backdrop {
 position: fixed;
 inset: 0;
 z-index: 9999;
 display: none;
 align-items: center;
 justify-content: center;
 padding: clamp(18px, 4vw, 44px);
 background: rgba(9, 17, 35, .72);
 backdrop-filter: blur(6px);
}

.app-modal-backdrop.is-open {
 display: flex;
}

.app-modal-window {
 position: relative;
 width: min(720px, 100%);
 max-height: min(78vh, 720px);
 overflow: auto;
 border: 1px solid rgba(137, 153, 180, .36);
 border-radius: 28px;
 padding: clamp(22px, 3vw, 34px);
 background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,255,.96));
 box-shadow: 0 28px 80px rgba(0,0,0,.28);
 color: var(--ink);
}

.app-modal-close {
 position: absolute;
 top: 14px;
 right: 16px;
 width: 34px;
 height: 34px;
 border: 1px solid rgba(137, 153, 180, .34);
 border-radius: 999px;
 background: rgba(255,255,255,.86);
 color: var(--ink);
 font-size: 24px;
 line-height: 1;
 cursor: pointer;
}

.app-modal-kicker {
 margin-bottom: 8px;
 color: #0b63ff;
 font-size: 12px;
 font-weight: 800;
 letter-spacing: .16em;
 text-transform: uppercase;
}

.app-modal-window h2 {
 margin: 0 38px 14px 0;
 font-size: clamp(26px, 3vw, 36px);
 line-height: 1.08;
}

.app-modal-window p {
 color: var(--muted);
 line-height: 1.65;
}

.app-modal-detail {
 margin-top: 18px;
 border: 1px solid rgba(137, 153, 180, .28);
 border-radius: 18px;
 padding: 16px;
 background: rgba(255,255,255,.72);
}

.app-modal-detail strong {
 display: block;
 margin-bottom: 8px;
 color: var(--ink);
}

body.modal-open {
 overflow: hidden;
}


/* v60 RECENT CHANGES MODALS */
.app-modal-window .release-notes {
 margin-top: 14px;
 max-height: 46vh;
 overflow: auto;
}


/* v61 RECENT CHANGES BUTTON + MODAL CLOSE FIX
  App cards now keep the Recent changes button only; description modals open from Links.
  Modal X close uses delegated JavaScript, so it works even when modal HTML is after scripts. */


/* v62 PREVIOUS VERSIONS PLACEMENT + MODAL CLOSE DEFENSE */
#downloads .previous-versions-panel {
 margin-top: 24px;
}

.app-modal-close {
 z-index: 2;
 pointer-events: auto;
}


/* v64 PREVIOUS VERSIONS ARCHIVE / REPLACED EXPLANATION */
.previous-version-empty {
 display: grid;
 gap: 8px;
 border: 1px solid rgba(137, 153, 180, .28);
 border-radius: 16px;
 padding: 14px;
 background: rgba(255,255,255,.78);
 color: var(--muted);
 line-height: 1.55;
}

.previous-version-empty strong {
 color: var(--ink);
}


/* v65 HERO MAIN SITE BUTTON REPOSITION
  Removed hero "Download latest" button.
  Moved "Βασικό site FIC" beside the emblem, not under the text. */
.site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
.hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
 display: flex !important;
 flex-direction: row !important;
 align-items: center !important;
 justify-content: flex-start !important;
 gap: clamp(14px, 1.6vw, 24px) !important;
}

.hero-site-link {
 flex: 0 0 auto !important;
 white-space: nowrap !important;
 background: rgba(255,255,255,.08) !important;
 color: #fff !important;
 border-color: rgba(255,255,255,.28) !important;
}

.hero-content .hero-actions {
 display: none !important;
}

@media (max-width: 980px) {
 .site-header .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap,
 .hero.hero-with-emblem.hero-emblem-left .hero-emblem-wrap {
  justify-content: center !important;
  flex-wrap: wrap !important;
 }
}


/* v66 RELEASE NOTES BULLET ALIGNMENT
  Κουκίδα αριστερά μόνη της και κείμενο κουκίδων σε κάθετη ευθεία. */
.release-notes {
 white-space: normal !important;
}

.release-note-bullet {
 display: grid;
 grid-template-columns: 18px minmax(0, 1fr);
 column-gap: 8px;
 align-items: start;
 margin: 6px 0;
}

.release-note-dot {
 display: block;
 text-align: center;
 color: var(--muted);
 line-height: 1.55;
}

.release-note-text {
 display: block;
 line-height: 1.55;
 color: var(--muted);
}

.release-note-line {
 line-height: 1.55;
 color: var(--muted);
 margin: 5px 0;
}

.release-note-spacer {
 height: 10px;
}



/* V79 RTL/LTR punctuation safety for mixed-language blocks.
  English GitHub notes inside Arabic/Hebrew pages remain LTR, while translated RTL text stays RTL. */
.bidi-isolate {
 unicode-bidi: isolate;
}

[dir="ltr"].bidi-isolate {
 direction: ltr;
 text-align: left;
}

[dir="rtl"].bidi-isolate {
 direction: rtl;
 text-align: right;
}

.release-notes .release-note-bullet[dir="ltr"] {
 direction: ltr;
}

.release-notes .release-note-bullet[dir="rtl"] {
 direction: rtl;
}


/* V120: visible web code stack line before site version, separated from brand subtitle. */
.brand-code-stack {
 margin-top: 8px;
 font-size: 10.8px;
 line-height: 1.25;
 font-weight: 700;
 letter-spacing: .015em;
 color: #dbeafe !important;
}
@media (max-width: 1250px) {
 .brand-code-stack {
  font-size: 10.2px !important;
 }
}


/* v91 visible site version under top brand subtitle */
.brand-site-version {
 margin-top: 2px;
 font-size: 11px;
 line-height: 1.25;
 font-weight: 700;
 letter-spacing: .02em;
 color: #bfdbfe !important;
}
.brand-site-version .site-version-number {
 color: #ffffff !important;
 font-weight: 800;
}
@media (max-width: 1250px) {
 .brand-site-version {
  font-size: 10.5px !important;
 }
}


/* v109 country table visual separation between visitors and application groups */
.country-group-gap td {
 height: 12px;
 padding: 0;
 border-bottom: 0;
}


/* v184: LatencyCheck PDFs include detailed warning classification; previous HardDiskTemp tray temperature limits and RTL PDF line placement kept.
  Only the descriptive text/list scrolls; the PDF button remains fixed inside the card frame. */
#program-operation .info-card {
 max-height: none !important;
 overflow: visible !important;
 display: flex !important;
 flex-direction: column !important;
}
#program-operation .info-card .operation-scroll-panel {
 max-height: 560px !important;
 overflow-y: auto !important;
 padding-right: 8px !important;
}
[dir="rtl"] #program-operation .info-card .operation-scroll-panel {
 padding-right: 0 !important;
 padding-left: 8px !important;
}
#program-operation .info-card .operation-list {
 padding-bottom: 4px;
}
.operation-pdf-download {
 margin-top: 8mm !important;
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 align-self: flex-start !important;
 flex: 0 0 auto !important;
}
[dir="rtl"] .operation-pdf-download {
 align-self: flex-end !important;
}


/* BEGIN V226 HUMAN-READABLE SEO KEYWORDS BOX */
.seo-keywords-box {
 position: fixed;
 right: 18px;
 bottom: 18px;
 width: min(390px, calc(100vw - 36px));
 max-height: 32vh;
 overflow: auto;
 z-index: 25;
 padding: 13px 42px 13px 15px;
 border: 1px solid rgba(148, 163, 184, 0.50);
 border-radius: 14px;
 background: rgba(15, 23, 42, 0.90);
 box-shadow: 0 18px 45px rgba(15, 23, 42, 0.28);
 color: #e5edf8;
 text-align: left;
 direction: ltr;
 font-size: 0.78rem;
 line-height: 1.55;
}

.seo-keywords-toggle {
 position: absolute;
 top: 8px;
 right: 10px;
 width: 24px;
 height: 24px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 border: 1px solid rgba(226, 232, 240, 0.35);
 border-radius: 999px;
 background: rgba(15, 23, 42, 0.35);
 color: #ffffff;
 font-weight: 800;
 font-size: 1rem;
 line-height: 1;
 cursor: pointer;
}

.seo-keywords-toggle:hover,
.seo-keywords-toggle:focus-visible {
 background: rgba(37, 99, 235, 0.45);
 outline: none;
}

.seo-keywords-box strong {
 display: block;
 margin-bottom: 6px;
 color: #ffffff;
 font-size: 0.88rem;
 letter-spacing: 0.01em;
 padding-right: 20px;
}

.seo-keywords-box p {
 margin: 0;
}

.seo-keywords-box.is-collapsed {
 width: auto;
 max-width: min(260px, calc(100vw - 36px));
 max-height: none;
 overflow: hidden;
 padding: 10px 42px 10px 13px;
 cursor: pointer;
}

.seo-keywords-box.is-collapsed p {
 display: none;
}

.seo-keywords-box.is-collapsed strong {
 margin-bottom: 0;
 padding-right: 0;
 white-space: nowrap;
}

@media (max-width: 760px) {
 .seo-keywords-box {
  right: 10px;
  bottom: 10px;
  width: min(340px, calc(100vw - 20px));
  max-height: 28vh;
 }
 .seo-keywords-box.is-collapsed {
  max-width: min(245px, calc(100vw - 20px));
 }
}
/* END V226 HUMAN-READABLE SEO KEYWORDS BOX */


/* BEGIN V226 CRAWLABLE LANGUAGE LINKS */
.language-crawl-links{
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 align-items:center;
 gap:6px 10px;
 margin:0 0 10px;
 font-size:12px;
 line-height:1.45;
 color:var(--muted);
}
.language-crawl-links span{
 font-weight:700;
 color:var(--muted);
}
.language-crawl-links a{
 color:var(--muted);
 text-decoration:none;
 border-bottom:1px dotted rgba(100,116,139,.55);
}
.language-crawl-links a:hover{
 color:var(--accent);
 border-bottom-color:var(--accent);
}
/* END V226 CRAWLABLE LANGUAGE LINKS */

/* BEGIN V228 Microsoft Submission Details buttons */
.operation-action-row {
 display: flex !important;
 flex-wrap: wrap !important;
 gap: 10px !important;
 align-items: center !important;
 margin-top: 8mm !important;
}
.operation-action-row .operation-pdf-download {
 margin-top: 0 !important;
}
.operation-submission-details {
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 align-self: flex-start !important;
 flex: 0 0 auto !important;
}
[dir="rtl"] .operation-action-row {
 justify-content: flex-end !important;
}
[dir="rtl"] .operation-action-row .operation-pdf-download,
[dir="rtl"] .operation-action-row .operation-submission-details {
 align-self: flex-end !important;
}
/* END V228 Microsoft Submission Details buttons */
