.sonar-scope{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(0,201,183,.22);overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(0,201,183,.025) 0%,transparent 68%)}.sonar-ticks{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(rgba(0,201,183,.3) 0deg 1.2deg,transparent 1.2deg 30deg);mask-image:radial-gradient(circle,transparent calc(100% - 10px),black calc(100% - 10px),black 100%);-webkit-mask-image:radial-gradient(circle,transparent calc(100% - 10px),black calc(100% - 10px),black 100%)}.sonar-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(0,201,183,.1);transform:translate(-50%,-50%)}.sonar-ring.r1{width:160px;height:160px}.sonar-ring.r2{width:300px;height:300px}.sonar-ring.r3{width:420px;height:420px}.sonar-cross-h{position:absolute;top:50%;left:0;right:0;height:1px;background:#00c9b717;transform:translateY(-50%)}.sonar-cross-v{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#00c9b717;transform:translate(-50%)}.sonar-deg{position:absolute;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700;color:#00c9b752;letter-spacing:.06em;line-height:1}.sonar-deg.d0{top:14px;left:50%;transform:translate(-50%)}.sonar-deg.d90{right:14px;top:50%;transform:translateY(-50%)}.sonar-deg.d180{bottom:14px;left:50%;transform:translate(-50%)}.sonar-deg.d270{left:14px;top:50%;transform:translateY(-50%)}.sonar-sweep{position:absolute;inset:0;background:conic-gradient(from 270deg,#00c9b700,#00c9b708 22deg,#00c9b71a 52deg,#00c9b733 78deg,#00c9b74d 88deg,#00c9b700 90deg 360deg);animation:sonar-rotate 5s linear infinite}.sonar-sweep-line{position:absolute;top:0;left:calc(50% - .5px);width:1px;height:50%;transform-origin:50% 100%;background:linear-gradient(#00c9b700,#00c9b726 40%,#00c9b7bf);animation:sonar-rotate 5s linear infinite;animation-delay:0s}@keyframes sonar-rotate{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}.sonar-pulse{position:absolute;top:50%;left:50%;width:480px;height:480px;margin-top:-240px;margin-left:-240px;border-radius:50%;border:1px solid rgba(0,201,183,.55);animation:sonar-pulse-anim 4s ease-out infinite}.sonar-pulse+.sonar-pulse{animation-delay:1.33s}.sonar-pulse+.sonar-pulse+.sonar-pulse{animation-delay:2.66s}@keyframes sonar-pulse-anim{0%{transform:scale(.02);opacity:.85}to{transform:scale(1);opacity:0}}.sonar-core{position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);background:var(--teal);box-shadow:0 0 0 3px #00c9b72e,0 0 16px #00c9b7cc;z-index:4;animation:core-glow 2s ease-in-out infinite}@keyframes core-glow{0%,to{box-shadow:0 0 0 3px #00c9b72e,0 0 14px #00c9b7b3}50%{box-shadow:0 0 0 5px #00c9b747,0 0 26px #00c9b7f2}}.blip{position:absolute;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);background:var(--teal);box-shadow:0 0 8px #00c9b7e6,0 0 20px #00c9b766;z-index:3;opacity:0;animation:blip-show 5s ease-in-out infinite}.blip-label{position:absolute;left:13px;top:-4px;font-family:JetBrains Mono,monospace;font-size:7px;font-weight:700;color:#00c9b799;letter-spacing:.1em;white-space:nowrap}@keyframes blip-show{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}6%{opacity:1;transform:translate(-50%,-50%) scale(2.4)}13%{opacity:.9;transform:translate(-50%,-50%) scale(1)}50%{opacity:.45}78%{opacity:.15}95%,to{opacity:0;transform:translate(-50%,-50%) scale(.4)}}.sonar-hud{position:absolute;bottom:48px;right:18px;font-family:JetBrains Mono,monospace;font-size:9px;line-height:1.9;color:#00c9b761;letter-spacing:.07em;text-align:right;z-index:5}.hud-unit{color:#00c9b738}.sonar-status{position:absolute;bottom:30px;left:50%;transform:translate(-50%);font-family:JetBrains Mono,monospace;font-size:7px;font-weight:700;color:#00c9b747;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;z-index:5;animation:status-blink 2.4s ease-in-out infinite}@keyframes status-blink{0%,to{opacity:.3}50%{opacity:.65}}.cursor-blip{position:absolute;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);background:var(--amber, #E8A03A);box-shadow:0 0 8px #e8a03af2,0 0 22px #e8a03a80;z-index:10;opacity:0;pointer-events:none;transition:opacity .18s ease}.cursor-blip.visible{opacity:1}.cursor-blip-label{position:absolute;left:13px;top:-4px;font-family:JetBrains Mono,monospace;font-size:7px;font-weight:700;color:#e8a03abf;letter-spacing:.1em;white-space:nowrap}@keyframes cursor-ring-expand{0%{width:6px;height:6px;margin:-3px;opacity:.75}to{width:120px;height:120px;margin:-60px;opacity:0}}.cursor-ring{position:absolute;border-radius:50%;border:1px solid rgba(232,160,58,.55);pointer-events:none;animation:cursor-ring-expand 1.4s ease-out forwards}.spec-table{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:4px;overflow:hidden}.spec-head{display:grid;grid-template-columns:58px 190px 1fr 1fr 108px;background:#00000059;border-bottom:1px solid rgba(232,160,58,.35);padding:10px 20px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffffff47;gap:16px}.spec-row{display:grid;grid-template-columns:58px 190px 1fr 1fr 108px;padding:22px 20px;border-bottom:1px solid rgba(255,255,255,.05);align-items:start;gap:16px;transition:background .2s}.spec-row:last-child{border-bottom:none}.spec-row:hover{background:#ffffff06}.spec-phase{font-family:JetBrains Mono,monospace;font-size:22px;font-weight:900;color:#ffffff1f;letter-spacing:-.02em;line-height:1;padding-top:2px}.spec-designation{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;color:var(--amber);letter-spacing:.06em;line-height:1.4}.spec-scope,.spec-deliverable{font-size:12px;line-height:1.7;color:#ffffff80;font-family:Inter,sans-serif}.spec-scope strong,.spec-deliverable strong{display:block;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.06em;color:#fffc;margin-bottom:4px}.spec-status{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding-top:4px}.spec-status.s-active{color:var(--teal)}.spec-status.s-planned{color:#ffffff40}.spec-footer{padding:12px 20px;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#ffffff26;background:#00000040;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between}@media(max-width:600px){.spec-footer span:last-child{display:none}.spec-footer{font-size:8px;letter-spacing:.08em}}
