*{box-sizing:border-box}
:root{
  --asd-green:#82ff13;
  --asd-green2:#45d000;
  --asd-white:#f4f7f1;
  --asd-muted:#aebaaa;
  --asd-red:#ff5252;
  --asd-amber:#ffc95c;
  --asd-line:rgba(130,255,19,.38);
}
html,body{margin:0;min-height:100%;background:#000;color:var(--asd-white);font-family:Arial,Helvetica,sans-serif}
button{font:inherit}
body{overflow-x:hidden}
.asd-app{
  min-height:100vh;padding:28px 14px 38px;
  background:
    radial-gradient(circle at 50% 2%,rgba(102,255,20,.12),transparent 22%),
    radial-gradient(circle at 12% 60%,rgba(0,112,50,.11),transparent 28%),
    radial-gradient(circle at 88% 42%,rgba(61,255,0,.06),transparent 22%),
    linear-gradient(#010302,#000)
}
.asd-header{max-width:900px;margin:0 auto 22px;text-align:center}
.asd-kicker{
  display:inline-block;padding:7px 16px;border:1px solid rgba(130,255,19,.62);border-radius:999px;
  color:var(--asd-green);background:rgba(1,10,4,.78);font-size:10px;font-weight:900;letter-spacing:1.6px;
  box-shadow:0 0 18px rgba(100,255,10,.10)
}
.asd-header h1{
  margin:10px 0 1px;font-size:clamp(42px,7vw,72px);line-height:.97;font-weight:900;letter-spacing:-2px;
  text-shadow:0 0 2px rgba(255,255,255,.75),0 0 18px rgba(130,255,19,.18)
}
.asd-subtitle{margin-top:5px;color:var(--asd-green);font-size:clamp(19px,3vw,30px);font-weight:900;letter-spacing:1.5px}
.asd-header p{margin:9px auto 0;max-width:720px;color:#c9d3c6;font-size:14px;line-height:1.55}
.asd-console{
  position:relative;width:min(980px,100%);margin:0 auto;padding:0 22px 24px;overflow:hidden;
  border:1px solid var(--asd-line);border-radius:21px;
  background:
    radial-gradient(circle at 50% 0%,rgba(130,255,19,.055),transparent 34%),
    linear-gradient(180deg,rgba(5,20,9,.97),rgba(0,7,3,.985));
  box-shadow:0 0 35px rgba(82,255,0,.11),0 0 90px rgba(45,255,0,.035),inset 0 0 55px rgba(50,255,0,.02)
}
.asd-console::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.12;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:24px 24px
}
.asd-console>*{position:relative;z-index:2}
.asd-console-top{
  display:flex;align-items:center;gap:9px;margin:0 -22px 15px;padding:12px 18px;border-bottom:1px solid rgba(130,255,19,.17);
  color:#bed0b9;background:rgba(0,6,2,.82);font-size:9px;font-weight:900;letter-spacing:1.2px
}
.asd-status-dot{
  width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--asd-green);box-shadow:0 0 12px var(--asd-green);
  animation:asd-pulse 1.7s ease-in-out infinite
}
.asd-online{margin-left:auto;color:var(--asd-green)}
@keyframes asd-pulse{50%{opacity:.35;transform:scale(.8)}}
.asd-corner{position:absolute;z-index:5;width:24px;height:24px;pointer-events:none}
.asd-corner-tl{top:9px;left:9px;border-top:2px solid var(--asd-green);border-left:2px solid var(--asd-green)}
.asd-corner-tr{top:9px;right:9px;border-top:2px solid var(--asd-green);border-right:2px solid var(--asd-green)}
.asd-corner-bl{bottom:9px;left:9px;border-bottom:2px solid var(--asd-green);border-left:2px solid var(--asd-green)}
.asd-corner-br{right:9px;bottom:9px;border-right:2px solid var(--asd-green);border-bottom:2px solid var(--asd-green)}
.asd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:13px}
.asd-stats>div{padding:8px 6px;border:1px solid rgba(130,255,19,.18);border-radius:9px;background:#010603;text-align:center}
.asd-stats small{display:block;color:#748270;font-size:7px;font-weight:900;letter-spacing:.95px}
.asd-stats strong{display:block;margin-top:3px;color:var(--asd-green);font-size:12px}
.asd-instrument-panel{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;margin-bottom:14px}
.asd-radar-wrap,.asd-signal-panel{border:1px solid rgba(130,255,19,.20);border-radius:13px;background:rgba(0,5,2,.76)}
.asd-radar-wrap{padding:12px}
.asd-radar{
  position:relative;aspect-ratio:1/1;width:min(190px,100%);margin:0 auto;overflow:hidden;border:1px solid rgba(130,255,19,.42);
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(130,255,19,.055) 0 1px,transparent 2px),
    radial-gradient(circle at center,rgba(27,77,20,.14),rgba(0,10,2,.93) 70%);
  box-shadow:inset 0 0 25px rgba(130,255,19,.06),0 0 18px rgba(130,255,19,.06)
}
.asd-radar-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(130,255,19,.15);border-radius:50%;transform:translate(-50%,-50%)}
.asd-ring-1{width:28%;height:28%}.asd-ring-2{width:58%;height:58%}.asd-ring-3{width:86%;height:86%}
.asd-radar-cross{position:absolute;background:rgba(130,255,19,.10)}
.asd-radar-cross-x{left:0;top:50%;width:100%;height:1px}.asd-radar-cross-y{top:0;left:50%;height:100%;width:1px}
.asd-radar-sweep{
  position:absolute;left:50%;top:50%;width:50%;height:2px;transform-origin:0 50%;
  background:linear-gradient(90deg,rgba(130,255,19,.85),transparent);
  box-shadow:0 0 8px rgba(130,255,19,.5);animation:asd-sweep 3.6s linear infinite
}
.asd-radar-sweep::before{
  content:"";position:absolute;right:0;bottom:0;width:105px;height:105px;transform-origin:100% 100%;transform:rotate(-20deg);
  background:conic-gradient(from 250deg at 100% 100%,rgba(130,255,19,.13),transparent 30deg)
}
@keyframes asd-sweep{to{transform:rotate(360deg)}}
.asd-blip{
  position:absolute;width:5px;height:5px;border-radius:50%;background:var(--asd-green);box-shadow:0 0 9px var(--asd-green);
  animation:asd-blip 2.2s ease-in-out infinite
}
.asd-blip-1{left:66%;top:31%}.asd-blip-2{left:34%;top:69%;animation-delay:.8s}.asd-blip-3{left:72%;top:72%;animation-delay:1.4s}
@keyframes asd-blip{0%,100%{opacity:.15}45%{opacity:1}65%{opacity:.25}}
.asd-radar-label{display:flex;justify-content:space-between;align-items:center;margin-top:9px}
.asd-radar-label small{color:#6f806b;font-size:7px;font-weight:900;letter-spacing:1px}
.asd-radar-label strong{color:var(--asd-green);font-size:9px;letter-spacing:.8px}
.asd-signal-panel{padding:13px 14px}
.asd-signal-heading{display:flex;justify-content:space-between;gap:10px;color:#9dab99;font-size:8px;font-weight:900;letter-spacing:1px}
.asd-signal-heading span:last-child{color:var(--asd-green)}
.asd-waveform{
  display:flex;align-items:center;justify-content:center;gap:3px;height:105px;margin:7px 0;
  overflow:hidden;border-top:1px solid rgba(130,255,19,.08);border-bottom:1px solid rgba(130,255,19,.08)
}
.asd-wave-bar{
  width:5px;min-height:4px;border-radius:999px;background:var(--asd-green);opacity:.8;
  box-shadow:0 0 6px rgba(130,255,19,.22);transform-origin:center;
  transition:height .18s ease,opacity .18s ease,background .18s ease
}
.asd-signal-track{height:7px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.asd-signal-fill{
  height:100%;width:100%;background:linear-gradient(90deg,#42c800,#a4ff32);box-shadow:0 0 10px rgba(130,255,19,.30);
  transition:width .35s ease,background .35s ease
}
.asd-signal-meta{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:#71806d;font-size:7px;font-weight:900;letter-spacing:.7px}
.asd-signal-meta b{color:#cbd5c8}
.asd-warning{
  height:18px;margin-top:8px;color:var(--asd-red);font-size:9px;font-weight:900;letter-spacing:1.2px;text-align:center;
  opacity:0;transition:opacity .2s ease;text-shadow:0 0 8px rgba(255,50,50,.35)
}
.asd-warning.is-visible{opacity:1;animation:asd-warning 1s steps(2,end) infinite}
@keyframes asd-warning{50%{opacity:.35}}
.asd-transmission{
  padding:20px 14px 16px;border:1px solid rgba(130,255,19,.25);border-radius:13px;background:#010603;text-align:center;overflow:hidden
}
.asd-transmission-top{
  display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;color:#71806d;font-size:7px;font-weight:900;letter-spacing:1px
}
.asd-priority-tag{color:#8d9d89}
.asd-priority-tag.is-priority{color:var(--asd-amber);text-shadow:0 0 8px rgba(255,201,92,.25)}
.asd-glyph-row,.asd-decoded-row{display:flex;justify-content:center;flex-wrap:wrap;gap:7px 8px;max-width:840px;margin:0 auto}
.asd-glyph-row{min-height:52px}
.asd-glyph{
  display:flex;align-items:center;justify-content:center;width:39px;height:46px;border:1px solid rgba(130,255,19,.20);border-radius:8px;
  color:#a6ff69;background:rgba(3,18,7,.78);font-family:"Segoe UI Symbol","Arial Unicode MS",Arial,sans-serif;font-size:25px;line-height:1;
  text-shadow:0 0 10px rgba(130,255,19,.38);transition:.24s ease
}
.asd-glyph.is-revealed{
  color:#071002;background:linear-gradient(135deg,#a6ff32,#48d000);border-color:#baff74;
  font-family:Arial,Helvetica,sans-serif;font-size:21px;font-weight:900;text-shadow:none
}
.asd-glyph.asd-space{width:18px;border:0;background:none;box-shadow:none}
.asd-decoded-row{margin-top:12px}
.asd-decode-cell{
  min-width:29px;padding:0 2px 5px;border-bottom:2px solid rgba(130,255,19,.48);color:#fff;font-size:21px;font-weight:900;line-height:1;text-align:center
}
.asd-decode-cell.asd-space{min-width:16px;border-bottom:0}
.asd-scan-status{
  min-height:18px;margin-top:16px;color:#80917c;font-family:"Courier New",monospace;font-size:9px;font-weight:700;letter-spacing:1px
}
.asd-scan-status.is-good{color:var(--asd-green)}.asd-scan-status.is-bad{color:var(--asd-red)}
.asd-keyboard-panel{margin-top:13px;padding:13px;border:1px solid rgba(130,255,19,.18);border-radius:12px;background:rgba(0,5,2,.68)}
.asd-keyboard-label{margin-bottom:9px;color:#768473;font-size:8px;font-weight:900;letter-spacing:1.2px;text-align:center}
.asd-keyboard{display:grid;grid-template-columns:repeat(13,1fr);gap:5px;max-width:820px;margin:0 auto}
.asd-key{
  appearance:none;min-width:0;height:39px;padding:0;border:1px solid rgba(130,255,19,.24);border-radius:7px;
  color:#e9f1e6;background:linear-gradient(180deg,#06160a,#010703);cursor:pointer;font-size:12px;font-weight:900;
  transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease,opacity .12s ease
}
.asd-key:hover:not(:disabled),.asd-key:focus-visible:not(:disabled){transform:translateY(-1px);outline:none;border-color:rgba(130,255,19,.72)}
.asd-key.is-correct{color:#071002;background:linear-gradient(135deg,#a6ff32,#48d000);border-color:#baff74}
.asd-key.is-wrong{color:#ffadad;background:#280404;border-color:rgba(255,82,82,.65)}
.asd-key:disabled{cursor:default;opacity:.62}.asd-key.is-correct:disabled,.asd-key.is-wrong:disabled{opacity:1}
.asd-result{
  margin-top:13px;padding:24px 18px;border:1px solid rgba(130,255,19,.42);border-radius:13px;
  background:radial-gradient(circle at 50% 25%,rgba(130,255,19,.09),transparent 42%),#010603;text-align:center
}
.asd-result[hidden]{display:none!important}
.asd-result-kicker{color:var(--asd-green);font-size:9px;font-weight:900;letter-spacing:1.8px}
.asd-result.is-lost .asd-result-kicker{color:var(--asd-red)}
.asd-result h2{margin:8px 0 4px;color:#fff;font-size:clamp(34px,6vw,60px);line-height:1;font-weight:900;text-shadow:0 0 13px rgba(130,255,19,.30)}
.asd-result.is-lost h2{text-shadow:0 0 13px rgba(255,82,82,.25)}
.asd-result-class{color:var(--asd-green);font-size:9px;font-weight:900;letter-spacing:1.1px}
.asd-result.is-lost .asd-result-class{color:#ff9d9d}
.asd-result p{max-width:650px;margin:12px auto 17px;color:#c5d0c2;font-size:13px;line-height:1.55}
.asd-primary,.asd-secondary{min-height:43px;padding:10px 15px;border-radius:9px;cursor:pointer;font-weight:900;letter-spacing:.55px}
.asd-primary{min-width:230px;border:1px solid #b6ff72;background:linear-gradient(135deg,#a0ff2b,#48d000);color:#061000}
.asd-secondary{border:1px solid rgba(130,255,19,.30);background:#021008;color:#e9f1e6}
.asd-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:13px}
.asd-controls .asd-secondary{min-width:145px}
.asd-console-footer{
  display:flex;justify-content:space-between;gap:18px;margin-top:18px;color:#536150;
  font-family:"Courier New",monospace;font-size:7px;letter-spacing:.7px
}
.asd-lower{width:min(980px,100%);margin:9px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.asd-lower>div{padding:7px;border:1px solid rgba(130,255,19,.11);border-radius:8px;background:#010603;text-align:center}
.asd-lower small,.asd-lower strong{display:block}
.asd-lower small{color:#606e5d;font-size:7px;font-weight:900;letter-spacing:.9px}
.asd-lower strong{margin-top:2px;color:#d2dbcf;font-size:9px}
.asd-modal{
  position:fixed;z-index:1000;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;
  background:rgba(0,3,1,.84);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .2s ease
}
.asd-modal.is-visible{opacity:1;pointer-events:auto}
.asd-modal-card{
  width:min(500px,96%);padding:26px;border:1px solid rgba(130,255,19,.58);border-radius:16px;
  background:radial-gradient(circle at 50% 0%,rgba(130,255,19,.06),transparent 42%),#010803;
  box-shadow:0 0 35px rgba(80,255,0,.13);text-align:center
}
.asd-modal-kicker{color:var(--asd-green);font-size:9px;font-weight:900;letter-spacing:1.7px}
.asd-modal-card h2{margin:8px 0 10px;font-size:30px}
.asd-modal-card p{color:#c7d1c4;font-size:13px;line-height:1.55}
.asd-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0}
.asd-mini-grid div{padding:10px;border:1px solid rgba(130,255,19,.16);border-radius:9px;background:#010603}
.asd-mini-grid strong,.asd-mini-grid span{display:block}
.asd-mini-grid strong{color:var(--asd-green);font-size:16px}.asd-mini-grid span{margin-top:3px;color:#71806d;font-size:7px;font-weight:900;letter-spacing:.7px}
.asd-app.damage-1 .asd-wave-bar:nth-child(5n){opacity:.25}
.asd-app.damage-2 .asd-wave-bar:nth-child(4n){background:#ffd35f;opacity:.45}
.asd-app.damage-3 .asd-wave-bar:nth-child(3n){opacity:.18}
.asd-app.damage-3 .asd-transmission{box-shadow:inset 0 0 18px rgba(255,200,60,.035)}
.asd-app.damage-4 .asd-wave-bar:nth-child(even){background:#ff8e58;opacity:.42}
.asd-app.damage-4 .asd-radar-sweep{animation-duration:2.1s}
.asd-app.damage-5 .asd-transmission{animation:asd-glitch 1.8s steps(2,end) infinite}
.asd-app.damage-5 .asd-glyph:not(.is-revealed){animation:asd-glyph-flicker .8s steps(2,end) infinite}
.asd-app.damage-6 .asd-radar-sweep{animation:none;opacity:.1}
.asd-app.damage-6 .asd-wave-bar{background:#ff5252!important;opacity:.22!important;height:4px!important}
@keyframes asd-glitch{0%,94%,100%{transform:none}95%{transform:translateX(2px)}97%{transform:translateX(-2px)}}
@keyframes asd-glyph-flicker{50%{opacity:.25}}
.asd-console.is-shaking{animation:asd-shake .22s linear}
@keyframes asd-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(max-width:760px){
  .asd-app{padding:15px 7px 28px}
  .asd-console{padding:0 8px 14px;border-radius:14px}
  .asd-console-top{margin-left:-8px;margin-right:-8px}
  .asd-stats{grid-template-columns:repeat(2,1fr)}
  .asd-instrument-panel{grid-template-columns:1fr}
  .asd-radar-wrap{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:15px}
  .asd-radar{width:130px}
  .asd-radar-label{display:block;margin:0;text-align:left}.asd-radar-label small,.asd-radar-label strong{display:block}
  .asd-radar-label strong{margin-top:5px;font-size:12px}
  .asd-keyboard{grid-template-columns:repeat(7,1fr)}
  .asd-glyph{width:32px;height:40px;font-size:21px}.asd-decode-cell{min-width:23px;font-size:18px}
  .asd-console-footer{display:none}
}
@media(max-width:420px){
  .asd-header h1{font-size:38px}
  .asd-radar-wrap{grid-template-columns:105px 1fr}.asd-radar{width:105px}
  .asd-glyph-row,.asd-decoded-row{gap:5px}
  .asd-glyph{width:28px;height:37px;font-size:19px;border-radius:6px}
  .asd-decode-cell{min-width:20px;font-size:16px}
  .asd-signal-panel{padding:10px}.asd-waveform{height:82px}
  .asd-mini-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .asd-status-dot,.asd-radar-sweep,.asd-blip,.asd-transmission,.asd-glyph{animation:none!important}
}
