/* MUTANT G04 / CONTAINMENT FAILURE — original R7.7 identity preserved */
.g04-screen-alarm{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse at 50% 45%,transparent 35%,#ff315029 89%),linear-gradient(#ff271208,transparent 45%);animation:g04Alarm 1.1s infinite alternate}
@keyframes g04Alarm{from{opacity:.20}to{opacity:.92}}
.g04-hud{position:absolute;z-index:16;top:133px;left:22px;width:min(312px,31vw);padding:13px 15px;background:linear-gradient(125deg,#290e20f7,#150915ee);border:1px solid #fa698b;box-shadow:4px 4px 0 #ff437290;pointer-events:none}
.g04-hud-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font:850 10px/1.3 var(--mono);color:#ffacb0}
.g04-hud-head b{font:950 22px var(--mono);color:#fffbd9;font-variant-numeric:tabular-nums}
.g04-hud-meters{display:grid;gap:7px;margin:12px 0}
.g04-hud-meters label{display:grid;grid-template-columns:1fr auto;gap:3px;font:850 10px var(--mono);color:#e8b5cc}
.g04-hud-meters output{font-variant-numeric:tabular-nums;color:#ffe39f}
.g04-hud-meters progress{grid-column:1/-1;display:block;width:100%;height:9px;accent-color:#fa598d}
.g04-hud-meters label:nth-child(2) progress{accent-color:#ffa567}
.g04-hud-meters label:nth-child(3) progress{accent-color:#dfff74}
.g04-hud-step{color:#e4ffae;font:850 11px/1.4 var(--mono)}
.g04-hud-flags{margin-top:8px;color:#d1b8d1;font:800 9px/1.5 var(--mono)}
.g04-hud[data-status="complete"]{border-color:#aaff72;box-shadow:4px 4px 0 #a8ff5265}
.g04-hud[data-status="failed"]{border-color:#ff5c6a}
.g04-backdrop{position:absolute;z-index:29;inset:0;background:#07040bd9;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px}
.g04-console{width:min(680px,100%);max-height:95vh;overflow:auto;border:2px solid #ff8dbd;background:radial-gradient(ellipse at 88% 6%,#75305e7a,transparent 48%),linear-gradient(140deg,#2c142f,#0e0a19 87%);box-shadow:8px 8px 0 #fb517d,0 25px 70px #0009}
.g04-console-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 16px;background:#0d0a13;border-bottom:1px solid #f9859c;font:850 10px var(--mono);color:#ffabc8}
.g04-console-head button{border:1px solid #b882a5;background:#231527;color:#f5dcdf;padding:9px;font:850 10px var(--mono);cursor:pointer}
.g04-console-inner{padding:24px 29px 23px}
.g04-mini{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#e2bbd7;font:830 10px var(--mono)}
.g04-mini b{color:#e2ff91}
.g04-console h2{font:950 clamp(38px,5vw,65px)/.95 var(--heavy);margin:12px 0;color:#fff4f2}
.g04-console h2 em{color:var(--acid);font-style:normal}
#g04Message{min-height:45px;font:700 13px/1.6 var(--ui);color:#e1d2e0}
.g04-step{margin:22px 0 14px;padding:17px;background:#100b18;border:1px solid #aa7495;box-shadow:inset 0 0 30px #a6456c18}
.g04-step p{font:650 12px/1.7 var(--ui);color:#d2bfdb;margin:10px 0 16px}
.g04-subtitle{color:#dfff74;font:950 11px var(--mono);margin-bottom:14px}
.g04-choice-row{display:flex;gap:9px;margin:10px 0 20px}
.g04-choice-row button{min-height:56px;flex:1;padding:9px 12px;background:#2b1937;border:1px solid #916fa8;color:#e5e1ed;font:900 13px/1.3 var(--mono);cursor:pointer}
.g04-choice-row button small{display:block;font:750 9px/1.3 var(--mono);color:#cdb1d4;margin-top:5px}
.g04-choice-row button[aria-pressed="true"]{background:#50324f;border-color:var(--acid);color:var(--acid)}
.g04-circuits button{min-height:80px}
.g04-step label{display:flex;justify-content:space-between;align-items:center;color:#f5d6e7;font:880 10px var(--mono);gap:10px}
.g04-step label output{color:var(--acid);font:950 26px var(--mono)}
.g04-step input[type="range"]{width:100%;margin:17px 0 9px;accent-color:var(--acid);cursor:pointer}
.g04-measure{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#c3aecf;font:800 9px var(--mono)}
.g04-measure b{color:var(--acid);text-align:center}
.g04-primary{display:block;width:100%;background:var(--acid);color:#241029;border:0;box-shadow:4px 5px 0 #f852af;padding:15px 17px;cursor:pointer;font:950 14px/1.2 var(--mono);margin-top:21px}
.g04-primary:not(:disabled):hover{filter:brightness(1.08)}
.g04-primary:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
#g04CoolProgress{width:100%;height:14px;accent-color:var(--acid)}
.g04-step small{display:block;margin-top:9px;color:#cdb3d0;font:800 10px/1.5 var(--mono)}
.g04-outcome{padding:15px;border:1px solid var(--acid);background:#172419;color:#e5ffa7;font:900 15px/1.5 var(--mono);white-space:pre-wrap}
.g04-outcome[data-result="ANOMALY_VIOLET"]{background:#291b39;border-color:#c083ff;color:#ddb9ff}
.g04-outcome[data-result="SCARRED_RECOVERY"],.g04-outcome[data-result="TRAINING_TIMEOUT"],.g04-outcome[data-result="TRAINING_CONTAINMENT_LOST"]{background:#36131b;border-color:#ff7b7e;color:#ffb1a7}
.g04-foot{border-top:1px solid #bd6b88;display:flex;gap:16px;align-items:center;justify-content:space-between;padding-top:15px;margin-top:17px}
.g04-foot span{color:#dfb8d5;font:800 10px/1.55 var(--mono);max-width:380px}
.g04-foot button{border:1px solid #d2ffa5;background:#24243b;color:#e1ffbd;font:850 10px/1.4 var(--mono);padding:11px;cursor:pointer}
.g04-disclaimer{color:#ae91b2;margin:14px 0 0;font:780 9px/1.4 var(--mono)}
.g04-start-button{background:#ffa7b9;border:1px solid #ed7ba1;box-shadow:3px 3px 0 #6f275e;color:#241024;font:950 11px/1.3 var(--mono);cursor:pointer;padding:13px 10px;width:100%;margin-top:10px}
.g04-start-button:disabled{opacity:.30;cursor:not-allowed;box-shadow:none}
.g04-start-button:not(:disabled):hover{filter:brightness(1.08)}
.g04-console button:focus-visible,.g04-console input:focus-visible{outline:2px solid #dfff82;outline-offset:3px}
@media(max-width:900px){.g04-hud{top:190px;width:min(290px,35vw)}}
@media(max-width:670px){.g04-hud{top:204px;left:8px;width:min(220px,52vw);padding:9px}.g04-hud-head{font-size:8px}.g04-hud-head b{font-size:15px}.g04-hud-meters{margin:7px 0}.g04-hud-meters label{font-size:8px}.g04-hud-meters progress{height:6px}.g04-hud-step{font-size:9px}.g04-hud-flags{font-size:7px}.g04-backdrop{padding:8px}.g04-console{max-height:calc(100dvh - 16px);box-shadow:3px 4px 0 #f96397}.g04-console-head{font-size:8px;padding:9px}.g04-console-head button{font-size:8px;padding:7px}.g04-console-inner{padding:16px}.g04-console h2{font-size:42px}.g04-step{padding:12px;margin-top:10px}.g04-choice-row button{font-size:11px;padding:8px}.g04-primary{font-size:12px}.g04-foot{display:block}.g04-foot button{margin-top:10px}.g04-mini{font-size:8px}.g04-disclaimer{font-size:8px}}
@media(prefers-reduced-motion:reduce){.g04-screen-alarm{animation:none;opacity:.4}}
