/* © 2026 bladept696 — Centro de Comando / Hash Commander. Todos os direitos reservados.
   é proibido copiar, modificar, redistribuir ou publicar este ficheiro, no todo ou em parte, sem autorização escrita do autor.
   https://github.com/bladept696/centro-de-comando-v3 */
/* Cartões das máquinas com palco com o letreiro Hash Commander em CSS (cartoes-3d.js): grelha, varrimento de luz, anel da temperatura, barras animadas e mosaicos em camadas */
.mc-card.mc3{overflow:visible;transform-style:preserve-3d;
  background:linear-gradient(165deg,#191a12 0%,#0d0e0a 55%,#0a0a08 100%);
  border-color:color-mix(in srgb,var(--mc-c) 35%,var(--line));box-shadow:0 30px 60px -30px #000,0 0 0 1px #ffffff08 inset,0 0 40px -18px var(--mc-c);}
.mc-card.mc3::before{top:14px;bottom:14px;border-radius:0 4px 4px 0;}
.mc-card.mc3 .mc-ecg,.mc-card.mc3 .mc-hero .mc-spark{display:none;}

/* palco */
.mc3-stage{position:relative;min-height:204px;margin:0 -2px;padding:10px 14px;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:8px;
  background:radial-gradient(80% 90% at 50% 75%,color-mix(in srgb,var(--mc-c) 14%,#0a0b08),#070806 70%);border:1px solid #1d2016;transform:translateZ(18px);}
.mc3-sign,.mc3-spark{position:absolute;pointer-events:none;}
.mc3-sign{inset:0;}
.mc3-grid{position:absolute;inset:auto 0 0 0;height:55%;background:repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px 24px),repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 16px);-webkit-mask:linear-gradient(transparent,#000);mask:linear-gradient(transparent,#000);}
.mc3-name{position:absolute;right:16px;bottom:46px;text-align:right;line-height:.9;transition:opacity .4s;}
.mc3-name .w1{font:32px "HC Marker","Segoe UI",sans-serif;color:#f4f4f4;letter-spacing:.02em;}
.mc3-name .w2{font:40px "HC Gotica",serif;color:#ff4fb4;margin-left:6px;text-shadow:0 0 12px #ff4fb488;}
.mc3-name small{display:block;font:700 10px ui-monospace,"JetBrains Mono",monospace;letter-spacing:.32em;color:#c9b8ff;margin-top:6px;}
.mc3-name span{display:inline-block;}
.mc3-name .w1{display:block;}
.mc3-sweep{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,#ffffff22 50%,transparent 60%);background-size:250% 100%;animation:mc3sweep 6s ease-in-out infinite;}
@keyframes mc3sweep{0%,60%{background-position:120% 0;}100%{background-position:-120% 0;}}
.mc3-spark{right:10px;top:10px;width:36%;height:40px;}
.mc3-probe{position:absolute;width:0;height:0;color:var(--mc-c);}
.mc3-hr{position:relative;z-index:1;display:flex;flex-direction:column;gap:3px;padding:0;max-width:64%;}
.mc3-hr .mc-status-row{padding:0;margin:0;flex-wrap:wrap;}
.mc3-hr .mc-status{letter-spacing:.14em;}
.mc3-hr .mc-hero{padding:0;display:block;}
.mc3-hr .mc-hash b{font-family:"Orbitron","Segoe UI",sans-serif;font-weight:800;font-size:34px;line-height:1.05;text-shadow:0 0 16px color-mix(in srgb,var(--mc-c) 60%,transparent);}
.mc3-hr .mc-hash small{font-size:12px;}
.mc3-hr .mc-trend{flex-basis:100%;font-size:11px;}
.mc3-stage .mc-alerts{position:relative;z-index:1;padding:0;}
.mc3-stage .mc-chip{background:#0c100acc;}
.mc3-stage .mc-chip.good{color:#dff5c8;border-color:color-mix(in srgb,var(--mc-c) 45%,transparent);}

/* medidores: anel + barras */
.mc-card.mc3 .mc-meters{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:4px 4px 0;transform:translateZ(24px);}
.mc-card.mc3 .mc-meters .mc-meter.mc-meter-temp{display:none;}
.mc3-ring{--p:0;--c:var(--amber);width:74px;height:74px;border-radius:50%;display:grid;place-items:center;position:relative;grid-row:1 / span 2;
  background:conic-gradient(from 225deg,var(--c) calc(var(--p) * 270deg),#22241a 0 270deg,transparent 0);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--c) 50%,transparent));transition:filter .4s;}
.mc3-ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#0d0e0a;}
.mc3-ring b{position:relative;font:800 15px "Orbitron","Segoe UI",sans-serif;color:var(--text);}
.mc3-ring small{position:absolute;bottom:5px;font-size:9px;color:var(--muted-2);}
.mc-card.mc3 .mc-meter{display:grid;grid-template-columns:86px 1fr auto;gap:8px;align-items:center;grid-column:2;min-width:0;}
.mc-card.mc3 .mc-meter-top{display:contents;}
.mc-card.mc3 .mc-meter-top span{order:1;font-size:11px;white-space:nowrap;}
.mc-card.mc3 .mc-meter-top b{order:3;text-align:right;font-size:11px;min-width:56px;}
.mc-card.mc3 .mc-bar,.mc-card.mc3 .mc-sig{order:2;margin:0;}
.mc-card.mc3 .mc-bar{height:7px;background:#20231a;}
.mc-card.mc3 .mc-bar i{background-image:linear-gradient(90deg,transparent,#ffffff40,transparent);background-size:200% 100%;background-color:var(--green);animation:mc3flow 2s linear infinite;}
.mc-card.mc3 .mc-bar i.warn{background-color:var(--amber);} .mc-card.mc3 .mc-bar i.bad{background-color:var(--red);}
@keyframes mc3flow{to{background-position:-200% 0;}}
.mc-card.mc3 .mc-sig{height:14px;width:38px;}
.mc-card.mc3 .mc-meter.is-wired .mc-meter-top b{visibility:hidden;}
/* por cabo não há sinal para mostrar: escondem-se as barras de Wi-Fi */
.mc-card.mc3 .mc-meter.is-wired .mc-sig{opacity:0;}
/* a barra da ventoinha ocupa a coluna toda: o mostrador em arco antigo ocupava uma célula da grelha e encolhia a barra */
.mc-card.mc3 .mc-meter > :not(.mc-meter-top):not(.mc-bar):not(.mc-sig){display:none;}
.mc-card.mc3 .mc-bar{width:100%;justify-self:stretch;min-width:0;}
.mc-card.mc3 .mc-fanico .blades{transform-origin:12px 12px;}

/* mosaicos de dados em camadas */
.mc-card.mc3 .mc-facts{transform-style:preserve-3d;gap:8px;padding:4px 4px 0;}
.mc-card.mc3 .mc-facts div{position:relative;border-radius:11px;padding:9px 11px;background:linear-gradient(160deg,#16180f,#0e0f0a);border-color:#23261a;transform:translateZ(14px);transition:transform .25s;}
.mc-card.mc3 .mc-facts div:hover{transform:translateZ(34px);}
.mc-card.mc3 .mc-facts div::after{position:absolute;right:9px;top:8px;font-size:13px;opacity:.7;}
.mc-card.mc3 .mc-facts div:nth-child(1)::after{content:"⚡";} .mc-card.mc3 .mc-facts div:nth-child(2)::after{content:"♻";}
.mc-card.mc3 .mc-facts div:nth-child(3)::after{content:"✔";} .mc-card.mc3 .mc-facts div:nth-child(4)::after{content:"🏆";}
.mc-card.mc3 .mc-facts div:nth-child(5)::after{content:"⏱";} .mc-card.mc3 .mc-facts div:nth-child(6)::after{content:"📡";}
.mc-card.mc3 .mc-facts div:nth-child(7)::after{content:"€";} .mc-card.mc3 .mc-facts div:nth-child(8)::after{content:"🎲";}
.mc-card.mc3 .mc-facts b{font-size:15px;}
.mc-card.mc3 .mc-pool{transform:translateZ(16px);}
.mc-card.mc3 .mc-actions{transform:translateZ(20px);}
.mc-card.mc3 .mc-head{transform:translateZ(30px);}

/* sem leitura: o palco fica apagado, o letreiro quase some e não há varrimento */
.mc-card.mc3.is-off .mc3-stage{filter:saturate(.5);}
.mc-card.mc3.is-off .mc3-name{opacity:.25;}
.mc-card.mc3.is-off .mc3-sweep{animation:none;display:none;}
.mc-card.mc3.is-off .mc-meters{display:none;}

/* vista compacta e ecrãs estreitos */
.mc-grid.compact .mc-card.mc3 .mc3-stage{min-height:120px;}
.mc-grid.compact .mc-card.mc3 .mc-hash b{font-size:22px;}
.mc-grid.compact .mc-card.mc3 .mc3-spark{height:26px;}
.mc-grid.compact .mc-card.mc3 .mc3-name{display:none;}
.mc-grid.compact .mc-card.mc3 .mc-facts{display:none;}
.mc-grid.compact .mc-card.mc3 .mc-meters{grid-template-columns:auto 1fr;}
.mc-grid.compact .mc-card.mc3 .mc-meter:nth-child(n+3){display:none;}
@media (max-width:420px){
  .mc3-hr .mc-hash b{font-size:28px;}
  .mc3-stage{min-height:236px;}.mc3-name{bottom:70px;right:12px;}.mc3-name .w1{font-size:24px;}.mc3-name .w2{font-size:30px;}
  .mc-card.mc3 .mc-meter{grid-template-columns:70px 1fr auto;gap:6px;}
}
@media (prefers-reduced-motion:reduce){.mc-card.mc3 .mc-bar i,.mc3-sweep{animation:none;}}
body.perf-mode .mc-card.mc3 .mc-bar i,body.perf-mode .mc3-sweep{animation:none;}

/* linha de cada medidor: etiqueta e valor em cima, barra (ou sinal) por baixo a toda a largura */
.mc-card.mc3 .mc-meter{grid-template-columns:minmax(0,1fr) auto;row-gap:5px;}
.mc-card.mc3 .mc-meter-top span{grid-column:1;grid-row:1;}
.mc-card.mc3 .mc-meter-top b{grid-column:2;grid-row:1;min-width:0;}
.mc-card.mc3 .mc-meter .mc-bar,.mc-card.mc3 .mc-meter .mc-sig{grid-column:1 / -1;grid-row:2;}
.mc-card.mc3 .mc-meter .mc-sig{justify-self:start;}
