/* Public website */
.hero-gradient{background:radial-gradient(1200px 400px at 10% -10%,rgba(var(--bs-primary-rgb),.55),transparent 60%),radial-gradient(900px 400px at 110% 120%,rgba(32,201,151,.35),transparent 60%),#0b1f3a!important}
.site-section .card{transition:transform .15s ease,box-shadow .15s ease}
.site-section .card:hover{transform:translateY(-3px)}
.blog-content img{max-width:100%;height:auto;border-radius:.5rem}
.blog-content pre{background:var(--bs-tertiary-bg);padding:1rem;border-radius:.5rem;overflow:auto}
.blog-content blockquote{border-left:4px solid var(--bs-primary);padding-left:1rem;color:var(--bs-secondary-color)}
.related-list a{text-decoration:none}
.auth-bg{min-height:calc(100vh - 140px);background:linear-gradient(160deg,rgba(var(--bs-primary-rgb),.08),transparent 60%)}
.timeline{border-left:3px solid var(--bs-border-color);margin-left:.5rem;padding-left:1rem}
.timeline .item{position:relative;margin-bottom:1rem}
.timeline .item::before{content:"";position:absolute;left:-1.45rem;top:.35rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--bs-primary)}
.ws-pre{white-space:pre-wrap;word-break:break-word}

/* Midnight design (Website > Settings > Color mode): navy, electric blue, chrome headings, gold accents. */
html[data-cy-design="midnight"]{--mn-ink:#02060f;--mn-panel:rgba(9,20,46,.74);--mn-line:rgba(72,140,255,.26);--mn-blue:#2f8bff;--mn-bright:#62aeff;--mn-gold:#f2b53a;--mn-text:#d7e3f4;--mn-muted:#9db0cb;
  --mn-display:'Michroma','Exo 2',system-ui,sans-serif;--cy-heading-font:'Exo 2',system-ui,sans-serif;
  --bs-body-font-family:'Exo 2',system-ui,-apple-system,"Segoe UI",sans-serif;--bs-body-bg:var(--mn-ink);--bs-body-color:var(--mn-text);--bs-emphasis-color:#fff;--bs-secondary-color:var(--mn-muted);--bs-tertiary-bg:rgba(9,20,46,.55);--bs-secondary-bg:#0b1a3a;--bs-border-color:var(--mn-line);
  --bs-primary:var(--mn-blue);--bs-primary-rgb:47,139,255;--bs-link-color:var(--mn-bright);--bs-link-color-rgb:98,174,255;--bs-link-hover-color:#a9d2ff;--bs-link-hover-color-rgb:169,210,255}
[data-cy-design="midnight"] body{background-color:var(--mn-ink);background-image:radial-gradient(1200px 640px at 50% -160px,rgba(30,110,255,.24),transparent 70%),url(/img/site/circuit.svg);background-size:auto,520px 520px;background-attachment:fixed}

/* Header and footer */
[data-cy-design="midnight"] .navbar.navbar{background:rgba(2,6,15,.82)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--mn-line);box-shadow:0 8px 30px rgba(0,0,0,.45)!important}
[data-cy-design="midnight"] .navbar-brand{font-family:var(--mn-display);font-size:.98rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#eef3fa}
[data-cy-design="midnight"] .navbar .nav-link{font-size:.84rem;letter-spacing:.14em;text-transform:uppercase;color:#bccbe0}
[data-cy-design="midnight"] .navbar .nav-link:hover,[data-cy-design="midnight"] .navbar .nav-link.active{color:#fff;text-shadow:0 0 12px rgba(98,174,255,.85)}
[data-cy-design="midnight"] .dropdown-menu{--bs-dropdown-bg:#081530;--bs-dropdown-border-color:var(--mn-line);--bs-dropdown-link-color:var(--mn-text);--bs-dropdown-link-hover-bg:rgba(47,139,255,.2);--bs-dropdown-link-hover-color:#fff}
[data-cy-design="midnight"] footer.bg-dark{background:rgba(2,6,15,.92)!important;border-top:1px solid var(--mn-line);color:var(--mn-muted)!important}
[data-cy-design="midnight"] footer .link-light{color:var(--mn-text)!important;text-decoration:none}
[data-cy-design="midnight"] footer .link-light:hover{color:var(--mn-bright)!important}
.cy-tagline{display:flex;align-items:center;justify-content:center;gap:1rem;padding:0 0 1.4rem;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:#e6edf7;text-align:center}
.cy-tagline b{font-weight:400;color:var(--mn-bright)}
.cy-tagline::before,.cy-tagline::after{content:"";flex:1 1 40px;max-width:260px;height:1px;background:linear-gradient(90deg,transparent,var(--mn-blue))}
.cy-tagline::after{transform:scaleX(-1)}

/* Headings */
[data-cy-design="midnight"] h1,[data-cy-design="midnight"] .h1,[data-cy-design="midnight"] .display-6{font-family:var(--mn-display);font-weight:400;text-transform:uppercase;letter-spacing:.02em;background:linear-gradient(180deg,#fff 0%,#e4eaf2 40%,#8f9bad 54%,#f4f6fa 70%,#aeb8c7 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
[data-cy-design="midnight"] h2,[data-cy-design="midnight"] .h2,[data-cy-design="midnight"] .h3{letter-spacing:.06em;text-transform:uppercase;color:#f1f5fb;font-weight:600}
[data-cy-design="midnight"] h2.text-primary,[data-cy-design="midnight"] .h3.text-primary{color:var(--mn-bright)!important;text-shadow:0 0 18px rgba(47,139,255,.55)}

/* Sections */
[data-cy-design="midnight"] .site-section.bg-body-tertiary,[data-cy-design="midnight"] .site-section.bg-body-secondary,[data-cy-design="midnight"] .site-section.bg-body,[data-cy-design="midnight"] .site-section.bg-light,[data-cy-design="midnight"] .site-section.bg-dark:not(.hero-gradient){background:transparent!important;border-top:1px solid rgba(72,140,255,.14)}
[data-cy-design="midnight"] .site-section.bg-primary{background:linear-gradient(100deg,#04173c 0%,#0a3a8c 50%,#04173c 100%)!important;border-block:1px solid var(--mn-line)}
[data-cy-design="midnight"] .hero-gradient{background:radial-gradient(900px 300px at 50% 0,rgba(47,139,255,.2),transparent 70%)!important;border-bottom:1px solid var(--mn-line)}
[data-cy-design="midnight"] .hero-gradient:not(.cy-home-hero) h1{font-size:clamp(1.45rem,3.4vw,2.5rem);line-height:1.3}
[data-cy-design="midnight"] .auth-bg{background:transparent}
[data-cy-design="midnight"] .lead{color:var(--mn-text);font-weight:400}

/* Cards */
[data-cy-design="midnight"] .card{--bs-card-bg:var(--mn-panel);--bs-card-color:var(--mn-text);--bs-card-border-color:var(--mn-line);border:1px solid var(--mn-line)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
[data-cy-design="midnight"] .site-section .card:hover{box-shadow:0 0 26px rgba(47,139,255,.28)!important}
[data-cy-design="midnight"] .bi.text-primary{color:var(--mn-bright)!important;filter:drop-shadow(0 0 9px rgba(47,139,255,.75))}
[data-cy-design="midnight"] .list-group{--bs-list-group-bg:var(--mn-panel);--bs-list-group-border-color:var(--mn-line);--bs-list-group-color:var(--mn-text)}

/* A four-across card grid is drawn as the icon band: no boxes, thin rules between the columns. */
[data-cy-design="midnight"] [class*="row-cols-lg-4"] .card{background:transparent;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none}
[data-cy-design="midnight"] .site-section [class*="row-cols-lg-4"] .card:hover{transform:none;box-shadow:none!important}
[data-cy-design="midnight"] [class*="row-cols-lg-4"] .card:hover .bi{color:#fff!important}
[data-cy-design="midnight"] [class*="row-cols-lg-4"] .card-title{font-size:.86rem;font-weight:500;letter-spacing:.1em;line-height:1.5;text-transform:uppercase;color:#eaf0f8}
@media (min-width:576px) and (max-width:991.98px){[data-cy-design="midnight"] [class*="row-cols-lg-4"]>.col:not(:nth-child(2n)){border-right:1px solid var(--mn-line)}}
@media (min-width:992px){[data-cy-design="midnight"] [class*="row-cols-lg-4"]>.col:not(:nth-child(4n)){border-right:1px solid var(--mn-line)}}

/* Controls */
[data-cy-design="midnight"] .btn{letter-spacing:.08em;text-transform:uppercase;font-size:.86rem;font-weight:500}
[data-cy-design="midnight"] .btn-lg{font-size:.95rem;padding:.7rem 1.6rem}
[data-cy-design="midnight"] .btn-primary,[data-cy-design="midnight"] .site-section .btn-light{--bs-btn-color:#fff;--bs-btn-bg:#1a6be0;--bs-btn-border-color:#3f8fff;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#2a7bef;--bs-btn-hover-border-color:#7dbbff;--bs-btn-active-color:#fff;--bs-btn-active-bg:#1257c8;--bs-btn-active-border-color:#7dbbff;box-shadow:0 0 18px rgba(47,139,255,.45)}
[data-cy-design="midnight"] .btn-outline-light,[data-cy-design="midnight"] .btn-outline-primary{--bs-btn-color:#d9e8fb;--bs-btn-border-color:var(--mn-blue);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:rgba(47,139,255,.22);--bs-btn-hover-border-color:var(--mn-bright);--bs-btn-active-color:#fff;--bs-btn-active-bg:rgba(47,139,255,.34);--bs-btn-active-border-color:var(--mn-bright)}
[data-cy-design="midnight"] .text-bg-primary{background-color:#1a6be0!important;color:#fff!important}
[data-cy-design="midnight"] .form-control,[data-cy-design="midnight"] .form-select,[data-cy-design="midnight"] .input-group-text{background-color:rgba(4,12,30,.8);border-color:var(--mn-line);color:#eef3fa}
[data-cy-design="midnight"] .form-control:focus,[data-cy-design="midnight"] .form-select:focus{border-color:var(--mn-bright);box-shadow:0 0 0 .2rem rgba(47,139,255,.28)}

/* Home page banner */
[data-cy-design="midnight"] .cy-home-hero{position:relative;overflow:hidden;padding-top:340px!important;padding-bottom:88px!important}
.cy-home-hero>.container{position:relative;z-index:2}
.cy-decor{position:absolute;inset:0;pointer-events:none}
.cy-decor img{position:absolute}
.cy-traces{top:0;left:50%;width:1500px;max-width:none;transform:translateX(-50%)}
.cy-shield{top:30px;left:50%;height:290px;transform:translateX(-50%);filter:drop-shadow(0 0 30px rgba(47,139,255,.42))}
.cy-map{top:84px;left:0;width:min(40vw,600px);opacity:.82;-webkit-mask-image:linear-gradient(to right,#000 70%,transparent);mask-image:linear-gradient(to right,#000 70%,transparent)}
.cy-skyline{right:0;bottom:0;width:min(34vw,520px);opacity:.92;-webkit-mask-image:linear-gradient(to left,#000 66%,transparent);mask-image:linear-gradient(to left,#000 66%,transparent)}
.cy-trust{position:absolute;z-index:2;top:30px;left:max(24px,calc(50% - 660px));margin:0;padding:0;list-style:none;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:#eaf0f8}
.cy-trust li{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}
.cy-trust .bi{color:var(--mn-gold);font-size:1.15rem}
[data-cy-design="midnight"] .cy-home-hero h1{font-size:clamp(1.7rem,5vw,4rem);margin-bottom:.9rem;filter:drop-shadow(0 2px 16px rgba(47,139,255,.32))}
[data-cy-design="midnight"] .cy-home-hero .lead{font-size:clamp(.82rem,1.5vw,1.14rem)!important;letter-spacing:.2em;text-transform:uppercase;opacity:1!important;color:#eef3fa}
[data-cy-design="midnight"] .cy-home-hero .lead::before{content:"";display:block;width:min(560px,70%);height:1px;margin:0 auto 1rem;background:linear-gradient(90deg,transparent,var(--mn-blue),transparent)}
.cy-home-hero .cy-last{color:var(--mn-bright)}
.cy-home-hero .flex-wrap{justify-content:center}
@media (max-width:991.98px){.cy-trust{display:none}.cy-map,.cy-skyline{opacity:.42}}
@media (max-width:575.98px){[data-cy-design="midnight"] .navbar-brand{font-size:.76rem;letter-spacing:.02em;margin-right:.25rem}[data-cy-design="midnight"] .cy-home-hero{padding-top:238px!important;padding-bottom:56px!important}.cy-shield{top:22px;height:200px}.cy-traces{width:1040px}.cy-map{top:60px;width:64vw}.cy-skyline{width:60vw}.cy-tagline{font-size:.7rem;letter-spacing:.12em}}
