:root{--bg:#070c16;--panel:rgba(16,28,46,.72);--line:rgba(34,211,238,.18);--cy:#22d3ee;--ok:#34d399;--warn:#fbbf24;--bad:#f87171}
*{box-sizing:border-box}
body{margin:0;font-family:Vazirmatn,sans-serif;color:#dbeafe;background:var(--bg);
background-image:radial-gradient(circle at 80% -10%,rgba(34,211,238,.18),transparent 45%),radial-gradient(circle at 0% 110%,rgba(16,185,129,.12),transparent 40%),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);min-height:100vh}
.mono{font-family:'JetBrains Mono',monospace}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(10px)}
.btn{background:var(--cy);color:#04202a;font-weight:800;border-radius:12px;padding:.6rem 1.1rem;transition:.2s}
.btn:hover{filter:brightness(1.15);box-shadow:0 0 20px rgba(34,211,238,.5)}
.btn:disabled{opacity:.4}
.btn2{border:1px solid var(--line);border-radius:12px;padding:.5rem 1rem;color:#a5f3fc}
.btn2:hover{background:rgba(34,211,238,.1)}
.inp{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:10px;padding:.55rem .8rem;color:#e0f2fe;outline:none}
.inp:focus{border-color:var(--cy)}
.drop{border:2px dashed rgba(34,211,238,.4);border-radius:18px;transition:.2s}
.drop.over,.drop:hover{border-color:var(--cy);box-shadow:inset 0 0 40px rgba(34,211,238,.15)}
.sonar{position:relative;overflow:hidden;border-radius:16px}
.sonar::after{content:'';position:absolute;inset:-50%;background:conic-gradient(from 0deg,transparent 0 300deg,rgba(34,211,238,.45) 360deg);animation:spin 2.2s linear infinite;mix-blend-mode:screen}
@keyframes spin{to{transform:rotate(360deg)}}
.ecg path{stroke-dasharray:400;animation:ecg 1.6s linear infinite}
@keyframes ecg{from{stroke-dashoffset:400}to{stroke-dashoffset:0}}
.fade{animation:fade .5s both}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#print{display:none}
@media print{
 body{background:#fff!important;color:#000}
 #app-shell{display:none!important}
 #print{display:block!important;color:#000;font-family:Vazirmatn;padding:20px}
 #print img{max-width:45%;display:block;margin:8px 0}
 #print .head{display:flex;justify-content:space-between;border-bottom:3px double #0e7490;padding-bottom:8px;margin-bottom:10px}
 #print h1{text-align:center;font-size:20px;margin:10px 0}
 #print h2,#print h3{margin:2px 0}
 #print .sec{margin:6px 0;page-break-inside:avoid}
 #print .ln{margin-right:16px;font-size:13px}
 #print .small{font-size:11px;color:#333}
 #print .big{font-size:16px}
 #print table{width:100%;border-collapse:collapse}
 #print td{border:1px solid #999;padding:6px}
}