:root{--tech-bg:#03080c;--tech-panel:rgba(8,25,34,.76);--tech-line:rgba(86,220,239,.22);--tech-cyan:#4ee3ff;--tech-blue:#677dff;--tech-violet:#b16cff;--tech-green:#67e879;--tech-red:#ff3e46;--tech-text:#f7fcfc;--tech-muted:#9fb7be;--tech-shadow:0 32px 90px rgba(0,0,0,.52)}html{background:var(--tech-bg)}body{min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 78% 8%,rgba(78,227,255,.15),transparent 28%),radial-gradient(circle at 15% 20%,rgba(177,108,255,.11),transparent 24%),linear-gradient(180deg,#061117 0%,#020609 56%,#071218 100%);color:var(--tech-text)}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(78,227,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(78,227,255,.04) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,#000 0,transparent 86%)}body:after{content:"";position:fixed;width:58vw;height:58vw;right:-22vw;top:8vh;z-index:-1;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(78,227,255,.13),rgba(103,125,255,.04) 44%,transparent 69%);filter:blur(18px);animation:techAmbient 11s ease-in-out infinite alternate}.nav{background:rgba(3,8,12,.66)!important;backdrop-filter:blur(24px) saturate(145%)!important;border-bottom:1px solid rgba(255,255,255,.07)!important}.nav:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--tech-cyan),var(--tech-violet),transparent);opacity:.5}.brand{font-weight:950!important}.brand .f{text-shadow:0 0 22px rgba(255,62,70,.34)}.brand .e{text-shadow:0 0 22px rgba(103,232,121,.3)}.lang{padding:4px!important;border-color:var(--tech-line)!important;background:rgba(7,20,27,.72)!important}.lang button.active,.lang a.active{background:linear-gradient(135deg,rgba(78,227,255,.24),rgba(177,108,255,.2))!important;box-shadow:0 0 25px rgba(78,227,255,.14)}#app>.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(390px,.97fr);gap:52px;align-items:center;min-height:720px;padding:102px 0 82px!important}#app>.hero h1{font-size:clamp(48px,6.7vw,88px)!important;line-height:.98!important;letter-spacing:-.052em!important;margin:16px 0 22px!important;background:linear-gradient(115deg,#fff 8%,#dffeff 42%,#8fe9ff 70%,#c59cff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}#app>.hero .lead{font-size:clamp(18px,2vw,21px);color:#bad0d5}.demo-console{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(86,220,239,.34)!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(11,34,44,.9),rgba(3,12,17,.94))!important;box-shadow:var(--tech-shadow),inset 0 1px rgba(255,255,255,.05)!important;transform:perspective(1100px) rotateY(-4deg) rotateX(2deg);transition:transform .35s ease}.demo-console:hover{transform:perspective(1100px) rotateY(-1deg) rotateX(0) translateY(-4px)}.demo-console:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 0 34%,rgba(78,227,255,.09) 49%,transparent 64%);transform:translateX(-110%);animation:techScan 6.8s ease-in-out infinite}.metric{border-color:rgba(86,220,239,.15)!important;background:linear-gradient(150deg,rgba(9,30,39,.94),rgba(3,13,18,.92))!important}.metric:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--tech-green),var(--tech-cyan),transparent);opacity:.75}.metric strong{font-variant-numeric:tabular-nums}.cards,.group-grid,.steps{gap:18px!important}.card,.group-card,.step{position:relative;overflow:hidden;border-color:var(--tech-line)!important;background:linear-gradient(155deg,rgba(12,34,44,.84),rgba(4,14,19,.92))!important;box-shadow:inset 0 1px rgba(255,255,255,.035);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important}.card:before,.group-card:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(135deg,rgba(78,227,255,.13),transparent 38%,rgba(177,108,255,.09));opacity:0;transition:opacity .28s ease}.card:hover,.group-card:hover{transform:translateY(-7px);border-color:rgba(86,220,239,.48)!important;box-shadow:0 24px 60px rgba(0,0,0,.34),0 0 30px rgba(78,227,255,.08)}.card:hover:before,.group-card:hover:before{opacity:1}.tag{border-color:rgba(78,227,255,.24)!important;color:#bdf5ff!important;background:rgba(78,227,255,.055)!important}.tag:before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--tech-cyan);box-shadow:0 0 11px var(--tech-cyan)}.bar span{background:linear-gradient(90deg,var(--tech-green),var(--tech-cyan),var(--tech-violet))!important;background-size:180% 100%!important;box-shadow:0 0 14px rgba(78,227,255,.3);animation:techFlow 3.3s linear infinite}.step:after{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--tech-green),var(--tech-cyan),var(--tech-violet))}.cta{border-color:rgba(86,220,239,.3)!important;background:radial-gradient(circle at 92% 18%,rgba(177,108,255,.17),transparent 28%),linear-gradient(120deg,rgba(11,54,66,.94),rgba(35,14,32,.92))!important;box-shadow:var(--tech-shadow)!important}.energy-core{position:relative;display:grid;place-items:center;min-height:390px;margin-top:18px;border:1px solid rgba(86,220,239,.17);border-radius:20px;background:radial-gradient(circle at 50% 50%,rgba(78,227,255,.13),transparent 31%),rgba(2,10,14,.52);overflow:hidden}.energy-core:before,.energy-core:after{content:"";position:absolute;border:1px solid rgba(78,227,255,.21);border-radius:50%;animation:techOrbit 13s linear infinite}.energy-core:before{width:270px;height:270px}.energy-core:after{width:188px;height:188px;animation-direction:reverse;animation-duration:9s}.core-center{position:relative;z-index:3;display:grid;place-items:center;width:114px;height:114px;border-radius:50%;background:radial-gradient(circle at 38% 30%,#d7fdff 0 4%,#4ee3ff 11%,#244fc9 44%,#080d1b 73%);box-shadow:0 0 18px #4ee3ff,0 0 78px rgba(78,227,255,.48),inset -18px -20px 30px rgba(0,0,0,.5);font-weight:950;letter-spacing:.08em}.core-node{position:absolute;z-index:4;display:grid;place-items:center;width:76px;height:76px;padding:8px;border:1px solid rgba(86,220,239,.3);border-radius:16px;background:rgba(7,24,31,.84);backdrop-filter:blur(13px);box-shadow:0 12px 30px rgba(0,0,0,.3),0 0 20px rgba(78,227,255,.08);font-size:11px;font-weight:850;text-align:center}.core-node.n1{top:28px;left:50%;transform:translateX(-50%)}.core-node.n2{right:28px;top:50%;transform:translateY(-50%)}.core-node.n3{bottom:28px;left:50%;transform:translateX(-50%)}.core-node.n4{left:28px;top:50%;transform:translateY(-50%)}.core-beam{position:absolute;width:146px;height:1px;transform-origin:left;background:linear-gradient(90deg,rgba(78,227,255,.08),var(--tech-cyan),rgba(78,227,255,.08));box-shadow:0 0 11px var(--tech-cyan);animation:techBeam 2.6s ease-in-out infinite}.core-beam.b1{transform:rotate(-90deg)}.core-beam.b2{transform:rotate(0)}.core-beam.b3{transform:rotate(90deg)}.core-beam.b4{transform:rotate(180deg)}@keyframes techAmbient{to{transform:translate3d(-4vw,3vh,0) scale(1.08)}}@keyframes techScan{0%,22%{transform:translateX(-115%)}58%,100%{transform:translateX(130%)}}@keyframes techOrbit{to{transform:rotate(360deg)}}@keyframes techBeam{50%{opacity:.28;filter:blur(1px)}}@keyframes techFlow{to{background-position:-180% 0}}@media(max-width:980px){#app>.hero{grid-template-columns:1fr;min-height:auto;padding-top:72px!important}.demo-console{transform:none}.cards,.group-grid,.steps{grid-template-columns:1fr 1fr!important}}@media(max-width:680px){#app>.hero{padding:56px 0!important}#app>.hero h1{font-size:clamp(40px,13vw,62px)!important}.cards,.group-grid,.steps,.metric-grid{grid-template-columns:1fr!important}.energy-core{min-height:330px}.core-node{width:66px;height:66px}.core-node.n2{right:14px}.core-node.n4{left:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
/* 20260701 — Feigin 3D Energy Twin public node-map */
.twin-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:stretch;
}
.twin-cards{
  display:grid;
  gap:16px;
}
.twin-map{
  position:relative;
  min-height:520px;
  border:1px solid rgba(86,220,239,.28);
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(78,227,255,.17),transparent 34%),
    radial-gradient(circle at 72% 18%,rgba(177,108,255,.13),transparent 28%),
    linear-gradient(155deg,rgba(7,24,31,.92),rgba(2,8,12,.96));
  box-shadow:var(--tech-shadow),inset 0 1px rgba(255,255,255,.05);
  isolation:isolate;
}
.twin-map:before{
  content:"";
  position:absolute;
  inset:42px;
  border:1px dashed rgba(78,227,255,.22);
  border-radius:50%;
  animation:techOrbit 22s linear infinite;
}
.twin-map:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 0 36%,rgba(78,227,255,.08) 50%,transparent 64%);
  transform:translateX(-120%);
  animation:techScan 7.5s ease-in-out infinite;
}
.twin-map-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(78,227,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(78,227,255,.045) 1px,transparent 1px);
  background-size:46px 46px;
  opacity:.75;
}
.twin-core{
  position:absolute;
  left:50%;
  top:50%;
  z-index:5;
  transform:translate(-50%,-50%);
  width:156px;
  height:156px;
  border-radius:34px;
  display:grid;
  place-items:center;
  text-align:center;
  background:
    radial-gradient(circle at 36% 22%,#e8fdff 0 4%,#4ee3ff 11%,#244fc9 44%,#07111a 74%);
  box-shadow:0 0 22px rgba(78,227,255,.85),0 0 82px rgba(78,227,255,.38),inset -18px -20px 30px rgba(0,0,0,.5);
  font-weight:950;
}
.twin-core span{
  font-size:13px;
  letter-spacing:.18em;
  color:#dffeff;
}
.twin-core b{
  font-size:24px;
  line-height:1.05;
}
.twin-core small{
  color:#bce9f1;
  font-size:11px;
}
.twin-node{
  position:absolute;
  z-index:6;
  width:118px;
  min-height:74px;
  padding:12px;
  border:1px solid rgba(86,220,239,.34);
  border-radius:18px;
  background:rgba(7,24,31,.9);
  backdrop-filter:blur(13px);
  box-shadow:0 16px 38px rgba(0,0,0,.34),0 0 20px rgba(78,227,255,.08);
}
.twin-node b{
  display:block;
  color:#fff;
  font-size:15px;
  letter-spacing:.08em;
}
.twin-node span{
  display:block;
  color:#9fb7be;
  font-size:11px;
  margin-top:3px;
}
.twin-grid-node{left:50%;top:32px;transform:translateX(-50%)}
.twin-pv-node{right:44px;top:116px}
.twin-bess-node{right:44px;bottom:116px}
.twin-hvac-node{left:50%;bottom:32px;transform:translateX(-50%)}
.twin-pump-node{left:44px;bottom:116px}
.twin-vfd-node{left:44px;top:116px}
.twin-beam{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  width:192px;
  height:2px;
  transform-origin:left;
  background:linear-gradient(90deg,transparent,var(--tech-cyan),rgba(103,232,121,.55),transparent);
  box-shadow:0 0 14px rgba(78,227,255,.65);
  animation:energyFlow 2.9s ease-in-out infinite;
}
.twin-beam.tb1{transform:rotate(-90deg)}
.twin-beam.tb2{transform:rotate(-35deg)}
.twin-beam.tb3{transform:rotate(35deg)}
.twin-beam.tb4{transform:rotate(90deg)}
.twin-beam.tb5{transform:rotate(145deg)}
.twin-beam.tb6{transform:rotate(215deg)}
.twin-layer{
  position:absolute;
  z-index:7;
  padding:7px 10px;
  border:1px solid rgba(86,220,239,.26);
  border-radius:999px;
  background:rgba(3,12,17,.78);
  color:#bdf5ff;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
}
.twin-layer.observe{left:20px;top:18px}
.twin-layer.simulate{right:20px;top:18px}
.twin-layer.optimize{left:20px;bottom:18px}
.twin-layer.control{right:20px;bottom:18px;color:#b8ffca}
@media(max-width:980px){
  .twin-grid{grid-template-columns:1fr}
  .twin-map{min-height:430px}
}
@media(max-width:620px){
  .twin-map{min-height:380px}
  .twin-node{width:92px;min-height:62px;padding:9px}
  .twin-core{width:124px;height:124px}
  .twin-core b{font-size:19px}
  .twin-pv-node,.twin-bess-node{right:18px}
  .twin-pump-node,.twin-vfd-node{left:18px}
}

/* 20260701 HOTFIX — Diagnostics Twin is equipment control, not VPP/PV/BESS */
.equipment-twin .twin-core b{
  font-size:20px;
}
.equipment-twin .twin-pump-node{left:50%;top:32px;transform:translateX(-50%)}
.equipment-twin .twin-fan-node{right:44px;top:116px}
.equipment-twin .twin-chiller-node{right:44px;bottom:116px}
.equipment-twin .twin-compressor-node{left:50%;bottom:32px;transform:translateX(-50%)}
.equipment-twin .twin-vfd-node{left:44px;bottom:116px}
.equipment-twin .twin-motor-node{left:44px;top:116px}
.equipment-twin .twin-node{
  border-color:rgba(103,232,121,.32);
}
.equipment-twin .twin-node b{
  color:#eaffef;
}
@media(max-width:620px){
  .equipment-twin .twin-fan-node,
  .equipment-twin .twin-chiller-node{right:18px}
  .equipment-twin .twin-vfd-node,
  .equipment-twin .twin-motor-node{left:18px}
}

/* 20260701 — Public EMS preview: Feigin Electric Analytics / Pieczarka Siedlecka synthetic demo */
.feigin-analytics-preview{
  position:relative;
  overflow:hidden;
  border-color:rgba(86,220,239,.36)!important;
  background:
    radial-gradient(circle at 78% 12%,rgba(78,227,255,.15),transparent 28%),
    linear-gradient(145deg,rgba(8,25,34,.96),rgba(3,10,14,.98))!important;
  box-shadow:var(--tech-shadow),inset 0 1px rgba(255,255,255,.05)!important;
}
.feigin-analytics-preview:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 0 34%,rgba(78,227,255,.08) 50%,transparent 66%);
  transform:translateX(-120%);
  animation:techScan 7.2s ease-in-out infinite;
}
.analytics-top{
  position:relative;
  z-index:2;
}
.analytics-top b{
  display:block;
  font-size:18px!important;
  line-height:1.15;
}
.analytics-top em{
  display:block;
  margin-top:4px;
  color:#8fa6ac;
  font-size:11px;
  font-style:normal;
}
.analytics-toolbar{
  position:relative;
  z-index:2;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 14px;
}
.analytics-toolbar button{
  border:1px solid rgba(86,220,239,.22);
  border-radius:999px;
  background:rgba(7,24,31,.78);
  color:#b8cdd2;
  padding:7px 10px;
  font-size:11px;
  font-weight:850;
}
.analytics-toolbar button.active{
  color:#eaffef;
  border-color:rgba(103,232,121,.38);
  background:rgba(103,232,121,.11);
}
.analytics-metrics{
  grid-template-columns:repeat(4,1fr)!important;
  position:relative;
  z-index:2;
}
.analytics-metrics div{
  position:relative;
  overflow:hidden;
}
.analytics-metrics div:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,var(--tech-green),var(--tech-cyan),transparent);
  opacity:.72;
}
.analytics-metrics b{
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
}
.analytics-chart{
  position:relative;
  z-index:2;
}
.chart-dot{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--tech-cyan);
  box-shadow:0 0 18px var(--tech-cyan);
  animation:techPulse 2.8s ease-in-out infinite;
}
.chart-dot.d1{left:23%;top:60%}
.chart-dot.d2{left:58%;top:43%;animation-delay:.6s}
.chart-dot.d3{left:78%;top:32%;animation-delay:1.2s}
.analytics-status{
  position:relative;
  z-index:2;
}
.analytics-status span{
  font-size:12px!important;
}
.feigin-analytics-preview[data-state="control"] [data-demo-state],
.feigin-analytics-preview[data-state="optimise"] [data-demo-state],
.feigin-analytics-preview[data-state="stable"] [data-demo-state]{
  border-color:rgba(103,232,121,.5)!important;
  color:#b8ffca!important;
}
@keyframes techPulse{
  50%{transform:scale(1.7);opacity:.48}
}
@media(max-width:980px){
  .analytics-metrics{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:620px){
  .analytics-metrics{grid-template-columns:1fr!important}
}
